/* Shared styles for Pivot marketing pages: home + services/doctors/insurance/visit */
:root{
  --ink:#11261c;--ink-soft:#3f5249;--muted:#6b7d73;
  --paper:#f7f4ec;--paper-2:#efeadd;--cream:#fdf8e9;
  --navy:#0a2540;--navy-2:#0e2e4d;--navy-deep:#06182b;
  --emerald:#0bbf8f;--emerald-bright:#16d7a3;--emerald-deep:#0a8c6a;
  --line:#e3ddcd;--white:#fff;
  --serif:'Fraunces',Georgia,serif;--sans:'Rethink Sans',system-ui,-apple-system,Arial,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);--maxw:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04;letter-spacing:-.018em;margin:0;color:var(--navy)}
a{color:var(--emerald-deep);text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.eyebrow{font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:var(--emerald-deep);display:inline-flex;align-items:center;gap:9px}
.eyebrow::before{content:"";width:22px;height:1.5px;background:var(--emerald)}
section{padding:120px 0;position:relative}
body::before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.025;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--sans);font-weight:700;font-size:15px;padding:16px 30px;border-radius:100px;border:1.5px solid transparent;cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s,color .3s}
.btn .ar{transition:transform .35s var(--ease)}.btn:hover .ar{transform:translateX(5px)}
.btn-em{background:var(--emerald);color:var(--navy-deep);box-shadow:0 10px 30px -12px rgba(11,191,143,.8)}
.btn-em:hover{transform:translateY(-2px);box-shadow:0 18px 40px -14px rgba(11,191,143,.9)}
.btn-out{border-color:rgba(255,255,255,.4);color:#fff}.btn-out:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-2);transform:translateY(-2px)}

.reveal{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* nav */
.nav{position:sticky;top:0;z-index:100;background:rgba(247,244,236,.9);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .4s,background .4s}
.nav.scr{border-color:var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:78px;gap:20px}
.nav-brand{flex:none;position:relative;isolation:isolate}
.nav-brand img{height:42px;display:block}
.nav-brand::before{content:"";position:absolute;left:3px;top:50%;width:42px;height:42px;border-radius:50%;transform:translateY(-50%);background:radial-gradient(circle,rgba(226,188,80,.65),rgba(226,188,80,0) 68%);z-index:-1;pointer-events:none;animation:logoGlow 3.4s ease-in-out infinite}
@keyframes logoGlow{0%,100%{opacity:.45;transform:translateY(-50%) scale(.85)}50%{opacity:1;transform:translateY(-50%) scale(1.5)}}
@media(prefers-reduced-motion:reduce){.nav-brand::before{animation:none}}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{color:var(--ink-soft);font-weight:600;font-size:14px;transition:color .2s;white-space:nowrap}
.nav-links a:hover{color:var(--navy)}.nav-links a.on{color:var(--navy)}
.nav-ph{color:var(--navy)!important;font-weight:700}
.nav-cta{padding:10px 22px;font-size:13.5px;justify-content:center;text-align:center}
.nav-cta.btn-em{box-shadow:none}
.nav-portal{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--navy);font-weight:700;font-size:13.5px;border:1.5px solid var(--line);padding:9px 15px;border-radius:100px;transition:border-color .2s,background .2s;white-space:nowrap}
.nav-portal:hover{border-color:var(--emerald);background:rgba(11,191,143,.06)}
.nav-portal svg{width:16px;height:16px;stroke:var(--emerald-deep);fill:none;stroke-width:2}
.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1.5px solid var(--line);border-radius:10px;background:rgba(255,255,255,.55);cursor:pointer;flex:none}
.nav-toggle svg{width:22px;height:22px;stroke:var(--navy);stroke-width:2;fill:none}

/* page header (sub-pages) */
.pagehead{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding:116px 0 66px}
.pagehead.pagehead--tall{padding:200px 0 116px}
.pagehead-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;animation:phKenburns 26s ease-in-out infinite alternate;will-change:transform}
.pagehead-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(6,24,43,.92),rgba(10,37,64,.7) 55%,rgba(10,37,64,.42))}
@keyframes phKenburns{0%{transform:scale(1.14) translateX(3.5%)}100%{transform:scale(1.14) translateX(-3.5%)}}
.pagehead::after{content:"";position:absolute;inset:0;background:radial-gradient(circle 440px at 100% 0%,rgba(11,191,143,.22),transparent 54%);z-index:1;pointer-events:none}
.pagehead .wrap{position:relative;z-index:2}
@media(prefers-reduced-motion:reduce){.pagehead-bg{animation:none}}
.pagehead .eyebrow{color:var(--emerald-bright)}.pagehead .eyebrow::before{background:var(--emerald-bright)}
.pagehead h1{color:#fff;font-size:clamp(2.4rem,5vw,3.8rem);margin:18px 0 14px;max-width:20ch}
.pagehead p{color:rgba(255,255,255,.82);max-width:60ch;font-size:1.16rem;line-height:1.55}

/* hero */
.hero{min-height:62vh;display:flex;align-items:center;position:relative;background:var(--navy);overflow:hidden;padding:90px 0 132px}
.hero-bg{position:absolute;inset:0;background-image:linear-gradient(105deg,rgba(6,24,43,.95) 0%,rgba(10,37,64,.82) 40%,rgba(10,37,64,.35) 100%),url('/images/hero.jpg');background-size:cover;background-position:center 32%;animation:slowzoom 24s ease-out forwards}
@keyframes slowzoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.hero-glow{position:absolute;right:-12%;top:-10%;width:55%;height:70%;background:radial-gradient(circle,rgba(11,191,143,.28),transparent 62%);filter:blur(20px)}
.hero-in{position:relative;z-index:2;color:#fff;max-width:760px}
.hero .eyebrow{color:var(--emerald-bright)}.hero .eyebrow::before{background:var(--emerald-bright)}
.hero-pulse{width:7px;height:7px;border-radius:50%;background:var(--emerald-bright);box-shadow:0 0 0 0 rgba(22,215,163,.6);animation:pulse 2.4s infinite;margin-right:2px}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(22,215,163,.6)}70%{box-shadow:0 0 0 10px rgba(22,215,163,0)}100%{box-shadow:0 0 0 0 rgba(22,215,163,0)}}
.hero h1{color:#fff;font-size:clamp(3rem,6.6vw,5.6rem);margin:26px 0 24px;letter-spacing:-.03em}
.hero h1 em{font-style:italic;font-weight:400;color:var(--emerald-bright)}
.hero p{font-size:clamp(1.08rem,1.7vw,1.32rem);color:rgba(255,255,255,.86);max-width:500px;margin:0 0 38px;line-height:1.55}
.hero-act{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.hero-act .call{color:#fff;font-weight:700;display:inline-flex;align-items:center;gap:8px}.hero-act .call:hover{color:var(--emerald-bright)}
.hero-strip{position:absolute;left:0;right:0;bottom:0;z-index:2;border-top:1px solid rgba(255,255,255,.12);background:rgba(6,24,43,.5);backdrop-filter:blur(8px)}
.hero-strip-in{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.hero-strip .s{padding:24px 0;display:flex;gap:13px;align-items:center;border-left:1px solid rgba(255,255,255,.1);padding-left:30px}
.hero-strip .s:first-child{border-left:none;padding-left:0}
.hero-strip .s svg{width:22px;height:22px;stroke:var(--emerald-bright);fill:none;stroke-width:2;flex:none}
.hero-strip b{display:block;color:#fff;font-size:.96rem;font-weight:700}
.hero-strip span{color:rgba(255,255,255,.6);font-size:.8rem}

/* approach — editorial split */
.approach{background:var(--paper)}
.approach-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:90px;align-items:center}
.approach h2{font-size:clamp(2.2rem,4.2vw,3.4rem);margin:24px 0 26px}
.approach .lede{font-size:1.22rem;color:var(--ink-soft);line-height:1.65;max-width:46ch}
.approach-fig{position:relative}
.approach-fig::before{content:"";position:absolute;inset:26px 26px -26px -26px;border-radius:190px 190px 150px 150px;background:linear-gradient(150deg,var(--emerald-bright),var(--emerald-deep) 50%,var(--navy));z-index:0}
.approach-fig img{position:relative;z-index:1;width:100%;height:560px;object-fit:cover;object-position:35% 25%;border-radius:190px 190px 150px 150px;box-shadow:0 40px 80px -44px rgba(10,37,64,.55)}
.vals{margin-top:42px;display:grid;gap:0}
.vals .v{padding:22px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:baseline}
.vals .v .n{font-family:var(--serif);font-size:1.1rem;color:var(--emerald-deep)}
.vals .v h4{font-family:var(--serif);font-weight:500;font-size:1.3rem;color:var(--navy);margin:0 0 4px}
.vals .v p{margin:0;color:var(--ink-soft);font-size:.98rem}

/* services */
.services{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.services::after{content:"";position:absolute;left:-10%;bottom:-20%;width:50%;height:60%;background:radial-gradient(circle,rgba(11,191,143,.16),transparent 60%)}
.services .eyebrow{color:var(--emerald-bright)}.services .eyebrow::before{background:var(--emerald-bright)}
.services h2{color:#fff;font-size:clamp(2.2rem,4.2vw,3.4rem);margin:22px 0 0;max-width:16ch}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:52px;position:relative;z-index:1}
.svc{padding:22px 22px 24px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.04);transition:transform .3s var(--ease),border-color .3s,background .3s}
.svc:hover{transform:translateY(-3px);border-color:rgba(22,215,163,.45);background:rgba(255,255,255,.07)}
.svc .n{font-family:var(--serif);font-size:.85rem;color:var(--emerald-bright);letter-spacing:.05em}
.svc h3{color:#fff;font-size:1.12rem;font-weight:500;margin:7px 0 6px}
.svc p{color:rgba(255,255,255,.66);font-size:.875rem;margin:0;line-height:1.5}
/* services — light variant (sub-page) */
.svc-light{background:var(--paper)}
.svc-light::after{display:none}
.svc-light .eyebrow{color:var(--emerald-deep)}.svc-light .eyebrow::before{background:var(--emerald)}
.svc-light h2{color:var(--navy)}
.svc-light .svc{background:var(--white);border:1px solid var(--line);box-shadow:0 18px 40px -34px rgba(10,37,64,.26)}
.svc-light .svc:hover{border-color:rgba(11,191,143,.5)}
.svc-light .svc .n{color:var(--emerald-deep)}
.svc-light .svc h3{color:var(--navy)}
.svc-light .svc p{color:var(--ink-soft)}
.svc .ic{width:46px;height:46px;border-radius:12px;background:rgba(11,191,143,.12);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.svc .ic svg{width:24px;height:24px;stroke:var(--emerald-deep);fill:none;stroke-width:1.9}
.svc-incl{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:7px}
.svc-incl li{position:relative;padding-left:17px;color:var(--ink-soft);font-size:.86rem;line-height:1.4}
.svc-incl li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--emerald)}
/* services page — specialist referral network */
.refer{position:relative;isolation:isolate;background:var(--navy);overflow:hidden}
.refer::before{content:"";position:absolute;inset:0;z-index:-2;background:url('/images/black-dr-computer.jpg') center 16%/cover}
.refer::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(6,24,43,.93) 0%,rgba(6,24,43,.85) 35%,rgba(6,24,43,.6) 72%,rgba(6,24,43,.48) 100%)}
.refer .eyebrow{color:var(--emerald-bright)}.refer .eyebrow::before{background:var(--emerald-bright)}
.refer h2{font-size:clamp(2rem,4vw,3rem);margin:20px 0 0;max-width:22ch;color:#fff}
.refer .lede{font-size:1.15rem;color:rgba(255,255,255,.85);line-height:1.65;max-width:66ch;margin:22px 0 0}
.refer-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.refer-grid span{background:var(--white);border:1px solid var(--line);border-radius:100px;padding:11px 18px;font-size:.95rem;color:var(--navy);font-weight:600;box-shadow:0 12px 28px -24px rgba(10,37,64,.35);transition:transform .25s var(--ease),border-color .25s}
.refer-grid span:hover{transform:translateY(-2px);border-color:rgba(11,191,143,.5)}
@media(max-width:760px){.refer::after{background:rgba(6,24,43,.84)}.refer-grid{gap:7px;justify-content:center;margin-top:30px}.refer-grid span{padding:7px 13px;font-size:.8rem;box-shadow:none;font-weight:500}}

/* team */
.team{background:var(--paper-2)}
.team h2{font-size:clamp(2.2rem,4.2vw,3.4rem);margin:22px 0 14px}
.team .lede{font-size:1.18rem;color:var(--ink-soft);max-width:50ch}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:56px}
.prov{display:grid;grid-template-columns:150px 1fr;gap:30px;align-items:center;background:var(--white);border-radius:6px;padding:30px;box-shadow:0 24px 50px -34px rgba(10,37,64,.3)}
.prov .ph{width:150px;height:184px;border-radius:4px;overflow:hidden;background:linear-gradient(160deg,var(--navy),var(--emerald-deep));display:grid;place-items:center;color:rgba(255,255,255,.5);font-size:.7rem;text-align:center;padding:8px}
.prov .ph img{width:100%;height:100%;object-fit:cover}
.prov h3{font-size:1.5rem;font-weight:500}
.prov .cred{color:var(--emerald-deep);font-weight:700;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;margin:6px 0 12px}
.prov p{margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.6}
/* doctors page — featured provider (larger) + read-more */
.prov-feature{display:grid;grid-template-columns:300px 1fr;gap:46px;align-items:start;background:var(--white);border-radius:16px;padding:42px;box-shadow:0 34px 70px -42px rgba(10,37,64,.4)}
.prov-feature .ph{width:300px;height:384px;border-radius:12px;overflow:hidden;background:linear-gradient(160deg,var(--navy),var(--emerald-deep));display:grid;place-items:center;color:rgba(255,255,255,.5);font-size:.7rem;text-align:center;padding:8px}
.prov-feature .ph img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.prov-feature h3{font-size:clamp(1.8rem,3.5vw,2.4rem)}
.prov-feature .cred{color:var(--emerald-deep);font-weight:700;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;margin:8px 0 16px}
.prov-feature .lead{font-size:1.18rem;color:var(--ink);line-height:1.65;margin:0}
.prov-feature details{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}
.prov-feature summary{cursor:pointer;font-weight:700;color:var(--emerald-deep);list-style:none;display:inline-flex;align-items:center;gap:8px;font-size:.98rem}
.prov-feature summary::-webkit-details-marker{display:none}
.prov-feature summary .chev{transition:transform .3s var(--ease)}
.prov-feature details[open] summary .chev{transform:rotate(180deg)}
.prov-feature .more{margin-top:16px;display:grid;gap:13px;color:var(--ink-soft);font-size:1.04rem;line-height:1.7}
.prov-feature .more h4{font-family:var(--serif);font-weight:500;color:var(--navy);font-size:1.2rem;margin:12px 0 -2px}
.prov-feature .more h4:first-child{margin-top:0}
.prov-feature .more p b{color:var(--navy)}
@keyframes moreReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.prov-feature details[open] .more>*{animation:moreReveal .5s var(--ease) both}
.prov-feature details[open] .more>*:nth-child(1){animation-delay:.04s}
.prov-feature details[open] .more>*:nth-child(2){animation-delay:.09s}
.prov-feature details[open] .more>*:nth-child(3){animation-delay:.14s}
.prov-feature details[open] .more>*:nth-child(4){animation-delay:.19s}
.prov-feature details[open] .more>*:nth-child(5){animation-delay:.24s}
.prov-feature details[open] .more>*:nth-child(6){animation-delay:.29s}
.prov-feature details[open] .more>*:nth-child(7){animation-delay:.34s}
.prov-feature details[open] .more>*:nth-child(8){animation-delay:.39s}
.prov-feature details[open] .more>*:nth-child(n+9){animation-delay:.43s}
@media(prefers-reduced-motion:reduce){.prov-feature details[open] .more>*{animation:none}}
.prov-feature .pillars{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.prov-feature .pillars span{font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--emerald-deep);background:rgba(11,191,143,.1);border:1px solid rgba(11,191,143,.28);padding:6px 12px;border-radius:100px}
.creds-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px}
.creds-card{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--navy),var(--navy-deep));border:1px solid rgba(22,215,163,.22);border-radius:16px;padding:34px;box-shadow:0 30px 62px -34px rgba(10,37,64,.55);transition:transform .35s var(--ease),border-color .35s}
.creds-card:hover{transform:translateY(-4px);border-color:rgba(22,215,163,.45)}
.creds-card::after{content:"";position:absolute;inset:0;background:radial-gradient(circle 340px at 100% 0%,rgba(11,191,143,.2),transparent 56%);pointer-events:none;animation:glowPulse 3.4s ease-in-out infinite;will-change:opacity}
.creds-card h3{position:relative;font-family:var(--sans);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;color:var(--emerald-bright);margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12)}
.creds-card ul{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:13px}
.creds-card li{display:flex;align-items:flex-start;gap:12px;color:rgba(255,255,255,.84);font-size:1rem;line-height:1.45}
.creds-card li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--emerald-bright);box-shadow:0 0 0 4px rgba(22,215,163,.15);margin-top:8px;flex:none}
.creds-card li b{display:block;color:#fff;font-weight:700}
.creds-card li span{display:block;color:rgba(255,255,255,.6);font-size:.88rem;font-weight:400;margin-top:2px;line-height:1.4}
@media(max-width:760px){.creds-grid{grid-template-columns:1fr}}
.prov-soon{margin-top:24px;background:linear-gradient(160deg,var(--navy),var(--emerald-deep));color:#fff;border-radius:16px;padding:30px 38px;display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap}
.prov-soon h3{color:#fff;font-size:1.5rem;margin:4px 0 0}
.prov-soon .cred{color:var(--emerald-bright);font-weight:700;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase}
.prov-soon p{margin:0;color:rgba(255,255,255,.85);max-width:42ch}
.prov-soon a{color:var(--emerald-bright);text-decoration:underline;font-weight:700}
@media(max-width:760px){.prov-feature{grid-template-columns:1fr;gap:24px;padding:26px}.prov-feature .ph{width:100%;height:320px}}

/* insurance */
.ins{background:var(--cream)}
.ins-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.ins h2{font-size:clamp(2rem,4vw,3.2rem);margin:22px 0 22px}
.ins .lede{font-size:1.15rem;color:var(--ink-soft);line-height:1.65}
.ins-card{background:var(--white);border-radius:6px;padding:14px 34px;box-shadow:0 24px 50px -34px rgba(10,37,64,.28)}
.ins-card .r{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);font-size:1.02rem;color:var(--ink-soft)}
.ins-card .r:last-child{border-bottom:none}.ins-card .r b{font-family:var(--serif);font-weight:500;font-size:1.12rem;color:var(--navy)}
.ins-card .r .ok{color:var(--emerald-deep);font-weight:700;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}
/* insurance page — high-end accepted plans */
.ins-reassure{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}
.ins-reassure .r{display:flex;gap:14px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:22px 24px;box-shadow:0 16px 40px -36px rgba(10,37,64,.3)}
.ins-reassure .r svg{width:24px;height:24px;stroke:var(--emerald-deep);fill:none;stroke-width:2;flex:none;margin-top:2px}
.ins-reassure .r b{display:block;color:var(--navy);font-family:var(--serif);font-weight:500;font-size:1.08rem;margin-bottom:3px}
.ins-reassure .r span{color:var(--ink-soft);font-size:.92rem;line-height:1.45}
.ins-accordions{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:16px;margin-top:22px}
.ins-acc{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 18px 44px -40px rgba(10,37,64,.32);transition:box-shadow .3s var(--ease),border-color .3s}
.ins-acc[open]{box-shadow:0 28px 58px -38px rgba(10,37,64,.42);border-color:rgba(11,191,143,.45)}
.ins-acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:22px 26px}
.ins-acc summary::-webkit-details-marker{display:none}
.ins-acc summary .nm{font-family:var(--serif);font-weight:500;color:var(--navy);font-size:1.18rem;flex:1}
.ins-acc summary .chip{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--emerald-deep);background:rgba(11,191,143,.12);border:1px solid rgba(11,191,143,.3);padding:4px 9px;border-radius:100px;flex:none}
.ins-acc summary .pm{flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--emerald);color:var(--emerald-deep);display:grid;place-items:center;font-size:1.1rem;transition:transform .3s var(--ease)}
.ins-acc[open] summary .pm{transform:rotate(45deg);background:var(--emerald);color:#fff;border-color:var(--emerald)}
.ins-acc .body{padding:0 26px 24px}
.ins-acc .body>p{margin:0 0 14px;color:var(--ink-soft);font-size:.95rem;line-height:1.6}
.ins-acc .plans{display:flex;flex-wrap:wrap;gap:8px}
.ins-acc .plans span{font-size:.82rem;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);padding:6px 12px;border-radius:8px}
/* same staggered fade-up reveal as the doctors bio (.prov-feature .more) */
.ins-acc[open] .body>p,.ins-acc[open] .body .plans span{animation:moreReveal .5s var(--ease) both}
.ins-acc[open] .body>p:nth-child(1){animation-delay:.04s}
.ins-acc[open] .body>p:nth-child(2){animation-delay:.1s}
.ins-acc[open] .body .plans span:nth-child(1){animation-delay:.12s}
.ins-acc[open] .body .plans span:nth-child(2){animation-delay:.17s}
.ins-acc[open] .body .plans span:nth-child(3){animation-delay:.22s}
.ins-acc[open] .body .plans span:nth-child(4){animation-delay:.27s}
.ins-acc[open] .body .plans span:nth-child(5){animation-delay:.32s}
.ins-acc[open] .body .plans span:nth-child(6){animation-delay:.37s}
.ins-acc[open] .body .plans span:nth-child(n+7){animation-delay:.41s}
@media(prefers-reduced-motion:reduce){.ins-acc[open] .body>p,.ins-acc[open] .body .plans span{animation:none}}
.ins-foot{margin-top:30px;background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:26px 30px;display:flex;gap:22px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.ins-foot p{margin:0;color:var(--ink-soft);font-size:1rem;max-width:62ch}
.ins-foot b{color:var(--navy)}
.ins-acc--accent{border-left:4px solid var(--navy)}
.ins-acc--accent[open]{border-left-color:var(--emerald)}
@media(max-width:880px){.ins-reassure{grid-template-columns:1fr}.ins-accordions{grid-template-columns:1fr}}

/* location */
.loc{background:var(--navy);color:#fff}
.loc .eyebrow{color:var(--emerald-bright)}.loc .eyebrow::before{background:var(--emerald-bright)}
.loc h2{color:#fff;font-size:clamp(2rem,4vw,3.2rem);margin:22px 0 0}
.loc-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;margin-top:54px;align-items:stretch}
.loc-info .li{display:flex;gap:16px;padding:24px 0;border-top:1px solid rgba(255,255,255,.14)}
.loc-info .li:first-child{border-top:none}
.loc-info .li svg{width:22px;height:22px;stroke:var(--emerald-bright);fill:none;stroke-width:2;flex:none;margin-top:3px}
.loc-info b{display:block;font-family:var(--serif);font-weight:500;font-size:1.15rem;color:#fff}
.loc-info span{color:rgba(255,255,255,.72);font-size:.98rem}.loc-info a{color:var(--emerald-bright)}
.loc-map{border-radius:6px;overflow:hidden;min-height:380px;border:1px solid rgba(255,255,255,.14)}
.loc-map iframe{width:100%;height:100%;min-height:380px;border:0;display:block;filter:grayscale(.3) contrast(1.05)}
/* location — light variant (visit page) */
.loc-light{background:var(--paper)}
.loc-light .eyebrow{color:var(--emerald-deep)}.loc-light .eyebrow::before{background:var(--emerald)}
.loc-light h2{color:var(--navy)}
.loc-light .loc-info .li{border-top-color:var(--line)}
.loc-light .loc-info .li svg{stroke:var(--emerald-deep)}
.loc-light .loc-info b{color:var(--navy)}
.loc-light .loc-info span{color:var(--ink-soft)}.loc-light .loc-info a{color:var(--emerald-deep)}
.loc-light .loc-map{border-color:var(--line)}
.loc-mapcol{display:flex;flex-direction:column;gap:16px}
.loc-mapcol .loc-map{flex:1}
.loc-dirs{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.loc-dirs .lbl{font-size:.92rem;font-weight:700;color:rgba(255,255,255,.72)}
.loc-dirs .btn{padding:12px 22px;font-size:14px}
.loc-light .loc-dirs .lbl{color:var(--ink-soft)}
.loc-light .btn-out{border-color:var(--navy);color:var(--navy)}
.loc-light .btn-out:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

/* faq */
.faq-wrap{background:var(--paper)}
.faq-list{max-width:860px;margin:48px auto 0}
.faq{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:28px 0;display:flex;justify-content:space-between;gap:20px;align-items:center;font-family:var(--serif);font-weight:500;color:var(--navy);font-size:1.35rem}
.faq summary::-webkit-details-marker{display:none}
.faq .ic{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--emerald);display:grid;place-items:center;color:var(--emerald-deep);transition:transform .3s var(--ease);font-size:1.1rem}
.faq[open] .ic{transform:rotate(45deg);background:var(--emerald);color:#fff;border-color:var(--emerald)}
.faq p{margin:0 0 28px;color:var(--ink-soft);font-size:1.04rem;line-height:1.7;max-width:72ch}

/* final cta — contained glowing panel (matches membership waitlist) */
.final{background:var(--paper);text-align:center}
.final-panel{position:relative;overflow:hidden;max-width:1080px;margin:0 auto;color:#fff;border-radius:28px;padding:58px 56px;background:linear-gradient(180deg,rgba(22,215,163,.14),transparent 24%),linear-gradient(0deg,rgba(22,215,163,.12),transparent 22%),linear-gradient(160deg,var(--navy-deep),var(--navy));box-shadow:0 44px 90px -42px rgba(6,24,43,.6);border:1px solid rgba(22,215,163,.3);animation:panelGlow 3.4s ease-in-out infinite}
@keyframes panelGlow{0%,100%{box-shadow:0 44px 90px -42px rgba(6,24,43,.6),0 0 0 0 rgba(22,215,163,0);border-color:rgba(22,215,163,.22)}50%{box-shadow:0 44px 90px -42px rgba(6,24,43,.6),0 0 42px -14px rgba(22,215,163,.3);border-color:rgba(22,215,163,.4)}}
@keyframes glowPulse{0%,100%{opacity:.5}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.final-panel,.creds-card::after{animation:none}}
.final .eyebrow{color:var(--emerald-bright);justify-content:center}.final .eyebrow::before{display:none}
.final h2{color:#fff;font-size:clamp(2.1rem,4.2vw,3.2rem);margin:14px auto 14px;max-width:16ch}
.final p{color:rgba(255,255,255,.82);max-width:46ch;margin:0 auto 8px;font-size:1.1rem}

/* final cta option cards */
.cta-opts{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:680px;margin:44px auto 0;text-align:left}
.cta-opt{display:flex;flex-direction:column;gap:9px;padding:26px 24px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);transition:transform .3s var(--ease),border-color .3s,background .3s}
.cta-opt:hover{transform:translateY(-3px);border-color:rgba(22,215,163,.5);background:rgba(255,255,255,.08)}
.cta-opt .t{font-family:var(--serif);font-weight:500;font-size:1.24rem;color:#fff}
.cta-opt .d{font-size:.9rem;color:rgba(255,255,255,.64);line-height:1.5;flex:1}
.cta-opt .go{font-weight:700;font-size:.84rem;letter-spacing:.04em;color:var(--emerald-bright);display:inline-flex;align-items:center;gap:6px;margin-top:6px}
.cta-opt .go .ar{transition:transform .35s var(--ease)}.cta-opt:hover .go .ar{transform:translateX(5px)}
.cta-opt--primary{background:var(--emerald);border-color:var(--emerald)}
.cta-opt--primary .t{color:var(--navy-deep)}.cta-opt--primary .d{color:rgba(6,24,43,.72)}.cta-opt--primary .go{color:var(--navy-deep)}
.cta-opt--primary:hover{background:var(--emerald-bright);border-color:var(--emerald-bright)}

/* membership band photo — organic brush-stroke mask */
.mem-photo{width:210px;height:152px;object-fit:cover;object-position:56% 32%;flex:none;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 200'%3E%3Cfilter id='f' x='-15%25' y='-15%25' width='130%25' height='130%25'%3E%3CfeGaussianBlur stdDeviation='6'/%3E%3C/filter%3E%3Cpath filter='url(%23f)' fill='%23000' d='M18 108C8 66 44 42 88 50C126 30 196 26 240 48C284 34 300 64 292 104C300 146 268 182 222 174C186 192 112 192 74 174C34 186 20 150 18 108Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 200'%3E%3Cfilter id='f' x='-15%25' y='-15%25' width='130%25' height='130%25'%3E%3CfeGaussianBlur stdDeviation='6'/%3E%3C/filter%3E%3Cpath filter='url(%23f)' fill='%23000' d='M18 108C8 66 44 42 88 50C126 30 196 26 240 48C284 34 300 64 292 104C300 146 268 182 222 174C186 192 112 192 74 174C34 186 20 150 18 108Z'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}

/* footer */
.footer{background:var(--navy-deep);color:rgba(255,255,255,.66);padding:72px 0 34px;font-size:.92rem}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-grid img{height:40px;margin-bottom:16px;filter:brightness(0) invert(1)}
.footer h4{color:#fff;font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;margin:0 0 16px;font-family:var(--sans);font-weight:700}
.footer a{display:block;color:rgba(255,255,255,.66);padding:5px 0}.footer a:hover{color:var(--emerald-bright)}
.footer-bot{padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:rgba(255,255,255,.4);font-size:.82rem}
.footer-bot a{display:inline;color:rgba(255,255,255,.5)}

.mbar{display:none}

/* nav collapses to hamburger before links can crowd the logo */
@media(max-width:1180px){
  .nav-toggle{display:inline-flex}
  .nav-in{height:70px}
  .nav-links{position:absolute;top:70px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 24px 40px -24px rgba(10,37,64,.3);padding:8px 0 18px;display:none}
  .nav.open .nav-links{display:flex}
  .nav-links a{padding:14px 24px;font-size:15.5px;border-top:1px solid rgba(0,0,0,.05)}
  .nav-links a:first-child{border-top:none}
  .nav-ph{font-size:15.5px}
  .nav-portal{margin:12px 24px 0;justify-content:center}
  .nav-cta{margin:12px 24px 4px}
}
@media(max-width:980px){
  .approach-grid{grid-template-columns:1fr;gap:48px}.approach-fig img{height:440px}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid,.ins-grid,.loc-grid,.mem-grid{grid-template-columns:1fr;gap:40px}
}
@media(max-width:760px){
  .wrap{padding:0 22px}section{padding:80px 0}
  .pagehead{padding:96px 0 54px}
  .hero{min-height:auto;padding:100px 0 130px}.hero-strip-in{grid-template-columns:1fr}
  .hero-strip .s{border-left:none;padding-left:0;padding:16px 0;border-top:1px solid rgba(255,255,255,.1)}
  .prov{grid-template-columns:1fr}.prov .ph{width:100%;height:240px}
  .svc-grid,.cta-opts{grid-template-columns:1fr}.req-form .g2{grid-template-columns:1fr}
  .final-panel{padding:40px 22px;border-radius:20px}
  .footer-grid{grid-template-columns:1fr;gap:28px}
  body{padding-bottom:70px}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-top:1px solid var(--line);padding:11px 16px;gap:10px;box-shadow:0 -6px 22px rgba(10,37,64,.1)}
  .mbar a{flex:1;justify-content:center;padding:13px}
}

/* FAQ (common questions — used on Visit page) */
.faq-wrap{background:var(--paper)}
.faq-list{max-width:860px;margin:40px auto 0}
.faq{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:26px 0;display:flex;justify-content:space-between;gap:20px;align-items:center;font-family:var(--serif);font-weight:500;color:var(--navy);font-size:1.3rem}
.faq summary::-webkit-details-marker{display:none}
.faq .ic{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--emerald);display:grid;place-items:center;color:var(--emerald-deep);transition:transform .3s var(--ease);font-size:1.1rem}
.faq[open] .ic{transform:rotate(45deg);background:var(--emerald);color:#fff;border-color:var(--emerald)}
.faq p{margin:0 0 26px;color:var(--ink-soft);font-size:1.04rem;line-height:1.7;max-width:72ch}
/* same fade-up reveal on open as the doctors bio / insurance accordions */
.faq[open] p{animation:moreReveal .5s var(--ease) both;animation-delay:.04s}
@media(prefers-reduced-motion:reduce){.faq[open] p{animation:none}}
@media(max-width:760px){.faq summary{font-size:1.12rem;padding:22px 0}}

/* health-tips signup banner (shared — used on home + Our Team) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.tips{background:#d6e8eb;border-top:1px solid #c5d9dd;border-bottom:1px solid #c5d9dd;position:relative;padding:22px 0}
.tips-in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding-top:18px;padding-bottom:18px}
.tips-copy{position:relative;max-width:640px}
.tips h2{position:relative;display:inline-block;isolation:isolate;font-family:var(--serif);font-weight:500;font-size:clamp(1.3rem,2.1vw,1.65rem);color:var(--navy);letter-spacing:-.01em;margin:0 0 7px}
.tips h2::before{content:"";position:absolute;z-index:-1;top:50%;left:0;width:160px;height:48px;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(11,191,143,.42),transparent 72%);filter:blur(16px);opacity:0;pointer-events:none;animation:tipsShoot 5s cubic-bezier(.4,0,.2,1) infinite}
.tips p{color:var(--ink-soft);font-size:.98rem;line-height:1.55;margin:0}
@keyframes tipsShoot{0%{left:-6%;opacity:0}5%{opacity:.55}86%{left:100%;opacity:.55}95%{left:110%;opacity:0}100%{left:-6%;opacity:0}}
@media(prefers-reduced-motion:reduce){.tips h2::before{animation:none}}
.tips-form{display:flex;flex-direction:column;align-items:center;gap:11px;width:100%;max-width:600px;margin:0 auto}
.tips-fields{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;width:100%}
.tips-fields input{height:48px;padding:0 16px;border:1.5px solid var(--line);border-radius:9px;font:inherit;font-size:.97rem;color:var(--navy);background:#fff;transition:border-color .25s,box-shadow .25s}
.tips-fields input::placeholder{color:#9aa7b1}
.tips-fields input:focus{outline:none;border-color:var(--emerald);box-shadow:0 0 0 3px rgba(11,191,143,.16)}
#tips-email{flex:2 1 200px;min-width:0}
#tips-phone{flex:1 1 150px;min-width:0}
.tips-form .btn{height:48px;flex:none;white-space:nowrap;align-self:center;min-width:220px;justify-content:center}
.tips-sms{display:flex;gap:9px;align-items:flex-start;text-align:left;font-size:.73rem;line-height:1.5;color:var(--ink-soft);max-width:560px}
.tips-sms input{margin-top:3px;flex:none;width:16px;height:16px;accent-color:var(--emerald-deep)}
.tips-sms a,.tips-fine a{color:var(--emerald-deep);font-weight:600}
.tips-fine{margin:0;font-size:.76rem;color:var(--ink-soft)}
.tips-ok{display:flex;align-items:center;gap:9px;color:var(--navy);font-family:var(--serif);font-size:1.1rem}
@media(max-width:760px){
  .tips-in{gap:14px;padding-top:28px;padding-bottom:28px}
  .tips h2{font-size:1.3rem;line-height:1.3;overflow-wrap:break-word}
  .tips h2::before{display:none}
  .tips p{font-size:.95rem;max-width:none}
  #tips-email,#tips-phone{flex:1 1 100%}
  .tips-form .btn{width:100%;min-width:0}
  .tips-sms{font-size:.76rem}
}
