
:root{--ink:#13294B;--enamel:#FAFBFC;--coral:#E8735A;--coral-d:#C9573F;--ice:#E6EEF5;--steel:#5B6B82;--line:#D5DEE8;
--f13:.8125rem;--f16:1rem;--f20:1.25rem;--f25:1.5625rem;--f31:1.953rem;--f39:2.441rem;--f49:3.052rem;
--s1:4px;--s2:8px;--s3:16px;--s4:24px;--s5:32px;--s6:48px;--s7:64px;--s8:96px;--wrap:1160px;--r:12px}
*{box-sizing:border-box;margin:0}
body{font:400 var(--f16)/1.55 Manrope,system-ui,sans-serif;color:var(--ink);background:var(--enamel)}
a{color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--s4)}
.demo{background:var(--ink);color:#fff;font-size:var(--f13);text-align:center;padding:var(--s2) var(--s3)}
header.top{border-bottom:1px solid var(--line);background:#fff}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:var(--s4)}
.logo{font:700 var(--f20)/1 Unbounded,sans-serif;text-decoration:none;letter-spacing:-.01em}
.logo span{color:var(--coral)}
nav a{text-decoration:none;font-weight:600;margin-left:var(--s4)}
nav a.btn-o{border:1.5px solid var(--ink);border-radius:999px;padding:var(--s2) var(--s3)}
h1,h2{font-family:Unbounded,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.1}
h1{font-size:var(--f49)}h2{font-size:var(--f31)}
h3{font-size:var(--f20);font-weight:700;line-height:1.3}
.lead{font-size:var(--f20);color:var(--steel);max-width:34em}
.hero{padding:var(--s7) 0 var(--s6)}
.hero .wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--s6);align-items:center}
.hero h1{margin-bottom:var(--s3)}
.arch{width:100%;height:auto}.arch .teeth rect{fill:#fff;stroke:var(--ink);stroke-width:1.5}
.arch .dots circle{fill:var(--coral)}
.search{display:flex;gap:var(--s2);background:#fff;border:1px solid var(--line);border-radius:999px;padding:var(--s2);margin-top:var(--s5);box-shadow:0 8px 24px rgba(19,41,75,.06)}
.search select,.search input{flex:1;border:0;background:transparent;font:inherit;padding:var(--s2) var(--s3);color:var(--ink);min-width:0}
.search select+select{border-left:1px solid var(--line)}
.btn{display:inline-block;background:var(--coral);color:#fff;border:0;border-radius:999px;padding:12px var(--s4);font:700 var(--f16) Manrope,sans-serif;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--coral-d)}
.btn:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--coral);outline-offset:2px}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s4)}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px var(--s3);font-size:var(--f13);font-weight:600;text-decoration:none}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
section{padding:var(--s7) 0}
.ice{background:var(--ice)}
.eyebrow{font-size:var(--f13);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--coral-d);margin-bottom:var(--s2)}
.cities{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin-top:var(--s5)}
.city{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:var(--s4);text-decoration:none;display:flex;justify-content:space-between;align-items:baseline}
.city b{font:700 var(--f20) Unbounded,sans-serif}
.city small{color:var(--steel)}
.city.soon{opacity:.55;pointer-events:none}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);margin-top:var(--s5)}
.steps p{color:var(--steel);margin-top:var(--s2)}
.band{background:var(--ink);color:#fff;border-radius:20px;padding:var(--s6);display:flex;justify-content:space-between;align-items:center;gap:var(--s5)}
.band p{color:#C6D2E3;margin-top:var(--s2)}
footer{border-top:1px solid var(--line);padding:var(--s5) 0;color:var(--steel);font-size:var(--f13)}
/* город */
.crumbs{font-size:var(--f13);color:var(--steel);padding-top:var(--s5)}
.list{display:grid;gap:var(--s4);margin-top:var(--s5)}
.card{display:grid;grid-template-columns:280px 1fr auto;gap:var(--s4);background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.card img{width:100%;height:100%;object-fit:cover;min-height:200px}
.card .body{padding:var(--s4) 0}
.card .meta{color:var(--steel);font-size:var(--f13);margin-top:var(--s1)}
.card ul{list-style:none;padding:0;margin-top:var(--s3);display:grid;gap:var(--s1)}
.card li{display:flex;justify-content:space-between;gap:var(--s3);border-bottom:1px dashed var(--line);padding-bottom:var(--s1);font-size:var(--f13)}
.card .act{padding:var(--s4);display:flex;flex-direction:column;gap:var(--s2);justify-content:center}
.card .act a.ghost{text-align:center;font-weight:600}
.tag{display:inline-block;background:var(--ice);border-radius:6px;font-size:var(--f13);font-weight:700;padding:2px var(--s2);margin-left:var(--s2);vertical-align:middle}
.ph{background:var(--ice);display:flex;align-items:center;justify-content:center;color:var(--steel);font-size:var(--f13)}
/* для клиник */
.offer{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4);margin-top:var(--s5)}
.offer div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:var(--s4)}
.offer p{color:var(--steel);margin-top:var(--s2)}
.price{font:700 var(--f39) Unbounded,sans-serif}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);margin-top:var(--s5);align-items:start}
form.anketa{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:var(--s4);display:grid;gap:var(--s3)}
label{display:grid;gap:var(--s1);font-size:var(--f13);font-weight:700}
input,textarea,select{font:400 var(--f16) Manrope,sans-serif;border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--ink);background:#fff}
fieldset{border:1px solid var(--line);border-radius:8px;padding:var(--s3)}
legend{font-size:var(--f13);font-weight:700;padding:0 var(--s1)}
.svc{display:grid;grid-template-columns:auto 1fr 110px;gap:var(--s2);align-items:center;font-weight:400;font-size:var(--f16)}
.svc input[type=number]{padding:6px 8px}
.preview{position:sticky;top:var(--s4)}
.preview .card{grid-template-columns:1fr}
.preview .card .body,.preview .card .act{padding:0 var(--s4)}
.preview .card .act{padding-bottom:var(--s4)}
.note{font-size:var(--f13);color:var(--steel);margin-top:var(--s3)}
@media (max-width:860px){h1{font-size:var(--f39)}.hero .wrap,.form-grid,.offer,.steps{grid-template-columns:1fr}.cities{grid-template-columns:1fr 1fr}
.card{grid-template-columns:1fr}.card .body{padding:0 var(--s4)}.band{flex-direction:column;align-items:flex-start}.arch{max-width:360px}
.search{flex-direction:column;border-radius:16px}.search select+select{border-left:0;border-top:1px solid var(--line)}nav a:not(.btn-o){display:none}}
@media (prefers-reduced-motion:no-preference){.arch .dots circle{animation:pulse 2.4s ease-in-out infinite}.arch .dots circle:nth-child(2){animation-delay:.4s}.arch .dots circle:nth-child(3){animation-delay:.8s}.arch .dots circle:nth-child(4){animation-delay:1.2s}.arch .dots circle:nth-child(5){animation-delay:1.6s}}
@keyframes pulse{50%{opacity:.35}}
