:root{
  --ink:#0c1f17;
  --ink-2:#0f281e;
  --primary:#1d4333;
  --line:rgba(255,255,255,.08);
  --paper:#f5f0e6;
  --mist:#b7c4bc;
  --gold:#c9a54e;
  --gold-l:#e8c868;
  --gold-d:#a8842f;
  --wa:#25D366;
  --radius:1.5rem;
  --pill:999px;
  --font:'Rubik',system-ui,sans-serif;
  --max:72rem;
  --header-h:5.5rem;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,[data-reveal],.hero-media video,.marquee-track,.ambient-blob,.treat-card,.treat-media img,.reel{animation:none!important;transition:none!important}
  .marquee-band{animation:none!important}
}
body{
  margin:0; background:var(--ink); color:var(--paper);
  font-family:var(--font); font-weight:400; line-height:1.7; letter-spacing:.01em;
  direction:rtl; text-align:right; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,video{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
button,input,select,textarea{font:inherit; color:inherit}
.container{width:min(100% - 2.5rem, var(--max)); margin-inline:auto}
.section{padding:5.25rem 0; position:relative; background:transparent}
.section h2{margin:0 0 .65rem}
.section h2 + .lead,.section .lead{max-width:42rem}
.section + .section{border:0}
.eyebrow{color:var(--gold); font-size:.82rem; letter-spacing:.16em; font-weight:500; margin:0 0 .85rem}
h1,h2,h3,h4{font-family:var(--font); line-height:1.2; font-weight:700; margin:0 0 1rem; letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5.2vw,3.6rem); font-weight:800}
h2{font-size:clamp(1.65rem,3.4vw,2.55rem); font-weight:700}
h3{font-size:1.15rem; font-weight:600}
.lead{color:var(--mist); font-size:1.05rem; max-width:38rem; font-weight:400}
.press{transition:transform .25s ease}
.press:active{transform:scale(.97)}

/* Ambient */
.ambient{position:fixed; inset:0; pointer-events:none; z-index:0; overflow:hidden}
.ambient-blob{position:absolute; border-radius:50%; filter:blur(80px); opacity:.28; }
.ambient-blob.a{width:42vw; height:42vw; background:radial-gradient(circle,rgba(201,165,78,.45),transparent 70%); top:-10%; right:-8%; animation:floatA 18s ease-in-out infinite}
.ambient-blob.b{width:36vw; height:36vw; background:radial-gradient(circle,rgba(29,67,51,.9),transparent 70%); bottom:10%; left:-10%; animation:floatB 22s ease-in-out infinite}
.ambient-blob.c{width:28vw; height:28vw; background:radial-gradient(circle,rgba(232,200,104,.25),transparent 70%); top:40%; left:40%; animation:floatA 26s ease-in-out infinite reverse}
@keyframes floatA{0%,100%{transform:translate(0,0)}50%{transform:translate(-4%,6%)}}
@keyframes floatB{0%,100%{transform:translate(0,0)}50%{transform:translate(5%,-4%)}}



#scroll-progress{position:fixed; inset-inline:0; top:0; height:2px; z-index:100; transform-origin:right; transform:scaleX(0);
  background:linear-gradient(90deg,var(--gold-d),var(--gold-l)); box-shadow:0 0 12px rgba(201,165,78,.55)}

.site-main{position:relative; z-index:2; background:var(--ink)}
.site-header,.wa-fab,.sticky-cta{z-index:60}

/* ===== WOW NAV ===== */
.site-header{
  position:fixed; inset-inline:0; top:0; z-index:60;
  display:flex; justify-content:center;
  padding:1.15rem 1rem 0;
  transition:padding .35s cubic-bezier(.22,1,.36,1), transform .4s cubic-bezier(.22,1,.36,1), opacity .35s;
  pointer-events:none;
}
.site-header.is-hidden{transform:translateY(-120%); opacity:0}
.site-header.is-scrolled{padding-top:.55rem}
.nav-pill{
  pointer-events:auto; width:min(100%, 70rem);
  display:flex; align-items:center; gap:.65rem;
  background:rgba(12,31,23,.55);
  backdrop-filter:blur(22px) saturate(1.35);
  -webkit-backdrop-filter:blur(22px) saturate(1.35);
  border:1px solid rgba(201,165,78,.28);
  border-radius:var(--pill);
  padding:.45rem .45rem .45rem 1rem;
  box-shadow:0 12px 40px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.04), 0 0 40px rgba(201,165,78,.08);
  transition:background .3s, box-shadow .3s, transform .35s cubic-bezier(.22,1,.36,1), padding .3s;
}
.site-header.is-scrolled .nav-pill{
  background:rgba(12,31,23,.88);
  border-color:rgba(201,165,78,.4);
  box-shadow:0 16px 48px rgba(0,0,0,.42), 0 0 48px rgba(201,165,78,.12);
  transform:scale(.985); padding-block:.35rem;
}
.logo{display:inline-flex; align-items:center; gap:.55rem; flex-shrink:0}
.logo img,.logo svg{height:2.15rem; width:auto; display:block}
.logo-text{font-weight:700; font-size:1.05rem; letter-spacing:.04em; white-space:nowrap}
.logo-text span{color:var(--gold)}
.nav-links{
  display:none; position:relative; gap:.1rem; margin-inline:auto;
  font-size:.8rem; font-weight:500; color:var(--mist);
}
.nav-links a{
  position:relative; padding:.55rem .65rem; border-radius:var(--pill);
  transition:color .25s;
}
.nav-links a:hover{color:var(--paper)}
.nav-indicator{
  position:absolute; bottom:.2rem; height:2px; border-radius:2px;
  background:linear-gradient(90deg,var(--gold-d),var(--gold-l));
  box-shadow:0 0 10px rgba(201,165,78,.6);
  transition:left .35s cubic-bezier(.22,1,.36,1), width .35s cubic-bezier(.22,1,.36,1), right .35s cubic-bezier(.22,1,.36,1);
  pointer-events:none; opacity:0;
}
.nav-links a.is-active{color:var(--paper)}
.nav-actions{display:flex; align-items:center; gap:.45rem; margin-inline-start:auto}
.btn-icon{
  width:2.75rem; height:2.75rem; min-width:2.75rem; min-height:2.75rem; border-radius:50%; display:grid; place-items:center;
  border:1px solid rgba(201,165,78,.35); background:rgba(201,165,78,.12); color:var(--gold-l);
  transition:transform .25s, background .25s, box-shadow .25s;
}
.btn-icon:hover{background:rgba(201,165,78,.22); box-shadow:0 0 24px rgba(201,165,78,.25); transform:scale(1.05)}
.btn-icon svg{width:1.15rem; height:1.15rem}
.nav-toggle{
  width:2.65rem; height:2.65rem; border-radius:50%;
  border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.04);
  display:grid; place-items:center; cursor:pointer; color:var(--paper);
}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{
  display:block; width:1rem; height:1.5px; background:currentColor; position:relative; transition:.3s;
}
.nav-toggle span::before,.nav-toggle span::after{content:""; position:absolute; inset-inline:0}
.nav-toggle span::before{top:-5px}.nav-toggle span::after{top:5px}
.nav-toggle[aria-expanded="true"] span{background:transparent}
.nav-toggle[aria-expanded="true"] span::before{top:0; transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] span::after{top:0; transform:rotate(-45deg)}
@media(min-width:980px){
  .nav-links{display:flex}
  .nav-toggle{display:none !important}
}
.mobile-drawer{
  position:fixed; inset:0; z-index:55; pointer-events:none; opacity:0; transition:opacity .35s ease;
  background:rgba(6,16,12,.82); backdrop-filter:blur(16px);
}
.mobile-drawer.open{pointer-events:auto; opacity:1}
.mobile-panel{
  position:absolute; inset:1rem; border-radius:1.75rem;
  background:rgba(12,31,23,.96); border:1px solid rgba(201,165,78,.25);
  padding:5.5rem 1.35rem 1.5rem; display:flex; flex-direction:column; gap:.2rem;
  transform:translateY(-10px); transition:transform .4s cubic-bezier(.22,1,.36,1);
  box-shadow:0 24px 80px rgba(0,0,0,.45);
}
.mobile-drawer.open .mobile-panel{transform:translateY(0)}
.mobile-panel a{
  padding:1rem 1.1rem; border-radius:1rem; color:var(--paper);
  font-size:1.2rem; font-weight:600; letter-spacing:.01em;
  opacity:0; transform:translateY(12px);
}
.mobile-drawer.open .mobile-panel a{opacity:1; transform:none; transition:opacity .4s ease, transform .45s cubic-bezier(.22,1,.36,1), background .25s}
.mobile-drawer.open .mobile-panel a:nth-child(1){transition-delay:.05s}
.mobile-drawer.open .mobile-panel a:nth-child(2){transition-delay:.08s}
.mobile-drawer.open .mobile-panel a:nth-child(3){transition-delay:.11s}
.mobile-drawer.open .mobile-panel a:nth-child(4){transition-delay:.14s}
.mobile-drawer.open .mobile-panel a:nth-child(5){transition-delay:.17s}
.mobile-drawer.open .mobile-panel a:nth-child(6){transition-delay:.2s}
.mobile-drawer.open .mobile-panel a:nth-child(7){transition-delay:.23s}
.mobile-drawer.open .mobile-panel a:nth-child(8){transition-delay:.26s}
.mobile-drawer.open .mobile-panel a:nth-child(9){transition-delay:.29s}
.mobile-drawer.open .mobile-panel a:nth-child(10){transition-delay:.32s}
.mobile-drawer.open .mobile-panel a:nth-child(11){transition-delay:.35s}
.mobile-panel a:hover,.mobile-panel a.is-active{background:rgba(201,165,78,.12); color:var(--gold-l)}
.mobile-panel .btn{margin-top:auto; justify-content:center}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  min-height:2.75rem; padding:0 1.35rem; border-radius:var(--pill);
  font-weight:600; font-size:.92rem; border:0; cursor:pointer; letter-spacing:.02em;
  transition:transform .25s, box-shadow .25s, background .25s;
}
.btn-gold{
  background:linear-gradient(135deg,var(--gold),var(--gold-l)); color:#142016;
  box-shadow:0 8px 28px rgba(201,165,78,.28);
}
.btn-gold:hover{box-shadow:0 12px 36px rgba(201,165,78,.4); transform:translateY(-1px)}
.btn-outline{background:transparent; color:var(--paper); border:1px solid rgba(255,255,255,.22)}
.btn-outline:hover{border-color:rgba(201,165,78,.5); color:var(--gold-l)}
.btn-ghost{background:rgba(255,255,255,.06); color:var(--paper)}
.btn-wa{background:var(--wa); color:#04150a}
.btn-sm{min-height:2.75rem; padding:0 1.15rem; font-size:.85rem}

/* Hero */
.hero{position:relative; min-height:100svh; display:grid; align-items:end; overflow:hidden; background:var(--ink)}
.hero-media{position:absolute; inset:0}
.hero-media video{width:100%; height:100%; object-fit:cover; object-position:center 20%; transform:scale(1.05)}
.hero-media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(12,31,23,.25) 0%, rgba(12,31,23,.15) 35%, rgba(12,31,23,.55) 70%, var(--ink) 100%);
}
.hero-layout{position:relative; z-index:2; padding:7.5rem 0 3.5rem; display:grid; gap:1.75rem}
@media(min-width:980px){
  .hero-layout{grid-template-columns:1.15fr .85fr; align-items:end; gap:2rem}
}
.hero-ctas{display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem}
.hero-stats{display:grid; grid-template-columns:repeat(2,1fr); gap:.85rem; margin-top:1.75rem}
@media(min-width:700px){.hero-stats{grid-template-columns:repeat(4,1fr)}}
.stat{
  background:rgba(255,255,255,.04); border:1px solid var(--line); border-radius:1.15rem; padding:1rem 1.1rem;
  transition:transform .35s, border-color .35s, box-shadow .35s;
}
.stat:hover{transform:translateY(-3px); border-color:rgba(201,165,78,.35); box-shadow:0 12px 32px rgba(0,0,0,.25)}
.stat b{display:block; font-size:1.55rem; color:var(--gold-l); font-weight:700; letter-spacing:-.02em}
.stat span{color:var(--mist); font-size:.82rem}

/* Lead form */
.lead-card{
  background:rgba(12,31,23,.72); backdrop-filter:blur(18px);
  border:1px solid rgba(201,165,78,.3); border-radius:1.75rem; padding:1.35rem 1.35rem 1.45rem;
  box-shadow:0 24px 64px rgba(0,0,0,.35), 0 0 40px rgba(201,165,78,.08);
}
.lead-card h3{margin:0 0 .35rem; font-size:1.25rem}
.lead-card .sub{color:var(--mist); font-size:.9rem; margin:0 0 1.1rem}
.lead-form{display:grid; gap:.7rem}
.lead-form label{display:grid; gap:.35rem; font-size:.82rem; color:var(--mist); font-weight:500}
.lead-form input,.lead-form select,.lead-form textarea{
  width:100%; border-radius:1rem; border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04); padding:.85rem 1rem; color:var(--paper); outline:none;
  transition:border-color .25s, box-shadow .25s;
}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{
  border-color:rgba(201,165,78,.55); box-shadow:0 0 0 3px rgba(201,165,78,.15);
}
.lead-form .err{color:#ff8f7a; font-size:.78rem; display:none}
.lead-form .is-invalid{border-color:#ff8f7a}
.lead-form .is-invalid + .err,.lead-form label:has(.is-invalid) .err{display:block}
.lead-success{display:none; text-align:center; padding:1.5rem .5rem}
.lead-card.is-success .lead-form{display:none}
.lead-card.is-success .lead-success{display:block}
.lead-success b{color:var(--gold-l); font-size:1.2rem}

/* Editorial advantages */
.adv-list{display:grid; gap:0; margin-top:2rem}
.adv-item{
  display:grid; grid-template-columns:auto 1fr; gap:1.25rem; align-items:start;
  padding:1.75rem 0; border-bottom:1px solid var(--line);
}
.adv-item:first-child{border-top:1px solid var(--line)}
.adv-num{font-size:clamp(2.5rem,5vw,3.8rem); font-weight:800; color:var(--gold); line-height:1; letter-spacing:-.04em; min-width:3.5rem}
.adv-item h3{margin-bottom:.4rem; font-size:1.35rem}
.adv-item p{margin:0; color:var(--mist)}
.adv-item img{width:100%; max-width:12rem; height:7.5rem; object-fit:cover; object-position:center; border-radius:1rem; margin-top:.75rem; border:1px solid var(--line)}
@media(min-width:800px){
  .adv-item{grid-template-columns:auto 1fr auto; align-items:center}
  .adv-item img{margin-top:0; width:14rem; max-width:none; height:8.5rem}
}

/* Doctor split */
.doctor-grid{display:grid; gap:2rem}
@media(min-width:900px){.doctor-grid{grid-template-columns:1.05fr .95fr; align-items:center}}
.doctor-media{border-radius:1.75rem; overflow:hidden; border:1px solid var(--line); background:#000; aspect-ratio:4/5}
.doctor-media video,.doctor-media img{width:100%; height:100%; object-fit:cover; object-position:center top}
.quote-sig{margin-top:1.5rem; padding:1.25rem 1.35rem; border-right:3px solid var(--gold); background:rgba(201,165,78,.06); border-radius:0 1rem 1rem 0}
.quote-sig p{margin:0; font-size:1.15rem; font-weight:500; line-height:1.5}
.quote-sig span{display:block; margin-top:.75rem; color:var(--gold); font-size:.85rem; letter-spacing:.08em}
.cred-grid{display:grid; gap:.85rem; margin-top:1.5rem}
@media(min-width:600px){.cred-grid{grid-template-columns:1fr 1fr}}
.cred{padding:1rem 1.1rem; border-radius:1.15rem; background:rgba(255,255,255,.03); border:1px solid var(--line); transition:transform .35s, border-color .35s}
.cred:hover{transform:translateY(-2px); border-color:rgba(201,165,78,.3)}
.cred h4{margin:0 0 .35rem; font-size:.98rem; color:var(--gold-l)}
.cred p{margin:0; color:var(--mist); font-size:.88rem}

/* Treatments showcase rail */
.section--showcase{overflow:hidden}
.rail-head{padding-bottom:1.25rem}
.rail-progress{
  margin-top:1.25rem; height:2px; width:min(100%,22rem); background:rgba(255,255,255,.08);
  border-radius:var(--pill); overflow:hidden;
}
.rail-progress > span{
  display:block; height:100%; width:0%; background:linear-gradient(90deg,var(--gold-d),var(--gold-l));
  transform-origin:right center; will-change:width;
}
.rail-viewport{
  position:relative; overflow:hidden; margin-inline:0; padding-block:1.5rem 2rem;
}
.rail-viewport::before,
.rail-viewport::after{
  content:""; position:absolute; top:0; bottom:0; width:clamp(1.5rem,5vw,4rem); z-index:4; pointer-events:none;
}
.rail-viewport::before{ inset-inline-start:0; background:linear-gradient(to left, transparent, var(--ink)); }
.rail-viewport::after{ inset-inline-end:0; background:linear-gradient(to right, transparent, var(--ink)); }
.rail{
  display:flex; gap:1.35rem; overflow-x:auto; scroll-snap-type:x mandatory;
  width:auto; max-width:100%;
  padding-inline:clamp(1rem, 4vw, 2.5rem);
  padding-bottom:.5rem; scrollbar-width:none; -webkit-overflow-scrolling:touch; touch-action:pan-x; cursor:grab;
  will-change:transform;
}
.rail::-webkit-scrollbar{display:none}
.rail.is-dragging{cursor:grabbing}
.rail .treat-card{
  position:relative; width:min(82vw, 24rem); flex:0 0 auto; scroll-snap-align:center;
  background:rgba(255,255,255,.03); border:1px solid var(--line); border-radius:1.5rem; overflow:hidden;
  transform:scale(.88); opacity:.42; filter:saturate(.55) brightness(.72);
  transition:transform .45s cubic-bezier(.22,1,.36,1), opacity .45s ease, filter .45s ease, border-color .35s, box-shadow .45s;
  will-change:transform, opacity, filter;
}
.rail .treat-card.is-active{
  transform:scale(1.06); opacity:1; filter:none;
  border-color:rgba(201,165,78,.55);
  box-shadow:0 28px 70px rgba(0,0,0,.45), 0 0 0 1px rgba(201,165,78,.18);
}
.rail .treat-card .treat-idx{
  position:absolute; top:.9rem; inset-inline-start:.95rem; z-index:2;
  font-size:.95rem; font-weight:700; letter-spacing:.08em; color:var(--gold);
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
.rail .treat-card .treat-media{overflow:hidden; height:14rem}
.rail .treat-card .treat-media img{
  width:100%; height:100%; object-fit:cover; object-position:center;
  transform:scale(1.04); transition:transform 1.1s cubic-bezier(.22,1,.36,1);
  will-change:transform;
}
.rail .treat-card.is-active .treat-media img,
.rail .treat-card:hover .treat-media img{transform:scale(1.12)}
.rail .treat-card .body{padding:1.15rem 1.25rem 1.4rem}
.rail .treat-card .body h3,
.rail .treat-card .body p{
  transform:translateY(10px); opacity:.55;
  transition:transform .45s cubic-bezier(.22,1,.36,1), opacity .45s ease;
}
.rail .treat-card.is-active .body h3,
.rail .treat-card.is-active .body p{transform:none; opacity:1}
.rail .treat-card.is-active .body h3{transition-delay:.05s}
.rail .treat-card.is-active .body p{transition-delay:.12s}
.rail .treat-card p{margin:0; color:var(--mist); font-size:.92rem}
@media(min-width:980px){
  .rail{overflow:visible; cursor:default; padding-inline:clamp(1.5rem, 6vw, 4rem)}
  .rail .treat-card{scroll-snap-align:none}
  .js-ready .section--showcase.is-pinning .rail{pointer-events:none}
}

/* Process timeline */
.timeline{position:relative; margin-top:2.5rem; padding-inline-start:1.5rem}
.timeline::before{
  content:""; position:absolute; inset-block:0; inset-inline-start:.35rem; width:2px; background:rgba(255,255,255,.08);
}
.timeline-progress{
  position:absolute; inset-inline-start:.35rem; top:0; width:2px; height:0;
  background:linear-gradient(180deg,var(--gold-l),var(--gold-d)); box-shadow:0 0 12px rgba(201,165,78,.45);
}
.step{
  position:relative; display:grid; grid-template-columns:auto 1fr; gap:1rem; padding:0 0 2rem 1rem;
}
.step-num{
  width:2.4rem; height:2.4rem; border-radius:50%; display:grid; place-items:center;
  background:var(--ink); border:2px solid rgba(201,165,78,.35); color:var(--gold-l); font-weight:700; font-size:.9rem;
  position:relative; z-index:1; transition:background .3s, border-color .3s, transform .3s;
}
.step[data-active] .step-num,.step.is-active .step-num{
  background:linear-gradient(135deg,var(--gold),var(--gold-l)); color:#142016; border-color:transparent; transform:scale(1.08);
}
.step h3{margin:0 0 .35rem}
.step p{margin:0; color:var(--mist); font-size:.95rem}
@media(min-width:800px){
  .timeline{display:grid; grid-template-columns:1fr 1fr; gap:0 2rem; padding-inline-start:0}
  .timeline::before,.timeline-progress{inset-inline-start:50%; transform:translateX(50%)}
  .step{padding-inline:1.5rem}
}

/* Complex icon cards — no review screenshots */
.complex-grid{display:grid; gap:1rem; grid-template-columns:1fr}
@media(min-width:700px){.complex-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.complex-grid{grid-template-columns:repeat(3,1fr)}}
.complex-card{
  border-radius:1.35rem; border:1px solid var(--line); background:rgba(255,255,255,.03);
  transition:transform .4s, border-color .4s; padding:1.35rem 1.35rem 1.45rem;
  display:flex; flex-direction:column; gap:1rem;
}
.complex-card:hover{transform:translateY(-4px); border-color:rgba(201,165,78,.35)}
.complex-card--icon .cx-top{display:flex; align-items:center; justify-content:space-between; gap:1rem}
.complex-card--icon .cx-num{
  font-size:1.65rem; font-weight:700; color:var(--gold); letter-spacing:.04em; line-height:1;
}
.complex-card--icon .cx-icon{width:2.75rem; height:2.75rem; color:var(--gold); flex:0 0 auto}
.complex-card .body{padding:0}
.complex-card h3{font-size:1.08rem; color:var(--paper); margin:0 0 .35rem}
.complex-card .tag{color:var(--gold); font-size:.82rem; margin:0 0 .55rem}
.complex-card p{margin:0; color:var(--mist); font-size:.92rem; line-height:1.55}

/* Before/after */
.ba-grid{display:grid; gap:1rem; grid-template-columns:1fr}
@media(min-width:700px){.ba-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.ba-grid{grid-template-columns:repeat(3,1fr)}}
.ba-card{border-radius:1.35rem; overflow:hidden; border:1px solid var(--line); background:rgba(0,0,0,.25); transition:transform .35s}
.ba-card:hover{transform:translateY(-3px)}
.ba-pair{display:grid; grid-template-columns:1fr 1fr}
.ba-pair figure{position:relative; margin:0; aspect-ratio:1; overflow:hidden; background:#06140f}
.ba-pair img{width:100%; height:100%; object-fit:cover; object-position:center 35%}
.ba-pair span{
  position:absolute; bottom:.55rem; inset-inline-start:.55rem;
  background:rgba(6,16,12,.75); color:#fff; font-size:.72rem; padding:.25rem .55rem; border-radius:var(--pill);
  backdrop-filter:blur(8px); letter-spacing:.04em;
}
.ba-card .cap{padding:.85rem 1rem; font-size:.9rem; color:var(--mist)}
.compare{position:relative; border-radius:1.5rem; overflow:hidden; border:1px solid var(--line); aspect-ratio:16/10; background:#000; max-width:52rem; margin:0 auto 2rem; touch-action:none; user-select:none}
.compare img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%; pointer-events:none}
.compare .after-wrap{position:absolute; inset:0; width:50%; overflow:hidden}
.compare .handle{
  position:absolute; inset-block:0; left:50%; width:3px; background:var(--gold-l); transform:translateX(-50%);
  box-shadow:0 0 16px rgba(201,165,78,.55); cursor:ew-resize;
}
.compare .handle::after{
  content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:2.4rem; height:2.4rem; border-radius:50%; background:linear-gradient(135deg,var(--gold),var(--gold-l));
  box-shadow:0 8px 24px rgba(0,0,0,.35); border:2px solid rgba(255,255,255,.35);
}
.smile-masonry{columns:2; column-gap:.85rem; margin-top:1.5rem}
@media(min-width:900px){.smile-masonry{columns:4}}
.smile-masonry figure{break-inside:avoid; margin:0 0 .85rem; border-radius:1.15rem; overflow:hidden; border:1px solid var(--line)}
.smile-masonry img{width:100%; height:auto; display:block; object-fit:cover}

/* Video reels — transform coverflow (no scroll container) */
.reels-wrap{
  position:relative; margin-top:1.5rem;
  --reel-w: min(70vw, 15.5rem);
  --reel-h: min(calc(var(--reel-w) * 16 / 9), 26rem);
}
.reels-wrap::before,
.reels-wrap::after{
  content:""; position:absolute; top:0; bottom:3.25rem; width:clamp(2.5rem, 9vw, 6rem);
  z-index:6; pointer-events:none;
}
.reels-wrap::before{
  inset-inline-start:0;
  background:linear-gradient(90deg, #0c1f17 0%, rgba(12,31,23,.75) 35%, rgba(12,31,23,0) 100%);
}
.reels-wrap::after{
  inset-inline-end:0;
  background:linear-gradient(270deg, #0c1f17 0%, rgba(12,31,23,.75) 35%, rgba(12,31,23,0) 100%);
}
#videos .container{overflow:visible}
#videos{overflow:visible}
.reels-stage{
  position:relative; width:100%; height:var(--reel-h);
  margin:0 auto; perspective:1400px; transform-style:preserve-3d;
  touch-action:pan-y; cursor:grab; user-select:none; overflow:visible;
}
.reels-stage.is-dragging{cursor:grabbing}
.reel{
  position:absolute; top:0; left:50%;
  width:var(--reel-w); height:var(--reel-h);
  margin:0; border-radius:1.35rem; overflow:hidden;
  border:1px solid var(--line); background:#06140f;
  transform:translate3d(-50%,0,0) scale(.68); opacity:0; pointer-events:none;
  transform-style:preserve-3d; will-change:transform, opacity;
  transition:transform .45s cubic-bezier(.22,1,.36,1), opacity .35s ease, border-color .35s, box-shadow .35s;
  backface-visibility:hidden;
}
.reel.is-visible{pointer-events:auto}
.reel.is-active{
  border-color:rgba(201,165,78,.55);
  box-shadow:0 28px 70px rgba(0,0,0,.5), 0 0 0 1px rgba(201,165,78,.18);
  pointer-events:auto;
}
.reel video{width:100%; height:100%; object-fit:cover; object-position:center; display:block; pointer-events:none}
.reel .cap{
  position:absolute; inset-inline:0; bottom:0; padding:.95rem 1rem 1.15rem;
  background:linear-gradient(transparent, rgba(6,16,12,.94)); font-size:.9rem; font-weight:500; color:var(--paper);
  opacity:0; transform:translateY(8px); transition:opacity .35s ease, transform .35s ease; pointer-events:none;
}
.reel.is-active .cap{opacity:1; transform:none}
.reel-progress{
  position:absolute; inset-inline:0.65rem; top:.65rem; height:4px; border-radius:var(--pill);
  background:rgba(0,0,0,.45); overflow:hidden; z-index:4; opacity:0; transition:opacity .3s;
  border:1px solid rgba(255,255,255,.25); box-shadow:0 2px 10px rgba(0,0,0,.4); pointer-events:none;
}
.reel.is-active .reel-progress{opacity:1}
.reel-progress > span{
  display:block; height:100%; width:8%; background:linear-gradient(90deg,var(--gold),var(--gold-l));
  transform-origin:right center; box-shadow:0 0 10px rgba(201,165,78,.7);
}
.reels-nav{
  display:flex; gap:.65rem; justify-content:center; align-items:center;
  margin-top:1.15rem; position:relative; z-index:7;
}
.reels-nav button{
  width:2.85rem; height:2.85rem; min-width:2.85rem; min-height:2.85rem; border-radius:50%;
  border:1px solid rgba(201,165,78,.5); background:rgba(201,165,78,.14); color:var(--gold-l);
  cursor:pointer; font-size:1.35rem; line-height:1; display:grid; place-items:center;
  transition:background .25s, border-color .25s, opacity .25s; opacity:1;
}
.reels-nav button:hover{background:rgba(201,165,78,.28)}
.reels-nav button:disabled{opacity:1; cursor:pointer}
@media (max-width:899px){
  .reels-wrap{ --reel-w: min(70vw, 16rem); --reel-h: min(calc(var(--reel-w) * 16 / 9), 24rem); }
}

/* Dual marquee band */
.marquee-band{
  position:relative; width:100%; max-width:100%; overflow:hidden;
  margin:1.75rem 0; padding:1.45rem 0 1.35rem; border-block:1px solid var(--line);
  background:var(--ink);
  isolation:isolate;
}
.marquee-band::before,
.marquee-band::after{
  content:""; position:absolute; top:0; bottom:0; width:clamp(2.5rem,6vw,5rem); z-index:2; pointer-events:none;
}
.marquee-band::before{ inset-inline-start:0; background:linear-gradient(to left, transparent, var(--ink)); }
.marquee-band::after{ inset-inline-end:0; background:linear-gradient(to right, transparent, var(--ink)); }
.marquee{overflow:hidden; width:100%; max-width:100%; padding:.5rem 0; position:relative; z-index:1}
.marquee-track{
  display:flex; align-items:center; gap:1.6rem; width:max-content; will-change:transform;
}
.marquee.is-paused .marquee-track{animation-play-state:paused}
.marquee-track span{
  font-size:clamp(1.15rem, 2.6vw, 1.85rem); font-weight:700; letter-spacing:.02em;
  color:rgba(245,240,230,.9); white-space:nowrap; line-height:1.1;
}
.marquee-track span em{color:var(--gold); font-style:normal; font-weight:800}
.marquee--outline .marquee-track span{
  color:transparent; -webkit-text-stroke:1.25px rgba(232,200,104,.55);
  text-stroke:1.25px rgba(232,200,104,.55); font-weight:800;
}
.marquee--outline .marquee-track span em{
  color:transparent; -webkit-text-stroke:1.25px var(--gold-l); text-stroke:1.25px var(--gold-l);
}
.mq-sep{
  width:.55rem; height:.55rem; flex:0 0 auto; transform:rotate(45deg);
  background:var(--gold); border-radius:1px; display:inline-block; opacity:.85;
}
.marquee--outline .mq-sep{background:transparent; border:1px solid rgba(232,200,104,.7); opacity:1}


/* Native review quotes + proof masonry */
.quote-grid{display:grid; gap:1rem; grid-template-columns:1fr}
@media(min-width:700px){.quote-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.quote-grid{grid-template-columns:repeat(3,1fr)}}
.quote-card{
  border-radius:1.25rem; border:1px solid var(--line); background:rgba(255,255,255,.035);
  padding:1.25rem 1.3rem 1.2rem; display:flex; flex-direction:column; gap:.75rem;
  transition:border-color .35s, transform .35s;
}
.quote-card:hover{border-color:rgba(201,165,78,.35); transform:translateY(-2px)}
.quote-card .stars{color:var(--gold); letter-spacing:.12em; font-size:.95rem; line-height:1}
.quote-card .q{margin:0; color:var(--paper); font-size:.95rem; line-height:1.6; flex:1}
.quote-card footer{display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-top:.25rem; padding-top:.75rem; border-top:1px solid rgba(255,255,255,.06)}
.quote-card footer strong{font-size:.9rem; color:var(--gold-l); font-weight:600}
.quote-card footer span{font-size:.75rem; color:var(--mist); letter-spacing:.04em}
.proof-title{margin:2.75rem 0 0; font-size:1.25rem; color:var(--paper)}
.proof-masonry{columns:1; column-gap:.75rem; margin-top:1.15rem}
@media(min-width:600px){.proof-masonry{columns:2}}
@media(min-width:980px){.proof-masonry{columns:3}}
.proof-masonry figure{
  break-inside:avoid; margin:0 0 .65rem; border-radius:.9rem; overflow:hidden;
  border:1px solid var(--line); background:rgba(255,255,255,.92); padding:.4rem;
}
.proof-masonry img{width:100%; height:auto; display:block; object-fit:contain; border-radius:.45rem}


/* FAQ */
.faq details{
  border:1px solid var(--line); border-radius:1.15rem; padding:0; margin-bottom:.75rem;
  background:rgba(255,255,255,.02); overflow:hidden; transition:border-color .3s;
}
.faq details[open]{border-color:rgba(201,165,78,.35)}
.faq summary{
  list-style:none; cursor:pointer; padding:1.1rem 1.25rem; font-weight:600; position:relative;
  padding-inline-end:2.5rem;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; position:absolute; inset-inline-end:1.2rem; top:50%; transform:translateY(-50%); color:var(--gold); font-size:1.25rem}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0; padding:0 1.25rem 1.15rem; color:var(--mist)}

/* Contact */
.contact-grid{display:grid; gap:1.5rem}
@media(min-width:900px){.contact-grid{grid-template-columns:1fr 1.1fr; align-items:start}}
.contact-box,.branch{
  background:rgba(255,255,255,.03); border:1px solid var(--line); border-radius:1.5rem; padding:1.5rem;
}
.branch{display:grid; gap:.35rem}
.branch strong{font-size:1.1rem}
.contact-box .row{display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.1rem}

/* Footer */
.site-footer{position:relative; z-index:2; padding:3rem 0 6rem; border-top:1px solid var(--line); background:var(--ink); color:var(--mist)}
.footer-top{display:flex; flex-wrap:wrap; gap:1.5rem; justify-content:space-between; margin-bottom:1.5rem}
.socials{display:flex; flex-wrap:wrap; gap:1rem}
.socials a:hover{color:var(--gold-l)}

/* Sticky CTAs */
.wa-fab{
  position:fixed; bottom:1.25rem; inset-inline-start:1.25rem; z-index:70;
  width:3.4rem; height:3.4rem; border-radius:50%; background:var(--wa); color:#04150a;
  display:grid; place-items:center; box-shadow:0 12px 32px rgba(37,211,102,.35);
}
.wa-fab svg{width:1.55rem; height:1.55rem}
.sticky-cta{
  position:fixed; bottom:1.25rem; inset-inline-end:1.25rem; z-index:70;
  display:none; align-items:center; gap:.5rem;
}
@media(min-width:700px){.sticky-cta{display:flex}}
.sticky-cta .btn{box-shadow:0 12px 36px rgba(0,0,0,.35)}


/* Progressive reveals — visible without JS */
.reveal,[data-reveal]{opacity:1; transform:none}
.js-ready .reveal,.js-ready [data-reveal]{opacity:0; transform:translateY(14px); transition:opacity .45s ease, transform .45s ease}
.js-ready .reveal.is-in,.js-ready [data-reveal].is-in{opacity:1; transform:none}
/* Split words removed */



/* Utility */
.grain::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:90; opacity:.04;
  background-image:radial-gradient(rgba(255,255,255,.5) 1px, transparent 1px); background-size:3px 3px;
}
.hide-scrollbar{scrollbar-width:none}
.hide-scrollbar::-webkit-scrollbar{display:none}

/* ===== Mobile polish ===== */
html,body{max-width:100%; overflow-x:hidden}
html{overflow-x:clip}
body{overflow-x:clip}
.site-main,.section,.container,.hero,.hero-layout,.rail-viewport,.reels-wrap{max-width:100%}
img,video,svg{max-width:100%; height:auto}
.hero-media{overflow:hidden}
.hero-media video{height:100%; width:100%; max-width:none; display:block}

@media (max-width:899px){
  body{font-size:16px; line-height:1.7}
  h1{font-size:clamp(1.85rem,8vw,2.45rem)}
  h2{font-size:clamp(1.45rem,6.2vw,1.95rem)}
  h3{font-size:1.08rem}
  .lead{font-size:1rem}
  .section{padding:3.75rem 0}
  .container{width:min(100% - 1.5rem, var(--max))}
  .site-header{padding:0.75rem 0.75rem 0}
  .nav-pill{gap:.4rem; padding:.35rem .35rem .35rem .75rem; width:min(100%, 100%)}
  .logo img{height:1.85rem}
  .nav-actions .btn{min-height:2.75rem; min-width:auto; padding:0 1rem}
  .btn-icon,.nav-toggle{width:2.75rem; height:2.75rem; min-width:2.75rem; min-height:2.75rem}
  .hero{min-height:auto; align-items:stretch}
  .hero-layout{padding:5.5rem 0 1.5rem; gap:1rem}
  .hero-content .lead{display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
  .hero-stats{grid-template-columns:repeat(2,1fr); gap:.55rem; margin-top:1rem}
  .stat{padding:.7rem}
  .stat b{font-size:1.2rem}
  .stat span{font-size:.75rem}
  .hero-ctas{margin-top:1rem}
  .lead-card{padding:1.05rem 1.05rem 1.15rem}
  .lead-card h3{font-size:1.1rem}
  .lead-card .sub{font-size:.85rem; margin-bottom:.85rem}
  .lead-form input,.lead-form select,.lead-form textarea,.lead-form .btn,.btn{
    min-height:2.75rem; font-size:16px; /* prevent iOS zoom */
  }
  .adv-item{grid-template-columns:auto 1fr; gap:.85rem; padding:1.25rem 0}
  .adv-item img{max-width:100%; width:100%; height:8rem; grid-column:1 / -1}
  .adv-num{font-size:2.2rem; min-width:2.6rem}
  .doctor-media{aspect-ratio:3/4; max-height:28rem}
  .rail-viewport{margin-inline:0; padding-inline:0; overflow:hidden}
  .rail{display:flex; gap:.85rem; overflow-x:auto; scroll-snap-type:x mandatory; padding-inline:0.85rem; padding-bottom:.5rem; width:auto; max-width:100%;
    scrollbar-width:none; -webkit-overflow-scrolling:touch}
  .rail::-webkit-scrollbar{display:none}
  .rail .treat-card{width:min(78vw,19rem); scroll-snap-align:start}
  .rail .treat-card img{height:11rem}
  .timeline{padding-inline-start:0.85rem}
  .ba-grid{grid-template-columns:1fr; gap:.85rem}
  .ba-pair figure{aspect-ratio:1}
  .compare{aspect-ratio:4/3; margin-bottom:1.25rem}
  .smile-masonry{columns:2; column-gap:.65rem}
  .complex-grid{grid-template-columns:1fr}
  .faq summary{min-height:2.75rem; padding:1rem 1.1rem; padding-inline-end:2.5rem}
  .wa-fab{bottom:1rem; inset-inline-start:auto; inset-inline-end:1rem; width:3.25rem; height:3.25rem; z-index:65}
  .lead-card{margin-bottom:0.5rem}
  .sticky-cta{display:none !important} /* avoid covering forms on mobile; WA fab only */
  .mobile-panel a{min-height:2.75rem; display:flex; align-items:center}
  /* lighter motion */
  .ambient-blob{opacity:.16; filter:blur(70px)}
  
  
}

@media (max-width:400px){
  .hero-ctas .btn{width:100%}
  .nav-actions .btn-sm{font-size:.78rem; padding:0 .85rem}
  .ba-grid.clinic-grid,.ba-grid{gap:.65rem}
}

/* Prevent WA fab overlapping contact form: pad footer/contact */
#contact{padding-bottom:6rem}
.site-footer{padding-bottom:5.5rem}
@media(min-width:700px){
  #contact{padding-bottom:5.5rem}
  .site-footer{padding-bottom:4rem}
}
