/* ============================================================
   Myronenko Dental Studio — design system v3 "Tooth Line"
   Cobalt + white, Inter, line-art motifs, animated.
   All legacy class names + CSS vars preserved so every page inherits.
   ============================================================ */
:root{
  --ink:#000000;        /* deep navy ink */
  --ink-soft:#000000;
  --mut:#212E2A;        /* muted slate */
  --bg:#FFFFFF;
  --bg2:#EEFEFA;        /* faint cobalt band */
  --soft:#FFFFFF;       /* card surface */
  --bd:#DAEFE8;         /* hairline */
  --bd2:#ACFCE4;        /* hover border */
  --acc:#059669;        /* cobalt — primary */
  --acc-d:#0E4A38;      /* darker cobalt */
  --acc-ink:#000000;    /* footer / dark sections */
  --acc-tint:#EDFEF9;   /* cobalt wash */
  --gold:#059669;       /* mono accent (alias to cobalt) */
  --gold-soft:#DCFEF1;
  --ok:#16A34A;
  --star:#059669;
  --font:Inter,system-ui,-apple-system,sans-serif;
  --serif:Inter,system-ui,sans-serif;   /* this design is Inter-only */
  --r:12px;--r-lg:16px;--r-xl:22px;--r-full:999px;
  --sh-1:0 4px 16px rgba(14,22,51,.05);
  --sh-2:0 22px 50px rgba(14,22,51,.10);
  --sh-3:0 30px 70px rgba(5,150,105,.18);
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--acc);color:#fff}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:4px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--acc);color:#fff;padding:10px 16px;border-radius:0 0 10px 0;z-index:100}
.skip-link:focus{left:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- Sticky navigation ---------- */
nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);border-bottom:1px solid var(--bd);transition:box-shadow .3s}
nav.scrolled{box-shadow:0 8px 30px rgba(14,22,51,.07)}
nav .nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:20px}
.logo{font-size:21px;font-weight:900;letter-spacing:-.04em;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px}
.logo img{height:34px;width:auto}
.menu{display:flex;gap:24px;font-size:14.5px;font-weight:600;flex-wrap:wrap}
.menu a{color:var(--ink-soft);text-decoration:none;transition:.18s var(--ease);position:relative}
.menu a:hover,.menu a[aria-current="page"]{color:var(--acc)}
.menu>a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--acc);border-radius:2px;transition:right .25s var(--ease)}
.menu>a:hover::after,.menu>a[aria-current="page"]::after{right:0}
.has-sub{position:relative}
.has-sub>a::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:7px;opacity:.6}
.sub{display:none;position:absolute;top:100%;left:0;background:var(--soft);border:1px solid var(--bd);border-radius:14px;padding:10px;min-width:250px;flex-direction:column;gap:2px;z-index:30;box-shadow:var(--sh-2);margin-top:9px}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:flex}
.sub a{padding:10px 14px;font-size:14px;white-space:nowrap;color:var(--ink-soft);border-radius:9px;transition:.15s;font-weight:500}
.sub a:hover{background:var(--acc-tint);color:var(--acc)}
.nav-cta{font-size:14.5px;color:#fff;text-decoration:none;font-weight:700;padding:12px 22px;background:var(--acc);border-radius:10px;transition:.24s var(--ease);white-space:nowrap;box-shadow:0 10px 24px rgba(5,150,105,.26)}
.nav-cta:hover{background:var(--acc-d);transform:translateY(-2px);box-shadow:0 14px 30px rgba(5,150,105,.36)}
.lang-switch{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700}
.lang-switch a{color:var(--mut);text-decoration:none;transition:.15s}
.lang-switch a:hover,.lang-switch a[aria-current="true"]{color:var(--acc)}
.lang-switch span{opacity:.4}
.nav-toggle{display:none;background:var(--soft);border:1px solid var(--bd);color:var(--ink);font-size:20px;border-radius:11px;width:46px;height:46px;cursor:pointer}
/* animated burger bars */
.bur{display:flex;flex-direction:column;justify-content:center;gap:5px;width:20px;height:20px;pointer-events:none}
.bur span{display:block;height:2px;background:currentColor;border-radius:2px;transition:transform .3s ease,opacity .18s ease;transform-origin:center}
.nav-toggle[aria-expanded="true"] .bur span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bur span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-toggle[aria-expanded="true"] .bur span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Typography ---------- */
h1{font-family:var(--font);font-size:clamp(40px,6.2vw,72px);font-weight:900;letter-spacing:-.045em;line-height:1.0}
h2{font-family:var(--font);font-size:clamp(30px,4.4vw,46px);font-weight:900;letter-spacing:-.035em;line-height:1.06}
h3{font-size:21px;font-weight:800;letter-spacing:-.02em}
h4{font-size:18px;font-weight:800}
.hero-sub{font-size:clamp(17px,1.9vw,20px);font-weight:400;color:var(--mut);max-width:560px;margin:20px 0 32px;line-height:1.55}

/* ---------- Buttons ---------- */
.btn-p{background:var(--acc);color:#fff;padding:15px 28px;border-radius:11px;text-decoration:none;font-size:15px;font-weight:700;border:none;cursor:pointer;transition:.24s var(--ease);display:inline-flex;align-items:center;gap:9px;box-shadow:0 12px 28px rgba(5,150,105,.28);position:relative;overflow:hidden}
.btn-p:hover{background:var(--acc-d);transform:translateY(-3px);box-shadow:0 18px 40px rgba(5,150,105,.4)}
.btn-p::after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg)}
.btn-p:hover::after{animation:shine .85s var(--ease)}
@keyframes shine{to{left:150%}}
.btn-s{color:var(--ink);font-size:15px;text-decoration:none;font-weight:700;padding:15px 24px;border:1.5px solid var(--bd);border-radius:11px;display:inline-flex;align-items:center;gap:8px;transition:.2s var(--ease)}
.btn-s:hover{border-color:var(--acc);color:var(--acc);background:var(--acc-tint)}

/* ---------- Hero (homepage, two-column tooth-line) ---------- */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bg2),var(--bg) 70%)}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.04fr .96fr;gap:48px;align-items:center;padding:74px 24px 64px;text-align:left}
.hero-copy{max-width:560px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:22px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--acc);display:inline-block}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px rgba(5,150,105,.18);animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.5}}
.h-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}
.hero-art{position:relative;display:grid;place-items:center}
.hero-art svg{width:100%;max-width:480px;height:auto;overflow:visible}
.hero-art .draw{fill:none;stroke:var(--acc);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1500;stroke-dashoffset:1500;animation:draw 3.2s var(--ease) forwards}
.hero-art .draw.ink{stroke:var(--ink);stroke-width:2.4;animation-delay:.5s}
.hero-art .sparkle{fill:var(--acc);opacity:0;transform-origin:center;animation:pop .55s var(--ease) forwards;animation-delay:2.6s}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{0%{opacity:0;transform:scale(.2)}70%{opacity:1;transform:scale(1.25)}100%{opacity:1;transform:scale(1)}}
.hero-img{border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--bd);box-shadow:var(--sh-2)}
.hero-img img{width:100%;height:100%;object-fit:cover}
.badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.badge{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink-soft);background:var(--soft);border:1px solid var(--bd);padding:9px 15px;border-radius:var(--r-full);box-shadow:var(--sh-1)}
.badge b{color:var(--acc)}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1200px;margin:0 auto;padding:34px 24px 0}
.hs strong{display:block;font-size:clamp(30px,3.6vw,42px);font-weight:900;letter-spacing:-.04em;color:var(--acc)}
.hs span{font-size:13px;color:var(--mut)}

/* ---------- Sections ---------- */
section{padding:84px 0}
.center{text-align:center;margin-bottom:54px;max-width:720px;margin-left:auto;margin-right:auto}
.section-eyebrow{font-size:12px;font-weight:700;color:var(--acc);text-transform:uppercase;letter-spacing:.16em;margin-bottom:14px;display:inline-flex;align-items:center;gap:10px}
.section-eyebrow::before{content:"";width:26px;height:2px;background:var(--acc);display:inline-block}
.center .section-eyebrow::after{content:"";width:26px;height:2px;background:var(--acc);display:inline-block}
.lead{font-size:18px;color:var(--mut);max-width:680px;margin:16px auto 0;line-height:1.6}

/* ---------- Trust strip / marquee ---------- */
.trust-strip{background:var(--bg2);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);padding:32px 0;text-align:center}
.label-t{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.16em;margin-bottom:18px;display:block;font-weight:700}
.trust-logos{display:flex;justify-content:center;gap:46px;flex-wrap:wrap;align-items:center}
.trust-logos div{font-weight:800;font-size:15px;color:#599280;letter-spacing:.06em;transition:.2s}
.trust-logos div:hover{color:var(--acc)}

/* ---------- Cards: services ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc{background:var(--soft);border:1.5px solid var(--bd);border-radius:var(--r-lg);padding:32px 28px;transition:.3s var(--ease);color:var(--ink);position:relative;overflow:hidden;text-decoration:none;display:block}
.svc::before{content:"";position:absolute;left:0;top:0;height:4px;width:0;background:var(--acc);transition:width .35s var(--ease)}
.svc:hover{transform:translateY(-7px);box-shadow:var(--sh-2);border-color:var(--bd2)}
.svc:hover::before{width:100%}
.svc .num{font-size:12px;color:var(--acc);font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.svc-ico{width:46px;height:46px;color:var(--acc);margin-bottom:14px}
.svc-ico svg{width:100%;height:100%;display:block}
.svc h2,.svc h3{font-size:22px;font-weight:800;margin:6px 0 12px;color:var(--ink);letter-spacing:-.02em;line-height:1.18}
.svc h3 a{color:inherit;text-decoration:none}
.svc:hover h3 a{color:var(--acc)}
.svc p{color:var(--mut);font-size:15px;margin-bottom:18px}
.svc ul{list-style:none;padding:0;font-size:14px}
.svc li{padding:6px 0;color:var(--ink-soft);display:flex;gap:9px;align-items:start}
.svc li::before{content:"";flex:0 0 auto;width:17px;height:17px;margin-top:2px;border-radius:5px;background:var(--acc-tint);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23059669' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-size:11px;background-repeat:no-repeat;background-position:center}
.svc .price-from{display:inline-block;margin-top:18px;color:var(--acc);font-weight:800;font-size:14px;padding:7px 14px;background:var(--acc-tint);border-radius:var(--r-full)}

/* ---------- Process ---------- */
.process{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;position:relative}
.process::before{content:"";position:absolute;top:38px;left:64px;right:64px;height:2px;background:repeating-linear-gradient(90deg,var(--bd2) 0 8px,transparent 8px 16px);z-index:0}
.step{position:relative;text-align:center}
.step .circle{width:76px;height:76px;border-radius:50%;background:var(--soft);border:1.5px solid var(--bd);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;color:var(--acc);margin:0 auto 18px;position:relative;z-index:1;transition:.25s var(--ease);box-shadow:var(--sh-1)}
.step:hover .circle{background:var(--acc);color:#fff;border-color:var(--acc);transform:translateY(-4px);box-shadow:0 14px 30px rgba(5,150,105,.3)}
.step h3,.step h4{font-size:16px;font-weight:800;margin-bottom:7px;color:var(--ink);letter-spacing:-.01em;line-height:normal}
.step p{font-size:13px;color:var(--mut);line-height:1.5}

/* ---------- Works gallery ---------- */
.works-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.work{background:var(--soft);border:1.5px solid var(--bd);border-radius:var(--r-lg);overflow:hidden;transition:.3s var(--ease)}
.work:hover{transform:translateY(-6px);box-shadow:var(--sh-2);border-color:var(--bd2)}
.work img{aspect-ratio:1/1;object-fit:cover;width:100%;transition:.5s var(--ease)}
.work:hover img{transform:scale(1.06)}
.work .cap{padding:17px}
.work .cat{color:var(--acc);font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;display:block;margin-bottom:6px}
.work p{color:var(--ink-soft);font-size:13.5px;line-height:1.5}

/* ---------- Why / features (tooth icons) ---------- */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.why{padding:32px;border-radius:var(--r-lg);background:var(--soft);border:1.5px solid var(--bd);transition:.28s var(--ease);position:relative;overflow:hidden}
.why::before{content:"";position:absolute;left:0;top:0;height:4px;width:0;background:var(--acc);transition:width .35s var(--ease)}
.why:hover{box-shadow:var(--sh-2);transform:translateY(-6px);border-color:var(--bd2)}
.why:hover::before{width:100%}
.why .ico{width:58px;height:58px;border-radius:14px;background:var(--acc-tint);color:var(--acc);display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:20px;transition:.3s var(--ease)}
.why .ico svg{width:30px;height:30px;display:block}
.why:hover .ico{background:var(--acc);color:#fff;transform:rotate(-6deg) scale(1.06)}
.why h3{font-size:20px;font-weight:800;margin-bottom:9px;color:var(--ink);letter-spacing:-.02em}
.why p{font-size:15px;color:var(--mut)}

/* ---------- Years-on-market block ---------- */
.years{background:var(--acc-ink);color:#fff;border-radius:var(--r-xl);overflow:hidden;position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding:56px}
.years::before{content:"";position:absolute;right:-60px;top:-60px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(5,150,105,.4),transparent 70%);pointer-events:none}
.years-copy{position:relative;z-index:1}
.years .section-eyebrow{color:#2AF8AE}
.years .section-eyebrow::before{background:#2AF8AE}
.years h2{color:#fff;margin-bottom:14px}
.years p{color:#76C0AA;font-size:17px;max-width:460px}
.years-big{position:relative;z-index:1;text-align:center}
.years-big .yr{font-size:clamp(90px,16vw,170px);font-weight:900;line-height:.9;letter-spacing:-.06em;
  background:linear-gradient(180deg,#fff,#2AF8AE);-webkit-background-clip:text;background-clip:text;color:transparent}
.years-big .since{display:inline-block;margin-top:10px;color:#76C0AA;font-weight:700;letter-spacing:.08em;border:1px solid rgba(255,255,255,.18);padding:8px 18px;border-radius:var(--r-full)}
.years-line{position:relative;z-index:1;grid-column:1/-1;margin-top:10px}
.years-line svg{width:100%;height:40px;overflow:visible}
.years-line path{fill:none;stroke:#06AB7B;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1200;stroke-dashoffset:1200}
.years-line.in path{animation:draw 2.6s var(--ease) forwards}

/* ---------- Testimonials ---------- */
.testimonials{background:var(--bg2)}
.t-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.t{background:var(--soft);border:1.5px solid var(--bd);border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;position:relative}
.t::before{content:"\201C";position:absolute;top:14px;right:26px;font-family:Georgia,serif;font-size:84px;line-height:1;color:var(--gold-soft)}
.t .stars{color:var(--star);font-size:17px;margin-bottom:16px;letter-spacing:2px}
.t blockquote{font-size:16.5px;font-weight:400;line-height:1.6;margin-bottom:24px;flex:1;color:var(--ink-soft);position:relative;z-index:1}
.t .who{display:flex;align-items:center;gap:14px}
.t .who img{width:50px;height:50px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:2px solid var(--gold-soft)}
.t .who strong{display:block;font-size:14px;font-weight:800;color:var(--ink)}
.t .who span{font-size:12px;color:var(--mut)}

/* ---------- Doctors ---------- */
.doctors{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.doc{background:var(--soft);border:1.5px solid var(--bd);border-radius:var(--r-lg);overflow:hidden;transition:.3s var(--ease)}
.doc:hover{transform:translateY(-6px);box-shadow:var(--sh-2);border-color:var(--bd2)}
.doc .ph{aspect-ratio:4/5;overflow:hidden;background:var(--bg2)}
.doc .ph img{width:100%;height:100%;object-fit:cover;transition:.5s var(--ease)}
.doc:hover .ph img{transform:scale(1.04)}
.doc-info{padding:22px}
.doc h2,.doc h3,.doc h4{font-size:19px;font-weight:800;margin-bottom:4px;color:var(--ink);letter-spacing:-.02em;line-height:1.2}
.doc .role{color:var(--acc);font-size:13px;font-weight:700;margin-bottom:12px}
.doc .doc-phone{font-size:13px;color:var(--mut);text-decoration:none}
.doc .doc-phone:hover{color:var(--acc)}

/* ---------- Price table ---------- */
.price-table{max-width:none;margin:0 auto;border:1.5px solid var(--bd);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-1);background:var(--soft)}
.price-cat{background:var(--acc);color:#fff;font-weight:800;padding:16px 26px;font-size:14px;text-transform:uppercase;letter-spacing:.06em}
.price-row{display:flex;justify-content:space-between;gap:20px;padding:16px 26px;border-top:1px solid var(--bd);background:var(--soft);transition:.15s}
.price-row:hover{background:var(--acc-tint)}
.price-row .name{color:var(--ink-soft);font-size:15px}
.price-row .val{color:var(--acc);font-weight:800;white-space:nowrap;font-size:15px}

/* ---------- FAQ ---------- */
.q{background:var(--soft);border:1.5px solid var(--bd);border-radius:14px;margin-bottom:12px;overflow:hidden;cursor:pointer;transition:.2s;margin-left:auto;margin-right:auto}
.q:hover{border-color:var(--bd2)}
.q[open]{box-shadow:var(--sh-1);border-color:var(--bd2)}
.q summary{padding:22px 26px;font-size:17px;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center;color:var(--ink);gap:18px}
.q summary::-webkit-details-marker{display:none}
.q summary::after{content:"+";font-size:26px;font-weight:400;color:var(--acc);transition:.25s var(--ease);flex:0 0 auto}
.q[open] summary::after{transform:rotate(135deg)}
.q .a{padding:0 26px 24px;color:var(--mut);font-size:15px;line-height:1.65}

/* ---------- Guarantee / CTA band ---------- */
.guarantee{background:radial-gradient(70% 90% at 90% 10%,rgba(5,150,105,.5),transparent 60%),linear-gradient(135deg,#000000,var(--acc-ink));color:#fff;border-radius:var(--r-xl);padding:64px;text-align:center;position:relative;overflow:hidden;box-shadow:var(--sh-3)}
.guarantee::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.08),transparent 70%);top:-120px;left:-100px}
.guarantee .ico-big{font-size:56px;margin-bottom:16px;position:relative}
.guarantee h2{color:#fff;margin-bottom:14px}
.guarantee p{font-size:18px;color:rgba(255,255,255,.84);max-width:660px;margin:0 auto 34px}
.g-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:780px;margin:0 auto;position:relative}
.g-item strong{display:block;font-size:44px;font-weight:900;margin-bottom:4px;color:#fff;letter-spacing:-.04em}
.g-item span{font-size:14px;color:rgba(255,255,255,.78)}

/* ---------- Forms ---------- */
.form-section{background:var(--bg2)}
.form-wrap{background:var(--soft);border:1.5px solid var(--bd);border-radius:var(--r-xl);padding:56px;max-width:860px;margin:0 auto;text-align:center;box-shadow:var(--sh-2)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px}
.form input,.form select,.form textarea{padding:16px;border-radius:11px;border:1.5px solid var(--bd);font-family:inherit;font-size:15px;background:var(--bg);color:var(--ink);transition:.2s;width:100%}
.form input::placeholder,.form textarea::placeholder{color:#5A8578}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 4px var(--acc-tint)}
.form .full{grid-column:1/-1}
.form textarea{resize:vertical}
.form button{grid-column:1/-1;background:var(--acc);color:#fff;border:none;padding:18px;border-radius:11px;font-weight:700;cursor:pointer;font-size:15px;transition:.22s var(--ease);font-family:inherit;box-shadow:0 12px 28px rgba(5,150,105,.28)}
.form button:hover{background:var(--acc-d);transform:translateY(-2px)}
.form-out{font-weight:700}
.consent-label{display:flex;align-items:flex-start;gap:10px;text-align:left;font-size:13px;color:var(--mut);cursor:pointer;line-height:1.5}
.consent-label input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;margin-top:2px;accent-color:var(--acc);cursor:pointer}
.consent-label a{color:var(--acc)}

/* ---------- Contacts ---------- */
.contacts{display:grid;grid-template-columns:1fr 1.4fr;gap:48px}
.c-list{list-style:none;padding:0}
.c-list li{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--bd);align-items:start}
.c-list .ico{width:46px;height:46px;border-radius:12px;background:var(--acc-tint);color:var(--acc);display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:18px}
.c-list strong{display:block;font-size:14px;font-weight:800;margin-bottom:3px;color:var(--ink)}
.c-list span,.c-list a{color:var(--mut);font-size:14px;line-height:1.55;text-decoration:none}
.c-list a:hover{color:var(--acc)}
.map-frame{border:1.5px solid var(--bd);border-radius:var(--r-lg);overflow:hidden;min-height:360px;box-shadow:var(--sh-1)}
.map-frame iframe{width:100%;height:100%;min-height:360px;border:0}

/* ---------- Footer ---------- */
footer{background:var(--acc-ink);border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.66);padding:60px 0 30px}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:36px;margin-bottom:40px}
footer h6,.f-title{color:#fff;font-size:12.5px;font-weight:800;margin-bottom:16px;text-transform:uppercase;letter-spacing:.08em}
footer ul{list-style:none;padding:0}
footer li{padding:6px 0;font-size:13.5px}
footer a{color:rgba(255,255,255,.66);text-decoration:none;transition:.15s}
footer a:hover{color:#fff}
footer .logo{color:#fff;font-size:21px;margin-bottom:14px;font-weight:900}
.f-social{display:flex;gap:12px;margin-top:16px}
.f-social a{width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:15px;color:#fff;transition:.2s var(--ease)}
.f-social a:hover{border-color:var(--acc);background:var(--acc);transform:translateY(-2px)}
.copy{padding-top:26px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;font-size:12px;flex-wrap:wrap;gap:8px;color:rgba(255,255,255,.5)}

/* ---------- Inner page header ---------- */
.page-head{padding:118px 0 60px;text-align:center;background:linear-gradient(180deg,var(--bg2),var(--bg) 85%);position:relative;overflow:hidden}
.page-head::before{content:"";position:absolute;left:50%;top:-180px;width:680px;height:680px;transform:translateX(-50%);background:radial-gradient(circle,rgba(5,150,105,.10),transparent 62%)}
.page-head .wrap{position:relative;z-index:1}
.page-head h1{font-size:clamp(34px,5vw,58px)}
.breadcrumbs{font-size:13px;color:var(--mut);margin-top:18px}
.breadcrumbs a{color:var(--acc);text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}

/* ---------- Prose ---------- */
.prose{max-width:none;margin:0 auto;color:var(--ink-soft);font-size:17px;line-height:1.75}
.prose h2{color:var(--ink);margin:42px 0 16px;text-align:left;font-weight:900;letter-spacing:-.03em}
.prose h3{color:var(--ink);margin:30px 0 10px;font-weight:800;font-size:24px;letter-spacing:-.02em}
.prose p{margin-bottom:18px}
.prose ul{margin:0 0 18px 22px}
.prose li{margin-bottom:9px}
.prose strong{color:var(--ink)}
.prose a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.prose img{border-radius:var(--r-lg);border:1px solid var(--bd)}

.seo-block{background:var(--bg2)}
.seo-block .prose{max-width:none}
.seo-block .prose h2:first-child{margin-top:0}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  nav .nav{height:64px}
  .menu{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;flex-wrap:nowrap;align-items:stretch;background:var(--soft);border-bottom:1px solid var(--bd);padding:18px 24px;gap:14px;box-shadow:var(--sh-2)}
  .menu.open{display:flex}
  .menu>a::after{display:none}
  .nav-toggle{display:flex;align-items:center;justify-content:center}
  .sub{display:flex;position:static;border:none;box-shadow:none;padding:6px 0 6px 14px;min-width:0;background:transparent}
  .has-sub>a::after{display:none}
  .hero .wrap{grid-template-columns:1fr;gap:32px;padding:48px 24px;text-align:center}
  .hero-copy{max-width:none;margin:0 auto}
  .eyebrow,.h-cta,.badge-row{justify-content:center}
  .hero-art{order:-1}
  .hero-stats,.svc-grid,.process,.works-grid,.why-grid,.doctors,.t-grid,.g-grid,.contacts,.form,.f-grid{grid-template-columns:1fr}
  .years{grid-template-columns:1fr;padding:44px 26px;text-align:center}
  .years .section-eyebrow{justify-content:center}
  .process::before{display:none}
  .guarantee,.form-wrap{padding:44px 24px}
  section{padding:64px 0}
}
@media(max-width:980px) and (min-width:560px){
  .svc-grid,.works-grid,.doctors,.t-grid,.hero-stats{grid-template-columns:1fr 1fr}
}

/* ============================================================
   Motion + micro-interactions (JS-gated)
   ============================================================ */
.scroll-prog{position:fixed;top:0;left:0;height:3px;width:0;z-index:80;background:linear-gradient(90deg,var(--acc),#2AF8AE);box-shadow:0 0 12px rgba(5,150,105,.5);transition:width .12s linear}
html.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
html.js [data-reveal].in{opacity:1;transform:none}
html.js [data-reveal][data-delay="1"]{transition-delay:.07s}
html.js [data-reveal][data-delay="2"]{transition-delay:.14s}
html.js [data-reveal][data-delay="3"]{transition-delay:.21s}

.marquee{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee .track{display:flex;gap:58px;width:max-content;animation:scrollx 28s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.marquee .track div{font-weight:800;font-size:16px;color:#599280;letter-spacing:.06em;white-space:nowrap}
@keyframes scrollx{to{transform:translateX(-50%)}}

.mcta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--bd);box-shadow:0 -8px 30px rgba(14,22,51,.10)}
.mcta a{flex:1;text-align:center;padding:14px 10px;border-radius:11px;font-weight:700;font-size:14.5px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.mcta .call{background:var(--acc-tint);color:var(--acc)}
.mcta .book{background:var(--acc);color:#fff;box-shadow:0 8px 20px rgba(5,150,105,.3)}
@media(max-width:720px){.mcta{display:flex}body{padding-bottom:78px}}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  html.js [data-reveal]{opacity:1!important;transform:none!important}
  .hero-art .draw{stroke-dashoffset:0}.hero-art .sparkle{opacity:1;transform:none}
  .years-line path{stroke-dashoffset:0}
}

/* ---------- Logo №08 — Карієс знешкоджено ---------- */
/* white nav */
nav{background:#fff!important;border-bottom-color:var(--bd)!important}
nav.scrolled{box-shadow:0 4px 16px rgba(0,0,0,.08)!important}
.logo{gap:12px;color:var(--ink)}
.logo-text b{font-weight:900;font-size:16px;letter-spacing:.005em;color:var(--ink)}
.logo-text{display:flex;flex-direction:column;line-height:1.04}
.logo-text small{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:#059669;font-weight:800;margin-top:2px}
.menu a{color:rgba(0,0,0,.72)}
.menu a:hover,.menu a[aria-current="page"]{color:#059669}
.lang-switch a{color:rgba(0,0,0,.4)}
.lang-switch a:hover,.lang-switch a[aria-current="true"]{color:#059669}
.lang-switch span{opacity:.25}
.nav-toggle{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.1);color:var(--ink)}
.ph a{color:var(--ink)!important}
.ph small{color:var(--mut)!important}
.sub{background:#fff!important;border-color:var(--bd)!important}
.sub a{color:var(--ink)!important}
.sub a:hover{color:#059669!important}
.mega-foot{border-top-color:var(--bd)!important;color:var(--mut)!important}
.mega-foot a{color:#059669!important}
.mi small{color:var(--mut)!important}
@media(max-width:980px){.menu{background:#fff;border-bottom-color:var(--bd)}}
/* logo mark */
.logo-mark{position:relative;width:44px;height:44px;flex:0 0 auto}
.logo:hover .logo-mark{transform:scale(1.08);transition:transform .25s ease}
.lm-tooth{position:absolute;inset:0;background:#059669;
  -webkit-mask-image:url(/assets/img/old-tooth.png);
  -webkit-mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;
  mask-image:url(/assets/img/old-tooth.png);
  mask-size:contain;mask-position:center;mask-repeat:no-repeat}
.lm-spot{position:absolute;width:7px;height:7px;border-radius:50%;background:#4a392f;top:30%;left:56%;transform:scale(0);animation:v08s 5s ease infinite}
@keyframes v08s{0%{transform:scale(0)}14%{transform:scale(1)}40%{transform:scale(1)}52%{transform:scale(0)}100%{transform:scale(0)}}
.lm-zap{position:absolute;top:22%;left:50%;width:15px;height:15px;color:#6ee7b7;opacity:0;transform:scale(0);animation:v08z 5s ease infinite}
.lm-zap svg{display:block;width:100%;height:100%;fill:currentColor;filter:drop-shadow(0 0 4px rgba(110,231,183,.9))}
@keyframes v08z{0%,38%{transform:scale(0) rotate(0);opacity:0}46%{transform:scale(1.3) rotate(35deg);opacity:1}56%{transform:scale(.3) rotate(70deg);opacity:0}100%{opacity:0}}
.lm-ok{position:absolute;right:-5px;top:-4px;width:15px;height:15px;border-radius:50%;background:#059669;box-shadow:0 2px 6px rgba(5,150,105,.4);transform:scale(0);animation:v08k 5s ease infinite}
.lm-ok:before{content:"";position:absolute;left:4px;top:3px;width:5px;height:8px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(42deg)}
@keyframes v08k{0%,58%{transform:scale(0)}68%{transform:scale(1.15)}74%,92%{transform:scale(1)}100%{transform:scale(0)}}
footer .logo .logo-text b{color:#fff}
footer .lm-tooth{background:#fff}
footer .lm-zap{color:#34D399}

/* ---------- Mobile refinements (phones) ---------- */
@media(max-width:680px){
  .wrap{padding:0 18px}
  section{padding:54px 0}
  .nav-cta{display:none}                 /* sticky bottom CTA covers booking */
  .hero-stats{grid-template-columns:1fr 1fr;gap:16px}
  .hero-art svg{max-width:300px}
  .hero .wrap{padding:34px 18px 40px}
  .badge-row{gap:8px}
  .badge{font-size:12px;padding:8px 12px}
  .years{padding:36px 22px}
  .years-big .yr{font-size:clamp(70px,24vw,108px)}
  .guarantee,.form-wrap{padding:34px 20px}
  .g-grid{gap:22px}
  .g-item strong{font-size:36px}
  .price-row{flex-wrap:wrap;gap:4px}
  .map-frame,.map-frame iframe{min-height:300px}
  .copy{justify-content:center;text-align:center}
}
@media(max-width:980px){
  .nav-toggle{order:5}                    /* hamburger to far right */
  .lang-switch{order:4}
}
@media(max-width:460px){
  h1{font-size:clamp(32px,11vw,42px)}
  .logo-text small{display:none}         /* keep header compact */
  .logo-text b{font-size:15px}
  .logo-mark{width:36px;height:36px}
  .logo-mark svg{width:30px;height:30px}
  .hero-stats{gap:12px}
  .hs strong{font-size:30px}
  .mcta a{font-size:13.5px;padding:13px 8px}
}

/* ---------- v4 additions: chat widget + micro-animations ---------- */
/* floating messengers widget (injected by main.js) */
.chatw{position:fixed;right:18px;bottom:18px;z-index:70;font-family:var(--font)}
@media(max-width:720px){.chatw{right:14px;bottom:calc(88px + env(safe-area-inset-bottom))}}
.chatw-btn{width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;background:var(--acc);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 34px rgba(5,150,105,.4);transition:.25s var(--ease);position:relative}
.chatw-btn:hover{transform:translateY(-3px) scale(1.05);background:var(--acc-d)}
.chatw-btn svg{width:26px;height:26px}
.chatw-btn::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--acc);opacity:.5;animation:chatPulse 2.6s ease-out infinite}
@keyframes chatPulse{0%{transform:scale(.92);opacity:.55}70%{transform:scale(1.4);opacity:0}100%{transform:scale(1.4);opacity:0}}
.chatw.open .chatw-btn::before{animation:none;opacity:0}
.chatw-btn .ic-x{display:none}
.chatw.open .chatw-btn .ic-chat{display:none}
.chatw.open .chatw-btn .ic-x{display:block}
.chatw-list{position:absolute;right:2px;bottom:72px;display:flex;flex-direction:column;gap:9px;align-items:flex-end}
.chatw-item{display:flex;align-items:center;gap:10px;background:var(--soft);border:1px solid var(--bd);border-radius:999px;padding:8px 18px 8px 8px;text-decoration:none;color:var(--ink);font-weight:700;font-size:14px;box-shadow:var(--sh-2);opacity:0;transform:translateY(14px) scale(.92);pointer-events:none;transition:transform .3s var(--ease),opacity .3s var(--ease),border-color .2s}
.chatw.open .chatw-item{opacity:1;transform:none;pointer-events:auto}
.chatw.open .chatw-item:nth-child(4){transition-delay:.03s}
.chatw.open .chatw-item:nth-child(3){transition-delay:.08s}
.chatw.open .chatw-item:nth-child(2){transition-delay:.13s}
.chatw.open .chatw-item:nth-child(1){transition-delay:.18s}
.chatw-item:hover{border-color:var(--bd2)}
.chatw-ico{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex:none}
.chatw-ico svg{width:19px;height:19px}
.chatw-ico.vb{background:#7360F2}
.chatw-ico.ms{background:#0084FF}
.chatw-ico.ig{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF)}
.chatw-ico.ph{background:var(--acc)}

/* staggered reveal of price rows */
html.js .price-table[data-reveal] .price-row{opacity:0;transform:translateX(-14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
html.js .price-table[data-reveal].in .price-row{opacity:1;transform:none}
html.js .price-table[data-reveal].in .price-row:nth-child(2){transition-delay:.05s}
html.js .price-table[data-reveal].in .price-row:nth-child(3){transition-delay:.09s}
html.js .price-table[data-reveal].in .price-row:nth-child(4){transition-delay:.13s}
html.js .price-table[data-reveal].in .price-row:nth-child(5){transition-delay:.17s}
html.js .price-table[data-reveal].in .price-row:nth-child(6){transition-delay:.21s}
html.js .price-table[data-reveal].in .price-row:nth-child(7){transition-delay:.25s}
html.js .price-table[data-reveal].in .price-row:nth-child(8){transition-delay:.29s}
html.js .price-table[data-reveal].in .price-row:nth-child(9){transition-delay:.33s}
html.js .price-table[data-reveal].in .price-row:nth-child(10){transition-delay:.37s}
html.js .price-table[data-reveal].in .price-row:nth-child(n+11){transition-delay:.41s}

/* smooth FAQ open */
details.q[open] .a{animation:qOpen .35s var(--ease)}
@keyframes qOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
details.q summary{transition:color .2s}
details.q[open] summary{color:var(--acc)}

/* gentle lift for cards site-wide */
.why,.svc,.doc{transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.why:hover,.svc:hover,.doc:hover{transform:translateY(-4px)}

@media (prefers-reduced-motion: reduce){
  .chatw-btn::before{animation:none}
  .chatw-item{transition:none;opacity:1;transform:none}
  html.js .price-table[data-reveal] .price-row{opacity:1!important;transform:none!important;transition:none}
  details.q[open] .a{animation:none}
  .why:hover,.svc:hover,.doc:hover{transform:none}
}

/* comparison table (implant systems) + mini stats strip */
.cmp-wrap{overflow-x:auto;margin:18px 0 6px}
table.cmp{width:100%;border-collapse:collapse;font-size:14.5px;min-width:640px;background:var(--soft);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-1)}
table.cmp th{background:var(--acc);color:#fff;text-align:left;padding:12px 16px;font-weight:700;font-size:13.5px;letter-spacing:.02em}
table.cmp td{padding:12px 16px;border-bottom:1px solid var(--bd);vertical-align:top}
table.cmp tr:last-child td{border-bottom:none}
table.cmp tr:hover td{background:var(--acc-tint)}
table.cmp td:first-child{font-weight:700;white-space:nowrap}
table.cmp .pr{color:var(--acc);font-weight:800;white-space:nowrap}
.mini-stats{display:flex;flex-wrap:wrap;gap:12px 28px;margin:20px 0;padding:18px 22px;background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r-lg)}
.mini-stats div{display:flex;flex-direction:column}
.mini-stats strong{font-size:24px;font-weight:900;color:var(--acc);letter-spacing:-.02em}
.mini-stats span{font-size:13px;color:var(--mut)}
.price-note{font-size:13px;color:var(--mut);margin-top:10px}

/* ---------- v4.2: фиксы и полировка ---------- */
/* кнопка-ссылка внутри prose: текст был зелёным на зелёном фоне */
.prose a.btn-p{color:#fff;text-decoration:none}

/* page-head: центрирование подзаголовка + баланс строк */
.page-head .hero-sub{margin-left:auto;margin-right:auto;text-wrap:balance}
.page-head h1{text-wrap:balance}

/* хлебные крошки — пилюля */
.breadcrumbs{display:inline-flex;align-items:center;gap:9px;background:var(--soft);border:1px solid var(--bd);border-radius:999px;padding:9px 18px;box-shadow:var(--sh-1);margin-top:22px;font-size:13px}
.breadcrumbs a{font-weight:600}
.breadcrumbs a:hover{color:var(--acc-d);text-decoration:none}
.breadcrumbs .sep{color:var(--acc);opacity:.55;font-weight:700}

/* дропдаун: невидимый мост над подменю + плавное появление */
.sub{display:flex;opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none;transition:opacity .22s var(--ease),transform .22s var(--ease),visibility 0s linear .25s}
.sub::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .22s var(--ease),transform .22s var(--ease)}

/* переливающиеся иконки услуг в дропдауне (инжект из main.js) */
.sub a{display:flex;align-items:center;gap:11px}
.si{width:32px;height:32px;border-radius:9px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(120deg,var(--acc),#2AF8AE,var(--acc-d),var(--acc));background-size:280% 280%;animation:siShift 5.5s ease infinite;box-shadow:0 4px 10px rgba(5,150,105,.22);transition:transform .2s var(--ease)}
.si svg{width:17px;height:17px}
.sub a:hover .si{transform:scale(1.1) rotate(-4deg)}
@keyframes siShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

/* модалка записи */
.bkm{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:18px}
.bkm.open{display:flex}
.bkm-ovl{position:absolute;inset:0;background:rgba(0,10,7,.5);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:bkmFade .25s ease}
.bkm-card{position:relative;background:var(--soft);border-radius:22px;max-width:480px;width:100%;padding:36px 32px 32px;box-shadow:0 40px 90px rgba(0,0,0,.4);animation:bkmIn .35s var(--ease);max-height:92vh;overflow:auto}
@keyframes bkmFade{from{opacity:0}}
@keyframes bkmIn{from{opacity:0;transform:translateY(28px) scale(.96)}}
.bkm-x{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;border:1px solid var(--bd);background:var(--bg);cursor:pointer;font-size:17px;line-height:1;color:var(--mut);transition:.2s}
.bkm-x:hover{color:var(--ink);border-color:var(--bd2);transform:rotate(90deg)}
.bkm h3{font-size:24px;letter-spacing:-.02em;margin-bottom:6px}
.bkm .bkm-sub{font-size:14px;color:var(--mut)}
.bkm .form{grid-template-columns:1fr;margin-top:20px;gap:4px}
.bkm .f-field{text-align:left;margin-bottom:10px}
.f-err{display:none;font-size:12.5px;color:#DC2626;margin:6px 2px 0;text-align:left;font-weight:600}
.f-field.invalid input,.f-field.invalid textarea{border-color:#DC2626;background:#FEF2F2;box-shadow:0 0 0 4px rgba(220,38,38,.08)}
.f-field.invalid .f-err{display:block;animation:errIn .25s var(--ease)}
.f-field.valid input{border-color:var(--acc);background:var(--acc-tint)}
@keyframes errIn{from{opacity:0;transform:translateY(-4px)}}
.bkm-ok{display:none;text-align:center;padding:26px 0 10px}
.bkm.done .bkm-ok{display:block;animation:bkmIn .4s var(--ease)}
.bkm.done .bkm-form-body{display:none}
.bkm-ok .ok-ring{width:74px;height:74px;margin:0 auto 18px;border-radius:50%;background:var(--acc-tint);display:flex;align-items:center;justify-content:center}
.bkm-ok svg{width:38px;height:38px;stroke:var(--acc);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.bkm-ok svg path{stroke-dasharray:48;stroke-dashoffset:48;animation:okDraw .6s .15s var(--ease) forwards}
@keyframes okDraw{to{stroke-dashoffset:0}}

@media(max-width:980px){
  .sub{position:static;opacity:1;visibility:visible;transform:none;pointer-events:auto;border:none;box-shadow:none;background:transparent}
  .breadcrumbs{font-size:12px;padding:8px 14px}
  .bkm-card{padding:28px 20px 22px}
  /* mobile submenu: hide by default, show only when toggled via JS */
  .sub:not(.open-sub){display:none!important}
  .sub.open-sub{display:flex!important;flex-direction:column}
  .has-sub>a::after{display:inline-block!important;width:auto;height:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;width:6px;height:6px;transform:rotate(45deg) translateY(-2px);margin-left:7px;opacity:.55;transition:transform .2s ease}
  .has-sub>a[aria-expanded="true"]::after{transform:rotate(-135deg) translateY(-2px)}
}
@media (prefers-reduced-motion: reduce){
  .si{animation:none}
  .bkm-card,.bkm-ovl{animation:none}
  .sub{transition:none}
}

/* ---------- v4.3: живой зуб, ритм отступов, Google-отзывы ---------- */
/* постоянная анимация зуба в hero */
.hero-art svg{animation:heroFloat 7s ease-in-out infinite alternate}
@keyframes heroFloat{from{transform:translateY(-6px) rotate(-.6deg)}to{transform:translateY(9px) rotate(.6deg)}}
.hero-art .runner{fill:none;stroke:#2AF8AE;stroke-width:4.5;stroke-linecap:round;stroke-dasharray:80 1420;stroke-dashoffset:0;opacity:0;animation:runnerIn .4s ease 3.4s forwards,runner 7s linear 3.4s infinite;filter:drop-shadow(0 0 7px rgba(42,248,174,.85))}
@keyframes runnerIn{to{opacity:.95}}
@keyframes runner{to{stroke-dashoffset:-1500}}
.hero-art .sparkle{animation:pop .55s var(--ease) forwards,twinkle 2.8s ease-in-out 3.4s infinite}
@keyframes twinkle{0%,100%{opacity:1;transform:scale(1) rotate(0deg)}50%{opacity:.35;transform:scale(.7) rotate(18deg)}}

/* нормальный ритм отступов в текстах лендингов */
.prose h2{font-size:clamp(23px,2.8vw,30px);margin:44px 0 16px;line-height:1.18}
.prose h2:first-of-type{margin-top:26px}
.prose h3{font-size:20px;margin:36px 0 14px}
.prose p{margin:0 0 16px}
.prose ul,.prose ol{margin:0 0 20px;padding-left:24px}
.prose li{margin-bottom:9px}
.prose li:last-child{margin-bottom:0}
.prose img{border-radius:var(--r-lg);margin:0 0 28px}
.prose .price-table{margin:20px 0 16px}
.prose details.q{margin-bottom:10px}
.prose .mini-stats{margin:24px 0 30px}
.prose .cmp-wrap{margin:18px 0 20px}
.page-head{padding:104px 0 52px}

/* плашка Google-отзывов */
.grev{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;margin-top:36px}
.grev .gscore{display:inline-flex;align-items:center;gap:10px;background:var(--soft);border:1px solid var(--bd);border-radius:999px;padding:11px 20px;font-weight:800;box-shadow:var(--sh-1);font-size:14.5px}
.grev .gscore .gstars{color:#F59E0B;letter-spacing:2px;font-size:15px}
.grev .gscore small{color:var(--mut);font-weight:600}
a.badge{text-decoration:none}
a.badge:hover{border-color:var(--bd2)}

@media (prefers-reduced-motion: reduce){
  .hero-art svg{animation:none}
  .hero-art .runner{animation:none;opacity:0}
  .hero-art .sparkle{animation:none;opacity:1}
}

/* ---------- v4.4: шрифт заголовков Manrope (чистый, медицинский, быстрый) ---------- */
:root{--head:Manrope,Inter,system-ui,sans-serif}
h1,h2,h3,h4{font-family:var(--head)}
.logo-text b{font-family:var(--head);letter-spacing:-.02em}
.price-cat,.section-eyebrow{font-family:var(--head)}
.bkm h3,.mini-stats strong,.hs strong{font-family:var(--head)}

/* ============ v5 «Ескіз» — hero страниц услуг (цены вверху) ============ */
.svx-hero{position:relative;padding:108px 0 64px;background:linear-gradient(180deg,var(--bg2),var(--bg) 90%);overflow:hidden}
.svx-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:center;position:relative;z-index:1}
.svx-hero .breadcrumbs{margin:0 0 18px}
.svx-hero h1{font-size:clamp(33px,5.4vw,56px);text-align:left}
.svx-hand{display:block;font-family:Caveat,cursive;color:var(--acc);font-size:.62em;font-weight:700;letter-spacing:0;margin-top:6px}
.svx-sub{font-size:17px;color:var(--mut);max-width:46ch;margin:16px 0 26px;line-height:1.55}
.svx-cta-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.svx-ghost{font-weight:700;color:var(--acc-d);text-decoration:none}
.svx-ghost:hover{text-decoration:underline}
.svx-price{background:var(--soft);border:2px solid var(--bd);border-radius:22px;padding:26px;position:relative;box-shadow:var(--sh-2)}
.svx-price .tag{position:absolute;top:-14px;left:22px;background:var(--acc);color:#fff;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:999px}
.svx-price .big{font-size:clamp(28px,4vw,38px);font-weight:900;color:var(--acc);letter-spacing:-.03em;font-family:var(--head)}
.svx-price .big small{font-size:.45em;font-weight:600;color:var(--mut)}
.svx-price .ttl{font-size:16.5px;font-weight:800;margin:8px 0 14px;font-family:var(--head)}
.svx-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px dashed var(--bd2);font-size:14.5px}
.svx-row:first-of-type{border-top:0}
.svx-row .v{font-weight:800;color:var(--acc-d);white-space:nowrap}
.svx-note{font-size:13px;color:var(--mut);margin-top:12px}
.svx-tooth{position:absolute;right:-30px;top:60px;width:min(320px,36vw);opacity:.14;pointer-events:none}
.svx-tooth path{fill:none;stroke:var(--acc-d);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:240;stroke-dashoffset:240;animation:svxDraw 7s ease-in-out infinite}
.svx-tooth .p2{animation-delay:1.2s}
@keyframes svxDraw{0%{stroke-dashoffset:240}42%{stroke-dashoffset:0}58%{stroke-dashoffset:0}100%{stroke-dashoffset:-240}}
.svx-field{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.svx-ft{position:absolute;opacity:.12;animation:svxDrift 14s ease-in-out infinite alternate}
.svx-ft:nth-child(2){animation-duration:18s;animation-delay:-4s}
.svx-ft:nth-child(3){animation-duration:11s;animation-delay:-7s}
.svx-ft:nth-child(4){animation-duration:16s;animation-delay:-2s}
.svx-ft:nth-child(5){animation-duration:13s;animation-delay:-9s}
.svx-ft svg{width:100%;height:100%}
.svx-ft path{fill:none;stroke:var(--acc-d);stroke-width:2}
@keyframes svxDrift{from{transform:translate(0,0) rotate(-8deg)}to{transform:translate(26px,-44px) rotate(10deg)}}
@keyframes svxPulse{0%,100%{text-shadow:none}50%{text-shadow:0 0 22px rgba(5,150,105,.45)}}
.svx-price .big{animation:svxPulse 3.2s ease-in-out infinite}
/* этапы-карточки */
.svx-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:18px 0 10px}
.svx-st{background:var(--soft);border:1.5px solid var(--bd);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:10px}
.svx-st .n{font-size:12px;font-weight:800;color:var(--acc);letter-spacing:.12em}
.svx-st h3{font-size:17px;margin:0}
.svx-st p{font-size:14px;color:var(--mut);margin:0}
.svx-mini{width:30px;height:30px;flex:none}
.svx-mini path{fill:none;stroke:var(--acc);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:120;stroke-dashoffset:120;animation:svxDraw2 5s ease-in-out infinite}
.svx-st:nth-child(2) .svx-mini path{animation-delay:.7s}
.svx-st:nth-child(3) .svx-mini path{animation-delay:1.4s}
.svx-st:nth-child(4) .svx-mini path{animation-delay:2.1s}
@keyframes svxDraw2{0%{stroke-dashoffset:120}45%{stroke-dashoffset:0}60%{stroke-dashoffset:0}100%{stroke-dashoffset:-120}}
/* финальный CTA-блок */
.svx-final{background:#063f30;border-radius:26px;color:#fff;text-align:center;padding:54px 24px;position:relative;overflow:hidden;margin-top:42px}
.svx-final h2{color:#fff;font-size:clamp(24px,3.6vw,36px);margin:0 0 10px}
.svx-final p{color:#fff;opacity:.85;margin:0 0 22px}
.svx-final a.btn-p{background:#fff;color:#063f30;box-shadow:none}
.svx-final a.btn-p:hover{background:var(--acc-tint);color:#063f30;transform:translateY(-2px)}
.svx-final .svx-tooth{opacity:.22;left:-40px;right:auto;top:auto;bottom:-60px;width:220px}
.svx-final .svx-tooth path{stroke:#6ee7b7}

/* ============ v5 «Маскот» — детская стоматология ============ */
.svm-hero{position:relative;padding:108px 0 60px;background:linear-gradient(180deg,#ecfbf4,var(--bg) 92%);overflow:hidden}
.svm-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:center;position:relative;z-index:1}
.svm-hero .breadcrumbs{margin:0 0 16px}
.svm-hero h1{font-size:clamp(33px,5.6vw,54px);text-align:left}
.svm-sub{color:var(--mut);margin:12px 0 20px;max-width:46ch;font-size:16.5px}
.svm-mascot-box{position:relative;text-align:center}
.svm-mascot{width:min(290px,66vw);margin:0 auto;display:block;animation:svmBob 3.4s ease-in-out infinite}
@keyframes svmBob{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-16px) rotate(1.5deg)}}
.svm-shadow{width:46%;height:16px;background:rgba(6,78,59,.16);border-radius:50%;margin:6px auto 0;filter:blur(2px);animation:svmShadow 3.4s ease-in-out infinite}
@keyframes svmShadow{0%,100%{transform:scaleX(1);opacity:.9}50%{transform:scaleX(.78);opacity:.55}}
.svm-mascot .eye{transform-origin:center;transform-box:fill-box;animation:svmBlink 4.6s infinite}
@keyframes svmBlink{0%,91%,100%{transform:scaleY(1)}94%,96%{transform:scaleY(.08)}}
.svm-spark{position:absolute;color:#fbbf24;font-size:22px;opacity:0;pointer-events:none;animation:svmTwinkle 2.8s ease-in-out infinite}
.svm-spark.s2{animation-delay:.9s}
.svm-spark.s3{animation-delay:1.7s}
.svm-spark.s4{animation-delay:2.3s}
@keyframes svmTwinkle{0%,100%{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(25deg)}}
.svm-bubble{position:relative;background:var(--soft);border:3px solid var(--acc);border-radius:22px;padding:22px 24px;max-width:440px;box-shadow:0 14px 36px rgba(5,150,105,.16)}
.svm-bubble::before{content:"";position:absolute;left:-23px;top:42px;border:10px solid transparent;border-right-color:var(--acc)}
.svm-bubble .lead{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc-d)}
.svm-bubble .big{font-family:var(--head);font-size:clamp(32px,5vw,44px);font-weight:900;color:var(--acc);line-height:1.05}
.svm-bubble .big small{font-size:.4em;color:var(--mut);font-weight:800}
.svm-bubble .svx-row{border-color:#ACFCE4}
.svm-cta{margin-top:22px}
.svm-cta .btn-p{border-radius:999px;animation:svmWig 5s ease-in-out infinite}
@keyframes svmWig{0%,86%,100%{transform:rotate(0)}90%{transform:rotate(-2.5deg)}94%{transform:rotate(2deg)}97%{transform:rotate(-1deg)}}

@media (max-width:860px){
  .svx-grid,.svm-grid{grid-template-columns:1fr}
  .svx-stages{grid-template-columns:repeat(2,1fr)}
  .svx-tooth{right:-60px}
  .svm-bubble{margin:0 auto}
  .svm-bubble::before{left:50%;top:-22px;margin-left:-10px;border:10px solid transparent;border-bottom-color:var(--acc)}
}
@media (max-width:520px){.svx-stages{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){
  .svx-tooth path,.svx-mini path{animation:none;stroke-dashoffset:0}
  .svx-ft,.svx-price .big,.svm-mascot,.svm-shadow,.svm-mascot .eye,.svm-cta .btn-p{animation:none}
  .svm-spark{animation:none;opacity:.7}
}

/* ============ v5.1: лого-аутлайн, мега-меню, split-CTA, живой график ============ */
/* лого: контурный зуб со спарками, без плашки и теней */
.logo-mark::before,.logo-mark::after{display:none}
.logo-mark svg{filter:none;width:36px;height:36px}
.logo-mark .lt{fill:none;stroke:var(--acc);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.logo-mark .ls,.logo-mark .ls2{fill:var(--acc)}
.logo-mark .ls{animation:logoTw 3.2s ease-in-out infinite}
.logo-mark .ls2{animation:logoTw 3.2s ease-in-out 1.4s infinite}
@keyframes logoTw{0%,100%{opacity:1}50%{opacity:.25}}
.logo-text small{font-family:Caveat,cursive;font-size:16px;letter-spacing:.02em;text-transform:lowercase;font-weight:700;margin-top:-1px}
@media(max-width:980px){.logo-text small{display:block}}

/* мега-меню услуг */
.has-sub{position:static}
.sub.mega{left:0;right:0;top:100%;min-width:0;margin-top:0;border-radius:0 0 22px 22px;border:0;border-top:1px solid var(--bd);box-shadow:0 34px 60px rgba(6,63,48,.14);padding:26px clamp(16px,5vw,56px) 0}
.sub.mega::before{top:-16px;height:16px}
.mega-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:4px 26px}
.sub.mega a{padding:12px;border-radius:12px;display:flex;align-items:flex-start;gap:12px;white-space:normal}
.sub.mega a:hover{background:var(--acc-tint)}
.mi{display:flex;flex-direction:column;gap:2px}
.mi b{font-size:15px;color:var(--ink);font-weight:700}
.mi small{font-size:13px;color:var(--mut);font-weight:500}
.sub.mega .si{width:40px;height:40px;border-radius:12px;background:var(--acc-tint);color:var(--acc);animation:none;box-shadow:none}
.sub.mega .si svg{width:20px;height:20px}
.mega-foot{max-width:1200px;margin:18px auto 0;display:flex;justify-content:space-between;gap:14px;align-items:center;border-top:1px solid var(--bd);padding:16px 0 18px;font-size:13.5px;color:var(--mut);flex-wrap:wrap}
.mega-foot a{color:var(--acc-d);font-weight:700;text-decoration:none}
.mega-foot a:hover{text-decoration:underline}

/* split-CTA зона в шапке */
.ctaz{display:flex;align-items:center;gap:18px;background:linear-gradient(120deg,var(--acc-d),var(--acc) 55%,#0BA374);background-size:180% 100%;animation:ctazFlow 8s ease infinite;clip-path:polygon(22px 0,100% 0,100% 100%,0 100%);padding:9px 14px 9px 32px;border-radius:0 14px 14px 0}
@keyframes ctazFlow{0%,100%{background-position:0 0}50%{background-position:100% 0}}
.ctaz .ph{text-align:right;line-height:1.25}
.ctaz .ph a{color:#fff;font-size:15px;font-weight:800;text-decoration:none;white-space:nowrap}
.ctaz .ph a:hover{text-decoration:underline}
.ctaz .ph small{display:block;font-size:11px;color:#BFF2DD;font-weight:600;white-space:nowrap}
.ctaz .nav-cta{background:#fff;color:var(--acc-d);box-shadow:none}
.ctaz .nav-cta:hover{background:var(--acc-tint);transform:none;box-shadow:none}
@media(max-width:1240px){.ctaz .ph{display:none}.ctaz{clip-path:none;border-radius:14px;padding:8px 10px}}
@media(max-width:980px){.ctaz{background:none;animation:none;clip-path:none;padding:0;gap:0}.ctaz .nav-cta{background:var(--acc);color:#fff}}

/* мега-меню на мобільному: inline всередині мобільного drawer, 1 колонка */
@media(max-width:980px){
  .sub.mega{position:static!important;left:auto!important;right:auto!important;top:auto!important;
    border-radius:12px!important;border:1px solid var(--bd)!important;box-shadow:none!important;
    padding:8px 6px 4px!important;margin-top:6px!important;background:var(--soft)!important}
  .sub.mega::before{display:none}
  .mega-grid{grid-template-columns:1fr!important;gap:0;margin:0!important;width:100%}
  .sub.mega a{padding:9px 12px!important;gap:10px;white-space:normal;justify-content:flex-start}
  .mi small{display:none}
  .sub.mega .si{width:32px!important;height:32px!important;flex-shrink:0}
  .mega-foot{flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px 12px;margin:6px 0 0!important;font-size:12.5px;text-align:left}
  /* меню має прокручуватись якщо довге */
  .menu.open{max-height:calc(100vh - 64px);overflow-y:auto}
}

/* футер: «как добраться» + живой график */
.f-extra{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:34px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12)}
.f-extra ul{list-style:none;padding:0;margin:0}
.f-extra li{padding:4px 0;font-size:13.5px;opacity:.85}
.f-extra a{color:#6EE7B7;text-decoration:none;font-weight:600}
.f-extra a:hover{text-decoration:underline}
.open-now{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:8px 15px;margin:8px 0 12px;font-size:13.5px}
.open-now b{color:#fff;font-weight:700}
.dot-live{width:9px;height:9px;border-radius:50%;background:#22C55E;animation:livePulse 2s infinite}
.open-now.closed .dot-live{background:#F87171;animation:none}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 9px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.hours-list li{display:flex;justify-content:space-between;gap:14px;border-bottom:1px dashed rgba(255,255,255,.12);max-width:250px}
.hours-list b{color:#fff}
@media(max-width:720px){.f-extra{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ctaz{animation:none}.dot-live{animation:none}.logo-mark .ls,.logo-mark .ls2{animation:none}}

/* bento-контакты */
.cbento{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cb{background:var(--soft);border:1.5px solid var(--bd);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:9px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.cb:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
.cb .ico{width:42px;height:42px;border-radius:12px;background:var(--acc-tint);color:var(--acc);display:flex;align-items:center;justify-content:center}
.cb strong{font-size:16px;font-family:var(--head)}
.cb span{font-size:14px;color:var(--mut);line-height:1.6}
.cb a{color:var(--acc-d);text-decoration:none;font-weight:600}
.cb a:hover{text-decoration:underline}
.cb-link{margin-top:auto;font-size:14px}
.cb .open-now{background:var(--bg2);border:1px solid var(--bd);margin:2px 0 4px}
.cb .open-now b{color:var(--ink)}
.map-cb{padding:0;overflow:hidden;grid-row:span 2}
.map-cb .map-frame{height:100%;min-height:340px;border-radius:0}
.map-cb iframe{width:100%;height:100%;border:0;display:block}
.cta-cb{background:var(--acc);border-color:var(--acc)}
.cta-cb strong{color:#fff;font-size:18px}
.cta-cb span{color:#D9FBEE}
.cta-cb .btn-p{background:#fff;color:var(--acc-d);box-shadow:none;margin-top:4px;align-self:flex-start}
.cta-cb .btn-p:hover{background:var(--acc-tint)}
@media(max-width:900px){.cbento{grid-template-columns:1fr 1fr}.map-cb{grid-row:auto;grid-column:1/-1;min-height:280px}}
@media(max-width:560px){.cbento{grid-template-columns:1fr}}

/* ============ v5.2: hero-зуб «Завантаження» (выбор №02) ============ */
.hload{animation:hlReset 12s linear infinite}
@keyframes hlReset{0%,96%{opacity:1}99%,100%{opacity:0}}
.hl-outline{fill:none;stroke:var(--acc);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:hlDraw 12s linear infinite}
@keyframes hlDraw{0%{stroke-dashoffset:100}18%,100%{stroke-dashoffset:0}}
.hl-liq{animation:hlFill 12s linear infinite}
@keyframes hlFill{0%,18%{transform:translateY(310px)}80%,96%{transform:translateY(54px)}100%{transform:translateY(54px)}}
.hl-w1{animation:hlWave 1.7s linear infinite}
.hl-w2{animation:hlWave 2.6s linear infinite reverse}
@keyframes hlWave{to{transform:translateX(-60px)}}
.hl-pct{font-family:var(--head);font-weight:800;font-size:27px;fill:#063f30}
.hl-spark{transform-box:fill-box;transform-origin:center;opacity:0;animation:hlSpark 12s infinite}
.hl-spark path{fill:#2AF8AE;stroke:var(--acc);stroke-width:1.5;stroke-linejoin:round}
@keyframes hlSpark{0%,80%{transform:scale(.2) rotate(0);opacity:0}84%{transform:scale(1.25) rotate(25deg);opacity:1}90%{transform:scale(.9) rotate(45deg);opacity:.9}96%,100%{transform:scale(.4) rotate(60deg);opacity:0}}
@media (prefers-reduced-motion:reduce){
  .hload,.hl-outline,.hl-liq,.hl-w1,.hl-w2,.hl-spark{animation:none}
  .hl-outline{stroke-dashoffset:0}
  .hl-liq{transform:translateY(54px)}
  .hl-spark{opacity:.8;transform:none}
}

.sub{transition:opacity .2s var(--ease) .12s,transform .2s var(--ease) .12s,visibility 0s linear .4s}
.has-sub:hover .sub,.has-sub:focus-within .sub{transition:opacity .22s var(--ease),transform .22s var(--ease),visibility 0s}
@media (prefers-reduced-motion:reduce){.sub{transition:none}}

.bkm-fail{display:none;color:#C03A2B;font-size:13.5px;font-weight:600;margin:10px 0 0;text-align:center}
.bkm.fail .bkm-fail{display:block}

@media(min-width:981px){
.menu{align-self:stretch;align-items:stretch}
.menu>a{display:flex;align-items:center}
.menu .has-sub{display:flex;align-items:center}
.menu>a::after{bottom:19px}
.sub.mega::before{content:none}
}

/* ============ v5.4: ширина контента + ритм + мега-футер №03 ============ */
.wrap{max-width:1300px}
.prose{max-width:940px}
.seo-block .prose{max-width:940px}
section{padding:64px 0}
.svx-hero{padding:96px 0 54px}
.svm-hero{padding:96px 0 50px}
article{padding:42px 0 10px}
.form-wrap{max-width:940px}

/* мега-футер с картой (выбор №03) */
footer.mf{background:#0f1722;color:#E7EEF2;padding-top:0}
footer.mf>.wrap{padding-top:60px}
.mf-top{display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:stretch}
.mf-map{position:relative;border-radius:20px;overflow:hidden;display:block;background:radial-gradient(circle at 70% 30%,rgba(5,150,105,.18),transparent 55%),linear-gradient(160deg,#16222F,#0D141F);border:1px solid rgba(255,255,255,.08);min-height:300px;text-decoration:none}
.mf-map svg.mf-grid-bg{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.mf-pin{position:absolute;left:58%;top:42%;width:40px;height:40px;color:#34D399;transform:translate(-50%,-100%);animation:mfBounce 2.4s ease-in-out infinite;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
@keyframes mfBounce{0%,100%{transform:translate(-50%,-100%)}50%{transform:translate(-50%,calc(-100% - 10px))}}
.mf-pulse{position:absolute;left:58%;top:42%;width:14px;height:14px;border-radius:50%;background:rgba(52,211,153,.7);transform:translate(-50%,-50%)}
.mf-pulse::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #34D399;animation:mfRipple 2s ease-out infinite}
@keyframes mfRipple{0%{transform:scale(.5);opacity:1}100%{transform:scale(3.2);opacity:0}}
.mf-lbl{position:absolute;left:58%;top:46%;transform:translateX(-50%);background:#0B1220;border:1px solid rgba(52,211,153,.4);color:#E7EEF2;font-size:12px;font-weight:600;padding:7px 12px;border-radius:9px;white-space:nowrap}
.mf-lbl b{color:#34D399}
.mf-howto-title{font-size:clamp(20px,2.4vw,27px);font-weight:800;letter-spacing:-.01em;color:#fff}
.mf-howto-title span{color:#34D399}
.mf-steps{margin-top:22px;display:flex;flex-direction:column}
.mf-step{display:flex;gap:14px;position:relative;padding-bottom:22px}
.mf-step:not(:last-child)::before{content:"";position:absolute;left:17px;top:38px;bottom:2px;width:2px;background:linear-gradient(180deg,rgba(52,211,153,.5),rgba(52,211,153,.08))}
.mf-step .n{flex:none;width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(52,211,153,.5);color:#34D399;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;background:rgba(5,150,105,.1)}
.mf-step p{font-size:14px;line-height:1.55;color:rgba(231,238,242,.78);padding-top:7px;margin:0}
.mf-step b{color:#fff}
.mf-metro{display:inline-flex;align-items:center;gap:6px;background:#0B3D2E;border-radius:6px;padding:2px 8px;color:#34D399;font-weight:700;font-size:13px}
footer.mf .f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:44px;margin-top:56px;padding-top:46px;border-top:1px solid rgba(255,255,255,.08)}
footer.mf .logo{font-weight:800;font-size:19px;color:#fff}
footer.mf .logo span{color:#34D399}
.mf-brand p{margin-top:12px;font-size:13.5px;line-height:1.65;color:rgba(231,238,242,.6);max-width:290px}
footer.mf .f-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.13em;color:#34D399;margin-bottom:16px}
footer.mf ul{list-style:none;margin:0;padding:0}
footer.mf ul li{margin-bottom:10px}
footer.mf a{color:#CDD9E0;text-decoration:none;font-size:14px;transition:color .25s}
footer.mf a:hover{color:#34D399}
.mf-cl{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#CDD9E0;line-height:1.5}
.mf-cl .ic{flex:none;width:17px;height:17px;color:#34D399;margin-top:2px}
.mf-soc{display:flex;gap:10px;margin-top:20px}
.mf-soc a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(52,211,153,.35);color:#CDD9E0;transition:.3s}
.mf-soc a:hover{border-color:#34D399;color:#34D399;transform:translateY(-3px)}
.mf-soc svg{width:17px;height:17px}
footer.mf .copy{margin-top:44px;padding:20px 0 26px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:rgba(231,238,242,.42)}
footer.mf .open-now{margin:2px 0 8px}
.mf-lic{display:flex;gap:14px;align-items:flex-start;margin-top:20px;background:rgba(52,211,153,.09);border:1px solid rgba(52,211,153,.2);border-radius:12px;padding:16px 18px}
.mf-lic-icon{flex:0 0 auto;width:36px;height:36px;background:#059669;border-radius:9px;display:flex;align-items:center;justify-content:center}
.mf-lic-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#34D399;margin-bottom:3px}
.mf-lic-num{font-size:15px;font-weight:900;color:#fff}
.mf-lic-sub{font-size:12px;color:rgba(231,238,242,.55);margin-top:3px}
@media(max-width:900px){.mf-top{grid-template-columns:1fr}footer.mf .f-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:560px){footer.mf .f-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.mf-pin{animation:none}.mf-pulse::after{animation:none}}

/* Logo №04 overrides — clean SVG, no pseudo-elements */
.logo-mark::before,.logo-mark::after{display:none}
footer.mf .mf-brand .logo::before{display:none}
