/* base reset (matches the preview environment) */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
.mapcard.live iframe{width:100%;height:100%;border:0;display:block}
.mapcard.live .mapcta{text-decoration:none}

/* Layout: limestone page, sea-blue type; a vertical 24-vertebra column runs beside the hero as the practice's signature mark */
:root{
  --bg:#f6f7f4; --surface:#ffffff; --ink:#14283a; --muted:#56687a; --line:#d9dfe3;
  --sea:#365f7d; --sea-soft:#e4ecf2; --sea-2:#8aa9c2; --citrus:#d98a3d;
  --display:"Libre Baskerville", Baskerville, Georgia, "Times New Roman", serif;
  --body:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"JetBrains Mono", ui-monospace, Menlo, monospace;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#0f1a24; --surface:#152331; --ink:#e7eef3; --muted:#9fb1c0; --line:#26384a;
  --sea:#9cbdd6; --sea-soft:#1b3142; --sea-2:#6f93b0; --citrus:#e6a463; color-scheme:dark } }
:root[data-theme="dark"]{
  --bg:#0f1a24; --surface:#152331; --ink:#e7eef3; --muted:#9fb1c0; --line:#26384a;
  --sea:#9cbdd6; --sea-soft:#1b3142; --sea-2:#6f93b0; --citrus:#e6a463; color-scheme:dark }

body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.6;padding-inline:clamp(16px,4vw,48px)}
.wrap{max-width:1080px;margin-inline:auto}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.15;text-wrap:balance;margin:0}
p{margin:0}
a{color:var(--sea)}
:focus-visible{outline:2px solid var(--sea);outline-offset:3px;border-radius:4px}
.label{font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ph{background:var(--sea-soft);color:var(--sea);border-radius:4px;padding:0 .3em;font-family:var(--mono);font-size:.9em}

/* header */
header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:20px;border-bottom:1px solid var(--line)}
.brand{font-family:var(--display);font-size:1.25rem;color:var(--ink);text-decoration:none}
.brand small{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
nav{display:flex;align-items:center;gap:16px;flex-wrap:nowrap}
nav a.link{color:var(--ink);text-decoration:none;font-weight:500;font-size:.9rem;white-space:nowrap}
nav a.link:hover{color:var(--sea)}
.lang{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.lang button{font:500 .78rem var(--mono);letter-spacing:.08em;background:none;border:0;color:var(--muted);padding:6px 12px;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}


/* hero */
.hero{display:grid;grid-template-columns:1fr auto;gap:clamp(24px,6vw,80px);padding-block:clamp(40px,7vw,88px) clamp(32px,5vw,56px);align-items:center}
.hero > div{min-width:0}
.hero h1{font-size:clamp(2.1rem,4.8vw,3.4rem);margin-block:16px 22px}
.hero h1 em{font-style:normal;color:var(--sea)}
.hero p.lede{font-size:1.15rem;color:var(--muted);max-width:34em}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn{display:inline-flex;align-items:center;gap:8px;font:600 1rem var(--body);padding:13px 22px;border-radius:999px;text-decoration:none;border:1px solid var(--ink);color:var(--ink);background:none;cursor:pointer}
.btn.primary{background:var(--ink);color:var(--bg)}
.btn:hover{border-color:var(--sea);color:var(--sea)}
.btn.primary:hover{background:var(--sea);color:var(--bg)}

.motto{display:flex;align-items:center;gap:12px;font-family:var(--display);font-size:clamp(1.05rem,2vw,1.25rem);color:var(--sea)}
.motto::before{content:"";flex:none;width:28px;height:2px;background:var(--sea-2)}
.wa{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:10;display:inline-flex;align-items:center;gap:8px;padding:12px 18px 12px 14px;border-radius:999px;background:var(--sea);color:var(--bg);font:600 .95rem var(--body);text-decoration:none;box-shadow:0 6px 20px rgba(10,30,50,.25)}
.wa:hover{background:var(--ink)}
.wa svg{width:20px;height:20px;flex:none}
.band{margin:0 0 clamp(8px,2vw,16px);border-radius:20px;overflow:hidden;aspect-ratio:21/9;max-width:100%}
.band img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block}
@media (max-width:640px){.band{aspect-ratio:4/3}}
.photo{margin:0 0 28px;border-radius:16px;overflow:hidden;aspect-ratio:4/3;max-width:100%}
.photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}
.ba{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,2vw,20px);max-width:820px}
.ba figure{margin:0;display:grid;gap:10px}
.ba img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;display:block}
.ba figcaption{font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ba figure:last-child figcaption{color:var(--sea)}
.note{margin-top:16px;color:var(--muted);font-size:.9rem;max-width:40em}
/* spine column */
.spine{display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--mono);font-size:.62rem;color:var(--muted)}
.spine .row{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:8px;width:120px}
.spine .v{position:relative;height:9px;border-radius:3px;background:var(--line);justify-self:center}
.spine .v::after{content:"";position:absolute;inset:-2px -4px;border-radius:4px;background:var(--sea-2);opacity:0;box-shadow:0 0 12px var(--sea-2)}
.spine .row.c .v{background:var(--sea-2)}
.spine .row.c1 .v{background:var(--citrus)}
.spine .gap{height:6px}
.spine .stack{display:flex;flex-direction:column;align-items:center;gap:4px;transform-origin:50% 100%}
.spine .cap{margin-top:10px;text-align:center;max-width:130px;line-height:1.4}
@media (max-width:720px){ .hero{grid-template-columns:1fr} .spine{display:none} }

/* sections */
section{padding-block:clamp(48px,8vw,88px);border-top:1px solid var(--line)}
.sec-head{display:grid;gap:12px;margin-bottom:40px;max-width:40em}
.sec-head h2{font-size:clamp(1.8rem,4vw,2.6rem)}
.sec-head p{color:var(--muted)}

.conditions{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.cond{background:var(--surface);padding:26px;display:grid;gap:8px;align-content:start;min-width:0}
.cond .region{font-family:var(--mono);font-size:.72rem;color:var(--sea);letter-spacing:.08em}
.cond h3{font-size:1.3rem}
.cond p{color:var(--muted);font-size:.98rem}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.steps li{display:grid;gap:10px;align-content:start;border-top:2px solid var(--ink);padding-top:18px}
.steps .n{font-family:var(--mono);font-size:.8rem;color:var(--sea-2)}
.steps h3{font-size:1.25rem}
.steps p{color:var(--muted);font-size:.98rem}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,72px);align-items:start}
.split > *{min-width:0}
@media (max-width:820px){ .split{grid-template-columns:1fr} }
.about p + p{margin-top:16px}
.facts{display:grid;gap:0;border-top:1px solid var(--line)}
.facts div{display:grid;grid-template-columns:9em 1fr;gap:16px;padding-block:14px;border-bottom:1px solid var(--line)}
.facts dt{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.facts dd{margin:0}
.facts div:last-child{border-bottom:0}

.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:760px}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;display:grid;gap:10px;align-content:start}
.plan.feature{border-color:var(--sea);box-shadow:0 0 0 1px var(--sea)}
.plan h3{font-size:1.35rem}
.plan .price{font-family:var(--mono);font-size:.95rem;color:var(--sea)}
.plan p{color:var(--muted);font-size:.98rem}

.contact{background:var(--ink);color:var(--bg);border-radius:20px;padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:1.1fr 1fr;gap:40px}
.contact > *{min-width:0}
.contact h2{font-size:clamp(1.8rem,4vw,2.6rem)}
.contact p{opacity:.8;margin-top:14px}
.contact .label{color:inherit;opacity:.65}
.lines{display:grid;gap:18px}
.line{display:grid;gap:4px}
.line .val{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:1.1rem;user-select:all}
.line .ph{background:rgba(127,184,221,.18);color:inherit}
.copy{font:500 .72rem var(--mono);letter-spacing:.06em;background:none;border:1px solid currentColor;color:inherit;opacity:.75;border-radius:999px;padding:4px 10px;cursor:pointer;user-select:none}
.copy:hover{opacity:1}
@media (max-width:760px){ .contact{grid-template-columns:1fr} }

footer{padding-block:32px 48px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:var(--muted);font-size:.9rem}

@media (prefers-reduced-motion:no-preference){
  /* misaligned column settles into line, then a precision scan travels down every few seconds */
  .spine .v{animation:align 1.1s cubic-bezier(.3,1.5,.5,1) both;animation-delay:var(--d1)}
  .spine .v::after{animation:scan 5s ease-in-out infinite;animation-delay:var(--d2)}
  .spine .stack{animation:sway 7s ease-in-out 2.5s infinite}
  @keyframes align{0%{transform:translateX(var(--off));opacity:.35}60%{opacity:1}100%{transform:none;opacity:1}}
  @keyframes scan{0%{opacity:0}5%{opacity:.85}14%{opacity:0}100%{opacity:0}}
  @keyframes sway{0%,100%{transform:rotate(0)}50%{transform:rotate(.8deg)}}
}
footer{padding-bottom:96px}

/* multi-page */
header{position:relative}
nav a.link[aria-current="page"]{color:var(--sea);box-shadow:inset 0 -2px 0 var(--sea-2)}
nav a.link{padding-block:4px}
.tabs{display:none}
@media (max-width:1020px){
  nav a.link{display:none}
  .tabs{display:flex;gap:6px;overflow-x:auto;padding-block:12px;border-bottom:1px solid var(--line);scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .tabs a{flex:none;font:500 .88rem var(--body);color:var(--ink);text-decoration:none;padding:7px 14px;border:1px solid var(--line);border-radius:999px;white-space:nowrap}
  .tabs a[aria-current="page"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
}
.page[hidden]{display:none!important}
.page{animation:pagein .35s ease both}
@keyframes pagein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.page{animation:none}}
.page-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:end;padding-block:clamp(40px,7vw,80px) clamp(28px,4vw,44px);border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(2rem,4.6vw,3.2rem);margin-top:14px}
.page-head p{color:var(--muted);font-size:1.08rem;max-width:36em}
@media (max-width:760px){.page-head{grid-template-columns:1fr}}
.page section:first-of-type{border-top:0}
.overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(20px,3vw,32px)}
.ov{display:grid;gap:10px;align-content:start;padding-top:18px;border-top:2px solid var(--ink);color:inherit;text-decoration:none}
.ov h3{font-size:1.3rem}
.ov p{color:var(--muted);font-size:.98rem}
.ov .more{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sea)}
.ov:hover h3{color:var(--sea)}
.strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:clamp(22px,4vw,32px);background:var(--sea-soft);border-radius:16px;margin-block:clamp(32px,6vw,64px)}
.strip p{font-family:var(--display);font-size:clamp(1.2rem,2.4vw,1.5rem);max-width:28em}
.alert{display:grid;gap:8px;margin-top:32px;padding:22px 24px;border:1px solid var(--line);border-left:3px solid var(--citrus);border-radius:4px 12px 12px 4px;background:var(--surface);max-width:760px}
.alert h3{font-family:var(--body);font-weight:600;font-size:1rem}
.alert p{color:var(--muted);font-size:.96rem}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line);max-width:760px}
.checklist li{display:grid;grid-template-columns:28px 1fr;gap:12px;padding-block:14px;border-bottom:1px solid var(--line)}
.checklist li::before{content:"";width:14px;height:14px;margin-top:6px;border:2px solid var(--sea);border-radius:50%}
.hours{width:100%;max-width:420px;border-collapse:collapse;font-variant-numeric:tabular-nums}
.hours td{padding:10px 0;border-bottom:1px solid rgba(127,184,221,.25)}
.hours td:last-child{text-align:right;font-family:var(--mono);font-size:.92rem}
.sub-h{font-size:clamp(1.4rem,3vw,1.9rem);margin-bottom:20px}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,6vw,72px)}
@media (max-width:820px){.two{grid-template-columns:1fr}}
.page-head .photo{margin:0}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:48px;width:auto;flex:none}
.brand .bt{display:grid;gap:4px;font-size:clamp(1.05rem,1.7vw,1.25rem);line-height:1.15}
.brand .nm span{display:inline-block;white-space:nowrap}
.logo-d{display:none}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .logo-l{display:none} :root:not([data-theme="light"]) .logo-d{display:block} }
:root[data-theme="dark"] .logo-l{display:none}
:root[data-theme="dark"] .logo-d{display:block}
.logo-full{width:min(260px,70%);max-width:100%;margin-top:20px}
.logo-full img{width:100%;height:auto}
.foot-logo{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.foot-logo img{width:72px;height:auto}
.page-head .role{font-family:var(--display);font-size:clamp(1.1rem,2vw,1.35rem);color:var(--sea);margin-top:12px}
.page-head .logo-full{margin:0 0 0 auto;width:min(220px,100%)}
@media (max-width:760px){.page-head .logo-full{margin-left:0;width:160px}}
.about p{max-width:36em}
.photo.tall{aspect-ratio:4/5;margin:0}
.edu{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.edu-row{display:grid;grid-template-columns:10rem minmax(0,1fr) minmax(0,16rem);gap:20px;align-items:baseline;padding-block:22px;border-bottom:1px solid var(--line)}
.edu-when{font-family:var(--mono);font-size:.8rem;letter-spacing:.06em;color:var(--muted)}
.edu-row.now .edu-when{color:var(--sea)}
.edu-what{display:grid;gap:4px}
.edu-deg{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sea)}
.edu-what h3{font-size:1.35rem}
.edu-where{color:var(--muted)}
@media (max-width:720px){.edu-row{grid-template-columns:1fr;gap:6px}}
.principles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(20px,3vw,32px)}
.pr{display:grid;gap:10px;align-content:start;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.pr h3{font-size:1.25rem}
.pr p{color:var(--muted);font-size:.98rem}
.faq{display:grid;max-width:820px;border-top:1px solid var(--line)}
.qa{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:20px;font-family:var(--display);font-size:clamp(1.1rem,2vw,1.3rem)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";flex:none;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-family:var(--body);font-size:1.1rem;color:var(--sea);transition:transform .2s}
.qa[open] summary::after{transform:rotate(45deg)}
.qa summary:hover{color:var(--sea)}
.qa p{padding-bottom:22px;color:var(--muted);max-width:42em}
.reviews-head{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:24px 40px;align-items:end}
.reviews-head p{color:var(--muted);max-width:36em}
.rev-actions{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:760px){.reviews-head{grid-template-columns:1fr}}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:32px}
.rev-grid:empty{display:none}
.mapcard{position:relative;display:block;border-radius:16px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/5;max-width:100%}
.mapcard img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;display:block;transition:transform .4s}
.mapcard:hover img{transform:scale(1.02)}
.mapcta{position:absolute;left:16px;right:16px;bottom:16px;padding:12px 16px;border-radius:999px;background:var(--ink);color:var(--bg);font:600 .95rem var(--body);text-align:center}
.findtext{display:grid;gap:14px;align-content:start}
.findtext p{color:var(--muted);max-width:32em}
.front{margin:10px 0 0;display:grid;gap:8px}
.front img{width:100%;border-radius:14px;display:block}
.front figcaption{font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rev{margin:0;display:grid;gap:14px;align-content:start;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.stars{display:flex;gap:3px;color:var(--citrus)}
.stars svg{width:16px;height:16px;fill:currentColor}
.rev blockquote{margin:0;font-size:1rem;line-height:1.6}
.rev figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;padding-top:12px;border-top:1px solid var(--line)}
.rev .who{font-weight:600}
.rev .src{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--muted);align-self:center}
.rev-grid{columns:2 300px;column-gap:20px;display:block}
.rev-grid .rev{break-inside:avoid;margin-bottom:20px}
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,6vw,72px);align-items:center}
.intro-photo{margin:0;border-radius:20px;overflow:hidden;aspect-ratio:4/5;max-width:100%}
.intro-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}
.intro-text{display:grid;gap:16px;justify-items:start}
.intro-text h2{font-size:clamp(1.7rem,3.6vw,2.5rem)}
.intro-text p{color:var(--muted);max-width:34em}
@media (max-width:760px){.intro{grid-template-columns:1fr}}
.h-clinic{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,72px);align-items:center}
.h-alp{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,6vw,72px);align-items:center}
@media (max-width:820px){.h-clinic,.h-alp{grid-template-columns:1fr}}
.h-text{display:grid;gap:16px;justify-items:start;min-width:0}
.h-text h2{font-size:clamp(1.7rem,3.6vw,2.5rem)}
.h-text > p{color:var(--muted);max-width:36em}
.h-text > p.h-role{color:var(--sea);font-family:var(--display);font-size:1.2rem;margin-top:-8px}
.h-facts,.h-edu{list-style:none;margin:4px 0 0;padding:0;width:100%;max-width:36em;border-top:1px solid var(--line)}
.h-facts li,.h-edu li{display:grid;grid-template-columns:8.5rem 1fr;gap:16px;padding-block:11px;border-bottom:1px solid var(--line)}
.h-facts .k,.h-edu .k{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.h-edu li.now .k{color:var(--sea)}
.h-photos{display:grid;grid-template-columns:1fr;position:relative;min-width:0}
.hp-main{margin:0;border-radius:20px;overflow:hidden;aspect-ratio:4/5;max-width:100%}
.hp-main img,.h-alp-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}
.hp-side{margin:-90px 0 0 auto;width:62%;display:grid;gap:8px;position:relative}
.hp-side img{border-radius:14px;border:5px solid var(--bg);display:block;width:100%}
.hp-side figcaption{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:right}
.h-alp-photo{margin:0;border-radius:20px;overflow:hidden;aspect-ratio:4/5;max-width:100%}
@media (max-width:820px){.h-alp-photo{order:-1}.hp-side{margin-top:-60px;width:70%}}

/* 3: logo-like type */
h1,h2,h3{letter-spacing:-.01em}
.brand .nm{text-transform:uppercase;letter-spacing:.05em;font-weight:700;font-size:.92em}
.brand small{margin-top:2px}
/* 5: sticky header */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--bg);margin-inline:calc(-1 * clamp(16px,4vw,48px));padding-inline:clamp(16px,4vw,48px);transition:box-shadow .25s}
.topbar.scrolled{box-shadow:0 6px 18px -12px rgba(15,35,55,.35)}
.topbar header{padding-block:14px}
@media (max-width:1020px){.tabs{padding-block:8px 10px}}
/* 1: mobile appointment bar */
.mbar{display:none}
@media (max-width:760px){
  .wa{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -6px 18px -12px rgba(15,35,55,.35)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:999px;font:600 1rem var(--body);text-decoration:none;color:var(--ink);border:1px solid var(--ink)}
  .mbar a.mb-wa{background:var(--ink);color:var(--bg)}
  .mbar svg{width:18px;height:18px}
  footer{padding-bottom:110px}
}
/* 2: horizontal spine on phones */
.spine-h{display:none}
@media (max-width:720px){
  .spine-h{display:grid;gap:8px;margin-top:8px;font-family:var(--mono);font-size:.62rem;color:var(--muted)}
  .hstack{display:flex;align-items:center;gap:3px;height:64px}
  .hv{flex:1 1 0;min-width:4px;border-radius:3px;background:var(--line);position:relative}
  .hv.c{background:var(--sea-2)}
  .hv.c1{background:var(--citrus)}
  .hv::after{content:"";position:absolute;inset:-3px -2px;border-radius:4px;background:var(--sea-2);opacity:0;box-shadow:0 0 10px var(--sea-2)}
  .hgap{flex:0 0 6px}
  .hlabels{display:flex;justify-content:space-between}
  .spine-h .cap{text-align:left;margin:0;max-width:none}
}
@media (max-width:720px) and (prefers-reduced-motion:no-preference){
  .hv{animation:alignY 1.1s cubic-bezier(.3,1.5,.5,1) both;animation-delay:var(--d1)}
  .hv::after{animation:scan 5s ease-in-out infinite;animation-delay:var(--d2)}
  @keyframes alignY{0%{transform:translateY(var(--off));opacity:.35}60%{opacity:1}100%{transform:none;opacity:1}}
}
/* 6: interactive spine on the conditions page */
.cond-wrap{display:grid;grid-template-columns:150px minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:start}
.spine-c{position:sticky;top:120px;padding-top:8px}
.spine-c .stack{gap:4px}
.spine-c .v{transition:background .25s,box-shadow .25s,transform .25s}
.spine-c .row.hl .v{background:var(--sea);box-shadow:0 0 0 2px var(--sea-soft),0 0 14px var(--sea-2);transform:scaleX(1.08)}
.spine-c .row.hl span:first-child{color:var(--sea)}
.spine-c .v.sac{width:62px;height:26px;border-radius:4px 4px 30px 30px}
.spine-c .row.s{margin-top:2px}
.cond{transition:background .25s;outline-offset:-2px}
.cond.on{background:var(--sea-soft)}
@media (max-width:860px){.cond-wrap{grid-template-columns:1fr}.spine-c{display:none}}
/* 7: faint logo figure as a brand mark */
.page-head,.strip{position:relative;overflow:hidden}
.page-head > *,.strip > *{position:relative;z-index:1}
.page-head::after{content:"";position:absolute;right:-10px;bottom:-30px;width:150px;height:330px;background:url(img/logo-mark.png) no-repeat center/contain;opacity:.08;pointer-events:none}
.strip::after{content:"";position:absolute;right:24px;top:-40px;width:110px;height:250px;background:url(img/logo-mark.png) no-repeat center/contain;opacity:.12;pointer-events:none}
#page-about .page-head::after{display:none}
@media (max-width:760px){.page-head::after{width:100px;height:220px;opacity:.06}.strip::after{right:-20px}}

/* anatomical spine (side view) */
:root{--bone:#dbe6ef}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){--bone:#243a4e} }
:root[data-theme="dark"]{--bone:#243a4e}
.spine .sv{display:block;height:min(520px,62vh);width:auto;overflow:visible}
.spine{width:auto}
.sv .bone{fill:var(--bone);stroke:var(--sea-2);stroke-width:1.1;stroke-linejoin:round}
.sv .vert.c .bone.body{fill:var(--sea-soft)}
.sv .ridge{fill:none;stroke:var(--sea-2);stroke-width:.9;opacity:.7}
.sv .glow{fill:var(--sea-2);opacity:0}
.sv .vert.c1 .bone.body{stroke:var(--citrus)}
.sv .lbl{font:9px var(--mono);fill:var(--muted)}
.sv .vb{transform-box:fill-box;transform-origin:center}
.sv .sv-root{transform-box:fill-box;transform-origin:50% 100%}
.spine-c .sv{height:560px}
.spine-c .vert .bone{transition:fill .25s,stroke .25s}
.spine-c .vert.hl .bone{fill:var(--sea);stroke:var(--sea)}
.spine-c .vert.hl .ridge{stroke:var(--bone)}
.spine-c{width:150px}
.spine-h .sv{width:100%;height:auto;max-height:120px}
.spine-h .hstack{display:none}
@media (prefers-reduced-motion:no-preference){
  .sv .vb[style]{animation:align 1.1s cubic-bezier(.3,1.5,.5,1) both;animation-delay:var(--d1)}
  .sv .vb[style] .glow{animation:scan 5s ease-in-out infinite;animation-delay:var(--d2)}
  #spine .sv-root{animation:sway 7s ease-in-out 2.5s infinite}
}

/* first appointment page */
.sessions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:760px){.sessions{grid-template-columns:1fr}}
.sess{display:grid;gap:12px;align-content:start;padding:clamp(24px,4vw,40px);border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.sess.first{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.sess.first .label,.sess.first p{color:inherit;opacity:.75}
.sess .dur{display:flex;align-items:baseline;gap:10px;margin-block:6px 4px}
.sess .num{font-family:var(--display);font-size:clamp(3rem,7vw,4.6rem);line-height:1;font-variant-numeric:tabular-nums;color:var(--sea)}
.sess.first .num{color:var(--sea-2)}
.sess .unit{font-family:var(--mono);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.sess h2{font-size:clamp(1.4rem,2.6vw,1.8rem)}
.sess p{color:var(--muted);max-width:30em}
.visit-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
@media (max-width:860px){.visit-grid{grid-template-columns:1fr}}
.timeline{list-style:none;margin:8px 0 0;padding:0;position:relative}
.timeline::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;width:2px;background:linear-gradient(var(--sea-2),var(--line))}
.tl-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:20px;padding-block:14px}
.tl-node{position:relative;z-index:1;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:2px solid var(--sea-2);color:var(--sea)}
.tl-node svg{width:22px;height:22px}
.tl-body{display:grid;gap:6px;padding-top:4px}
.tl-n{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;color:var(--sea-2)}
.tl-body h3{font-size:1.3rem}
.tl-body p{color:var(--muted);max-width:36em}
.prep{position:sticky;top:130px;padding:28px;border-radius:20px;background:var(--sea-soft);display:grid;gap:18px}
.prep h3{font-size:1.25rem}
.prep ul{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.prep li{display:grid;grid-template-columns:24px 1fr;gap:12px;font-size:.96rem;line-height:1.5}
.prep li svg{width:22px;height:22px;color:var(--sea);margin-top:1px}
@media (max-width:860px){.prep{position:static}}
#page-about .page-head{align-items:center}
.portrait{margin:0 0 0 auto;width:min(340px,100%);aspect-ratio:4/5;border-radius:20px;overflow:hidden}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;display:block}
@media (max-width:760px){.portrait{margin:8px 0 0;width:100%;max-width:420px}}
.case-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:start;margin-bottom:28px;max-width:820px}
.case-n{font-family:var(--display);font-size:clamp(2.4rem,5vw,3.4rem);line-height:1;color:var(--sea-2)}
.case-head p{color:var(--muted);max-width:40em}
.prep-col{display:grid;gap:20px;position:sticky;top:110px}
.prep{position:static}
.visit-photo{margin:0;display:grid;gap:8px}
.visit-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%;border-radius:20px;display:block}
.visit-photo figcaption,.front figcaption{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.front img{aspect-ratio:4/3;object-fit:cover;object-position:50% 60%}
@media (max-width:860px){.prep-col{position:static}}
.ig-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}
.ig-head p{color:var(--muted)}
.ig-head .btn svg{width:18px;height:18px}
.ig-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.5vw,16px)}
.ig-tile{position:relative;display:block;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--sea-soft)}
.ig-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.ig-ov{position:absolute;inset:0;display:grid;place-items:center;background:rgba(20,40,58,.45);color:#fff;opacity:0;transition:opacity .25s}
.ig-ov svg{width:34px;height:34px}
.ig-tile:hover .ig-ov,.ig-tile:focus-visible .ig-ov{opacity:1}
.ig-tile:hover img{transform:scale(1.03)}
.ig-one{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:clamp(24px,5vw,64px);align-items:center}
.ig-one .ig-head{flex-direction:column;align-items:flex-start;margin:0}
.ig-one .ig-grid{grid-template-columns:1fr}
@media (max-width:700px){.ig-one{grid-template-columns:1fr}.ig-one .ig-grid{max-width:320px}}
.conditions .cond:last-child{grid-column:1/-1}
.social-btns{display:flex;flex-wrap:wrap;gap:10px}
.social-btns .btn svg{width:18px;height:18px}
.foot-social{display:flex;gap:16px}
.foot-social a{color:var(--muted);text-decoration:none}
.foot-social a:hover{color:var(--sea)}
.faq-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.faq-photo{margin:0;display:grid;gap:10px;position:sticky;top:120px}
.faq-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:20px;display:block}
.faq-photo figcaption{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
@media (max-width:860px){.faq-grid{grid-template-columns:1fr}.faq-photo{position:static;max-width:420px}}

.ig-feed{min-height:200px}
.ig-feed behold-widget{display:block}
