/* medemo: стили заглушки. Токены и компоненты взяты из Медкника/Разработка/Дизайн/токены.css */
@font-face { font-family: 'Golos Text'; font-weight: 400 700; font-display: swap;
  src: url(/fonts/golos-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Golos Text'; font-weight: 400 700; font-display: swap;
  src: url(/fonts/golos-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --font: 'Golos Text', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --text-primary:#101518; --text-paragraph:#29343d; --text-secondary:#5c7384; --text-tertiary:#9db0be;
  --text-accent:#118cdf; --text-positive:#1a9e32; --text-negative:#ff293e; --text-on-dark:#f6f8f9;
  --page:#f3f5f7; --card:#fff; --surface-1:#f3f5f7; --surface-2:#e7ebef; --surface-3:#dae1e7;
  --surface-dark:#080a0c; --accent:#199af0; --accent-soft:#e5f3fd; --positive-soft:#e6f6e9; --negative-soft:#ffe9ec;
  --grad-hero: radial-gradient(60% 120% at 100% 100%, #ff4791 0%, transparent 60%), radial-gradient(50% 100% at 0% 100%, #1c2a8c 0%, transparent 60%), radial-gradient(40% 90% at 60% 0%, #d65bd9 0%, transparent 60%), linear-gradient(120deg, #2a2f8f, #b23fc4 55%, #ff6fa8);
  --r-s:8px; --r-m:10px; --r-l:12px; --r-xl:16px; --r-2xl:20px; --r-pill:9999px;
  --shadow-popup:0 16px 32px -8px rgba(0,0,0,.24);
  --ease-out:cubic-bezier(.22,1,.36,1); --ease-std:cubic-bezier(.4,0,.2,1);
  --wrap:1100px;
}
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body { margin:0; background:var(--page); color:var(--text-primary); font:400 16px/24px var(--font); letter-spacing:-.3px; -webkit-font-smoothing:antialiased; }
a { color:var(--text-accent); }
h1,h2,h3 { margin:0; font-family:var(--font); }
p { margin:0; }
.wrap { max-width:var(--wrap); margin:0 auto; padding:0 16px; }

/* кнопки */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:40px; padding:0 16px; border:0; cursor:pointer; font:600 14px/18px var(--font); letter-spacing:-.3px; border-radius:var(--r-m); text-decoration:none; transition:filter .2s var(--ease-std), transform .12s var(--ease-std); }
.btn:hover { filter:brightness(.94); } .btn:active { transform:scale(.96); }
.btn-primary { background:var(--accent); color:var(--text-on-dark); }
.btn-secondary { background:var(--surface-2); color:var(--text-primary); }
.btn-white { background:var(--card); color:var(--text-primary); height:48px; font-size:16px; border-radius:var(--r-l); padding:0 22px; }
.btn-lg { height:48px; font-size:16px; border-radius:var(--r-l); padding:0 22px; }
.btn:focus-visible, a:focus-visible, input:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

/* шапка */
.top { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.92); backdrop-filter:blur(8px); }
.top .wrap { display:flex; align-items:center; gap:16px; height:56px; }
.logo { margin-right:auto; font:700 20px/1 var(--font); color:var(--text-primary); text-decoration:none; letter-spacing:-.5px; }
.logo span { color:var(--accent); }
.top nav { display:flex; gap:20px; }
.top nav a { color:var(--text-secondary); text-decoration:none; font:500 14px/18px var(--font); }
.top nav a:hover { color:var(--text-primary); }
@media (max-width:760px) { .top nav { display:none; } }

/* герой */
.hero { background:var(--grad-hero); color:var(--text-on-dark); margin:12px 12px 0; border-radius:28px; padding:72px 0 80px; }
.hero .wrap { max-width:820px; text-align:center; }
.badge { display:inline-flex; align-items:center; height:28px; padding:0 14px; font:600 13px/16px var(--font); border-radius:var(--r-pill); background:rgba(255,255,255,.2); color:#fff; }
.hero h1 { margin-top:20px; font:600 clamp(32px,6vw,52px)/1.08 var(--font); letter-spacing:-1px; }
.hero p.lead { margin:20px auto 0; max-width:620px; font:400 clamp(17px,2.4vw,20px)/28px var(--font); opacity:.92; }
.hero .cta { margin-top:32px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.hero .note { margin-top:16px; font-size:13px; opacity:.8; }
.btn-ghost { background:rgba(255,255,255,.18); color:#fff; height:48px; font-size:16px; border-radius:var(--r-l); padding:0 22px; }

/* секции */
section { padding:64px 0 0; }
.sec-head { max-width:680px; }
.sec-head h2 { font:600 clamp(26px,4vw,34px)/1.15 var(--font); letter-spacing:-.6px; }
.sec-head p { margin-top:12px; color:var(--text-secondary); font-size:18px; line-height:26px; }
.grid { margin-top:28px; display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); }
.card { background:var(--card); border-radius:var(--r-2xl); padding:24px; }
.card h3 { font:600 18px/24px var(--font); }
.card p { margin-top:8px; color:var(--text-paragraph); font-size:15px; line-height:22px; }
.ico { width:44px; height:44px; border-radius:14px; background:var(--accent-soft); display:grid; place-items:center; font-size:22px; margin-bottom:16px; }
.steps { counter-reset:s; }
.steps .card { position:relative; padding-top:64px; }
.steps .card::before { counter-increment:s; content:counter(s); position:absolute; left:24px; top:20px; width:32px; height:32px; border-radius:50%; background:var(--surface-dark); color:#fff; display:grid; place-items:center; font:600 15px/1 var(--font); }
.pros { margin-top:28px; display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.pro { background:var(--surface-2); border-radius:var(--r-2xl); padding:22px; }
.pro b { display:block; font:600 17px/22px var(--font); }
.pro span { display:block; margin-top:6px; font-size:14px; line-height:20px; color:var(--text-secondary); }

/* тарифы */
.plans { margin-top:28px; display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); }
.plan { background:var(--card); border-radius:var(--r-2xl); padding:28px; display:flex; flex-direction:column; }
.plan.main { background:var(--surface-dark); color:var(--text-on-dark); }
.plan h3 { font:600 20px/26px var(--font); }
.price { margin-top:12px; font:600 36px/40px var(--font); letter-spacing:-1px; }
.price small { font:400 15px/20px var(--font); opacity:.7; letter-spacing:-.3px; }
.plan ul { margin:18px 0 0; padding:0; list-style:none; display:grid; gap:10px; font-size:15px; line-height:21px; }
.plan li { padding-left:26px; position:relative; }
.plan li::before { content:'✓'; position:absolute; left:0; color:var(--text-positive); font-weight:700; }
.plan.main li::before { color:#7fe08f; }
.fine { margin-top:16px; font-size:13px; line-height:18px; color:var(--text-secondary); }

/* FAQ */
.faq { margin-top:24px; display:grid; gap:8px; max-width:760px; }
.faq details { background:var(--card); border-radius:var(--r-xl); padding:18px 22px; }
.faq summary { cursor:pointer; font:600 16px/22px var(--font); list-style:none; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; float:right; color:var(--text-secondary); font-size:22px; line-height:22px; }
.faq details[open] summary::after { content:'−'; }
.faq p { margin-top:10px; color:var(--text-paragraph); font-size:15px; line-height:22px; }

/* итоговый блок */
.final { margin-top:64px; background:var(--grad-hero); color:#fff; border-radius:28px; padding:56px 20px; text-align:center; }
.final h2 { font:600 clamp(26px,4vw,36px)/1.15 var(--font); letter-spacing:-.6px; }
.final p { margin:12px auto 0; max-width:520px; opacity:.92; }
.final .btn { margin-top:24px; }

/* подвал */
footer { margin-top:48px; background:var(--card); padding:36px 0 40px; font-size:14px; line-height:21px; color:var(--text-secondary); }
footer .cols { display:grid; gap:24px; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
footer b { color:var(--text-primary); display:block; margin-bottom:6px; }
footer a { color:var(--text-secondary); display:block; padding:2px 0; }
footer a:hover { color:var(--text-primary); }
.disclaimer { margin-top:24px; padding-top:20px; border-top:1px solid var(--surface-2); font-size:13px; line-height:19px; }

/* окно записи */
dialog { border:0; padding:0; background:transparent; max-width:440px; width:calc(100% - 32px); }
dialog::backdrop { background:rgba(8,10,12,.5); backdrop-filter:blur(3px); }
.popup { background:var(--card); border-radius:var(--r-2xl); padding:28px; box-shadow:var(--shadow-popup); animation:pop-in .2s var(--ease-out) both; position:relative; }
@keyframes pop-in { from { opacity:0; transform:scale(.94); } to { opacity:1; transform:none; } }
.popup h2 { font:600 22px/28px var(--font); padding-right:36px; }
.popup .sub { margin-top:6px; color:var(--text-secondary); font-size:15px; line-height:21px; }
.x { position:absolute; right:16px; top:16px; width:32px; height:32px; border:0; border-radius:50%; background:var(--surface-1); font-size:18px; cursor:pointer; }
.x:hover { background:var(--surface-2); }
.lbl { display:block; margin:18px 0 6px; font:600 13px/16px var(--font); color:var(--text-secondary); }
.field { display:block; width:100%; height:48px; padding:0 16px; background:var(--surface-1); border:0; border-radius:var(--r-l); font:400 16px/20px var(--font); letter-spacing:-.3px; color:var(--text-primary); transition:box-shadow .2s var(--ease-std); }
.field::placeholder { color:var(--text-tertiary); }
.field:focus { outline:0; box-shadow:0 0 0 2px var(--accent); }
.field.err { box-shadow:0 0 0 2px var(--text-negative); }
.hint { margin-top:6px; font-size:12px; line-height:16px; color:var(--text-secondary); }
.consent { display:flex; gap:10px; align-items:flex-start; margin-top:18px; font-size:13px; line-height:18px; color:var(--text-secondary); }
.consent input { margin-top:2px; width:18px; height:18px; flex:none; accent-color:var(--accent); }
.popup .btn { width:100%; margin-top:20px; }
.msg { margin-top:12px; padding:12px 14px; border-radius:var(--r-l); font-size:14px; line-height:20px; }
.msg.bad { background:var(--negative-soft); color:#b3001a; }
.done { text-align:center; padding:12px 0 4px; }
.done .ok { width:56px; height:56px; margin:0 auto 16px; border-radius:50%; background:var(--positive-soft); color:var(--text-positive); display:grid; place-items:center; font-size:28px; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }

/* юридические страницы */
.doc { max-width:760px; margin:32px auto 0; background:var(--card); border-radius:var(--r-2xl); padding:36px 32px; }
.doc h1 { font:600 clamp(26px,4vw,32px)/1.15 var(--font); letter-spacing:-.6px; }
.doc .date { margin-top:8px; color:var(--text-secondary); font-size:14px; }
.doc h2 { margin-top:28px; font:600 19px/26px var(--font); }
.doc p, .doc li { margin-top:10px; color:var(--text-paragraph); font-size:15px; line-height:23px; }
.doc ul, .doc ol { margin:6px 0 0; padding-left:22px; }
.doc table { width:100%; margin-top:14px; border-collapse:collapse; font-size:15px; line-height:22px; }
.doc td { padding:12px 0; border-bottom:1px solid var(--surface-2); vertical-align:top; }
.doc td:first-child { width:38%; color:var(--text-secondary); padding-right:16px; }
@media (max-width:560px) { .doc { padding:24px 20px; } .hero { padding:56px 0 64px; border-radius:22px; } }
@media (prefers-reduced-motion:reduce) { * { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
