:root{
  --linen:#EDE4DA; --sage:#66A272; --evergreen:#013028; --paper:#F7F4ED; --ink:#302E2F;
  --sage-deep:#4C8159; --sage-soft:#A9CFB2; --linen-2:#E4D9CC; --green-pale:#E9F1EA;
  --ink-soft:#6A6463; --line:rgba(48,46,47,.14); --line-light:rgba(247,244,237,.18);
  --maxw:1280px; --g:clamp(20px,5vw,72px); --sec:clamp(44px,4.6vw,72px);
  --rl:26px; --r:16px; --e:cubic-bezier(.22,1,.36,1);
  --disp:'Exo 2','Exo 2 Fallback',system-ui,sans-serif; --body:'Montserrat','Montserrat Fallback',system-ui,sans-serif;
  --star-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34'%3E%3Cpath transform='translate(8.5,8.5)' d='M7.07,16.98c.28,0,.53-.19.61-.46l.82-2.9.82,2.9c.08.27.33.46.61.46h2.06c.35,0,.63-.29.63-.63v-3.74s3.74,0,3.74,0c.35,0,.63-.28.63-.63v-2.06c0-.28-.19-.53-.46-.61l-2.9-.82,2.9-.82c.27-.08.46-.33.46-.61v-2.06c0-.35-.28-.63-.63-.63h-3.74s0-3.74,0-3.74c0-.35-.28-.63-.63-.63h-2.06c-.28,0-.53.19-.61.46l-.82,2.9-.82-2.9C7.59.19,7.34,0,7.06,0h-2.06c-.35,0-.63.28-.63.63v3.74s-3.74,0-3.74,0C.28,4.38,0,4.67,0,5.01v2.06C0,7.35.19,7.6.46,7.67l2.9.82-2.9.82c-.27.08-.46.33-.46.61v2.06c0,.35.28.63.63.63h3.74v3.74c0,.35.28.63.63.63h2.06ZM5.65,15.71v-4.37s-4.38,0-4.38,0v-.94l4.39-1.25v-1.33l-4.39-1.24v-.94h4.37s0-4.38,0-4.38h.94l1.25,4.39h1.33l1.24-4.39h.94v4.37s4.38,0,4.38,0v.94s-4.39,1.25-4.39,1.25v1.33l4.39,1.24v.94h-4.37s0,4.38,0,4.38h-.94l-1.25-4.39h-1.33s-1.24,4.39-1.24,4.39h-.94Z'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;overflow-x:clip}
body{font-family:var(--body);background:var(--linen);color:var(--ink);overflow-x:hidden;overflow-x:clip;-webkit-font-smoothing:antialiased;line-height:1.6;font-weight:400}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
::selection{background:var(--sage);color:var(--evergreen)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--g)}

h1,h2,h3,.disp{font-family:var(--disp);font-weight:700;letter-spacing:-.02em;line-height:1.02;text-wrap:balance}
.eyebrow{font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-deep)}
.lead{font-size:clamp(16px,1.4vw,19px);line-height:1.6;color:var(--ink-soft)}

.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--body);font-size:15px;font-weight:600;padding:14px 26px;border-radius:100px;transition:transform .4s var(--e),background .3s,box-shadow .4s var(--e)}
.btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .4s var(--e)}
.btn:hover svg{transform:translateX(4px)}
.btn-ever{background:var(--evergreen);color:var(--paper)}
.btn-ever:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(1,48,40,.28)}
.btn-paper{background:var(--paper);color:var(--evergreen)}
.btn-paper:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.18)}
.btn-sage{background:var(--sage);color:var(--evergreen)}
.btn-sage:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(76,129,89,.3)}
.btn-outline{background:rgba(247,244,237,.06);color:var(--paper);border:1.5px solid rgba(247,244,237,.5)}
.btn-outline:hover{background:rgba(247,244,237,.18);border-color:rgba(247,244,237,.9);transform:translateY(-2px)}
.btn-line{background:transparent;color:var(--evergreen);border:1.5px solid var(--line)}
.btn-line:hover{background:rgba(1,48,40,.05);border-color:var(--evergreen);transform:translateY(-2px)}
.btn.full{width:100%;justify-content:center}
.link{font-weight:600;color:var(--sage-deep);display:inline-flex;align-items:center;gap:.4em}
.link svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .4s var(--e)}
.link:hover svg{transform:translateX(4px)}

/* logo */
.logo{display:flex;align-items:center;gap:9px}
.logo .sym{height:40px;width:auto;flex-shrink:0}
.logo .sym .md{fill:var(--evergreen)} .logo .sym .ms{fill:var(--sage)}
.logo .wmwrap{display:flex;flex-direction:column;gap:3px}
.logo .wm-svg{height:15px;width:auto} .logo .wm-svg .wm{fill:var(--evergreen)}
.logo .tag{font-size:8.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:13px var(--g);transition:padding .4s var(--e),transform .5s var(--e),opacity .4s var(--e)}
.nav.scrolled{padding:8px var(--g)}
.nav.hidden{transform:translateY(-145%);opacity:0;pointer-events:none}
.nav-in{max-width:1180px;margin:0 auto;padding:8px 10px 8px 26px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(12px,1.6vw,22px);position:relative;background:rgba(253,251,247,.55);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);border:1px solid rgba(247,244,237,.6);border-radius:100px;box-shadow:0 10px 36px rgba(1,48,40,.1);transition:background .4s var(--e),box-shadow .4s var(--e),border-radius .4s var(--e)}
.nav.scrolled .nav-in{background:rgba(253,251,247,.8);box-shadow:0 12px 40px rgba(1,48,40,.14)}
.logo{justify-self:start} .nav-links{justify-self:center} .nav-right{justify-self:end}
.navsym-link{display:none;line-height:0}
.navsym{height:30px;width:auto;display:block} .navsym .md{fill:var(--evergreen)} .navsym .ms{fill:var(--sage)}
.nav-links{display:flex;align-items:center;gap:4px;position:relative}
.nav-links a{position:relative;z-index:1;font-size:14.5px;font-weight:600;color:var(--ink);padding:9px 15px;border-radius:100px;white-space:nowrap;transition:color .25s}
.nav-links a:hover,.nav-links a.active{color:var(--evergreen)}
.nav-hl{position:absolute;left:0;top:0;height:100%;width:0;border-radius:100px;background:rgba(102,162,114,.22);box-shadow:inset 0 0 0 1px rgba(102,162,114,.18);opacity:0;pointer-events:none;z-index:0;transition:transform .38s var(--e),width .38s var(--e),opacity .25s var(--e)}
.nav-right{display:flex;align-items:center;gap:14px}
.nav-tel{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;background:var(--linen);border:1px solid rgba(48,46,47,.07);padding:11px 18px;border-radius:100px;color:var(--ink);transition:background .25s,transform .4s var(--e),box-shadow .4s var(--e)}
.nav-tel:hover{background:var(--linen-2);transform:translateY(-2px);box-shadow:0 10px 24px rgba(1,48,40,.13)}
.nav-tel svg{width:15px;height:15px;stroke:var(--sage-deep);fill:none;stroke-width:1.8}
.nav-login{font-size:14px;font-weight:600;color:var(--ink);padding:9px 13px;border-radius:100px;white-space:nowrap;transition:color .25s,background .25s}
.nav-login:hover{color:var(--evergreen);background:rgba(102,162,114,.16)}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);align-items:center;justify-content:center}
.burger svg{width:20px;height:20px;stroke:var(--ink);stroke-width:1.8;fill:none}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.hero-img{position:absolute;inset:0;z-index:0}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:60% 30%}
.hero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,48,40,.18) 0%,rgba(1,48,40,0) 26%,rgba(1,48,40,.12) 56%,rgba(1,48,40,.82) 100%)}
.hero-pat{position:absolute;inset:0;background-image:var(--pat-light);opacity:.10;z-index:1;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000,transparent 40%);mask-image:linear-gradient(180deg,#000,transparent 40%)}
.hero-in{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--g) clamp(48px,8vh,90px)}
.hero-chip{display:inline-flex;align-items:center;gap:9px;background:rgba(247,244,237,.16);border:1px solid rgba(247,244,237,.28);backdrop-filter:blur(6px);color:var(--paper);font-size:12.5px;font-weight:600;padding:8px 16px;border-radius:100px;margin-bottom:22px}
.hero-chip b{width:7px;height:7px;border-radius:50%;background:var(--sage);display:inline-block}
.hero h1{font-size:clamp(42px,7.2vw,92px);font-weight:800;color:var(--paper);max-width:15ch;margin-bottom:20px}
.hero h1 .a{color:var(--sage-soft)}
.hero p{color:rgba(247,244,237,.9);font-size:clamp(16px,1.5vw,20px);max-width:40ch;margin-bottom:30px;font-weight:500}
.hero-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap}

/* sage band: promise + stats */
.promise{background:var(--sage);color:var(--paper);position:relative;overflow:hidden}
.promise .p-pat{position:absolute;inset:0;background-image:var(--pat-light);opacity:.16;z-index:0}
.promise-in{position:relative;z-index:2;padding-top:var(--sec);padding-bottom:var(--sec);display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.promise .eyebrow{color:var(--evergreen)}
.promise h2{font-size:clamp(27px,3.4vw,44px);font-weight:700;color:var(--paper);margin:14px 0 0;max-width:20ch}
.promise p{color:rgba(247,244,237,.85);font-size:clamp(15px,1.3vw,17px);line-height:1.55;margin-top:16px;max-width:40ch}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(247,244,237,.22);border-radius:var(--r);overflow:hidden}
.stat{background:var(--sage);padding:26px 24px}
.stat .n{font-family:var(--disp);font-size:clamp(30px,3.5vw,46px);font-weight:800;color:var(--paper);line-height:1;letter-spacing:-.02em}
.stat .t{margin-top:8px;font-size:13.5px;color:rgba(247,244,237,.82);font-weight:500}
@media(max-width:820px){.promise-in{grid-template-columns:1fr;gap:36px}}

/* flagship */
.flag-sec{padding-top:var(--sec);padding-bottom:var(--sec)}
.flag{display:grid;grid-template-columns:1fr 1fr;background:var(--evergreen);border-radius:var(--rl);overflow:hidden;position:relative}
.flag-pat{position:absolute;inset:0;background-image:var(--pat-light);opacity:.07;z-index:0}
.flag-pad{padding:clamp(36px,4.5vw,64px);position:relative;z-index:2;align-self:center}
.flag .eyebrow{color:var(--sage-soft)}
.flag h2{font-size:clamp(28px,3.4vw,46px);font-weight:700;color:var(--paper);margin:16px 0 18px}
.flag p{color:rgba(247,244,237,.78);font-size:16px;max-width:42ch;margin-bottom:28px}
.flag-pts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.flag-pts span{font-size:13px;font-weight:600;color:var(--paper);background:rgba(247,244,237,.1);border:1px solid rgba(247,244,237,.16);padding:8px 15px;border-radius:100px}
.flag-img{position:relative;min-height:440px}
.flag-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:840px){.flag{grid-template-columns:1fr}.flag-img{min-height:300px;order:-1}.flag-pad .btn{width:100%;justify-content:center}}

/* specialties index */
.spec{padding-top:var(--sec);padding-bottom:var(--sec);position:relative;overflow:hidden;overflow:clip}
.spec::before{content:'';position:absolute;width:46%;max-width:560px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(102,162,114,.5),transparent 68%);filter:blur(55px);top:14%;left:-6%;z-index:0;pointer-events:none}
.spec::after{content:'';position:absolute;width:42%;max-width:520px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(1,48,40,.18),transparent 68%);filter:blur(64px);bottom:2%;right:-4%;z-index:0;pointer-events:none}
.spec-head,.spec-grid{position:relative;z-index:2}
.spec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-bottom:clamp(30px,4vw,52px)}
.spec-head h2{font-size:clamp(30px,4.4vw,60px);font-weight:800;max-width:14ch}
.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.spec-card{display:flex;flex-direction:column;gap:6px;background:rgba(247,244,237,.55);backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);border:1px solid rgba(247,244,237,.7);border-radius:18px;padding:20px 20px;box-shadow:0 6px 22px rgba(1,48,40,.05);transition:transform .4s var(--e),border-color .3s,box-shadow .4s var(--e),background .3s}
.spec-card .no,.spec-card .go{display:none}
.spec-card .nm{font-family:var(--disp);font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:0;line-height:1.14}
.spec-card .ds{font-size:13px;color:var(--ink-soft);line-height:1.5;margin:0}
.spec-card:hover{transform:translateY(-3px);border-color:rgba(102,162,114,.7);background:rgba(247,244,237,.74);box-shadow:0 14px 34px rgba(1,48,40,.11)}
@media(max-width:980px){.spec-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.spec-grid{grid-template-columns:1fr;gap:9px}.spec-card{padding:16px 18px;border-radius:16px}}

/* testimonials */
.tm{background:var(--sage);position:relative;overflow:hidden}
.tm-in{position:relative;z-index:2;padding-top:var(--sec);padding-bottom:var(--sec)}
.tm-head{margin-bottom:clamp(30px,4vw,50px)}
.tm-head h2{font-size:clamp(28px,3.8vw,50px);font-weight:800;color:var(--paper);margin-top:12px}
.tm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tm-card{background:rgba(247,244,237,.5);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);border:1px solid rgba(247,244,237,.55);border-radius:20px;padding:26px 24px;display:flex;flex-direction:column;box-shadow:0 12px 32px rgba(1,48,40,.1)}
.tm-q{font-family:var(--disp);font-size:44px;font-weight:800;color:var(--evergreen);line-height:.5;margin-bottom:10px}
.tm-card blockquote{font-size:15.5px;line-height:1.55;color:var(--ink);margin-bottom:18px;font-weight:500}
.tm-card figcaption b{display:block;font-family:var(--disp);font-size:15px;font-weight:700;color:var(--evergreen)}
.tm-card figcaption span{font-size:13px;color:var(--ink-soft)}
@media(max-width:820px){.tm-grid{grid-template-columns:1fr;gap:10px}.tm-card{padding:22px 22px}}

.hero-pat,.p-pat,.flag-pat,.cta-pat,.f-pat,.tm-pat{display:none!important}
.burger.is-star svg{fill:var(--ink);stroke:none;width:21px;height:21px}

/* feature rows */
.feat{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4.5vw,72px);align-items:center;padding:clamp(40px,5.5vw,76px) 0}
.feat.rev .feat-tx{order:2}
.feat-img{border-radius:var(--rl);overflow:hidden;aspect-ratio:4/3}
.feat-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--e)}
.feat:hover .feat-img img{transform:scale(1.04)}
.feat-tx h3{font-size:clamp(24px,3vw,40px);font-weight:700;margin:14px 0 14px}
.feat-tx p{font-size:16px;color:var(--ink-soft);max-width:42ch;margin-bottom:22px}
@media(max-width:820px){.feat{grid-template-columns:1fr;gap:24px}.feat.rev .feat-tx{order:0}}

/* highlights carousel */
.hl{padding-top:var(--sec);padding-bottom:var(--sec);overflow:hidden}
.hl-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(26px,3vw,42px)}
.hl-head h2{font-size:clamp(28px,4vw,56px);font-weight:800}
.hl-ctrl{display:flex;gap:10px;flex-shrink:0}
.hl-btn{width:48px;height:48px;border-radius:50%;border:1.4px solid var(--line);display:flex;align-items:center;justify-content:center;transition:all .35s var(--e);background:transparent}
.hl-btn svg{width:18px;height:18px;stroke:var(--ink);fill:none;stroke-width:1.8}
.hl-btn[data-dir="-1"] svg{transform:scaleX(-1)}
.hl-btn:hover{background:var(--evergreen);border-color:var(--evergreen)}
.hl-btn:hover svg{stroke:var(--paper)}
.hl-track{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:8px var(--g) 14px;padding-left:max(var(--g),calc((100% - var(--maxw))/2 + var(--g)));scroll-padding-left:max(var(--g),calc((100% - var(--maxw))/2 + var(--g)))}
.hl-track::-webkit-scrollbar{display:none}
.hl-card{position:relative;flex:0 0 auto;width:clamp(280px,32vw,420px);aspect-ratio:3/4;border-radius:var(--rl);overflow:hidden;scroll-snap-align:start;background:var(--evergreen)}
.hl-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%;transition:transform 1s var(--e)}
.hl-card:hover img{transform:scale(1.05)}
.hl-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,48,40,.72) 0%,rgba(1,48,40,.18) 36%,rgba(1,48,40,0) 62%)}
.hl-cap{position:absolute;top:0;left:0;right:0;z-index:2;padding:26px 24px}
.hl-cap .eyebrow{color:var(--sage-soft)}
.hl-cap h3{color:var(--paper);font-size:clamp(19px,1.5vw,25px);font-weight:700;line-height:1.14;margin-top:9px;max-width:15ch}
@media(max-width:600px){.hl-card{width:80vw}}

/* now open band */
.band{background:var(--evergreen);position:relative;overflow:hidden;text-align:center}
.band .b-pat{position:absolute;inset:0;background-image:var(--pat-light);opacity:.12;z-index:0}
.band-in{position:relative;z-index:2;padding:clamp(70px,10vw,140px) 0}
.band h2{font-size:clamp(38px,6.5vw,96px);font-weight:800;color:var(--paper);line-height:.98;margin-bottom:20px}
.band h2 .a{color:var(--sage-soft)}
.band p{color:rgba(247,244,237,.78);font-size:clamp(16px,1.6vw,20px);max-width:42ch;margin:0 auto 30px}

/* doctors */
.docs{padding-top:var(--sec);padding-bottom:var(--sec)}
.docs-head{margin-bottom:clamp(34px,4vw,52px)}
.docs-head h2{font-size:clamp(28px,4vw,54px);font-weight:800;max-width:16ch;margin-top:14px}
.docs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:880px){.docs-grid{grid-template-columns:repeat(2,1fr)}}
.doc-ph{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;margin-bottom:14px;background:var(--linen-2)}
.doc-ph img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .9s var(--e)}
.doc:hover .doc-ph img{transform:scale(1.05)}
.doc h4{font-family:var(--disp);font-size:18px;font-weight:700}
.doc .role{font-size:13px;color:var(--sage-deep);font-weight:600;margin-top:3px}

/* cta */
.cta-sec{padding-bottom:var(--sec)}
.cta{position:relative;border-radius:var(--rl);overflow:hidden;min-height:520px;display:flex;align-items:center}
.cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%}
.cta::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,48,40,.9),rgba(1,48,40,.6) 55%,rgba(1,48,40,.25))}
.cta-pat{position:absolute;inset:0;background-image:var(--pat-light);opacity:.08;z-index:1}
.cta-in{position:relative;z-index:2;padding:clamp(38px,5vw,80px);max-width:54ch}
.cta h2{font-size:clamp(28px,4vw,54px);font-weight:800;color:var(--paper);margin:14px 0 16px}
.cta p{color:rgba(247,244,237,.82);font-size:17px;max-width:38ch;margin-bottom:28px}

/* footer */
.foot{background:var(--evergreen);color:rgba(247,244,237,.66);position:relative;overflow:hidden}
.foot .f-pat{position:absolute;inset:0;background-image:var(--pat-light);opacity:.06;z-index:0}
.foot-in{position:relative;z-index:2;padding-top:clamp(56px,7vw,92px);padding-bottom:36px}
.foot .logo .sym .md{fill:var(--paper)} .foot .logo .sym .ms{fill:var(--sage)}
.foot .logo .wm-svg .wm{fill:var(--paper)} .foot .logo .tag{color:rgba(247,244,237,.5)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:30px;padding-bottom:40px;border-bottom:1px solid rgba(247,244,237,.14)}
.foot h5{font-family:var(--body);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-soft);margin-bottom:12px;font-weight:700}
.foot-col a,.foot-col p{display:block;font-size:13.5px;line-height:1.38;color:rgba(247,244,237,.72);margin-bottom:6px;transition:color .25s}
.foot-col a:hover{color:var(--paper)}
.foot-blurb{font-size:13.5px;line-height:1.5;color:rgba(247,244,237,.58);max-width:32ch;margin-top:14px}
.foot-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;font-size:12px;color:rgba(247,244,237,.45)}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;gap:28px 30px}.foot-col:first-child{grid-column:1/-1}}
@media(max-width:430px){.foot-grid{gap:22px}}

/* reveal + mobile */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--e),transform .9s var(--e)}
.rv.in{opacity:1;transform:none}
.rv-1{transition-delay:.08s}.rv-2{transition-delay:.16s}.rv-3{transition-delay:.24s}
.msheet{position:fixed;inset:0;z-index:200;background:var(--linen);transform:translateY(-100%);transition:transform .5s var(--e);display:flex;flex-direction:column;padding:18px var(--g)}
.msheet.open{transform:none}
.msheet-top{display:flex;justify-content:space-between;align-items:center}
.msheet-x{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.msheet-x svg{width:20px;height:20px;stroke:var(--ink);stroke-width:1.8;fill:none}
.msheet nav{margin:auto 0;display:flex;flex-direction:column;gap:4px}
.msheet nav a{font-family:var(--disp);font-size:34px;font-weight:700;color:var(--evergreen);padding:8px 0}
.t-short{display:none}
.nav-tel,.nav-right .btn{white-space:nowrap}
@media(min-width:961px) and (max-width:1299px){
  .nav-in{padding:8px 10px 8px 22px}
  .nav-links a{padding:9px 10px;font-size:14px}
  .nav-right{gap:9px}
  .nav-tel{padding:11px 14px}
  .nav-login{padding:9px 10px}
  .t-full{display:none} .t-short{display:inline}
}
@media(max-width:960px){
  .nav-in{display:flex;flex-wrap:wrap;justify-content:center;gap:0;padding:13px 16px;border-radius:26px}
  .logo{display:none}
  .navsym-link{display:block}
  .nav-in{align-content:flex-start}
  .navsym-link{margin:2px 0}
  .burger{display:flex;position:absolute;right:14px;top:14px;width:42px;height:42px}
  .nav-in:not(.open) .burger{top:50%;transform:translateY(-50%)}
  .nav-links,.nav-right{flex-basis:100%;display:flex;flex-direction:column;align-items:stretch;max-height:0;opacity:0;overflow:hidden;transition:max-height .45s var(--e),opacity .3s var(--e),margin .45s var(--e)}
  .nav-links a{text-align:center;font-size:17px;font-weight:600;padding:13px;border-radius:14px}
  .nav-hl{display:none}
  .nav-links a.active,.nav-links a:hover{background:rgba(102,162,114,.16)}
  .nav-right{gap:10px}
  .nav-right .nav-tel,.nav-right .btn{width:100%;justify-content:center}
  .nav-right .nav-login{width:100%;text-align:center;padding:13px;font-size:16px}
  .nav-in.open .nav-links{max-height:340px;opacity:1;margin-top:14px}
  .nav-in.open .nav-right{max-height:220px;opacity:1;margin-top:8px;padding-bottom:4px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

/* ============================================================
   INNER PAGES
   ============================================================ */
.phero{position:relative;padding:clamp(118px,17vh,178px) 0 clamp(40px,6vw,80px);overflow:hidden}
.phero .eyebrow{display:block}
.phero h1{font-size:clamp(38px,6.4vw,84px);font-weight:800;letter-spacing:-.03em;line-height:1.0;max-width:17ch;margin:14px 0 0}
.phero p{font-size:clamp(16px,1.5vw,20px);color:var(--ink-soft);max-width:52ch;margin-top:20px}
.phero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}
.phero.sage,.phero.ever{color:var(--paper)}
.phero.sage{background:var(--sage)} .phero.ever{background:var(--evergreen)}
.phero.sage h1,.phero.ever h1{color:var(--paper)}
.phero.sage p,.phero.ever p{color:rgba(247,244,237,.85)}
.phero.sage .eyebrow{color:var(--evergreen)} .phero.ever .eyebrow{color:var(--sage-soft)}
/* image page-hero */
.phero-img{position:relative;min-height:clamp(380px,56vh,560px);display:flex;align-items:flex-end;overflow:hidden;color:var(--paper)}
.phero-img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,48,40,.32),rgba(1,48,40,0) 36%,rgba(1,48,40,.78))}
.phero-img .wrap{position:relative;z-index:2;width:100%;padding-top:118px;padding-bottom:clamp(36px,5vw,64px)}
.phero-img h1{color:var(--paper)} .phero-img p{color:rgba(247,244,237,.88)} .phero-img .eyebrow{color:var(--sage-soft)}

.section{padding-top:var(--sec);padding-bottom:var(--sec)}
.section.alt{background:var(--paper)}
.section.sage{background:var(--sage);color:var(--paper)}
.section.ever{background:var(--evergreen);color:var(--paper)}
.section-head{max-width:64ch;margin-bottom:clamp(26px,3.4vw,46px)}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head h2{font-size:clamp(28px,4vw,52px);font-weight:800;letter-spacing:-.025em;margin-top:12px}
.section-head p{margin-top:14px;font-size:clamp(16px,1.4vw,19px);color:var(--ink-soft)}
.section.sage .section-head p,.section.ever .section-head p{color:rgba(247,244,237,.82)}
.section.sage h2,.section.ever h2{color:var(--paper)}
.section.sage .eyebrow{color:var(--evergreen)} .section.ever .eyebrow{color:var(--sage-soft)}

/* generic card grid */
.cards{display:grid;gap:16px}
.cards.c2{grid-template-columns:repeat(2,1fr)}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.cards.c4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.cards.c4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.cards.c3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cards.c2,.cards.c3,.cards.c4{grid-template-columns:1fr}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:28px 26px;transition:transform .4s var(--e),box-shadow .4s var(--e),border-color .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(1,48,40,.1);border-color:rgba(102,162,114,.5)}
.card .ic{width:48px;height:48px;border-radius:13px;background:var(--green-pale);display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--evergreen)}
.card .ic svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7}
.card h3{font-size:20px;font-weight:700;letter-spacing:-.01em;margin-bottom:8px}
.card p{font-size:14px;color:var(--ink-soft);line-height:1.55}
.card .no{font-size:13px;font-weight:700;color:var(--sage-deep)}

/* checklist */
.checks{display:grid;gap:12px}
.checks li{display:flex;gap:13px;align-items:flex-start;list-style:none}
.checks li svg{width:22px;height:22px;flex-shrink:0;margin-top:1px;stroke:var(--sage-deep);fill:none;stroke-width:1.8}
.checks li b{display:block;font-size:15px;font-weight:600;color:var(--ink)}
.checks li span{font-size:13.5px;color:var(--ink-soft);line-height:1.5}
.section.ever .checks li b{color:var(--paper)} .section.ever .checks li span{color:rgba(247,244,237,.65)} .section.ever .checks li svg{stroke:var(--sage-soft)}

.detail{scroll-margin-top:96px}

/* contact info grid */
.info{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:760px){.info{grid-template-columns:1fr}}
.info .i{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:26px 24px}
.info .i .ic{width:44px;height:44px;border-radius:12px;background:var(--green-pale);display:flex;align-items:center;justify-content:center;color:var(--evergreen);margin-bottom:14px}
.info .i .ic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7}
.info .i h4{font-family:var(--disp);font-size:17px;font-weight:700;margin-bottom:7px}
.info .i p,.info .i a{display:block;font-size:14.5px;color:var(--ink-soft);line-height:1.6}
.info .i a:hover{color:var(--evergreen)}

/* form */
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .full{grid-column:1/-1}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:var(--ink)}
.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:15px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);transition:border-color .25s,box-shadow .25s}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px rgba(102,162,114,.18)}
@media(max-width:620px){.form{grid-template-columns:1fr}}

/* split (image + text) — reuses .feat but allow image right by default */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,68px);align-items:center}
.split.rev .split-tx{order:2}
.split-img{border-radius:var(--rl);overflow:hidden;aspect-ratio:4/3}
.split-img img{width:100%;height:100%;object-fit:cover}
.split-tx h2{font-size:clamp(26px,3.4vw,44px);font-weight:800;letter-spacing:-.02em;margin:12px 0 14px}
.split-tx p{font-size:16px;color:var(--ink-soft);line-height:1.62;margin-bottom:18px}
@media(max-width:840px){.split{grid-template-columns:1fr;gap:24px}.split.rev .split-tx{order:0}}

/* big editorial statement */
.statement{font-size:clamp(26px,3.6vw,48px);font-weight:700;letter-spacing:-.02em;line-height:1.2;max-width:20ch}
.statement em{font-style:normal;color:var(--ink-soft)}
.section.ever .statement em,.section.sage .statement em{color:rgba(247,244,237,.6)}

/* ============================================================
   IA EXTRAS: FAQ · article cards · chips · auth · profile
   ============================================================ */
.faq{max-width:780px}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:18px;font-family:var(--disp);font-size:clamp(16px,1.6vw,19px);font-weight:700;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pl{width:22px;height:22px;flex-shrink:0;position:relative}
.faq summary .pl::before,.faq summary .pl::after{content:'';position:absolute;background:var(--sage-deep);border-radius:2px}
.faq summary .pl::before{top:10px;left:1px;right:1px;height:2px}
.faq summary .pl::after{left:10px;top:1px;bottom:1px;width:2px;transition:transform .3s var(--e)}
.faq details[open] summary{color:var(--evergreen)}
.faq details[open] summary .pl::after{transform:scaleY(0)}
.faq .ans{padding:0 0 22px;font-size:15px;line-height:1.62;color:var(--ink-soft);max-width:66ch}

.acard{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .4s var(--e),box-shadow .4s var(--e)}
.acard:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(1,48,40,.1)}
.acard .ph{aspect-ratio:16/10;overflow:hidden;background:var(--linen-2)}
.acard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--e)}
.acard:hover .ph img{transform:scale(1.05)}
.acard .bd{padding:20px 22px 24px}
.acard .tag{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sage-deep)}
.acard h3{font-size:19px;font-weight:700;letter-spacing:-.01em;margin:10px 0 8px;line-height:1.18}
.acard p{font-size:14px;color:var(--ink-soft);line-height:1.55}

.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(24px,3vw,38px)}
.chip{font-size:13.5px;font-weight:600;padding:9px 17px;border-radius:100px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;transition:all .25s}
.chip:hover{border-color:var(--sage)}
.chip.on{background:var(--evergreen);color:var(--paper);border-color:var(--evergreen)}

.auth{max-width:440px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:clamp(28px,4vw,42px);box-shadow:0 18px 50px rgba(1,48,40,.08)}
.auth h2{font-size:26px;font-weight:800;margin-bottom:8px}
.auth .sub{font-size:14.5px;color:var(--ink-soft);margin-bottom:24px}
.auth .form{grid-template-columns:1fr}

.profile-hero{display:grid;grid-template-columns:300px 1fr;gap:clamp(28px,4vw,56px);align-items:start}
.profile-hero .ph{border-radius:var(--rl);overflow:hidden;aspect-ratio:4/5;background:var(--linen-2)}
.profile-hero .ph img{width:100%;height:100%;object-fit:cover;object-position:top center}
@media(max-width:720px){.profile-hero{grid-template-columns:1fr}.profile-hero .ph{max-width:280px}}
.doc{transition:transform .4s var(--e)}

/* ============================================================
   TRUST BAR (compact frosted accreditation strip)
   ============================================================ */
.trustbar{display:grid;grid-template-columns:repeat(4,1fr);background:rgba(247,244,237,.55);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid rgba(247,244,237,.6);border-radius:20px;overflow:hidden;box-shadow:0 12px 36px rgba(1,48,40,.1)}
.trustbar .ti{padding:26px 24px;display:flex;flex-direction:column;gap:12px;border-left:1px solid rgba(1,48,40,.09)}
.trustbar .ti:first-child{border-left:none}
.trustbar .ic{width:42px;height:42px;border-radius:12px;background:var(--green-pale);display:flex;align-items:center;justify-content:center;color:var(--evergreen)}
.trustbar .ic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.trustbar b{font-family:var(--disp);font-size:15px;font-weight:700;color:var(--ink);line-height:1.18}
.trustbar small{font-size:12.5px;color:var(--ink-soft);line-height:1.42;font-weight:400}
@media(max-width:780px){.trustbar{grid-template-columns:1fr 1fr}.trustbar .ti:nth-child(odd){border-left:none}.trustbar .ti:nth-child(n+3){border-top:1px solid rgba(1,48,40,.09)}}
@media(max-width:440px){.trustbar{grid-template-columns:1fr}.trustbar .ti{border-left:none!important;border-top:1px solid rgba(1,48,40,.09)}.trustbar .ti:first-child{border-top:none}}

/* centered statement band */
.statement-band{text-align:center;display:flex;justify-content:center}
.statement-band .statement{max-width:24ch;margin:0 auto;text-wrap:balance}
.statement{text-wrap:balance}

/* ============================================================
   HERO ENTRANCE — staggered fade-up (Framer-Motion-style) + glass badge
   ============================================================ */
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(247,244,237,.14);border:1px solid rgba(247,244,237,.32);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--paper);font-size:13px;font-weight:600;letter-spacing:.01em;padding:8px 16px 8px 14px;border-radius:100px;margin-bottom:22px}
.hero-badge svg{width:15px;height:15px;fill:var(--sage-soft);flex-shrink:0}
@keyframes heroUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.hero-in>*{opacity:0;animation:heroUp .6s var(--e) both}
.hero-in>:nth-child(1){animation-delay:.10s}
.hero-in>:nth-child(2){animation-delay:.25s}
.hero-in>:nth-child(3){animation-delay:.40s}
.hero-in>:nth-child(4){animation-delay:.55s}
@media(prefers-reduced-motion:reduce){.hero-in>*{opacity:1;transform:none;animation:none}}

/* ============================================================
   BUTTON MOTION — brand gradient sheen sweep + pulse glow ring.
   Plays on hover only → static at rest, crisp fade-out. Applies to
   EVERY .btn variant AND the nav Call pill (.nav-tel). No markup change.
   ============================================================ */
.btn,.nav-tel{position:relative;transition:transform .35s var(--e),box-shadow .28s var(--e),background .25s var(--e),border-color .25s var(--e)}
.btn       {--sheen:rgba(247,244,237,.5);--btn-drop:0 12px 26px rgba(1,48,40,.22);--pulse:102,162,114}
.btn-ever  {--sheen:rgba(169,207,178,.55);--btn-drop:0 12px 28px rgba(1,48,40,.30);--pulse:102,162,114}
.btn-sage  {--sheen:rgba(247,244,237,.62);--btn-drop:0 12px 28px rgba(76,129,89,.34);--pulse:169,207,178}
.btn-paper {--sheen:rgba(102,162,114,.40);--btn-drop:0 12px 28px rgba(0,0,0,.20);--pulse:169,207,178}
.btn-line  {--sheen:rgba(102,162,114,.32);--btn-drop:0 10px 24px rgba(1,48,40,.16);--pulse:102,162,114}
.btn-outline{--sheen:rgba(247,244,237,.5);--btn-drop:0 10px 24px rgba(1,48,40,.22);--pulse:169,207,178}
.nav-tel   {--sheen:rgba(102,162,114,.28);--btn-drop:0 10px 24px rgba(1,48,40,.14);--pulse:102,162,114}
/* moving reflection — a soft light band that sweeps across the pill */
.btn::before,.nav-tel::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
  background:linear-gradient(110deg,transparent 32%,var(--sheen) 47%,var(--sheen) 53%,transparent 68%);
  background-size:220% 100%;background-position:160% 0;
  transition:opacity .25s var(--e);
}
.btn:hover::before,.nav-tel:hover::before{opacity:1;animation:btn-sheen 1.7s linear infinite}
@keyframes btn-sheen{from{background-position:160% 0}to{background-position:-60% 0}}
/* pulsing glow ring — keeps the lift drop-shadow underneath */
.btn:hover,.nav-tel:hover{animation:btn-pulse 1.6s var(--e) infinite}
@keyframes btn-pulse{
  0%{box-shadow:var(--btn-drop),0 0 0 0 rgba(var(--pulse),.5)}
  70%{box-shadow:var(--btn-drop),0 0 0 13px rgba(var(--pulse),0)}
  100%{box-shadow:var(--btn-drop),0 0 0 0 rgba(var(--pulse),0)}
}
@media(prefers-reduced-motion:reduce){
  .btn:hover::before,.nav-tel:hover::before{animation:none;opacity:.45}
  .btn:hover,.nav-tel:hover{animation:none}
}

/* ============================================================
   3D POINTER-TILT — cards + photo blocks. JS lives in script.html.
   .rv reveal timing (.9s) preserved via :not(.rv) / .rv.in scoping.
   ============================================================ */
.card,.spec-card,.acard,.tm-card,.doc,.hl-card,.split-img,.flag-img,.cta,.info > .i,.profile-hero .ph{transform-origin:center center;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.hl-card,.flag-img,
.tm-card:not(.rv),.split-img:not(.rv),.cta:not(.rv),.info > .i:not(.rv),.profile-hero .ph:not(.rv),
.tm-card.rv.in,.split-img.rv.in,.cta.rv.in,.info > .i.rv.in,.profile-hero .ph.rv.in{transition:transform .4s var(--e)}
.card.tilting,.spec-card.tilting,.acard.tilting,.tm-card.tilting,.doc.tilting,.hl-card.tilting,.split-img.tilting,.flag-img.tilting,.cta.tilting,.info > .i.tilting,.profile-hero .ph.tilting{transition:none;will-change:transform}
@media(prefers-reduced-motion:reduce){
  .card,.spec-card,.acard,.tm-card,.doc,.hl-card,.split-img,.flag-img,.cta,.info > .i,.profile-hero .ph{transform:none!important}
}

/* ============================================================
   BOOKING CONTEXT BANNER — pre-selected doctor on visit.html#book
   ============================================================ */
.bk-context{display:flex;align-items:center;gap:14px;background:var(--green-pale);border:1px solid rgba(102,162,114,.32);border-radius:14px;padding:12px 16px}
.bk-context .bk-c-img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:top center;flex-shrink:0;background:var(--linen-2);border:2px solid var(--paper)}
.bk-context .bk-c-tx{line-height:1.32}
.bk-context .bk-c-lead{display:block;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sage-deep)}
.bk-context b{font-family:var(--disp);font-size:17px;font-weight:700;color:var(--evergreen)}
.bk-context .bk-c-dept{color:var(--ink-soft);font-weight:500}

/* ============================================================
   FOOTER SOCIAL ICONS (CMS-managed links)
   ============================================================ */
.foot-social{display:flex;gap:10px;margin-top:18px}
.foot-social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(247,244,237,.28);display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s,transform .3s var(--e)}
.foot-social a:hover{background:var(--sage);border-color:var(--sage);transform:translateY(-2px)}
.foot-social svg{width:17px;height:17px;stroke:rgba(247,244,237,.85);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.foot-social a:hover svg{stroke:var(--evergreen)}
