
/* ============ TERRA DESIGN TOKENS (from the original repo) ============ */
:root{
  --ink:#09090b;
  --ink-soft:#3f3f46;
  --ink-mute:#71717a;
  --line:#e7e7ea;
  --mist:#f5f5f6;
  --paper:#ffffff;
  --accent-50:#eff6ff;
  --accent-100:#dbeafe;
  --accent-200:#bfdbfe;
  --accent-300:#93c5fd;
  --accent-400:#60a5fa;
  --accent-500:#3b82f6;
  --accent-600:#2563eb;
  --accent-700:#1d4ed8;
  --ease:cubic-bezier(0.22,1,0.36,1);
  --ease-soft:cubic-bezier(0.16,1,0.3,1);
  --sans:'Inter',ui-sans-serif,system-ui,sans-serif;
  --mono:ui-monospace,'SF Mono',SFMono-Regular,monospace;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{
  background:var(--paper);color:var(--ink);font-family:var(--sans);
  letter-spacing:-0.011em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  font-feature-settings:"cv01","cv03","cv04","ss03";line-height:1.6;overflow-x:hidden;
  word-spacing:normal;
}
h1,h2,h3,h4,h5,h6{word-spacing:normal;letter-spacing:normal}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent-500);color:#fff}

.container-x{margin-inline:auto;width:100%;max-width:75rem;padding-inline:1.5rem}
.eyebrow{
  font-family:var(--mono);font-size:0.85rem;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-mute);
}

/* frosted glass (Terra .glass) */
.glass{
  background:linear-gradient(180deg,rgba(255,255,255,0.72),rgba(255,255,255,0.5));
  backdrop-filter:blur(16px) saturate(1.4);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);
  border:1px solid rgba(255,255,255,0.55);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.85),
    inset 0 0 0 1px rgba(9,9,11,0.04),
    0 1px 2px rgba(9,9,11,0.04),
    0 26px 50px -30px rgba(9,9,11,0.28);
  border-radius:1.25rem;
}

/* green pill CTA (Terra .cta-pill) */
.cta-pill{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:linear-gradient(180deg,var(--accent-500),var(--accent-600));
  color:#fff;font-weight:600;font-size:0.92rem;
  padding:0.7rem 1.5rem;border-radius:999px;border:none;cursor:pointer;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.28),
    0 1px 2px rgba(13,50,110,0.4),
    0 12px 28px -12px rgba(37,99,235,0.7);
  transition:transform .15s var(--ease-soft),background .15s var(--ease-soft),box-shadow .15s var(--ease-soft);
}
.cta-pill:hover{background:linear-gradient(180deg,var(--accent-400),var(--accent-500))}
.cta-pill:active{transform:scale(0.97)}
.pill-light{
  display:inline-flex;align-items:center;
  background:rgba(255,255,255,0.7);color:var(--ink);font-weight:500;font-size:0.92rem;
  border:1px solid var(--line);border-radius:999px;padding:0.7rem 1.5rem;cursor:pointer;
  backdrop-filter:blur(8px);transition:border-color .15s var(--ease-soft),transform .15s var(--ease-soft);
}
.pill-light:hover{border-color:var(--accent-300)}
.pill-light:active{transform:scale(0.97)}

/* drifting backdrop blobs */
.backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:0.5;animation:blob-drift 26s ease-in-out infinite}
.blob-1{width:560px;height:560px;background:var(--accent-100);top:18%;left:-12%}
.blob-2{width:480px;height:480px;background:#eef3f8;bottom:6%;right:-10%;animation-delay:-13s}
@keyframes blob-drift{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(3%,-4%,0) scale(1.12)}}

/* ============ HEADER ============ */
.header{position:fixed;inset-inline:0;top:0;z-index:50}
.header nav{display:flex;height:4.8rem;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{display:flex;align-items:center;transition:transform .15s var(--ease-soft)}
.brand:active{transform:scale(0.97)}
.brand img{height:48px;width:auto;transition:filter .3s}
.header.on-dark .brand img{filter:brightness(0) invert(1)}
.nav-links{display:flex;align-items:center;gap:0.55rem}

/* Header tabs, Uiverse button effect (sekaiking) */
.nav-links a,.header .cta-pill{
  background:#fff;color:#111;border:1px solid #111;border-radius:10em;
  font-size:1rem;font-weight:600;padding:0.5em 1.05em;line-height:1;white-space:nowrap;
  box-shadow:0 0 0 0 #111;transition:transform .3s ease-in-out,box-shadow .3s ease-in-out,background .3s,color .3s;
}
.nav-links a:hover,.header .cta-pill:hover{transform:translateY(-4px) translateX(-2px);box-shadow:2px 5px 0 0 #111;background:#fff;color:#111}
.nav-links a:active,.header .cta-pill:active{transform:translateY(2px) translateX(1px);box-shadow:0 0 0 0 #111}
.nav-links a.active{background:var(--accent-500);color:#fff;border-color:var(--accent-700)}
.nav-links a.active:hover{background:var(--accent-500);color:#fff;box-shadow:2px 5px 0 0 var(--accent-700)}
.header .cta-pill{background:var(--accent-500);color:#fff;border-color:var(--accent-700)}
.header .cta-pill:hover{background:var(--accent-600);color:#fff;box-shadow:2px 5px 0 0 var(--accent-700)}
.menu-btn{display:none;background:none;border:none;cursor:pointer;z-index:60}
.menu-btn span{display:block;width:22px;height:2px;margin:5px 0;transition:background .2s}
.header.on-dark .menu-btn span{background:#fff}
.header.on-light{background:rgba(255,255,255,0.7);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header.on-light .menu-btn span{background:var(--ink)}
.mobile-menu{
  position:fixed;inset:0;z-index:55;
  background:linear-gradient(160deg,#0f172a 0%,#1e3a5f 55%,#0f172a 100%);
  display:flex;flex-direction:column;
  opacity:0;pointer-events:none;
  transition:opacity .35s var(--ease);
  overflow-y:auto;
}
.mobile-menu.open{opacity:1;pointer-events:auto}

/* Header row: logo + close button */
.mobile-menu-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.4rem 1.6rem;border-bottom:1px solid rgba(255,255,255,0.1);
  flex-shrink:0;
}
.mobile-menu-head img{height:36px;filter:brightness(0) invert(1);opacity:0.92}
.mobile-menu-close{
  background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);
  color:#fff;width:2.4rem;height:2.4rem;border-radius:50%;
  font-size:1.3rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.mobile-menu-close:hover{background:rgba(255,255,255,0.18)}

/* Nav links */
.mobile-menu-nav{
  flex:1;display:flex;flex-direction:column;justify-content:center;
  padding:2rem 2rem 1rem;gap:0;
}
.mobile-menu-nav a{
  font-size:1.65rem;font-weight:600;color:rgba(255,255,255,0.88);
  padding:1rem 0;border-bottom:1px solid rgba(255,255,255,0.08);
  display:flex;align-items:center;justify-content:space-between;
  transition:color .2s,padding-left .2s;letter-spacing:-0.01em;
}
.mobile-menu-nav a::after{
  content:"→";font-size:1rem;opacity:0.35;transition:opacity .2s,transform .2s;
}
.mobile-menu-nav a:hover{color:#fff;padding-left:0.4rem}
.mobile-menu-nav a:hover::after{opacity:0.8;transform:translateX(4px)}

/* Footer: phone + CTA */
.mobile-menu-foot{
  padding:1.6rem 2rem 2.4rem;display:flex;flex-direction:column;gap:0.9rem;
  border-top:1px solid rgba(255,255,255,0.1);flex-shrink:0;
}
.mobile-menu-phone{
  color:rgba(255,255,255,0.55);font-size:0.9rem;letter-spacing:0.02em;text-align:center;
}
.mobile-menu-phone a{color:rgba(255,255,255,0.85);font-weight:600}
.mobile-menu .cta-pill{
  background:var(--accent-500);color:#fff;border:none;
  text-align:center;padding:0.9rem 1.5rem;font-size:1.05rem;font-weight:600;
  border-radius:999px;display:block;
  transition:background .2s,transform .15s;
}
.mobile-menu .cta-pill:hover{background:var(--accent-600);transform:translateY(-2px)}

/* ============ HERO ============ */
.hero{position:relative;height:100vh;overflow:hidden;background:#1d2417}
.hero video{position:absolute;top:50%;left:50%;width:100vw;height:100vh;min-width:100%;min-height:100%;transform:translate(-50%,-50%);object-fit:cover;object-position:center}
.hero-wash{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,0.45),rgba(0,0,0,0.10),rgba(0,0,0,0.35))}
.hero-inner{position:relative;display:flex;height:100%;align-items:center;justify-content:center;text-align:center}
.hero h1{
  max-width:none;white-space:nowrap;
  font-size:clamp(1.5rem,5.2vw,4rem);font-weight:600;line-height:1.04;letter-spacing:-0.03em;color:#fff;
  filter:drop-shadow(0 2px 28px rgba(0,0,0,0.6));
}
/* Magic UI TextAnimate, blurInUp, by word */
.hero h1 .seg{
  display:inline-block;white-space:pre;
  opacity:0;filter:blur(10px);transform:translateY(20px);
  animation:blurInUp 0.9s var(--ease) forwards;
}
@keyframes blurInUp{to{opacity:1;filter:blur(0);transform:translateY(0)}}
@keyframes fade-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:560px){.hero h1{white-space:normal;max-width:18ch}}
.hero-stack{display:flex;flex-direction:column;align-items:center;gap:1rem}
.hero-sub{
  color:rgba(255,255,255,0.92);font-size:clamp(0.92rem,1.5vw,1.18rem);font-weight:500;
  max-width:none;white-space:nowrap;filter:drop-shadow(0 1px 12px rgba(0,0,0,0.55));
  opacity:0;animation:fade-rise 1.1s var(--ease) 1.5s both;
}
/* Magic UI Text 3D Flip, per-letter 3D flip on hover, staggered */
.flip3d{display:inline-block;perspective:700px}
.flip3d .ch{display:inline-block;white-space:pre;transform-style:preserve-3d;backface-visibility:visible;transition:transform .55s cubic-bezier(.2,.7,.2,1);will-change:transform}
.flip3d:hover .ch{transform:rotateX(360deg)}
@media (max-width:640px){.hero-sub{white-space:normal;max-width:30ch}}

/* ============ SECTIONS ============ */
.section{position:relative;padding:6rem 0}
.reveal-h{
  font-size:clamp(1.55rem,4.2vw,3rem);font-weight:600;line-height:1.12;letter-spacing:-0.025em;
  max-width:46rem;text-wrap:balance;
}
.reveal-h .rw{display:inline;opacity:0.18;will-change:opacity;transition:opacity .45s var(--ease)}
.sub{color:var(--ink-mute);font-size:1.08rem;max-width:38rem;margin-top:1.1rem;line-height:1.7}

/* aurora gradient text */
.aurora{
  background:linear-gradient(90deg,#1d4ed8,#3b82f6,#60a5fa,#38bdf8,#1d4ed8);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:aurora 7s ease infinite;
}
@keyframes aurora{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}


/* counters */
.counter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem}
.counter-card{padding:1.5rem;display:flex;flex-direction:column;gap:0.4rem;transition:transform .3s var(--ease)}
.counter-card:hover{transform:translateY(-3px)}
.counter-num{font-size:clamp(1.8rem,3.4vw,2.9rem);font-weight:600;letter-spacing:-0.03em;font-variant-numeric:tabular-nums;line-height:1.1}
.counter-label{font-size:0.85rem;color:var(--ink-mute);line-height:1.4}






/* doctors */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:3rem}
.doc{overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease);cursor:pointer;text-align:left;border:none;font:inherit;color:inherit;width:100%;background:transparent;display:block}
.doc:hover{transform:translateY(-4px)}
.doc:focus-visible{outline:2px solid var(--accent-500);outline-offset:3px}
.doc-photo{position:relative;aspect-ratio:4/3.1;overflow:hidden;border-radius:0.9rem;margin:0.55rem;background:var(--mist)}
.doc-photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform .5s var(--ease)}
.doc:hover .doc-photo img{transform:scale(1.04)}
.doc-photo::after{
  content:"View bio";position:absolute;left:0;right:0;bottom:0;
  font-family:var(--mono);font-size:0.72rem;letter-spacing:0.05em;color:#fff;
  padding:1.6rem 1rem 0.7rem;text-align:center;
  background:linear-gradient(180deg,transparent,rgba(9,9,11,0.55));
  opacity:0;transform:translateY(6px);transition:opacity .3s var(--ease),transform .3s var(--ease);
}
.doc:hover .doc-photo::after,.doc:focus-visible .doc-photo::after{opacity:1;transform:none}
.doc-info{padding:0.5rem 1.1rem 1.1rem}
.doc-info h3{font-size:0.98rem;font-weight:600;letter-spacing:-0.01em}
.doc-info p{font-size:0.8rem;color:var(--accent-600);font-weight:500;margin-top:0.15rem}

/* ===== COMPREHENSIVE EYE CARE SERVICES ===== */
#services{background:var(--mist)}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem}
.svc-card{
  position:relative;overflow:hidden;padding:1.6rem;text-align:left;
  border:1px solid var(--line);border-radius:1rem;font:inherit;color:inherit;width:100%;cursor:pointer;display:block;
  background:linear-gradient(160deg,#fff 0%,var(--accent-50) 100%);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.svc-card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120% 80% at 100% 0%,rgba(59,130,246,0.10),transparent 60%);opacity:0;transition:opacity .3s var(--ease);pointer-events:none}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px -22px rgba(29,78,216,0.45);border-color:var(--accent-200)}
.svc-card:hover::after{opacity:1}
.svc-card:focus-visible{outline:2px solid var(--accent-500);outline-offset:3px}
.svc-card.jiggle{animation:svc-jiggle 0.5s var(--ease)}
@keyframes svc-jiggle{0%,100%{transform:translateY(-5px) rotate(0)}15%{transform:translateY(-5px) rotate(-2.2deg)}30%{transform:translateY(-5px) rotate(1.8deg)}45%{transform:translateY(-5px) rotate(-1.4deg)}60%{transform:translateY(-5px) rotate(1deg)}75%{transform:translateY(-5px) rotate(-0.5deg)}}
.svc-icon{
  width:48px;height:48px;border-radius:0.8rem;background:#fff;border:1px solid var(--accent-100);
  display:flex;align-items:center;justify-content:center;margin-bottom:1rem;
  box-shadow:0 4px 12px -6px rgba(29,78,216,0.3);
  transition:background .3s var(--ease),transform .3s var(--ease);
}
.svc-card:hover .svc-icon{transform:scale(1.06)}
.svc-icon svg{width:24px;height:24px;stroke:var(--accent-600);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:var(--accent-600)}
.svc-icon svg [fill="currentColor"]{fill:var(--accent-600);stroke:none}
.svc-card h3{font-size:0.98rem;font-weight:600;letter-spacing:-0.01em;margin-bottom:0.35rem}
.svc-card p{font-size:0.84rem;color:var(--ink-mute);line-height:1.55}
.svc-card .svc-more{
  font-family:var(--mono);font-size:0.68rem;letter-spacing:0.05em;color:var(--accent-600);
  margin-top:0.9rem;display:flex;align-items:center;gap:0.35rem;opacity:0;transform:translateY(4px);
  transition:opacity .3s var(--ease),transform .3s var(--ease);
}
.svc-card:hover .svc-more,.svc-card:focus-visible .svc-more{opacity:1;transform:none}

/* ===== FAQ ===== */
#faq{background:var(--mist)}
.faq-list{max-width:52rem;margin-top:2.6rem;display:grid;gap:0.8rem}
.faq-item{border:1px solid var(--line);border-radius:0.9rem;background:var(--paper);overflow:hidden}
.faq-q{
  width:100%;text-align:left;border:none;background:none;cursor:pointer;font:inherit;color:var(--ink);
  padding:1.2rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  font-size:1rem;font-weight:600;letter-spacing:-0.01em;
}
.faq-q:focus-visible{outline:2px solid var(--accent-500);outline-offset:-2px}
.faq-q .chev{flex-shrink:0;width:20px;height:20px;color:var(--accent-600);transition:transform .3s var(--ease)}
.faq-item.open .faq-q .chev{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.faq-a p{padding:0 1.4rem 1.3rem;color:var(--ink-soft);font-size:0.93rem;line-height:1.7;margin:0}

/* ===== DOCTOR BIO MODAL ===== */
.modal-overlay{
  position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  padding:1.5rem;background:rgba(9,9,11,0.55);backdrop-filter:blur(6px);
  opacity:0;pointer-events:none;transition:opacity .3s var(--ease);
}
.modal-overlay.open{opacity:1;pointer-events:auto}
.modal{
  position:relative;width:100%;max-width:680px;max-height:88vh;overflow:hidden;
  background:var(--paper);border:1px solid var(--line);border-radius:1.4rem;
  box-shadow:0 40px 90px -30px rgba(9,9,11,0.5);
  display:flex;flex-direction:column;
  transform:translateY(16px) scale(0.98);transition:transform .35s var(--ease);
}
.modal-overlay.open .modal{transform:none}
.modal-head{display:flex;gap:1.3rem;padding:1.8rem 1.8rem 1.4rem;border-bottom:1px solid var(--line);align-items:center}
.modal-photo{width:96px;height:96px;flex-shrink:0;border-radius:1rem;overflow:hidden;background:var(--mist)}
.modal-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.modal-head-text h3{font-size:1.4rem;font-weight:600;letter-spacing:-0.02em;line-height:1.1}
.modal-head-text .role{font-family:var(--mono);font-size:0.74rem;color:var(--accent-600);font-weight:500;text-transform:uppercase;letter-spacing:0.04em;margin-top:0.4rem}
.modal-body{padding:1.6rem 1.8rem 1.9rem;overflow-y:auto}
.modal-body h4{font-size:0.95rem;font-weight:600;margin:1.3rem 0 0.5rem;letter-spacing:-0.01em}
.modal-body h4:first-child{margin-top:0}
.modal-body p{color:var(--ink-soft);font-size:0.93rem;line-height:1.7;margin-bottom:0.6rem}
.modal-creds{display:grid;gap:0.45rem;margin:0.4rem 0 0.6rem;padding:1rem 1.1rem;background:var(--mist);border-radius:0.8rem}
.modal-creds div{display:flex;gap:0.6rem;font-size:0.86rem;line-height:1.45}
.modal-creds b{color:var(--ink);font-weight:600;min-width:96px;flex-shrink:0}
.modal-creds span{color:var(--ink-mute)}
.modal-foot{padding:1.2rem 1.8rem;border-top:1px solid var(--line);display:flex;gap:0.8rem;flex-wrap:wrap;align-items:center}
.modal-close{
  position:absolute;top:1rem;right:1rem;z-index:3;width:34px;height:34px;border-radius:50%;
  border:1px solid var(--line);background:rgba(255,255,255,0.9);cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:var(--ink-soft);
  transition:background .2s,color .2s,transform .15s;
}
.modal-close:hover{background:var(--mist);color:var(--ink)}
.modal-close:active{transform:scale(0.92)}
.modal-close svg{width:16px;height:16px}
body.modal-open{overflow:hidden}

/* contact */
.contact-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:3rem;margin-top:2.6rem}
.contact-lines{display:grid;gap:0.85rem;margin-top:1.8rem}
.c-line{display:flex;gap:0.8rem;align-items:baseline;font-size:0.92rem}
.c-line b{font-family:var(--mono);font-size:0.66rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent-600);min-width:64px;font-weight:500}
.c-line span{color:var(--ink-soft)}
.form-card{padding:1.8rem}
form{display:grid;gap:1rem}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{font-size:0.8rem;font-weight:500;color:var(--ink-soft);display:block;margin-bottom:0.35rem}
input,select,textarea{
  width:100%;background:#fff;border:1px solid var(--line);border-radius:0.7rem;
  font-family:var(--sans);font-size:0.92rem;color:var(--ink);padding:0.7rem 0.9rem;
  outline:none;transition:border-color .2s,box-shadow .2s;
}
input:focus,select:focus,textarea:focus{border-color:var(--accent-400);box-shadow:0 0 0 3px var(--accent-100)}
input::placeholder,textarea::placeholder{color:#b9b9c0}
textarea{min-height:96px;resize:vertical}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-mute) 50%),linear-gradient(135deg,var(--ink-mute) 50%,transparent 50%);background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%;background-size:5px 5px;background-repeat:no-repeat}
.form-ok{display:none;border:1px solid var(--accent-200);background:var(--accent-50);border-radius:0.8rem;padding:1rem 1.2rem;color:var(--accent-700);font-size:0.9rem;font-weight:500}

/* final CTA */
#final{text-align:center}
#final .reveal-h{margin-inline:auto}
#final .cta-pill{margin-top:2.2rem}

/* footer */
footer{border-top:1px solid var(--line);background:rgba(255,255,255,0.7);backdrop-filter:blur(10px);padding:3.5rem 0 2rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:2.5rem}
.foot-brand p{color:var(--ink-mute);font-size:0.88rem;line-height:1.7;max-width:280px;margin-top:0.8rem}
.foot-col h4{font-family:var(--mono);font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:1rem;font-weight:500}
.foot-col a,.foot-col span{display:block;color:var(--ink-soft);font-size:0.88rem;margin-bottom:0.55rem;transition:color .2s}
.foot-col a:hover{color:var(--accent-600)}
.foot-bottom{margin-top:2.8rem;padding-top:1.4rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:0.8rem}
.foot-bottom span{font-size:0.78rem;color:var(--ink-mute)}

/* reveal-on-scroll */
.rv{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.visible{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}
  .reveal-h .rw,.rv{opacity:1;transform:none}
}

/* ============ PROCEDURE PATHWAYS (LASIK / RLE) ============ */
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:3rem}
.path-card{position:relative;overflow:hidden;padding:0;display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.path-card:hover{transform:translateY(-5px)}
.path-top{padding:2rem 2rem 0}
.path-kicker{font-family:var(--mono);font-size:0.85rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent-600);font-weight:600}
.path-card h3{font-size:1.7rem;font-weight:600;letter-spacing:-0.02em;margin-top:0.7rem;line-height:1.1}
.path-tag{font-size:1.08rem;color:var(--ink-soft);margin-top:0.55rem;font-weight:500}
.path-card p{color:var(--ink-mute);font-size:0.95rem;line-height:1.7;margin-top:0.9rem}
.path-list{margin-top:1.4rem;display:grid;gap:0.6rem;list-style:none;padding:0}
.path-list li{display:flex;gap:0.6rem;align-items:flex-start;font-size:0.92rem;color:var(--ink-soft);line-height:1.5}
.path-list svg{width:1.05rem;height:1.05rem;color:var(--accent-500);flex-shrink:0;margin-top:0.15rem;stroke:var(--accent-500)}
.path-foot{margin-top:auto;padding:1.6rem 2rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.path-price{display:flex;flex-direction:column}
.path-price b{font-size:1.35rem;font-weight:600;letter-spacing:-0.02em}
.path-price span{font-size:0.78rem;color:var(--ink-mute)}
.path-glow{position:absolute;inset:0;background:radial-gradient(120% 80% at 100% 0,var(--accent-100),transparent 60%);opacity:0;transition:opacity .35s var(--ease);pointer-events:none}
.path-card:hover .path-glow{opacity:0.7}

/* ============ LOCATIONS ============ */
.loc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:3rem}
.loc-card{overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease)}
.loc-card:hover{transform:translateY(-4px)}
.loc-map{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--mist);border-bottom:1px solid var(--line)}
.loc-map iframe{width:100%;height:100%;border:0;filter:grayscale(0.2) contrast(1.02)}
.loc-info{padding:1.4rem 1.5rem 1.6rem;text-align:center;display:flex;flex-direction:column;align-items:center}
.loc-info h3{font-size:1.05rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:0.5rem;letter-spacing:-0.01em}
.loc-info h3 svg{width:1rem;height:1rem;color:var(--accent-500);flex-shrink:0}
.loc-addr{color:var(--ink-mute);font-size:0.88rem;line-height:1.55;margin-top:0.5rem}
.loc-phone{display:inline-block;margin-top:0.6rem;font-weight:600;font-size:0.95rem;color:var(--accent-600);letter-spacing:0.01em}
.loc-phone:hover{color:var(--accent-700)}
.loc-links{margin-top:1.1rem;display:flex;gap:0.6rem;flex-wrap:wrap;justify-content:center}
.loc-btn{font-size:0.8rem;font-weight:500;padding:0.45rem 0.9rem;border-radius:999px;border:1px solid var(--line);background:#fff;transition:border-color .2s,color .2s}
.loc-btn:hover{border-color:var(--accent-300);color:var(--accent-600)}
.loc-btn.primary{background:var(--accent-50);border-color:var(--accent-200);color:var(--accent-700)}

/* candidate split */
.cand-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.6rem}
.cand-card{padding:1.8rem}
.cand-card .eyebrow{margin-bottom:0.8rem}
.cand-card h3{font-size:1.2rem;font-weight:600;margin-bottom:1rem}
.cand-list{display:grid;gap:0.6rem}
.cand-list li{display:flex;gap:0.6rem;align-items:flex-start;font-size:0.92rem;color:var(--ink-soft);line-height:1.5}
.cand-list svg{width:1.05rem;height:1.05rem;color:var(--accent-500);flex-shrink:0;margin-top:0.15rem}


@media (max-width:1024px){
  .nav-links{display:none}
  .menu-btn{display:block}
}
@media (max-width:960px){
  .contact-grid,.path-grid,.cand-grid{grid-template-columns:1fr}
  .counter-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .loc-grid{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .section{padding:4rem 0}
  .team-grid,.f-row{grid-template-columns:1fr}
  .svc-grid{grid-template-columns:1fr}
  .loc-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .modal-head{flex-direction:column;text-align:center;align-items:center}
  .modal-creds b{min-width:80px}
}

/* ============ SUBPAGE / ARTICLE STYLES ============ */
.subhero{position:relative;padding:9.5rem 0 3.5rem;border-bottom:1px solid var(--line);overflow:hidden}
.subhero::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 80% -10%,var(--accent-50),transparent 55%);pointer-events:none}
.breadcrumb{font-family:var(--mono);font-size:0.85rem;font-weight:600;letter-spacing:0.04em;color:var(--ink-mute);margin-bottom:1.2rem;display:flex;gap:0.5rem;flex-wrap:wrap;align-items:center}
.breadcrumb a{color:var(--ink-mute)}
.breadcrumb a:hover{color:var(--accent-600)}
.breadcrumb span{color:var(--accent-600)}
.subhero h1{font-size:clamp(1.7rem,4vw,3rem);font-weight:600;letter-spacing:-0.012em;line-height:1.12;max-width:20ch;text-wrap:balance}
.subhero .lede{color:var(--ink-mute);font-size:1.08rem;line-height:1.7;max-width:42rem;margin-top:1.2rem}
.subhero .hero-cta{margin-top:2rem;display:flex;gap:0.8rem;flex-wrap:wrap}

/* fade-in like the homepage title (per-word blur-in) */
.anim-title .seg{display:inline-block;white-space:pre;opacity:0;filter:blur(10px);transform:translateY(18px);animation:blurInUp 0.9s var(--ease) forwards}
.anim-fade{opacity:0;animation:fade-rise 1s var(--ease) 0.5s both}

.prose{max-width:46rem}
.prose h2{font-size:clamp(1.4rem,2.6vw,1.85rem);font-weight:600;letter-spacing:-0.01em;margin:2.6rem 0 0.9rem;line-height:1.2}
.prose h3{font-size:1.12rem;font-weight:600;margin:1.7rem 0 0.5rem;letter-spacing:-0.005em}
.prose p{color:var(--ink-soft);line-height:1.8;margin-bottom:1rem}
.prose ul{margin:0 0 1.2rem 0;display:grid;gap:0.5rem;padding:0}
.prose ul li{position:relative;list-style:none;padding-left:1.6rem;color:var(--ink-soft);line-height:1.6}
.prose ul li::before{content:"";position:absolute;left:0;top:0.55em;width:7px;height:7px;border-radius:50%;background:var(--accent-500)}
.prose strong{color:var(--ink);font-weight:600}
.prose a{color:var(--accent-600);font-weight:500;text-decoration:underline;text-underline-offset:2px}
.prose a[href^="/doctor/"]{white-space:nowrap}

/* doctor bio sub-headers (smaller, cleaner than article h2) */
.bio-h{font-size:1.06rem;font-weight:600;letter-spacing:-0.005em;margin:1.6rem 0 0.45rem;color:var(--ink)}
.bio-h:first-child{margin-top:0}

/* LASIK distance-only callout */
.callout{background:var(--accent-50);border:1px solid var(--accent-100);border-left:4px solid var(--accent-500);border-radius:0.7rem;padding:1.1rem 1.3rem;margin:1.4rem 0;color:var(--ink-soft);line-height:1.65;font-size:0.96rem}
.callout strong{color:var(--ink)}

.split{display:grid;grid-template-columns:1.3fr 0.7fr;gap:3rem;align-items:start}
.sidecard{position:sticky;top:6.5rem;padding:1.9rem 1.8rem}
.sidecard h3{font-size:1.1rem;font-weight:600;margin-bottom:0.45rem;letter-spacing:-0.01em}
.sidecard p{font-size:0.9rem;color:var(--ink-mute);line-height:1.6;margin-bottom:1.2rem}
.sidecard .cta-pill{margin-bottom:0.4rem}
.sidecard .stat{display:flex;justify-content:space-between;gap:1rem;padding:0.7rem 0;border-top:1px solid var(--line);font-size:0.9rem;line-height:1.4}
.sidecard .stat span{color:var(--ink-mute)}
.sidecard .stat b{font-weight:600;text-align:right}
.sidecard .stat:first-of-type{border-top:none;margin-top:0.4rem}
.factstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2.5rem 0}
.factstrip .glass{padding:1.5rem 1.4rem;text-align:center}
.factstrip .fnum{font-size:1.95rem;font-weight:600;letter-spacing:-0.02em;color:var(--accent-600);font-variant-numeric:tabular-nums;line-height:1.1}
.factstrip .flabel{font-size:0.82rem;color:var(--ink-mute);margin-top:0.35rem}
.doc-hero{display:grid;grid-template-columns:0.8fr 1.2fr;gap:2.5rem;align-items:center}
.doc-hero-photo{border-radius:1.2rem;overflow:hidden;aspect-ratio:1/1;background:var(--mist);max-width:340px}
.doc-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
@media (max-width:860px){.split,.doc-hero{grid-template-columns:1fr}.sidecard{position:static}.factstrip{grid-template-columns:1fr}}
