/* =========================================================
   Apex Dental Technology - clean medical premium
   ========================================================= */
:root{
  color-scheme: light;
  --bg:#F3F7F8;
  --surface:#FFFFFF;
  --ink:#0B1D2B;
  --ink-2:#23394A;
  --muted:#5A6B79;
  --teal:#0E7C7B;
  --teal-2:#12A39B;
  --deep:#062E35;
  --mint:#9DEBDD;
  --mint-bg:#E2F4F0;
  --sky:#D5EAF3;
  --lilac:#E4E6FA;
  --orange:#FF6A3D;
  --orange-2:#FF8A5C;
  --gold:#F2A516;
  --line:rgba(11,29,43,.09);
  --line-strong:#C7D6DB;
  --glass:rgba(255,255,255,.62);
  --glass-brd:rgba(255,255,255,.85);
  --shadow-sm:0 1px 2px rgba(11,29,43,.05),0 4px 14px rgba(11,29,43,.05);
  --shadow:0 2px 6px rgba(11,29,43,.04),0 24px 60px -18px rgba(8,60,70,.22);
  --shadow-lg:0 40px 90px -30px rgba(6,46,53,.38);
  --r:24px;
  --f-display:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;
  --f-body:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;
  --f-serif:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0;padding:0}
ul,ol{list-style:none}
em{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:8px}
[hidden]{display:none!important}

.wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.mono{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* ---------- eyebrow ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 12px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.eyebrow::before{content:"";width:18px;height:1.5px;background:currentColor;opacity:.6}
.eyebrow--live{padding:9px 14px 9px 12px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-brd);backdrop-filter:blur(12px);color:var(--ink-2);box-shadow:var(--shadow-sm)}
.eyebrow--live::before{display:none}
.eyebrow--mint{color:var(--mint)}
.pulse{position:relative;width:8px;height:8px;border-radius:50%;background:#22C58B}
.pulse::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #22C58B;animation:ping 2s var(--ease) infinite}
@keyframes ping{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2);opacity:0}}

/* ---------- buttons ---------- */
.btn{--pad:17px 26px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:var(--pad);border-radius:999px;font:600 15.5px/1 var(--f-body);border:0;cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .25s}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btn--sm{--pad:12px 20px;font-size:14px}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:var(--teal)}
.btn--call{background:linear-gradient(135deg,var(--orange),var(--orange-2));color:#fff;box-shadow:0 14px 30px -10px rgba(255,106,61,.6),inset 0 1px 0 rgba(255,255,255,.35)}
.btn--call:hover{box-shadow:0 20px 40px -12px rgba(255,106,61,.7),inset 0 1px 0 rgba(255,255,255,.35)}
.btn--glass{background:var(--glass);color:var(--ink);border:1px solid var(--glass-brd);backdrop-filter:blur(14px);box-shadow:0 2px 4px rgba(11,29,43,.06),0 10px 24px -8px rgba(11,29,43,.18)}
.btn--glass:hover{background:#fff;box-shadow:0 4px 8px rgba(11,29,43,.08),0 14px 30px -8px rgba(11,29,43,.22)}
.btn--block{width:100%}

/* ---------- nav ---------- */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;padding:14px clamp(12px,3vw,28px) 0}
.nav__inner{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 10px 10px 18px;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);box-shadow:0 10px 30px -12px rgba(11,29,43,.12);transition:background .3s}
.nav.scrolled .nav__inner{background:rgba(255,255,255,.82)}
.logo{display:flex;align-items:center;gap:11px}
.logo__mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,var(--teal-2),var(--teal));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 6px 14px -6px rgba(14,124,123,.6)}
.logo__mark svg{width:20px;height:20px}
.logo__word{display:flex;flex-direction:column;font:700 17px/1 var(--f-display);letter-spacing:-.022em}
.logo__word small{font:500 9px/1 var(--f-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--teal);margin-top:5px}
.nav__links{display:flex;gap:4px}
.nav__links a{padding:9px 14px;border-radius:999px;font-weight:500;font-size:14.5px;color:var(--ink-2);transition:background .2s,color .2s}
.nav__links a:hover{background:rgba(11,29,43,.05);color:var(--ink)}
.nav__actions{display:flex;align-items:center;gap:14px}
.nav__phone{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px}
.nav__phone svg{width:16px;height:16px;fill:none;stroke:var(--teal);stroke-width:2}
.nav__burger{display:none;width:44px;height:44px;border-radius:50%;border:0;background:var(--ink);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.nav__burger span{width:16px;height:1.8px;background:#fff;border-radius:2px;transition:transform .3s}
.nav__burger[aria-expanded="true"] span:first-child{transform:translateY(3.4px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:last-child{transform:translateY(-3.4px) rotate(-45deg)}
.nav__mobile{max-width:1280px;margin:10px auto 0;padding:14px;border-radius:24px;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);box-shadow:var(--shadow);display:grid;gap:4px}
.nav__mobile a{padding:12px 14px;border-radius:14px;font-weight:500}
.nav__mobile a:not(.btn):hover{background:var(--bg)}
.nav__mobile .btn{margin-top:6px}

/* ---------- aurora ---------- */
.aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.aurora i{position:absolute;border-radius:50%;filter:blur(80px);opacity:.75;animation:drift 22s ease-in-out infinite alternate}
.aurora i:nth-child(1){width:620px;height:620px;left:-160px;top:-220px;background:radial-gradient(circle,var(--sky),transparent 70%)}
.aurora i:nth-child(2){width:560px;height:560px;right:-120px;top:-60px;background:radial-gradient(circle,var(--mint),transparent 68%);animation-duration:26s;animation-delay:-6s}
.aurora i:nth-child(3){width:520px;height:520px;left:36%;bottom:-300px;background:radial-gradient(circle,var(--lilac),transparent 70%);animation-duration:30s}
@keyframes drift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(40px,30px) scale(1.08)}100%{transform:translate(-30px,50px) scale(.95)}}

/* ---------- hero ---------- */
.hero{position:relative;margin-top:-80px;padding:160px 0 56px;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 70% 60% at 70% 40%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 40%,#000 20%,transparent 75%);opacity:.7}
.hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.hero__copy{display:grid;gap:28px;justify-items:start}
.hero__title{font:700 clamp(36px,3.9vw,56px)/1.08 var(--f-display);letter-spacing:-.03em;text-wrap:balance}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.1em}
.hero__title .line>span{display:inline-block;animation:rise 1s var(--ease) both}
.hero__title .line:nth-child(2)>span{animation-delay:.12s}
.hero__title em{font-size:1.05em;letter-spacing:-.02em;background:linear-gradient(100deg,var(--teal) 10%,var(--teal-2) 60%,#3BC6B3);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}
.hero__lede{max-width:34rem;font-size:clamp(16.5px,1.4vw,19px);color:var(--muted);line-height:1.6;animation:fadeUp .9s .3s var(--ease) both}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;animation:fadeUp .9s .4s var(--ease) both}
.hero__proof{display:flex;flex-wrap:wrap;gap:12px;animation:fadeUp .9s .5s var(--ease) both}
.hero__proof li{display:grid;gap:2px;padding:14px 18px;border-radius:18px;background:var(--glass);border:1px solid var(--glass-brd);backdrop-filter:blur(14px);box-shadow:var(--shadow-sm);min-width:150px}
.hero__proof strong{font:700 20px/1.1 var(--f-display);letter-spacing:-.025em}
.hero__proof .star{color:var(--gold);font-size:.8em;margin-left:3px}
.hero__proof span{font-size:13px;color:var(--muted)}
@keyframes fadeUp{from{transform:translateY(18px)}to{transform:none}}

.hero__visual{position:relative;height:620px;perspective:1400px}
.orb{position:absolute;inset:40px 20px 30px 60px;border-radius:44px;background:
  radial-gradient(120% 90% at 20% 10%,rgba(255,255,255,.9),transparent 50%),
  linear-gradient(150deg,#BFE9E2 0%,#8FD3DA 40%,#5FB3C4 75%,#3E8FA8 100%);
  box-shadow:var(--shadow-lg),inset 0 1px 0 rgba(255,255,255,.7);overflow:hidden}
.orb::before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 80% 20%,rgba(255,255,255,.18) 0 1px,transparent 1px 34px)}
.orb::after{content:"";position:absolute;width:70%;aspect-ratio:1;right:-20%;bottom:-30%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.55),transparent 65%);animation:drift 14s ease-in-out infinite alternate}

.glass{background:var(--glass);border:1px solid var(--glass-brd);backdrop-filter:blur(22px) saturate(1.6);-webkit-backdrop-filter:blur(22px) saturate(1.6);box-shadow:var(--shadow)}
.ticket{position:absolute;left:8%;top:150px;width:min(400px,78%);padding:24px;border-radius:26px;background:rgba(255,255,255,.78);display:grid;gap:16px;transform-style:preserve-3d;transition:transform .5s var(--ease);animation:pop 1s .35s var(--ease) both}
@keyframes pop{from{transform:translateY(30px) scale(.96)}to{transform:none}}
.ticket__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.status{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;background:#FFEDE6;color:#C2410C;font:600 12px/1 var(--f-body);white-space:nowrap;transition:background .4s,color .4s}
.status i{width:7px;height:7px;border-radius:50%;background:currentColor;animation:blink 1.4s infinite}
.status.is-done{background:#DDF6EC;color:#0B7A55}
.status.is-done i{animation:none}
@keyframes blink{50%{opacity:.35}}
.ticket__title{font:600 21px/1.2 var(--f-display);letter-spacing:-.03em}
.ticket__meta{margin-top:-10px}
.steps{display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--line);position:relative}
.steps li{display:flex;align-items:center;gap:12px;font-size:14.5px;color:var(--muted);transition:color .4s}
.steps .dot{position:relative;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-strong);background:#fff;flex:none;transition:all .45s var(--ease)}
.steps li.done{color:var(--ink)}
.steps li.done .dot{background:var(--teal);border-color:var(--teal)}
.steps li.done .dot::after{content:"";position:absolute;left:7px;top:3.5px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.steps li.active{color:var(--ink);font-weight:600}
.steps li.active .dot{border-color:var(--orange);background:var(--orange);box-shadow:0 0 0 5px rgba(255,106,61,.18)}
.steps li.active .dot::after{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff}
.ticket__tech{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:rgba(243,247,248,.9)}
.ticket__tech>span:nth-child(2){display:grid;flex:1}
.ticket__tech strong{font-size:14px}
.ticket__tech small{font-size:12.5px;color:var(--muted)}
.avatar{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;background:var(--ink);color:#fff;font:600 13px/1 var(--f-display)}
.avatar--mint{background:var(--mint);color:var(--deep)}
.ticket__call{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--teal)}
.ticket__call svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2}

.chip{position:absolute;border-radius:20px;padding:14px 18px;background:rgba(255,255,255,.72)}
.chip--review{right:-14px;top:-6px;width:250px;display:grid;gap:6px}
.chip--review p{font:400 18px/1.15 var(--f-serif);font-style:italic}
.chip--review .mono{font-size:9.5px}
.stars{color:var(--gold);letter-spacing:.12em;font-size:13px}
.chip--promise{left:-12px;bottom:4px;display:flex;align-items:center;gap:12px;background:rgba(11,29,43,.86);border-color:rgba(255,255,255,.12);color:#fff}
.chip--promise span:last-child{display:grid}
.chip--promise strong{font-size:14.5px}
.chip--promise small{font-size:12.5px;opacity:.7}
.chip__check{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--mint)}
.chip__check svg{width:15px;height:15px;fill:none;stroke:var(--deep);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.chip--xray{right:-20px;bottom:-6px;width:190px;display:grid;gap:6px}
.chip--xray strong{font:600 16px/1.1 var(--f-display);letter-spacing:-.02em}
.bar{height:6px;border-radius:9px;background:rgba(11,29,43,.08);overflow:hidden}
.bar i{display:block;height:100%;width:100%;border-radius:9px;background:linear-gradient(90deg,var(--teal),var(--mint));transform-origin:left;animation:fill 3.2s var(--ease) infinite}
@keyframes fill{0%{transform:scaleX(.1)}60%,100%{transform:scaleX(1)}}
.float-a{animation:floatY 7s ease-in-out infinite}
.float-b{animation:floatY 8s -2s ease-in-out infinite}
.float-c{animation:floatY 9s -4s ease-in-out infinite}
@keyframes floatY{0%,100%{translate:0 0}50%{translate:0 -12px}}
.sample-note{position:relative;z-index:1;text-align:right;margin-top:10px;font-size:10px;opacity:.7}

/* ---------- marquee ---------- */
.marquee{position:relative;overflow:hidden;padding:22px 0;border-block:1px solid var(--line);background:rgba(255,255,255,.55)}
.marquee__track{display:flex;width:max-content;animation:scroll 38s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__row{display:flex;align-items:center;gap:36px;padding-right:36px}
.marquee span{font:500 17px/1 var(--f-body);letter-spacing:.01em;color:var(--ink-2);white-space:nowrap}
.marquee i{font-style:normal;color:var(--teal-2);font-size:13px}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.section{position:relative;padding-block:clamp(80px,10vw,136px)}
.section--white{background:var(--surface)}
.section--deep{background:var(--deep);color:#fff;overflow:hidden}
.head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px 48px;margin-bottom:clamp(40px,5vw,64px)}
.head>div{display:grid;gap:18px;max-width:760px}
.h2{font:700 clamp(34px,4.4vw,58px)/1.02 var(--f-display);letter-spacing:-.035em;text-wrap:balance}
.h2 em{color:var(--teal);font-size:1.08em}
.h2--light{color:#fff}
.h2--light em{color:var(--mint)}
.head__aside{max-width:26rem;color:var(--muted);font-size:16.5px}

/* reveal (visible at rest; only moves) */
.js .reveal{transform:translateY(26px);transition:transform .9s var(--ease)}
.js .reveal.in{transform:none}

/* ---------- bento ---------- */
.bento{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:auto auto;gap:18px}
.card{position:relative;display:grid;align-content:start;gap:14px;padding:clamp(26px,3vw,36px);border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);overflow:hidden;isolation:isolate;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card h3{font:600 clamp(24px,2.3vw,30px)/1.1 var(--f-display);letter-spacing:-.028em;max-width:16ch}
.card p{color:var(--muted);max-width:36ch}
.card__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.card__arrow{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;font-size:18px;transition:transform .4s var(--ease),background .3s}
.card:hover .card__arrow{transform:rotate(45deg);background:var(--teal)}
.card__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--mint-bg)}
.card__icon svg{width:24px;height:24px;fill:none;stroke:var(--teal);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.card--hero{grid-row:span 2;background:linear-gradient(160deg,#0C2A36 0%,#0A1D2B 55%,#07161F 100%);color:#fff;border-color:transparent;align-content:space-between;min-height:560px}
.card--hero h3{font-size:clamp(32px,3.6vw,48px);max-width:12ch}
.card--hero p{color:rgba(255,255,255,.68)}
.card--hero .card__arrow{background:#fff;color:var(--ink)}
.card--mint{background:linear-gradient(160deg,#EAF8F4,#D6F0EA);border-color:rgba(14,124,123,.12)}
.card--mint .card__icon{background:#fff}
.card__wm{position:absolute;right:-60px;top:40px;width:360px;color:var(--mint);opacity:.16;z-index:-1}
.tag{display:inline-flex;padding:7px 12px;border-radius:999px;font:500 10.5px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase}
.tag--hot{background:var(--orange);color:#fff}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:18px}
.checks li{display:flex;align-items:center;gap:12px;padding-block:15px;border-top:1px solid rgba(255,255,255,.12);font-size:15px}
.checks li::before{content:"";width:18px;height:18px;flex:none;border-radius:50%;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23062E35' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/10px no-repeat}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.pills span{padding:8px 13px;border-radius:999px;background:var(--bg);font-size:13px;font-weight:500}
.card--mint .pills span{background:rgba(255,255,255,.8)}
.spot::after{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .4s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(157,235,221,.28),transparent 60%)}
.spot:hover::after{opacity:1}

/* ---------- process ---------- */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:s}
.process li{display:grid;gap:12px;align-content:start;padding-top:28px}
.process__n{font:400 64px/1 var(--f-serif);font-style:italic;color:var(--teal);letter-spacing:-.02em}
.process h3{font:600 21px/1.2 var(--f-display);letter-spacing:-.03em}
.process p{color:var(--muted);font-size:15px;max-width:30ch}
.process{position:relative}
.process::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--line)}
.process::after{content:"";position:absolute;left:0;top:0;height:2px;width:calc(var(--p,0)*100%);background:linear-gradient(90deg,var(--teal),var(--mint));transition:width .2s linear}

/* ---------- why ---------- */
.aurora--deep i:nth-child(1){background:radial-gradient(circle,rgba(18,163,155,.55),transparent 70%);left:-200px;top:-200px}
.aurora--deep i:nth-child(2){background:radial-gradient(circle,rgba(95,179,196,.35),transparent 70%);right:-200px;top:30%}
.why{position:relative;z-index:1;display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(40px,6vw,88px);align-items:start}
.why__quote{display:grid;gap:30px;position:sticky;top:120px}
.why__quote blockquote{font:600 clamp(26px,2.8vw,40px)/1.22 var(--f-serif);font-style:italic;letter-spacing:-.01em}
.why__quote figcaption{display:flex;align-items:center;gap:14px}
.why__quote figcaption span:last-child{display:grid}
.why__quote small{opacity:.6;font-size:13.5px}
.why__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.glass-dark{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.feat{display:grid;gap:10px;padding:26px;border-radius:22px;transition:background .35s,transform .45s var(--ease)}
.feat:hover{background:rgba(255,255,255,.09);transform:translateY(-3px)}
.feat svg{width:28px;height:28px;fill:none;stroke:var(--mint);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:6px}
.feat h3{font:600 19px/1.2 var(--f-display);letter-spacing:-.025em}
.feat p{font-size:14.5px;color:rgba(255,255,255,.64)}

/* ---------- reviews ---------- */
.score{display:flex;align-items:center;gap:16px}
.score>strong{font:700 64px/1 var(--f-display);letter-spacing:-.04em}
.score>span{display:grid;gap:3px}
.score small{color:var(--muted);font-size:13.5px}
.score a{color:var(--teal);font-weight:600;font-size:14px}
.score a:hover{text-decoration:underline}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.review{display:grid;gap:22px;align-content:space-between;padding:32px;border-radius:28px;min-height:360px;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.review:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.review blockquote{font:400 clamp(18px,1.6vw,22px)/1.4 var(--f-serif);font-style:italic}
.review figcaption{display:flex;align-items:center;gap:12px;padding-top:20px;border-top:1px solid var(--line)}
.review figcaption span:last-child{display:grid}
.review figcaption strong{font-size:15px}
.review figcaption small{font-size:13px;color:var(--muted)}
.review--dark{background:var(--ink);color:#fff}
.review--dark figcaption{border-color:rgba(255,255,255,.12)}
.review--dark small{color:rgba(255,255,255,.6)!important}
.review--mint{background:linear-gradient(160deg,#EAF8F4,#D6F0EA)}
.review.glass{background:#fff}

/* ---------- area ---------- */
.area__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:center}
.area__grid>div:first-child{display:grid;gap:22px}
.area__lede{color:var(--muted);max-width:30rem}
.area__states{display:flex;flex-wrap:wrap;gap:10px}
.area__states li{display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:999px;background:var(--bg);border:1px solid var(--line)}
.area__states strong{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;font:600 12px/1 var(--f-display)}
.map{border-radius:32px;padding:10px;background:linear-gradient(160deg,#F7FBFC,#EAF4F6)}
.map svg{width:100%;height:auto;border-radius:24px}
.river{fill:none;stroke:#BFDDE6;stroke-width:10;stroke-linecap:round;opacity:.6}
.ring{fill:none;stroke:var(--teal);stroke-opacity:.25;stroke-dasharray:4 6}
.ring--pulse{stroke-dasharray:none;stroke-opacity:.5;transform-origin:345px 235px;animation:ring 3s ease-out infinite}
@keyframes ring{0%{transform:scale(.3);opacity:1}100%{transform:scale(4.5);opacity:0}}
.city circle{fill:#fff;stroke:var(--ink);stroke-width:2}
.city text{font:500 13px var(--f-body);fill:var(--ink-2)}
.hq circle:first-child{fill:var(--orange);opacity:.25}
.hq__in{fill:var(--orange)}
.hq__label rect{fill:var(--ink)}
.hq__label text{font:600 12.5px var(--f-body);fill:#fff}

/* ---------- contact ---------- */
.contact{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);padding:clamp(28px,5vw,64px);border-radius:32px;background:var(--deep);box-shadow:var(--shadow-lg);overflow:hidden;isolation:isolate}
.aurora--contact i:nth-child(1){background:radial-gradient(circle,rgba(18,163,155,.5),transparent 70%);left:-200px;bottom:-300px;top:auto}
.aurora--contact i:nth-child(2){background:radial-gradient(circle,rgba(157,235,221,.25),transparent 70%);left:20%;top:-300px;right:auto}
.contact__info{position:relative;z-index:1;display:grid;gap:30px;align-content:start;color:#fff}
.contact__list{display:grid}
.contact__list li{display:flex;align-items:center;gap:16px;padding-block:18px;border-top:1px solid rgba(255,255,255,.12)}
.contact__list svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--mint);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact__list span{display:grid;gap:3px}
.contact__list a,.contact__list strong{font:600 clamp(17px,1.6vw,20px)/1.2 var(--f-display);letter-spacing:-.02em;word-break:break-word}
.contact__list a:hover{color:var(--mint)}
.contact__list small{opacity:.55;font-size:13.5px}
.hours{display:flex;flex-wrap:wrap;gap:10px}
.hours div{display:grid;gap:4px;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.hours small{font:500 10px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.hours strong{font-size:15px}
.hours div.today{background:rgba(157,235,221,.14);border-color:rgba(157,235,221,.4)}
.hours div.today small::after{content:" · today";color:var(--mint)}

.form{position:relative;z-index:1;display:grid;gap:16px;padding:clamp(22px,3vw,36px);border-radius:28px;background:rgba(255,255,255,.96);box-shadow:var(--shadow-lg)}
.form__head{display:grid;gap:6px;margin-bottom:4px}
.form__head h3{font:600 26px/1.1 var(--f-display);letter-spacing:-.035em}
.form__head p{color:var(--muted);font-size:14.5px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label,.form legend{display:grid;gap:8px;font-size:13px;font-weight:600;color:var(--ink-2)}
.form input,.form textarea{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--line-strong);background:var(--bg);font:400 15px/1.4 var(--f-body);color:var(--ink);transition:border-color .2s,box-shadow .2s,background .2s}
.form textarea{resize:vertical;min-height:110px}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--teal);background:#fff;box-shadow:0 0 0 4px rgba(14,124,123,.12)}
.form input.err{border-color:#E1473D;box-shadow:0 0 0 4px rgba(225,71,61,.1)}
.form__equip{border:0;margin:0;padding:0;display:grid;gap:8px}
.form__equip legend{padding:0;margin-bottom:8px}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{display:block;padding:10px 14px;border-radius:999px;border:1px solid var(--line-strong);background:#fff;font-weight:500;font-size:13.5px;cursor:pointer;transition:all .2s}
.seg label:hover{border-color:var(--teal)}
.seg input:checked+label{background:var(--ink);border-color:var(--ink);color:#fff}
.seg input:focus-visible+label{outline:2px solid var(--teal);outline-offset:2px}
.form__ok{padding:14px 16px;border-radius:14px;background:#DDF6EC;color:#0B6B4B;font-weight:500;font-size:14.5px}

/* ---------- footer ---------- */
.footer{background:var(--surface);border-top:1px solid var(--line);padding-top:72px;overflow:hidden}
.footer__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:48px}
.footer__tag{font:700 32px/1.1 var(--f-display);letter-spacing:-.03em}
.footer__tag em{color:var(--teal)}
.footer__desc{margin-top:14px;color:var(--muted);max-width:26rem;font-size:15px}
.footer__cols{display:flex;flex-wrap:wrap;gap:clamp(32px,6vw,80px)}
.footer__cols div{display:grid;gap:12px;align-content:start}
.footer__cols h4{font:500 11px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:6px}
.footer__cols a,.footer__cols span{font-size:14.5px;font-weight:500;color:var(--ink-2)}
.footer__cols a:hover{color:var(--teal)}
.footer__bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:56px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.footer__credit a{color:var(--ink-2);font-weight:600;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}
.footer__credit a:hover{color:var(--teal);text-decoration-color:var(--teal)}
.footer__word{font:700 clamp(44px,11.6vw,164px)/.8 var(--f-display);letter-spacing:-.055em;text-align:center;margin-top:36px;color:transparent;-webkit-text-stroke:1.6px rgba(14,124,123,.42);text-stroke:1.6px rgba(14,124,123,.42);white-space:nowrap;transform:translateY(12%)}

/* ---------- floating call (mobile) ---------- */
.fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;display:none;place-items:center;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--orange-2));box-shadow:0 14px 30px -8px rgba(255,106,61,.65)}
.fab svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .nav__links{display:none}
  .nav__burger{display:flex}
  .hero__grid{grid-template-columns:1fr}
  .hero__visual{height:560px;max-width:620px;width:100%;justify-self:center}
  .why{grid-template-columns:1fr}
  .why__quote{position:static}
  .area__grid{grid-template-columns:1fr}
}
@media (max-width:860px){
  .bento{grid-template-columns:1fr}
  .card--hero{grid-row:auto;min-height:0}
  .process{grid-template-columns:1fr 1fr;row-gap:40px}
  .reviews{grid-template-columns:1fr}
  .review{min-height:0}
  .contact{grid-template-columns:1fr}
}
@media (max-width:620px){
  .nav__phone,.nav__actions>.btn{display:none}
  .hero{padding-top:130px}
  .hero__visual{height:520px}
  .ticket{left:4%;width:92%;top:96px;padding:20px}
  .chip--review{width:210px;right:-4px;top:0}
  .chip--xray{display:none}
  .chip--promise{left:4%;bottom:-24px}
  .eyebrow--live{font-size:10.5px;letter-spacing:.08em}
  .hero__visual{margin-bottom:24px}
  .orb{inset:30px 0 20px 0}
  .checks{grid-template-columns:1fr}
  .why__grid{grid-template-columns:1fr}
  .process{grid-template-columns:1fr}
  .form__row{grid-template-columns:1fr}
  .fab{display:grid}
  .contact{border-radius:28px}
  .form input,.form textarea{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .reveal{transform:none}
}
