@font-face{font-family:"Cormorant Garamond";src:url(/fonts/cormorant-600.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/fonts/cormorant-700.woff2) format("woff2");font-weight:700 900;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/fonts/cormorant-500i.woff2) format("woff2");font-weight:400 700;font-style:italic;font-display:swap}
@font-face{font-family:"Manrope";src:url(/fonts/manrope.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Pinyon Script";src:url(/fonts/pinyon.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
/* self-hosted fonts (no third-party requests) */
/* Layout: white canvas, deep-blue gradient cards, one cinematic scroll-scrubbed anatomy hero */
/* Palette: premium medical blue. White ground, navy-to-cobalt cards, sky highlight; red only for warnings */
:root{
  --bg:#FFFFFF; --surface:#FBF9F7; --ink:#081533; --muted:#685F51; --line:#EDE9E4;
  --accent:#775B32; --accent-2:#153788; --accent-ink:#FFFFFF; --soft:#F6F2ED;
  --tape:#A87529; --tape-ink:#0F2455; --warn:#D64545; --ok:#12A37A;
  --band:#0F2455; --band-ink:#F5F1EC; --band-muted:#AB9D8A; --band-line:#14254D;
  --grad:linear-gradient(150deg,#0F2455 0%,#0F2455 42%,#1C3674 72%,#775B32 100%);
  --grad-hi:linear-gradient(150deg,#05163F 0%,#153070 45%,#775B32 80%,#A87529 100%);
  --glow:rgba(119,91,50,.45);
  --c-ink:#FFFFFF; --c-muted:rgba(250,246,239,.78); --c-line:rgba(255,255,255,.16); --c-k:#A87529;
  --f-display:"Cormorant Garamond","Helvetica Neue",Arial,sans-serif;
  --f-body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"Manrope",ui-monospace,Menlo,Consolas,monospace;
  --wrap:1240px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#050B18;--surface:#0B1630;--ink:#F6F2EC;--muted:#B2A591;--line:#1B2A4C;
  --accent:#B78A47;--accent-2:#CFAE7D;--accent-ink:#0F2455;--soft:#0C1C40;
  --tape:#A87529;--tape-ink:#04112E;--warn:#FF7A7A;--ok:#3BD29C;
  --band:#030814;--band-ink:#FAF6EF;--band-muted:#B1A188;--band-line:#16264A;
  --glow:rgba(119,91,50,.4);color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#050B18;--surface:#0B1630;--ink:#F6F2EC;--muted:#B2A591;--line:#1B2A4C;
  --accent:#B78A47;--accent-2:#CFAE7D;--accent-ink:#0F2455;--soft:#0C1C40;
  --tape:#A87529;--tape-ink:#04112E;--warn:#FF7A7A;--ok:#3BD29C;
  --band:#030814;--band-ink:#FAF6EF;--band-muted:#B1A188;--band-line:#16264A;
  --glow:rgba(119,91,50,.4);color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%}
table{color:inherit;font:inherit;font-size:inherit}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:20px}
h1,h2,h3,h4{font-family:var(--f-display);line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.02em}
p{margin:0}
a{color:inherit}
.prose a,.link{color:var(--accent);text-decoration-thickness:1.5px;text-underline-offset:3px}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
.sec{padding-block:88px}
.sec.tight{padding-top:0}
.sec-head{display:grid;gap:14px;max-width:760px;margin-bottom:44px}
.sec-head h2{font-size:clamp(32px,4.6vw,52px);font-weight:700}
.sec-head p{color:var(--muted);font-size:18px;max-width:62ch}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:200;background:var(--surface);padding:8px 14px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 15px/1 var(--f-body);padding:15px 22px;border-radius:999px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .2s,background .2s,border-color .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{background:var(--accent-2)}
.btn-ghost{border-color:var(--line);color:var(--ink);background:var(--surface)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-tape{background:var(--tape);color:var(--tape-ink)}
.btn .arr{transition:transform .2s}.btn:hover .arr{transform:translateX(3px)}

/* status bar */
.status{background:var(--band);color:var(--band-ink);font-size:13px}
.status .wrap{display:flex;gap:8px 22px;align-items:center;justify-content:center;flex-wrap:wrap;padding-block:9px;text-align:center}
.status a{color:var(--band-ink)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block;vertical-align:1px;animation:ping 2s infinite}
.dot.closed{background:var(--warn);animation:none}
@keyframes ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 60%,transparent)}70%,100%{box-shadow:0 0 0 8px transparent}}

/* header + mega menu */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hdr-row{display:flex;align-items:center;gap:20px;height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 21px/1 var(--f-display);letter-spacing:-.03em;color:var(--ink)}
.logo small{display:block;font:500 10px/1.2 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav > a,.nav-item > button{font:500 15px var(--f-body);color:var(--muted);background:none;border:0;padding:10px 12px;border-radius:10px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.nav > a:hover,.nav-item > button:hover,.nav-item.open > button{color:var(--ink);background:var(--surface)}
.nav-item > button::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.nav-item.open > button::after{transform:rotate(-135deg) translateY(-1px)}
.mega{position:absolute;left:0;right:0;top:72px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 30px 60px -30px color-mix(in srgb,var(--ink) 30%,transparent);padding-block:32px 36px}
.mega-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.mega h4,.mega .mh{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.mega h4 a,.mega .mh a{color:var(--accent);text-decoration:none}
.mega ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.mega li a{display:block;padding:5px 0;text-decoration:none;font-size:15px;color:var(--ink)}
.mega li a:hover{color:var(--accent)}
.mega-pain{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr);gap:36px;align-items:start}
.mega-pain .tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mega-pain .tiles a{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-decoration:none;font-weight:600;background:var(--bg)}
.mega-pain .tiles a:hover{border-color:var(--accent);color:var(--accent)}
.mega-pain .tiles a span{font:500 11px var(--f-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.hdr-cta{display:flex;align-items:center;gap:14px}
.hdr-phone{font:500 14px var(--f-mono);text-decoration:none;color:var(--ink);white-space:nowrap}
.menu-btn{display:none;margin-left:auto;background:var(--surface);border:1.5px solid var(--line);border-radius:10px;padding:9px 14px;color:var(--ink);font:600 14px var(--f-body);cursor:pointer}
.drawer{display:none}
@media (max-width:1080px){
  .nav,.hdr-phone{display:none}.menu-btn{display:block}
  .drawer.open{display:block;position:fixed;inset:calc(72px + env(safe-area-inset-top,0px)) 0 0 0;overflow:auto;background:var(--surface);padding:12px 20px calc(96px + env(safe-area-inset-bottom,0px));z-index:59}
  .drawer details{border-bottom:1px solid var(--line)}
  .drawer summary{list-style:none;font:700 20px var(--f-display);padding:16px 0;cursor:pointer;display:flex;justify-content:space-between}
  .drawer summary::-webkit-details-marker{display:none}
  .drawer summary::after{content:"+";font:400 22px var(--f-mono);color:var(--accent)}
  .drawer details[open] summary::after{content:"–"}
  .drawer .dl{display:grid;gap:2px;padding-bottom:16px}
  .drawer .dl a{text-decoration:none;padding:8px 0;font-size:16px}
  .drawer .dl h5{margin:12px 0 4px;font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
  .drawer > a{display:block;font:700 20px var(--f-display);padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none}
}
@media (max-width:560px){.hdr-cta .btn{padding:11px 14px;font-size:14px}.logo small{display:none}}

/* mobile action bar */
.mbar{display:none}
@media (max-width:760px){
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .mbar .btn{padding:13px 10px}
  body{padding-bottom:72px}
}

/* breadcrumbs + byline */
.crumbs{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--accent)}
.crumbs span[aria-hidden]{opacity:.5}
.byline{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--muted);flex-wrap:wrap}
.byline .mg{width:40px;height:40px;border-radius:12px;font-size:15px}
.byline b{color:var(--ink)}
.mg{display:grid;place-items:center;flex:none;width:96px;height:96px;border-radius:28px;background:var(--surface);color:var(--accent);font:800 34px var(--f-display);letter-spacing:-.03em;border:1px solid var(--line)}

/* page hero (inner) */
.phero{padding-block:44px 64px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--surface),var(--bg))}
.phero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:48px;align-items:start}
.phero h1{font-size:clamp(38px,5.6vw,68px);font-weight:800;letter-spacing:-.04em;line-height:1}
.phero .lede{font-size:19px;color:var(--muted);max-width:60ch}
.phero-copy{display:grid;gap:22px;min-width:0}
.answer{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--surface);border-radius:4px 18px 18px 4px;padding:20px 22px;display:grid;gap:8px}
.answer h2{font:600 13px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.answer p{font-size:17px;line-height:1.6}
.glance{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:24px;display:grid;gap:16px;position:sticky;top:100px}
.glance h2{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.glance dl{margin:0;display:grid;gap:12px}
.glance dt{font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.glance dd{margin:2px 0 0;font-weight:600}
.glance .btn{width:100%}
.glance .ph{font:500 14px var(--f-mono);text-align:center;color:var(--muted)}
@media (max-width:920px){.phero-grid{grid-template-columns:1fr}.glance{position:static}}

/* in-page tabs */
.toc{position:sticky;top:calc(72px + env(safe-area-inset-top,0px));z-index:40;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.toc .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.toc .wrap::-webkit-scrollbar{display:none}
.toc a{flex:none;text-decoration:none;font:500 14px var(--f-body);color:var(--muted);padding:14px 12px;border-bottom:2px solid transparent}
.toc a:hover,.toc a.on{color:var(--ink);border-bottom-color:var(--accent)}

/* content blocks */
.block{padding-block:64px;border-bottom:1px solid var(--line)}
.block h2{font-size:clamp(28px,3.6vw,40px);font-weight:700;margin-bottom:24px}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px;display:grid;gap:14px;align-content:start;min-width:0}
.card h3{font-size:20px}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ticks li{display:flex;gap:12px}
.ticks li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;border:2px solid var(--accent);background:radial-gradient(circle,var(--accent) 3px,transparent 4px)}
.ticks.no li::before{border-color:var(--warn);background:linear-gradient(45deg,transparent 45%,var(--warn) 45% 55%,transparent 55%)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;counter-reset:s}
.steps li{counter-increment:s;padding-top:22px;border-top:2px solid var(--line);display:grid;gap:8px;align-content:start;position:relative}
.steps li::before{content:counter(s,decimal-leading-zero);font:500 13px var(--f-mono);color:var(--accent)}
.steps li::after{content:"";position:absolute;top:-2px;left:0;width:36px;height:2px;background:var(--accent)}
.steps h3{font-size:20px}
.steps p{color:var(--muted)}
@media (max-width:760px){.two{grid-template-columns:1fr}}

/* recovery timeline */
.timeline{position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(170px,1fr));gap:0;overflow-x:auto;padding-bottom:6px}
.tl{position:relative;padding:30px 18px 0 0;display:grid;gap:8px;align-content:start}
.tl::before{content:"";position:absolute;top:9px;left:0;right:0;height:2px;background:var(--line)}
.tl::after{content:"";position:absolute;top:2px;left:0;width:16px;height:16px;border-radius:50%;background:var(--surface);border:3px solid var(--accent)}
.tl:last-child::after{background:var(--accent)}
.tl .when{font:600 13px var(--f-mono);color:var(--accent)}
.tl p{font-size:15px;color:var(--ink)}
@media (max-width:760px){.timeline{grid-template-columns:1fr;overflow:visible}.tl{padding:0 0 22px 32px}.tl::before{top:0;bottom:0;left:7px;right:auto;width:2px;height:auto}.tl::after{top:2px}}

/* my take */
.take{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;background:var(--soft);border-radius:28px;padding:36px}
.take blockquote{margin:0;font:600 clamp(20px,2.4vw,26px)/1.4 var(--f-display);letter-spacing:-.01em}
.take cite{display:block;font:500 13px var(--f-mono);font-style:normal;color:var(--muted);margin-top:16px}
@media (max-width:640px){.take{grid-template-columns:1fr;padding:26px}.take .mg{width:64px;height:64px;font-size:24px;border-radius:18px}}

/* faq */
.faq details{border-bottom:1px solid var(--line);padding-block:20px}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;font:600 19px/1.35 var(--f-display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font:400 26px/1 var(--f-mono);color:var(--accent);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--muted);margin-top:12px;max-width:68ch}

/* link cards */
.lcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.lcard{display:grid;gap:8px;align-content:start;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px;transition:border-color .2s,transform .2s}
.lcard:hover{border-color:var(--accent);transform:translateY(-3px)}
.lcard .k{font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.lcard h3{font-size:19px}
.lcard p{font-size:14px;color:var(--muted)}
.lcard .go{font-weight:600;font-size:14px;color:var(--accent);margin-top:4px}

/* pain page */
.feels{display:flex;flex-wrap:wrap;gap:10px}
.feels span{font:500 16px var(--f-display);background:var(--surface);border:1px solid var(--line);border-radius:999px 999px 999px 6px;padding:10px 16px}
.causes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.cause{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:24px;display:grid;gap:10px;align-content:start}
.cause .who{font:500 12px var(--f-mono);color:var(--muted)}
.cause .clue{font-size:14px;border-top:1px dashed var(--line);padding-top:10px}
.cause .clue b{color:var(--accent)}
.flags{background:color-mix(in srgb,var(--warn) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--warn) 35%,var(--line));border-radius:22px;padding:24px;display:grid;gap:12px}
.flags h3{color:var(--warn);font-size:18px}
.ladder{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ladder li{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 20px;margin-left:calc(var(--i) * 18px)}
.ladder .lv{font:600 12px var(--f-mono);color:var(--accent);background:var(--soft);border-radius:8px;padding:6px 8px}
.ladder h3{font-size:17px}
.ladder p{font-size:15px;color:var(--muted)}
.ladder a{font-weight:600;font-size:14px;color:var(--accent);white-space:nowrap;text-decoration:none}
@media (max-width:640px){.ladder li{grid-template-columns:1fr;margin-left:0}}

/* plateau diagram */
.plateau{width:100%;height:auto;display:block;max-width:100%}
.plateau .z{fill:transparent;transition:fill .2s;cursor:pointer}
.plateau .z.hl,.plateau a:hover .z,.plateau a:focus .z{fill:color-mix(in srgb,var(--accent) 16%,transparent)}
.plateau .bone{fill:var(--surface);stroke:var(--line);stroke-width:2}
.plateau .men{fill:var(--soft);stroke:var(--accent);stroke-width:2}
.plateau .lig{fill:var(--accent)}
.plateau .pat{fill:var(--surface);stroke:var(--ink);stroke-width:2}
.plateau text{font-family:var(--f-mono);font-size:12px;fill:var(--muted);letter-spacing:.1em}
.plateau .zl{font-size:13px;fill:var(--ink);font-weight:500}
.plateau .sm{font-size:10px;letter-spacing:.04em}

/* compare */
.ctable-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.ctable{width:100%;border-collapse:collapse;font-size:15px;min-width:640px}
.ctable th,.ctable td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line);vertical-align:top}
.ctable tr:last-child td{border-bottom:0}
.ctable thead th{font:600 15px var(--f-display);background:var(--soft)}
.ctable td:first-child{font:500 12px var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap}
.bottomline{background:var(--band);color:var(--band-ink);border-radius:24px;padding:30px;display:grid;gap:10px}
.bottomline h2{font:500 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tape)}
.bottomline p{font:600 20px/1.45 var(--f-display)}

/* home */
.hero{padding-block:60px 48px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(46px,7.2vw,94px);font-weight:800;letter-spacing:-.045em;line-height:.95}
.hero h1 em{font-style:normal;color:var(--accent);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.11em;background:var(--tape);border-radius:2px;transform-origin:left;animation:tape 1s .5s both cubic-bezier(.2,.8,.2,1)}
@keyframes tape{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-copy{display:grid;gap:24px;min-width:0}
.hero-lede{font-size:19px;color:var(--muted);max-width:54ch}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.trust{display:flex;flex-wrap:wrap;gap:24px;font-size:14px;color:var(--muted)}
.trust b{color:var(--ink);font-family:var(--f-display);font-size:22px;display:block;line-height:1.1}
.gonio-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:22px;box-shadow:0 30px 60px -30px color-mix(in srgb,var(--ink) 30%,transparent);min-width:0}
.gonio-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.gonio-top .lbl{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.gonio-top .who{font-weight:600;font-size:15px}
.pill{display:inline-flex;align-items:center;gap:6px;font:500 12px var(--f-mono);padding:6px 10px;border-radius:999px;background:var(--soft);color:var(--accent)}
.pill.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}
.pill.tape{background:color-mix(in srgb,var(--tape) 16%,transparent);color:var(--tape)}
.today{font-weight:600;color:var(--accent)}.band .today{color:var(--tape)}
#gonio{width:100%;height:auto;display:block}
#gonio text{font-family:var(--f-mono);fill:var(--muted);font-size:13px}
.gonio-read{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid var(--line);padding-top:16px}
.gonio-read span{display:block;font:500 11px var(--f-mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.gonio-read b{font:700 22px var(--f-display)}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr}}
.marquee{border-block:1px solid var(--line);overflow:hidden;background:var(--surface)}
.marquee-track{display:flex;width:max-content;animation:scroll 46s linear infinite}
.marquee span{font:600 15px var(--f-body);color:var(--muted);white-space:nowrap;padding:18px 28px;border-right:1px solid var(--line)}
.marquee .ml{font:500 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center}
@keyframes scroll{to{transform:translateX(-50%)}}
.where{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:center}
.where-fig{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:22px}
.where-fig .cap{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:8px}
.symptoms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.symptoms a{display:grid;gap:4px;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px 20px;transition:border-color .2s,background .2s}
.symptoms a:hover,.symptoms a.hl{border-color:var(--accent);background:var(--soft)}
.symptoms b{font:700 18px var(--f-display)}
.symptoms span{font-size:14px;color:var(--muted)}
@media (max-width:900px){.where{grid-template-columns:1fr}}
@media (max-width:480px){.symptoms{grid-template-columns:1fr}}
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.cat{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:26px;display:grid;gap:12px;align-content:start}
.cat .k{font:500 12px var(--f-mono);color:var(--muted)}
.cat h3{font-size:23px}
.cat h3 a{text-decoration:none}
.cat h3 a:hover{color:var(--accent)}
.cat ul{list-style:none;margin:0;padding:0;display:grid;gap:2px;border-top:1px solid var(--line);padding-top:10px}
.cat li a{display:flex;justify-content:space-between;gap:10px;text-decoration:none;padding:6px 0;font-size:15px}
.cat li a::after{content:"→";color:var(--accent);opacity:0;transition:opacity .2s,transform .2s}
.cat li a:hover{color:var(--accent)}.cat li a:hover::after{opacity:1;transform:translateX(3px)}
.path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.path .st{display:grid;gap:12px;align-content:start;padding-top:26px;border-top:2px solid var(--line);position:relative}
.path .st::before{content:"";position:absolute;top:-2px;left:0;height:2px;width:var(--fill,100%);background:var(--accent)}
.path .n{font:500 13px var(--f-mono);color:var(--accent)}
.path h3{font-size:23px}
.path p{color:var(--muted);font-size:15px}
@media (max-width:900px){.path{grid-template-columns:1fr 1fr;row-gap:32px}}
@media (max-width:520px){.path{grid-template-columns:1fr}}
.band{background:var(--band);color:var(--band-ink)}
.band .eyebrow{color:var(--tape)}
.band .sec-head p{color:var(--band-muted)}
.band-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}
.cmp-wrap{overflow-x:auto;border:1px solid var(--band-line);border-radius:20px}
.cmp{width:100%;border-collapse:collapse;font-size:15px;min-width:460px}
.cmp th,.cmp td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--band-line);vertical-align:top}
.cmp tr:last-child td{border-bottom:0}
.cmp thead th{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--band-muted)}
.cmp thead th.us{color:var(--tape)}
.cmp td:first-child{color:var(--band-muted)}
.cmp td.us{font-weight:600}
.wcard{border:1px solid var(--band-line);border-radius:24px;padding:28px;display:grid;gap:18px;background:color-mix(in srgb,var(--band-ink) 4%,transparent)}
.wcard h3{font-size:26px}
.hours{display:grid;gap:10px;font-size:15px}
.hours div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--band-line);padding-bottom:10px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags span{font-size:13px;padding:6px 10px;border-radius:8px;border:1px solid var(--band-line)}
.band .btn-ghost{background:transparent;color:var(--band-ink);border-color:var(--band-line)}
.band .muted{color:var(--band-muted)}
@media (max-width:900px){.band-grid{grid-template-columns:1fr}}
.doc{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:44px;align-items:center}
.portrait{aspect-ratio:4/5;max-width:100%;border-radius:28px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 75% 20%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 55%),repeating-linear-gradient(135deg,transparent 0 14px,color-mix(in srgb,var(--accent) 7%,transparent) 14px 15px),var(--soft);border:1px solid var(--line)}
.portrait .mg{width:150px;height:150px;font-size:56px;border-radius:40px}
.portrait .note{position:absolute;left:16px;bottom:16px;right:16px;font:500 11px var(--f-mono);color:var(--muted);text-align:center}
.creds{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.creds li{display:flex;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.creds li::before{content:"✓";color:var(--accent);font-weight:700}
@media (max-width:860px){.doc{grid-template-columns:1fr}.portrait{max-width:380px}}
.loc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.loc-map{border-radius:24px;border:1px solid var(--line);background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/40px 40px,var(--surface);min-height:300px;position:relative;overflow:hidden;display:grid;place-items:center}
.loc-map .pin{width:22px;height:22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--tape);box-shadow:0 0 0 8px color-mix(in srgb,var(--tape) 20%,transparent)}
.loc-map .road{position:absolute;background:color-mix(in srgb,var(--accent) 22%,transparent)}
.loc-map a{position:absolute;bottom:16px;left:16px}
@media (max-width:820px){.loc{grid-template-columns:1fr}}

/* form */
.formcard{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:32px;display:grid;gap:18px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:grid;gap:6px;min-width:0}
.field.full{grid-column:1/-1}
.field label,.field .lab{font:500 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{font:500 16px var(--f-body);color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent)}
.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg label{font:600 14px var(--f-body);text-transform:none;letter-spacing:0;color:var(--ink);border:1.5px solid var(--line);border-radius:999px;padding:9px 14px;cursor:pointer}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg label:has(input:checked){border-color:var(--accent);background:var(--soft);color:var(--accent)}
.seg label:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.fine{font-size:12px;color:var(--muted)}
.err{color:var(--warn);font-size:14px}
@media (max-width:520px){.fields{grid-template-columns:1fr}.formcard{padding:22px}}

/* CTA band + footer */
.ctaband{background:var(--accent);color:var(--accent-ink);border-radius:32px;padding:44px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-block:72px}
.ctaband h2{font-size:clamp(28px,3.6vw,42px)}
.ctaband p{opacity:.88;margin-top:8px;max-width:56ch}
.ctaband .btn{background:var(--accent-ink);color:var(--accent)}
.ctaband .ph{font:500 15px var(--f-mono);display:block;text-align:center;margin-top:10px;color:var(--accent-ink);text-decoration:none}
@media (max-width:760px){.ctaband{grid-template-columns:1fr;padding:30px}}
.foot{background:var(--band);color:var(--band-ink);padding-block:72px 32px}
.foot-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:28px;padding-bottom:44px;border-bottom:1px solid var(--band-line)}
.foot h4,.foot .fh{font:500 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--band-muted);margin-bottom:12px}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:7px;font-size:14px}
.foot a{text-decoration:none;color:var(--band-ink);opacity:.85}.foot a:hover{opacity:1;text-decoration:underline}
.foot .logo{color:var(--band-ink)}.foot .logo small{color:var(--band-muted)}
.foot address{font-style:normal;color:var(--band-muted);font-size:14px}
.foot-big{font:800 clamp(52px,12vw,170px)/.85 var(--f-display);letter-spacing:-.06em;margin-top:44px;color:transparent;-webkit-text-stroke:1.5px var(--band-line);user-select:none}
.foot-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--band-muted);margin-top:22px}
@media (max-width:980px){.foot-top{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:560px){.foot-top{grid-template-columns:1fr 1fr}.foot-top>div:first-child{grid-column:1/-1}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}


/* =================== PREMIUM LAYER =================== */
body{font-size:16.5px}
.eyebrow{background:var(--soft);border-radius:999px;padding:7px 14px 7px 12px;font-weight:500}
.eyebrow::before{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}
.sec-head h2,.block h2{letter-spacing:-.035em}
.sec-head h2{font-size:clamp(36px,5.2vw,64px);font-weight:800}
.btn{border-radius:14px;padding:16px 24px}
.btn-primary{background:linear-gradient(135deg,#D1943A,#9B7234);box-shadow:0 14px 30px -12px var(--glow),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-primary:hover{box-shadow:0 18px 40px -12px var(--glow),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-ghost{background:var(--bg);border-color:var(--line);box-shadow:0 6px 18px -12px rgba(10,21,48,.25)}

/* glass header */
.status{background:var(--band)}
.hdr{background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.mega{background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 40px 80px -40px rgba(10,21,48,.35)}
.mega-pain .tiles a{background:var(--grad);color:#fff;border:0}
.mega-pain .tiles a span{color:var(--c-k)}
.mega-pain .tiles a:hover{color:#fff;background:var(--grad-hi)}

/* blue gradient cards */
.lcard,.cat,.cause,.symptoms a,.take,.two .card.good{background:var(--grad);color:var(--c-ink);border:0;position:relative;overflow:hidden;isolation:isolate;box-shadow:0 26px 50px -26px var(--glow),inset 0 1px 0 rgba(255,255,255,.12)}
.lcard::before,.cat::before,.cause::before,.symptoms a::before,.take::before,.two .card.good::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 80% at 100% 0%,rgba(227,191,137,.35),transparent 55%),radial-gradient(80% 60% at 0% 100%,rgba(10,25,60,.5),transparent 60%);transition:opacity .3s}
.lcard::after,.cat::after,.cause::after,.symptoms a::after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;border:1px solid rgba(255,255,255,.12);z-index:-1;box-shadow:0 0 0 22px rgba(255,255,255,.03),0 0 0 46px rgba(255,255,255,.025)}
.lcard,.cat,.cause,.symptoms a{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.lcard:hover,.cat:hover,.symptoms a:hover,.symptoms a.hl{transform:translateY(-6px);box-shadow:0 36px 60px -26px var(--glow),inset 0 1px 0 rgba(255,255,255,.18);border:0}
.lcard h3,.cat h3,.cause h3,.symptoms b,.take blockquote{color:#fff}
.lcard p,.cause p,.cat p,.symptoms span,.cause .who,.take cite,.two .card.good li{color:var(--c-muted)}
.lcard .k,.cat .k,.cause .who{color:var(--c-k)}
.lcard .go{color:#fff;display:inline-flex;gap:6px;align-items:center}
.lcard{padding:28px;border-radius:24px}
.cat{border-radius:26px;padding:30px}
.cat h3 a:hover,.cat li a:hover{color:var(--c-k)}
.cat ul{border-top-color:var(--c-line)}
.cat li a{color:#fff}
.cat li a::after{color:var(--c-k)}
.cause .clue{border-top-color:var(--c-line);color:#fff}
.cause .clue b{color:var(--c-k)}
.take .mg{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2)}
.two .card.good h3{color:#fff}
.two .card.good .ticks li::before{border-color:var(--c-k);background:radial-gradient(circle,var(--c-k) 3px,transparent 4px)}
.card,.glance,.formcard,.answer,.ladder li{background:var(--bg);border-color:var(--line);box-shadow:0 20px 50px -34px rgba(10,21,48,.35)}
.answer{border:1px solid var(--line);border-left:0;border-radius:20px;position:relative;padding:22px 24px 22px 30px;background:linear-gradient(180deg,var(--bg),var(--surface))}
.answer::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:4px;background:linear-gradient(var(--tape),var(--accent))}
.phero{background:radial-gradient(70% 90% at 90% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 60%),linear-gradient(180deg,var(--surface),var(--bg));border-bottom:0}
.block{border-bottom:0;padding-block:72px}
.block + .block{padding-top:24px}
.toc{background:color-mix(in srgb,var(--bg) 82%,transparent)}
.ladder .lv{background:var(--grad);color:#fff}
.feels span{background:var(--soft);border-color:transparent;color:var(--ink)}
.ctaband{background:var(--grad);box-shadow:0 40px 80px -40px var(--glow);position:relative;overflow:hidden;isolation:isolate;color:#fff}
.ctaband::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 120% at 100% 0%,rgba(227,191,137,.4),transparent 60%)}
.ctaband .btn{background:#fff;color:#0B1F4D;box-shadow:0 14px 30px -12px rgba(0,0,0,.4)}
.ctaband .ph{color:#fff}
.band{background:radial-gradient(60% 80% at 85% 10%,rgba(168,117,41,.35),transparent 60%),var(--band)}
.band .eyebrow{background:rgba(255,255,255,.08);color:var(--c-k)}
.band .eyebrow::before{background:var(--c-k)}
.wcard{background:linear-gradient(160deg,rgba(168,117,41,.22),rgba(255,255,255,.03));border-color:rgba(255,255,255,.12);backdrop-filter:blur(10px)}
.portrait{background:radial-gradient(circle at 75% 20%,rgba(227,191,137,.45),transparent 55%),var(--grad);border:0;box-shadow:0 40px 80px -40px var(--glow)}
.portrait .mg{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.25);backdrop-filter:blur(8px)}
.portrait .note{color:var(--c-muted)}
.ctable thead th{background:var(--grad);color:#fff}
.bottomline{background:var(--grad)}
.bottomline h2{color:var(--c-k)}
.marquee{background:var(--surface);border-color:var(--line)}
.foot{background:radial-gradient(50% 60% at 90% 0%,rgba(168,117,41,.25),transparent 60%),var(--band)}

/* pain video card (home) */
.where2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:28px;align-items:stretch}
.vidcard{position:relative;border-radius:30px;overflow:hidden;min-height:520px;background:#0B1F4D;box-shadow:0 40px 80px -40px var(--glow);isolation:isolate}
.vidcard video,.vidcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vidcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,21,52,0) 35%,rgba(8,21,52,.92) 100%)}
.vidcard .vc-copy{position:absolute;left:28px;right:28px;bottom:28px;z-index:2;color:#fff;display:grid;gap:10px}
.vidcard .vc-copy h3{font-size:clamp(26px,3vw,36px);letter-spacing:-.03em}
.vidcard .vc-copy p{color:var(--c-muted)}
.vidcard .live{position:absolute;top:20px;left:20px;z-index:2;font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border-radius:999px;padding:8px 12px;display:flex;gap:8px;align-items:center}
.vidcard .live::before{content:"";width:7px;height:7px;border-radius:50%;background:#FF6B6B;box-shadow:0 0 12px #FF6B6B}
.where2 .symptoms{align-content:stretch}
.symptoms a{border-radius:20px;padding:20px 22px;align-content:start}
@media (max-width:900px){.where2{grid-template-columns:1fr}.vidcard{min-height:380px}}

/* =================== CINEMATIC ANATOMY HERO =================== */
.cine{position:relative;background:var(--bg)}
.js .cine{height:560vh}
.cine-stick{position:relative;height:calc(100svh - 72px);min-height:560px;padding:12px 14px 14px}
.js .cine-stick{position:sticky;top:calc(72px + env(safe-area-inset-top,0px))}
.stage{position:relative;height:100%;border-radius:34px;overflow:hidden;background:#000;isolation:isolate;box-shadow:0 50px 100px -50px rgba(8,21,52,.7)}
.stage::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(60% 90% at 0% 50%,rgba(11,31,77,.95),rgba(11,31,77,.4) 45%,transparent 70%),radial-gradient(50% 60% at 100% 100%,rgba(168,117,41,.25),transparent 70%)}
.stage::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.stage video,.stage .poster{position:absolute;top:0;right:0;width:66%;height:100%;object-fit:contain;object-position:center}
.stage .poster{z-index:0}
.cine-ui{position:absolute;inset:0;z-index:2;color:#fff;padding:clamp(24px,4vw,56px)}
.cine-intro{position:absolute;left:clamp(24px,4vw,56px);bottom:clamp(90px,12vh,120px);width:min(600px,44%);display:grid;gap:22px;transition:opacity .5s,transform .5s}
.cine-intro .eyebrow{background:rgba(255,255,255,.1);color:var(--c-k);justify-self:start;backdrop-filter:blur(8px)}
.cine-intro .eyebrow::before{background:var(--c-k)}
.cine-intro h1{font-size:clamp(44px,6.4vw,92px);font-weight:800;letter-spacing:-.05em;line-height:.94;color:#fff}
.cine-intro h1 em{font-style:normal;background:linear-gradient(90deg,#E6C696,#DAA961 60%,#D1943A);-webkit-background-clip:text;background-clip:text;color:transparent}
.cine-intro p{font-size:18px;color:var(--c-muted);max-width:50ch}
.cine-intro .actions .btn-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.2);backdrop-filter:blur(8px);box-shadow:none}
.cine-trust{display:flex;gap:28px;flex-wrap:wrap;font-size:13px;color:var(--c-muted)}
.cine-trust b{display:block;font:700 22px var(--f-display);color:#fff}
.chap{position:absolute;left:clamp(24px,4vw,56px);top:50%;width:min(440px,34%);transform:translateY(-44%);opacity:0;pointer-events:none;transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1)}
.chap.on{opacity:1;transform:translateY(-50%);pointer-events:auto}
.chap-card{border-radius:26px;padding:30px;display:grid;gap:14px;background:linear-gradient(150deg,rgba(168,117,41,.30),rgba(11,31,77,.55));border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.12)}
.chap .n{font:500 12px var(--f-mono);letter-spacing:.14em;color:var(--c-k)}
.chap h2{font-size:clamp(28px,3.2vw,42px);letter-spacing:-.035em;color:#fff}
.chap p{color:var(--c-muted);font-size:16px}
.chap .parts{display:flex;flex-wrap:wrap;gap:6px}
.chap .parts span{font:500 12px var(--f-mono);padding:5px 9px;border-radius:7px;background:rgba(255,255,255,.08);color:#fff}
.chap .go{display:grid;gap:4px;border-top:1px solid var(--c-line);padding-top:12px}
.chap .go a{color:#fff;text-decoration:none;font-weight:600;font-size:15px;display:flex;justify-content:space-between;padding:5px 0}
.chap .go a::after{content:"→";color:var(--c-k);transition:transform .2s}
.chap .go a:hover::after{transform:translateX(4px)}
.chap.outro{width:min(520px,44%)}
.rail{position:absolute;left:clamp(24px,4vw,56px);right:clamp(24px,4vw,56px);bottom:clamp(20px,3vh,32px);display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.rail button{all:unset;cursor:pointer;display:grid;gap:8px;font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.rail button.on{color:#fff}
.rail i{display:block;height:3px;border-radius:3px;background:rgba(255,255,255,.16);overflow:hidden}
.rail i b{display:block;height:100%;width:calc(var(--f,0) * 100%);background:linear-gradient(90deg,#DAA961,#E6C696)}
.rail button:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:4px}
.hint{position:absolute;right:clamp(24px,4vw,56px);bottom:clamp(64px,9vh,84px);font:500 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:10px;transition:opacity .4s}
.hint::after{content:"";width:1px;height:34px;background:linear-gradient(#fff,transparent);animation:drip 1.8s ease-in-out infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.cine:not(.at-start) .hint{opacity:0}
.cine.past-intro .cine-intro{opacity:0;transform:translateY(-24px);pointer-events:none}
.cine-noscript .chap{position:static;opacity:1;transform:none;width:auto}
@media (max-width:860px){
  .js .cine{height:480vh}
  .cine-stick{padding:8px 8px 10px}
  .stage{border-radius:24px}
  .stage::before{background:linear-gradient(180deg,transparent 30%,rgba(11,31,77,.9) 62%,#0B1F4D)}
  .stage video,.stage .poster{width:100%;height:56%;object-fit:cover;object-position:56% 50%}
  .cine-intro,.chap,.chap.outro{left:18px;right:18px;width:auto;bottom:64px;top:auto}
  .chap{transform:translateY(16px)}.chap.on{transform:none}
  .cine-intro{gap:14px}
  .cine-intro h1{font-size:clamp(38px,11vw,56px)}
  .cine-intro p{font-size:15px}
  .cine-trust{display:none}
  .chap-card{padding:20px;gap:10px}
  .chap h2{font-size:26px}
  .chap p{font-size:14.5px}
  .chap .go a{font-size:14px;padding:3px 0}
  .rail{left:18px;right:18px;bottom:18px}
  .rail button{font-size:0;gap:0}
  .hint{display:none}
}
@media (max-width:860px) and (max-height:760px){.chap .parts{display:none}.chap .go a:nth-child(n+3){display:none}}
@media (prefers-reduced-motion:reduce){.js .cine{height:auto}.js .cine-stick{position:relative;top:0}}
.stage .poster{transition:opacity .4s}
.cine-static .cine-intro{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){.cine-static .cine-stick{height:auto}.cine-static .stage{height:auto;min-height:640px}.cine-static .chap{display:none}}
.stage video,.stage .poster{height:auto;aspect-ratio:16/9;top:50%;transform:translateY(-50%);object-fit:cover;-webkit-mask-image:radial-gradient(120% 100% at 60% 50%,#000 55%,transparent 78%);mask-image:radial-gradient(120% 100% at 60% 50%,#000 55%,transparent 78%)}
@media (min-width:861px) and (max-aspect-ratio:3/2){.stage video,.stage .poster{width:78%;right:-6%}}
@media (max-width:860px){.stage video,.stage .poster{top:0;transform:none;width:170%;max-width:none;left:-38%;right:auto;height:auto;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}}
@media (min-width:861px){.stage video,.stage .poster{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent),linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent),linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}}

/* =================== LIGHT GREY ANATOMY STAGE =================== */
.stage{background:#EEEDEB;box-shadow:0 40px 90px -50px rgba(10,21,48,.35),inset 0 0 0 1px rgba(10,21,48,.04)}
.stage::before{background:radial-gradient(48% 85% at 0% 50%,rgba(238,237,235,.97),rgba(238,237,235,.75) 45%,transparent 75%),radial-gradient(40% 50% at 100% 100%,rgba(142,109,58,.10),transparent 70%)}
.stage::after{box-shadow:inset 0 0 0 1px rgba(10,21,48,.06)}
.vbox{position:absolute;right:0;top:50%;width:66%;aspect-ratio:16/9;transform:translateY(-50%);z-index:0}
.vbox video,.vbox .poster{position:absolute;inset:0;width:100%;height:100%;top:0;right:auto;transform:none;object-fit:cover;-webkit-mask-image:none;mask-image:none}
.cine-ui{pointer-events:none}
.cine-ui > *{pointer-events:auto}
.cine-intro .eyebrow{background:#fff;color:var(--accent);box-shadow:0 6px 18px -10px rgba(10,21,48,.3)}
.cine-intro .eyebrow::before{background:var(--accent)}
.cine-intro h1{color:#0A1530}
.cine-intro h1 em{background:linear-gradient(90deg,#CE8F30,#D1943A 40%,#DAA961);-webkit-background-clip:text;background-clip:text;color:transparent}
.cine-intro p{color:#5B5245}
.cine-intro .actions .btn-ghost{background:#fff;color:#0A1530;border-color:rgba(10,21,48,.1);box-shadow:0 8px 20px -12px rgba(10,21,48,.3)}
.cine-trust{color:#6C6355}.cine-trust b{color:#0A1530}
.chap-card{background:var(--grad);border:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 40px 70px -30px rgba(142,109,58,.55),inset 0 1px 0 rgba(255,255,255,.14);position:relative;overflow:hidden;isolation:isolate}
.chap-card::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(110% 70% at 100% 0%,rgba(227,191,137,.38),transparent 55%)}
.chap .go a.hl{color:var(--c-k)}
.rail button{color:#887F71}
.rail button.on{color:#0A1530}
.rail i{background:rgba(10,21,48,.1)}
.rail i b{background:linear-gradient(90deg,#CE8F30,#DAA961)}
.rail button:focus-visible{outline-color:var(--accent)}
.hint{color:#6C6355}.hint::after{background:linear-gradient(#CE8F30,transparent)}

/* hoverable anatomy labels */
.lbls{position:absolute;inset:0;z-index:3}
.lbl{position:absolute;transform:translate(-50%,-50%);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.lbl.on{opacity:1;visibility:visible}
.lbl .pin{display:flex;align-items:center;justify-content:center;gap:8px;min-width:calc(var(--w) * 1vw * .66);min-height:calc(var(--h) * 1vw * .66 * .5625);padding:8px 14px;border-radius:999px;background:#EEEDEB;color:#0A1530;text-decoration:none;font:600 14px/1.15 var(--f-body);white-space:nowrap;box-shadow:0 0 0 6px #EEEDEB;transition:background .25s,color .25s,box-shadow .25s,transform .25s}
.lbl .pname{display:grid;text-align:left}
.lbl .pname small{font:500 10px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:#6C6355;transition:color .25s}
.lbl .pdot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(142,109,58,.5);animation:pdot 2.2s infinite}
@keyframes pdot{0%{box-shadow:0 0 0 0 rgba(142,109,58,.45)}70%,100%{box-shadow:0 0 0 10px rgba(142,109,58,0)}}
.lbl:hover,.lbl:focus-within,.lbl.hl{z-index:5}
.lbl:hover .pin,.lbl:focus-within .pin,.lbl.hl .pin{background:var(--grad);color:#fff;box-shadow:0 0 0 6px #EEEDEB,0 18px 36px -12px rgba(142,109,58,.6);transform:scale(1.06)}
.lbl:hover .pname small,.lbl:focus-within .pname small,.lbl.hl .pname small{color:var(--c-k)}
.lbl:hover .pdot,.lbl:focus-within .pdot,.lbl.hl .pdot{background:#E6C696}
.lbls:hover .lbl.on:not(:hover) .pin{opacity:.55}
.lbl .pop{position:absolute;top:calc(100% + 14px);width:260px;padding:16px 18px;border-radius:18px;background:#fff;color:#0A1530;box-shadow:0 26px 50px -20px rgba(10,21,48,.35),0 0 0 1px rgba(10,21,48,.06);display:grid;gap:10px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s,transform .25s,visibility .25s;pointer-events:none}
.lbl.l .pop{left:0}.lbl.r .pop{right:0}
.lbl.up .pop{top:auto;bottom:calc(100% + 14px);transform:translateY(6px)}
.lbl:hover .pop,.lbl:focus-within .pop{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.lbl .pop p{font-size:14px;color:#5B5245;line-height:1.5}
.lbl .pop a{font-weight:600;font-size:14px;color:var(--accent);text-decoration:none}
.lbl .pop::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.lbl.up .pop::before{top:auto;bottom:-16px}
@media (max-width:860px){
  .stage::before{background:linear-gradient(180deg,transparent 42%,rgba(238,237,235,.9) 58%,#EEEDEB)}
  .vbox{top:0;left:0;right:0;width:100%;transform:none}
  .lbl .pin{font-size:10px;padding:4px 8px;gap:5px;min-width:0;min-height:0;box-shadow:0 0 0 3px #EEEDEB}
  .lbl .pname small{display:none}
  .lbl .pdot{width:6px;height:6px}
  .lbl .pop{width:200px;padding:12px}
  .cine-intro,.chap,.chap.outro{bottom:56px}
}
/* label + edge polish */
.lbl .pin{background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.55),0 10px 22px -10px rgba(10,21,48,.35);min-width:calc(var(--w) * (100vw - 28px) * .0066);min-height:calc(var(--h) * (100vw - 28px) * .0066 * .5625)}
.lbl:hover .pin,.lbl:focus-within .pin,.lbl.hl .pin{box-shadow:0 0 0 5px rgba(255,255,255,.55),0 18px 36px -12px rgba(142,109,58,.6)}
.lbls:hover .lbl.on:not(:hover) .pin{opacity:1}
.lbls:hover .lbl.on:not(:hover) .pname,.lbls:hover .lbl.on:not(:hover) .pdot{opacity:.45}
.vbox video,.vbox .poster{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent),linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent),linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}
@media (max-width:860px){
  .lbl .pin{min-width:calc(var(--w) * (100vw - 16px) * .01);min-height:calc(var(--h) * (100vw - 16px) * .01 * .5625);box-shadow:0 0 0 3px rgba(255,255,255,.55),0 6px 14px -8px rgba(10,21,48,.35)}
  .vbox video,.vbox .poster{-webkit-mask-image:linear-gradient(to bottom,#000 80%,transparent);mask-image:linear-gradient(to bottom,#000 80%,transparent);-webkit-mask-composite:source-over;mask-composite:add}
}


/* =================== LOGO BLUES + STORY HERO =================== */
.btn-primary{background:linear-gradient(135deg,#775B32 0%,#0F2455 100%);box-shadow:0 14px 30px -12px rgba(119,91,50,.6),inset 0 1px 0 rgba(255,255,255,.22)}
.btn-primary:hover{background:linear-gradient(135deg,#8D6D3D 0%,#122B66 100%)}
.btn-light{background:#fff;color:#0F2455;box-shadow:0 14px 30px -12px rgba(0,0,0,.4)}
.btn-outline-light{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.3)}
.eyebrow::before{background:var(--tape);box-shadow:0 0 0 4px color-mix(in srgb,var(--tape) 22%,transparent)}
.logo img{height:46px;width:auto;display:block}
@media (max-width:560px){.logo img{height:36px}}
.cine-intro h1 em{background:linear-gradient(90deg,#A87529,#A87529 45%,#775B32);-webkit-background-clip:text;background-clip:text;color:transparent}
.rail i b{background:linear-gradient(90deg,#775B32,#A87529)}

/* photo acts */
.ph{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;will-change:opacity}
.ph img{width:100%;height:100%;object-fit:cover;will-change:transform;transition:none}
.ph-in img{transform-origin:63% 52%;object-position:60% 50%}
.ph-out{opacity:0;visibility:hidden}
.ph-out img{transform-origin:42% 60%;object-position:42% 62%}
.ph-in::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,36,85,.92) 0%,rgba(15,36,85,.72) 32%,rgba(15,36,85,.15) 60%,transparent 75%)}
.ph-out::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,36,85,.55),transparent 55%)}
.cine-ui{z-index:4}
.stage::before{z-index:0}
.vbox{z-index:0}
/* intro sits on the real-knee photo: white type */
.cine-intro .eyebrow{background:rgba(255,255,255,.12);color:#A87529;box-shadow:none;backdrop-filter:blur(8px)}
.cine-intro h1{color:#fff}
.cine-intro p{color:rgba(245,241,236,.82)}
.cine-intro .actions .btn-ghost{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.28);box-shadow:none;backdrop-filter:blur(8px)}
.cine-trust{color:rgba(245,241,236,.7)}.cine-trust b{color:#fff}
.cine.on-photo .rail button{color:rgba(255,255,255,.6)}
.cine.on-photo .rail button.on{color:#fff}
.cine.on-photo .rail i{background:rgba(255,255,255,.2)}
.cine.on-photo .hint{color:rgba(255,255,255,.8)}
.cine.on-photo .hint::after{background:linear-gradient(#fff,transparent)}
.chap.outro{width:min(500px,40%)}
.chap.outro .chap-card{background:linear-gradient(150deg,rgba(15,36,85,.9),rgba(15,36,85,.85) 55%,rgba(119,91,50,.85));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}

/* blue label chips (match the cards) */
.lbl .pin{background:var(--grad);color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.6),0 12px 26px -10px rgba(15,36,85,.55)}
.lbl .pname small{color:#A87529}
.lbl .pdot{background:#A87529;animation:pdot2 2.2s infinite}
@keyframes pdot2{0%{box-shadow:0 0 0 0 rgba(168,117,41,.55)}70%,100%{box-shadow:0 0 0 10px rgba(168,117,41,0)}}
.lbl:hover .pin,.lbl:focus-within .pin,.lbl.hl .pin{background:var(--grad-hi);color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.7),0 20px 40px -12px rgba(119,91,50,.7);transform:scale(1.07)}
.lbl:hover .pname small,.lbl:focus-within .pname small,.lbl.hl .pname small{color:#fff}
.lbl:hover .pdot,.lbl:focus-within .pdot,.lbl.hl .pdot{background:#fff}
.lbls:hover .lbl.on:not(:hover) .pname,.lbls:hover .lbl.on:not(:hover) .pdot{opacity:.55}
.lbl .pop a{color:#775B32}

/* animated leader lines */
.leaders{position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible;pointer-events:none}
.ldr .ln{stroke:#775B32;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset .9s cubic-bezier(.65,0,.35,1) .15s,stroke .25s,stroke-width .25s}
.ldr .tip{fill:#A87529;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .3s .9s}
.ldr .ring{fill:none;stroke:#A87529;stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:0;transform-box:fill-box;transform-origin:center}
.ldr.on .ln{stroke-dashoffset:0}
.ldr.on .tip{opacity:1}
.ldr.on .ring{animation:ring 1.8s ease-out 1s infinite}
@keyframes ring{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(1.6)}}
.ldr.hl .ln{stroke:#A87529;stroke-width:3}
.ldr.hl .tip{fill:#fff;stroke:#A87529}
@media (max-width:860px){
  .ph-in::after{background:linear-gradient(180deg,transparent 25%,rgba(15,36,85,.75) 55%,rgba(15,36,85,.95))}
  .ph-in img{object-position:62% 40%}
  .ph-out img{object-position:44% 60%}
  .ph-out::after{background:linear-gradient(180deg,transparent 35%,rgba(15,36,85,.6))}
  .ldr .ln{stroke-width:1.5}
}
@media (prefers-reduced-motion:reduce){.ldr .ln{stroke-dashoffset:0;transition:none}.ph-in{opacity:1!important}}
/* fixes */
.ldr{opacity:0;transition:opacity .3s}
.ldr.on{opacity:1}
.ldr .ln{vector-effect:none;stroke-width:.2;stroke-dasharray:1;stroke-dashoffset:1}
.ldr.hl .ln{stroke-width:.32}
.ldr .tip{vector-effect:none;stroke-width:.18}
.ldr .ring{vector-effect:none;stroke-width:.16}
.rail{grid-template-columns:repeat(5,1fr)}
.chap{width:min(400px,30%)}
.chap.outro{left:auto;right:clamp(24px,4vw,56px);width:min(460px,36%)}
.ph-out img{object-position:50% 74%;transform-origin:36% 66%}
@media (max-width:860px){.chap,.chap.outro{width:auto;left:18px;right:18px}.ldr .ln{stroke-width:.35}.ph-out img{object-position:40% 66%}}
.logo img{height:56px}
@media (max-width:560px){.logo img{height:40px}}
@media (max-width:860px){
  .ph-in img{object-position:86% 50%;transform-origin:86% 50%}
  .ph-out img{position:absolute;left:0;top:-58%;height:158%;object-position:42% 50%;transform-origin:42% 66%}
}
@media (max-width:860px){.ph-out img{top:-72%;height:166%}}


/* =================== V6: NAVY 3D STAGE, PHOTOS, CURSOR =================== */
/* navy stage */
.stage{background:#0F2455;box-shadow:0 50px 100px -50px rgba(15,36,85,.7)}
.stage::before{z-index:2;pointer-events:none;background:radial-gradient(42% 80% at 0% 50%,rgba(15,36,85,.82),transparent 72%),radial-gradient(50% 60% at 100% 100%,rgba(119,91,50,.22),transparent 70%)}
.stage::after{box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.ph{z-index:0}
.lens{position:absolute;inset:0;z-index:1;background:#0F2455;clip-path:circle(var(--r,0px) at var(--x,50%) var(--y,50%));-webkit-clip-path:circle(var(--r,0px) at var(--x,50%) var(--y,50%));will-change:clip-path}
.lens-inner{position:absolute;inset:0;transform-origin:var(--x,50%) var(--y,50%);transform:perspective(1400px) rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg)) scale(var(--s,1));will-change:transform}
.lens-glow{position:absolute;inset:0;pointer-events:none;opacity:var(--go,0);background:radial-gradient(circle var(--r,0px) at var(--x,50%) var(--y,50%),transparent 70%,rgba(168,117,41,.18) 90%,rgba(142,109,58,.55) 100%)}
.lens-ring{position:absolute;z-index:2;left:var(--x,50%);top:var(--y,50%);width:calc(var(--r,0px) * 2);height:calc(var(--r,0px) * 2);transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(142,109,58,.95);box-shadow:0 0 0 8px rgba(168,117,41,.14),0 0 50px rgba(168,117,41,.6),inset 0 0 50px rgba(168,117,41,.35);opacity:var(--ro,0);pointer-events:none}
.ph-in img{object-position:50% 50%;transform-origin:72% 49.5%}
.ph-out img{object-position:50% 74%;transform-origin:44% 48.5%}
.rail button{color:rgba(255,255,255,.55)}
.rail button.on{color:#fff}
.rail i{background:rgba(255,255,255,.16)}
.hint{color:rgba(255,255,255,.75)}.hint::after{background:linear-gradient(#A87529,transparent)}
.ldr .ln{stroke:#A87529;stroke-width:.24}
.ldr .tip{fill:#A87529}
.lbl .pin{box-shadow:0 0 0 4px rgba(142,109,58,.22),0 14px 30px -10px rgba(0,0,0,.6);font-weight:700;letter-spacing:.005em}
.lbl:hover .pin,.lbl:focus-within .pin,.lbl.hl .pin{box-shadow:0 0 0 4px rgba(142,109,58,.45),0 20px 40px -12px rgba(168,117,41,.55)}
/* hover-dim bug fix: only dim siblings while a label itself is hovered */
.lbls:hover .lbl.on:not(:hover) .pin,.lbls:hover .lbl.on:not(:hover) .pname,.lbls:hover .lbl.on:not(:hover) .pdot{opacity:1}
.lbls:has(.lbl:hover) .lbl.on:not(:hover) .pin{opacity:.6}
/* smoother chapter + label transitions */
.chap{transition:opacity .8s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1),filter .8s;filter:blur(6px)}
.chap.on{filter:none}
.chap .chap-card>*{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.chap.on .chap-card>*{opacity:1;transform:none}
.chap.on .chap-card>*:nth-child(2){transition-delay:.06s}.chap.on .chap-card>*:nth-child(3){transition-delay:.12s}.chap.on .chap-card>*:nth-child(4){transition-delay:.18s}.chap.on .chap-card>*:nth-child(5){transition-delay:.24s}.chap.on .chap-card>*:nth-child(6){transition-delay:.3s}
.chap.outro h2.big{font-size:clamp(46px,5.4vw,80px);letter-spacing:-.05em;background:linear-gradient(90deg,#fff,#A87529);-webkit-background-clip:text;background-clip:text;color:transparent}
.lbl{transition:opacity .55s ease var(--d,0s),visibility .55s var(--d,0s)}
.lbl .pin{transition:background .25s,color .25s,box-shadow .25s,transform .55s cubic-bezier(.34,1.56,.64,1),opacity .25s}
.lbl:not(.on) .pin{transform:scale(.8)}
.ldr{transition:opacity .4s ease var(--d,0s)}
.ldr .ln{transition:stroke-dashoffset 1s cubic-bezier(.65,0,.35,1) calc(var(--d,0s) + .15s),stroke .25s,stroke-width .25s}
.ldr .tip{transition:opacity .3s calc(var(--d,0s) + .9s)}
@media (max-width:860px){
  .stage::before{background:linear-gradient(180deg,transparent 40%,rgba(15,36,85,.92) 58%,#0F2455)}
  .ph-in img{object-position:84% 50%;transform-origin:50% 49.5%}
  .ph-out img{position:absolute;left:0;top:-35%;height:130%;object-position:34% 50%;transform-origin:51% 49%}
  .ldr .ln{stroke-width:.4}
}

/* header: logo glow + smooth scroll state */
.hdr{transition:background .45s ease,box-shadow .45s ease,border-color .45s}
.hdr.scrolled{background:color-mix(in srgb,var(--bg) 90%,transparent);box-shadow:0 12px 34px -20px rgba(15,36,85,.4)}
.hdr .logo img{animation:logoGlow 4.5s ease-in-out infinite;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.hdr .logo:hover img{transform:scale(1.03)}
@keyframes logoGlow{0%,100%{filter:drop-shadow(0 0 4px rgba(168,117,41,.28)) drop-shadow(0 4px 10px rgba(15,36,85,.18))}50%{filter:drop-shadow(0 0 12px rgba(168,117,41,.6)) drop-shadow(0 4px 14px rgba(119,91,50,.3))}}
.mega{transition:opacity .25s ease,transform .3s cubic-bezier(.16,1,.3,1)}

/* doctor photo + quotes */
.portrait.has-photo{background:var(--grad);padding:0}
.portrait.has-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.portrait .ptag{position:absolute;left:16px;bottom:16px;font:600 12px var(--f-body);color:#fff;background:rgba(15,36,85,.6);backdrop-filter:blur(8px);padding:8px 12px;border-radius:999px}
.mg.av{object-fit:cover;padding:0;border:2px solid #fff;box-shadow:0 6px 16px -8px rgba(15,36,85,.5)}
.dq{margin:0;border-left:3px solid var(--tape);padding:6px 0 6px 20px;display:grid;gap:8px}
.dq blockquote{margin:0;font:600 clamp(18px,2vw,22px)/1.45 var(--f-display);letter-spacing:-.01em;color:var(--ink)}
.dq figcaption{font:500 12px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}

/* back-active mosaic */
.ba{display:grid;grid-template-columns:1.45fr 1fr 1fr;grid-template-rows:290px 290px;gap:14px}
.ba figure{margin:0;position:relative;border-radius:26px;overflow:hidden;isolation:isolate;box-shadow:0 30px 60px -36px rgba(15,36,85,.5)}
.ba figure:first-child{grid-row:span 2}
.ba img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s cubic-bezier(.16,1,.3,1)}
.ba figure:hover img{transform:scale(1.06)}
.ba figure:not(.q)::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(15,36,85,.55))}
.ba figcaption{position:absolute;z-index:2;left:16px;bottom:16px;font:600 13px var(--f-body);color:#fff;background:rgba(15,36,85,.5);backdrop-filter:blur(8px);padding:8px 14px;border-radius:999px}
.ba .q{background:var(--grad);color:#fff;padding:28px;display:grid;align-content:space-between;gap:16px}
.ba .q blockquote{margin:0;font:600 clamp(17px,1.6vw,21px)/1.45 var(--f-display);letter-spacing:-.01em}
.ba .q figcaption{position:static;background:none;padding:0;display:flex;align-items:center;gap:12px;backdrop-filter:none;font-size:14px}
.ba .q figcaption small{display:block;font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--c-k)}
.ba .q .mg{width:48px;height:48px;border-radius:14px}
@media (max-width:900px){.ba{grid-template-columns:1fr 1fr;grid-template-rows:auto}.ba figure{aspect-ratio:4/3}.ba figure:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:16/10}.ba .q{grid-column:1/-1;aspect-ratio:auto}}

/* page hero photos */
.phero-grid.img{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center}
.pimg{margin:0;border-radius:30px;overflow:hidden;aspect-ratio:4/5;max-height:600px;box-shadow:0 40px 80px -40px var(--glow);position:relative}
.pimg img{width:100%;height:100%;object-fit:cover;display:block}
.pimg::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.gimg{margin:-24px -24px 4px;aspect-ratio:16/10;overflow:hidden;border-radius:24px 24px 0 0}
.gimg.short{aspect-ratio:2/1}
.gimg img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:920px){.pimg{aspect-ratio:16/10;max-height:none}.phero-grid.img{grid-template-columns:1fr}}

/* reflex-hammer cursor + knee-jerk hover */
@media (hover:hover) and (pointer:fine){
  body{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2740%27%20height%3D%2740%27%20viewBox%3D%270%200%2040%2040%27%3E%3Cg%20transform%3D%27rotate%280%209%2014%29%27%3E%3Cline%20x1%3D%2731%27%20y1%3D%2737%27%20x2%3D%2717%27%20y2%3D%2711%27%20stroke%3D%27%23071a33%27%20stroke-width%3D%275%27%20stroke-linecap%3D%27round%27/%3E%3Cline%20x1%3D%2731%27%20y1%3D%2737%27%20x2%3D%2717%27%20y2%3D%2711%27%20stroke%3D%27%23dfe7f0%27%20stroke-width%3D%272.6%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M26.2%204.6%20L7%209.4%20L11.8%2018.4%20Z%27%20fill%3D%27%23e5484d%27%20stroke%3D%27%234a0c12%27%20stroke-width%3D%271.5%27%20stroke-linejoin%3D%27round%27/%3E%3Cpath%20d%3D%27M23%206.2%20L10.2%209.6%27%20stroke%3D%27%23ff8a8f%27%20stroke-width%3D%271.2%27%20stroke-linecap%3D%27round%27/%3E%3Ccircle%20cx%3D%2717%27%20cy%3D%2711%27%20r%3D%272.3%27%20fill%3D%27%23a9b7c8%27%20stroke%3D%27%23071a33%27%20stroke-width%3D%271%27/%3E%3C/g%3E%3C/svg%3E") 9 14,auto}
  a,button,summary,label,select,[role=button],.lbl .pin,.rail button{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2740%27%20height%3D%2740%27%20viewBox%3D%270%200%2040%2040%27%3E%3Cg%20transform%3D%27rotate%28-24%209%2014%29%27%3E%3Cline%20x1%3D%2731%27%20y1%3D%2737%27%20x2%3D%2717%27%20y2%3D%2711%27%20stroke%3D%27%23071a33%27%20stroke-width%3D%275%27%20stroke-linecap%3D%27round%27/%3E%3Cline%20x1%3D%2731%27%20y1%3D%2737%27%20x2%3D%2717%27%20y2%3D%2711%27%20stroke%3D%27%23dfe7f0%27%20stroke-width%3D%272.6%27%20stroke-linecap%3D%27round%27/%3E%3Cpath%20d%3D%27M26.2%204.6%20L7%209.4%20L11.8%2018.4%20Z%27%20fill%3D%27%23e5484d%27%20stroke%3D%27%234a0c12%27%20stroke-width%3D%271.5%27%20stroke-linejoin%3D%27round%27/%3E%3Cpath%20d%3D%27M23%206.2%20L10.2%209.6%27%20stroke%3D%27%23ff8a8f%27%20stroke-width%3D%271.2%27%20stroke-linecap%3D%27round%27/%3E%3Ccircle%20cx%3D%2717%27%20cy%3D%2711%27%20r%3D%272.3%27%20fill%3D%27%23a9b7c8%27%20stroke%3D%27%23071a33%27%20stroke-width%3D%271%27/%3E%3C/g%3E%3C/svg%3E") 9 14,pointer}
  input,textarea{cursor:text}
}
@keyframes kneejerk{0%{translate:0 0}22%{translate:0 -6px}46%{translate:0 1.5px}66%{translate:0 -2px}100%{translate:0 0}}
.jerk{animation:kneejerk .5s cubic-bezier(.3,.7,.4,1)}
@media (prefers-reduced-motion:reduce){.jerk{animation:none}.hdr .logo img{animation:none}}
.duo{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}
.duo .pimg{aspect-ratio:auto;height:460px;max-height:none}
.duo .pimg img{object-position:50% 30%}
@media (max-width:760px){.duo{grid-template-columns:1fr}.duo .pimg{height:320px}}
.lens-inner{transform:translate(var(--tx,0%),var(--ty,0%)) perspective(1400px) rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg)) scale(var(--s,1))}


/* =================== LOGO PALETTE =================== */
:root{
  --logo-deep:#0F2455; --logo-steel:#1C3674; --logo-ocean:#775B32; --logo-teal:#8E6D3A; --logo-cyan:#A87529;
  --accent:#775B32; --accent-2:#1C3674; --soft:#F5F1EC; --tape:#A87529; --tape-ink:#0F2455;
  --band:#0F2455; --band-ink:#FFFFFF; --band-muted:#D9CDBC; --band-line:rgba(255,255,255,.16);
  --grad:linear-gradient(150deg,#0F2455 0%,#1C3674 48%,#775B32 86%,#8E6D3A 100%);
  --grad-hi:linear-gradient(150deg,#122A61 0%,#1E3C82 45%,#8E6D3A 85%,#A87529 100%);
  --glow:rgba(142,109,58,.45); --c-k:#A87529; --c-muted:rgba(255,255,255,.82);
}
.status{background:#0F2455}
.band{background:radial-gradient(55% 80% at 88% 8%,rgba(168,117,41,.28),transparent 60%),linear-gradient(135deg,#0F2455 0%,#1C3674 62%,#775B32 100%)}
.band .muted,.band .sec-head p{color:var(--band-muted)}
.foot{background:radial-gradient(45% 60% at 92% 0%,rgba(168,117,41,.22),transparent 60%),linear-gradient(160deg,#0F2455 0%,#172F66 100%)}
.foot-big{-webkit-text-stroke:1.5px rgba(142,109,58,.35)}
.btn-primary{background:linear-gradient(135deg,#8E6D3A 0%,#775B32 45%,#1C3674 100%);box-shadow:0 14px 30px -12px rgba(142,109,58,.6),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-primary:hover{background:linear-gradient(135deg,#A87529 0%,#8E6D3A 40%,#775B32 100%)}
.eyebrow{color:#775B32;background:#F5F1EC}
.eyebrow::before{background:#8E6D3A;box-shadow:0 0 0 4px rgba(142,109,58,.22)}
.band .eyebrow,.cine-intro .eyebrow{background:rgba(255,255,255,.12);color:#A87529}
.cine-intro h1 em{background:linear-gradient(90deg,#A87529,#8E6D3A 55%,#775B32);-webkit-background-clip:text;background-clip:text;color:transparent}
.ticks li::before{border-color:#8E6D3A;background:radial-gradient(circle,#8E6D3A 3px,transparent 4px)}
.creds li::before{color:#8E6D3A}
.prose a,.link,.lbl .pop a,.lcard .go{color:#775B32}
.lcard .go{color:#fff}
.rail i b{background:linear-gradient(90deg,#8E6D3A,#A87529)}
.steps li::after,.path .st::before{background:#8E6D3A}
.answer::before{background:linear-gradient(#A87529,#775B32)}
.ldr .ln{stroke:#A87529}.ldr .tip{fill:#A87529}.ldr .ring{stroke:#A87529}
.dq{border-left-color:#8E6D3A}.dq figcaption{color:#775B32}
.dot{background:#8E6D3A}
.ctaband{background:linear-gradient(135deg,#0F2455 0%,#1C3674 45%,#775B32 80%,#8E6D3A 100%)}
.ctable thead th{background:var(--grad)}
@keyframes logoGlow{0%,100%{filter:drop-shadow(0 0 4px rgba(168,117,41,.3)) drop-shadow(0 4px 10px rgba(15,36,85,.18))}50%{filter:drop-shadow(0 0 12px rgba(168,117,41,.6)) drop-shadow(0 4px 14px rgba(142,109,58,.32))}}
.lbl .pin{background:linear-gradient(135deg,#775B32 0%,#8E6D3A 100%);box-shadow:0 0 0 3px rgba(168,117,41,.35),0 14px 30px -10px rgba(4,15,40,.7)}
.lbl .pname small{color:#F9F4EC}
.lbl .pdot{background:#fff}
.lbl:hover .pin,.lbl:focus-within .pin,.lbl.hl .pin{background:linear-gradient(135deg,#8E6D3A 0%,#A87529 100%);color:#0F2455;box-shadow:0 0 0 4px rgba(168,117,41,.55),0 20px 40px -12px rgba(168,117,41,.6)}
.lbl:hover .pname small,.lbl:focus-within .pname small,.lbl.hl .pname small{color:#0F2455}
.lbl:hover .pdot,.lbl.hl .pdot{background:#0F2455}
.chap-card{box-shadow:0 40px 70px -30px rgba(4,15,40,.6),inset 0 0 0 1px rgba(168,117,41,.3)}

/* =================== LIGHT TEAL EVERYWHERE (dark only in the hero) =================== */
:root{
  --grad:linear-gradient(150deg,#8E6D3A 0%,#9B743A 50%,#A87529 100%);
  --grad-hi:linear-gradient(150deg,#A87529 0%,#8E6D3A 100%);
  --c-ink:#0F2455; --c-muted:rgba(15,36,85,.84); --c-line:rgba(15,36,85,.2); --c-k:#0F2455;
  --band:#F5F0E8; --band-ink:#0F2455; --band-muted:#2F4578; --band-line:rgba(15,36,85,.14);
  --glow:rgba(168,117,41,.38);
}
/* the hero keeps its deep logo-blue look */
.cine{--grad:linear-gradient(150deg,#0F2455 0%,#1C3674 48%,#775B32 86%,#8E6D3A 100%);--grad-hi:linear-gradient(150deg,#122A61 0%,#1E3C82 45%,#8E6D3A 85%,#A87529 100%);--c-ink:#fff;--c-muted:rgba(255,255,255,.84);--c-line:rgba(255,255,255,.16);--c-k:#A87529}

/* teal cards: navy text */
.lcard h3,.cat h3,.cat h3 a,.cause h3,.symptoms b,.take blockquote,.two .card.good h3,.cat li a,.lcard .go,.cause .clue,.ba .q blockquote,.ba .q figcaption{color:#0F2455}
.lcard p,.cause p,.cat p,.symptoms span,.take cite,.two .card.good li{color:rgba(15,36,85,.84)}
.lcard .k,.cat .k,.cause .who,.ba .q figcaption small{color:#142F6F}
.cat h3 a:hover,.cat li a:hover{color:#fff}
.cat li a::after,.cause .clue b{color:#0F2455}
.lcard::before,.cat::before,.cause::before,.symptoms a::before,.take::before,.two .card.good::before{background:radial-gradient(120% 80% at 100% 0%,rgba(255,255,255,.4),transparent 55%)}
.lcard::after,.cat::after,.cause::after,.symptoms a::after{border-color:rgba(255,255,255,.35);box-shadow:0 0 0 22px rgba(255,255,255,.08),0 0 0 46px rgba(255,255,255,.05)}
.two .card.good .ticks li::before{border-color:#0F2455;background:radial-gradient(circle,#0F2455 3px,transparent 4px)}
.take .mg,.ba .q .mg{border-color:#fff}
.ladder .lv{color:#0F2455}
.mega-pain .tiles a,.mega-pain .tiles a:hover{color:#0F2455}
.mega-pain .tiles a span{color:#142F6F}
.ctable thead th{color:#0F2455}
.bottomline,.bottomline p,.bottomline h2{color:#0F2455}
.ctaband{background:var(--grad);color:#0F2455;box-shadow:0 40px 80px -40px rgba(168,117,41,.5)}
.ctaband .btn{background:#fff;color:#0F2455}
.ctaband .ph{color:#0F2455}
.btn-primary{background:linear-gradient(135deg,#8E6D3A 0%,#775B32 100%);text-shadow:0 1px 1px rgba(15,36,85,.3)}
.btn-primary:hover{background:linear-gradient(135deg,#A87529 0%,#8E6D3A 100%)}
.btn-tape{background:linear-gradient(135deg,#8E6D3A,#775B32);color:#fff}
.pill.tape{color:#775B32;background:rgba(142,109,58,.14)}

/* top bar */
.status{background:linear-gradient(90deg,#8E6D3A,#A87529);color:#0F2455}
.status a{color:#0F2455}
.status .dot{background:#0F2455;animation:none}
.status .dot.closed{background:#C0392B}

/* Saturday clinic band */
.band{background:radial-gradient(55% 80% at 88% 8%,rgba(168,117,41,.22),transparent 60%),linear-gradient(135deg,#F6F2EB 0%,#EEE4D6 100%);color:#0F2455}
.band .eyebrow{background:#fff;color:#775B32}
.band .eyebrow::before{background:#8E6D3A}
.band .sec-head p,.band .muted{color:#2F4578}
.cmp-wrap{background:#fff}
.cmp thead th.us{color:#775B32}
.wcard{background:#fff;border-color:rgba(15,36,85,.1);box-shadow:0 26px 50px -30px rgba(15,36,85,.3);backdrop-filter:none}
.band .today{color:#775B32}
.band .btn-ghost{background:#fff;color:#0F2455;border-color:rgba(15,36,85,.15)}

/* footer */
.foot{background:radial-gradient(45% 60% at 92% 0%,rgba(168,117,41,.2),transparent 60%),linear-gradient(160deg,#F6F2EB 0%,#EEE5D8 100%);color:#0F2455}
.foot a{color:#0F2455}
.foot h4,.foot .fh{color:#775B32}
.foot address,.foot-base,.foot ul li,.foot p{color:#2F4578}
.foot-top{border-bottom-color:rgba(15,36,85,.14)}
.foot-big{-webkit-text-stroke:1.5px rgba(119,91,50,.3)}

/* video + photo captions */
.vidcard::after{background:linear-gradient(180deg,transparent 35%,rgba(142,109,58,.86) 70%,#8E6D3A)}
.vidcard .vc-copy,.vidcard .vc-copy h3{color:#0F2455}
.vidcard .vc-copy p{color:rgba(15,36,85,.86)}
.vidcard .btn-ghost{background:#fff!important;color:#0F2455!important;border-color:transparent!important}
.ba figure:not(.q)::after{background:linear-gradient(180deg,transparent 65%,rgba(15,36,85,.18))}
.ba figcaption{background:rgba(255,255,255,.9);color:#0F2455}
.portrait .ptag{background:rgba(255,255,255,.9);color:#0F2455}

/* =================== X-RAY BODY MAP =================== */
.bodymap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px;align-items:center}
.bm-fig{position:relative;width:100%;max-width:500px;aspect-ratio:505/738;justify-self:center;border-radius:32px;overflow:hidden;background:#EFEFEF;box-shadow:0 40px 80px -44px rgba(15,36,85,.45),inset 0 0 0 1px rgba(15,36,85,.06);isolation:isolate;touch-action:pan-y}
.bm-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;user-select:none}
.bm-scan{position:absolute;inset:0;clip-path:inset(var(--st,100%) 0 calc(100% - var(--sb,100%)) 0);-webkit-clip-path:inset(var(--st,100%) 0 calc(100% - var(--sb,100%)) 0)}
.bm-line{position:absolute;left:0;right:0;top:var(--sb,100%);height:2px;margin-top:-1px;background:#A87529;box-shadow:0 0 14px 3px rgba(168,117,41,.75),0 0 40px 8px rgba(168,117,41,.35)}
.bm-scan::before{content:"";position:absolute;left:0;right:0;top:var(--st,100%);height:2px;background:rgba(168,117,41,.6);box-shadow:0 0 10px 2px rgba(168,117,41,.5);z-index:1}
.bm-lens{position:absolute;inset:0;clip-path:circle(var(--mr,0px) at var(--mx,50%) var(--my,70%));-webkit-clip-path:circle(var(--mr,0px) at var(--mx,50%) var(--my,70%));transition:clip-path .55s cubic-bezier(.16,1,.3,1),-webkit-clip-path .55s cubic-bezier(.16,1,.3,1)}
.bm-ring{position:absolute;left:var(--mx,50%);top:var(--my,70%);width:calc(var(--mr,0px) * 2);height:calc(var(--mr,0px) * 2);translate:-50% -50%;border-radius:50%;border:2px solid rgba(168,117,41,.95);box-shadow:0 0 0 6px rgba(168,117,41,.15),0 0 34px rgba(168,117,41,.55);pointer-events:none;transition:all .55s cubic-bezier(.16,1,.3,1);opacity:var(--ro,0)}
.bm-fig.follow .bm-lens,.bm-fig.follow .bm-ring{transition-duration:.12s}
.bm-pin{position:absolute;z-index:3;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#A87529;border:3px solid #fff;box-shadow:0 4px 12px rgba(15,36,85,.45);opacity:0;scale:.3;transition:opacity .4s ease var(--d,0s),scale .55s cubic-bezier(.34,1.56,.64,1) var(--d,0s),background .2s}
.bm-pin::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid rgba(168,117,41,.8);animation:bmPulse 2.2s ease-out infinite;animation-delay:var(--d,0s)}
@keyframes bmPulse{0%{opacity:.9;transform:scale(.5)}100%{opacity:0;transform:scale(1.9)}}
.bodymap.open .bm-pin{opacity:1;scale:1}
.bm-pin:hover,.bm-pin.hl,.bm-pin:focus-visible{background:#0F2455;scale:1.25;z-index:5}
.bm-pin .tag{position:absolute;left:50%;bottom:calc(100% + 12px);translate:-50% 4px;white-space:nowrap;font:700 12.5px/1 var(--f-body);color:#0F2455;background:linear-gradient(135deg,#8E6D3A,#A87529);padding:8px 12px;border-radius:999px;box-shadow:0 10px 24px -8px rgba(15,36,85,.5);opacity:0;pointer-events:none;transition:opacity .2s,translate .25s}
.bm-pin.low .tag{bottom:auto;top:calc(100% + 12px)}
.bm-pin:hover .tag,.bm-pin.hl .tag,.bm-pin:focus-visible .tag{opacity:1;translate:-50% 0}
.bm-hint{position:absolute;left:16px;top:16px;z-index:4;font:600 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#0F2455;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);padding:8px 12px;border-radius:999px;display:flex;align-items:center;gap:8px}
.bm-hint .d{width:8px;height:8px;border-radius:50%;background:#A87529;box-shadow:0 0 0 4px rgba(168,117,41,.25)}
.bodymap .symptoms a.hl{transform:translateY(-6px);background:var(--grad-hi)}
@media (max-width:900px){.bodymap{grid-template-columns:1fr}.bm-fig{max-width:400px}}
@media (prefers-reduced-motion:reduce){.bm-pin{opacity:1;scale:1}.bm-pin::after{animation:none}}

/* =================== PREMIUM V8 =================== */
/* section labels: fit content + beacon pulse */
.eyebrow{justify-self:start;align-self:start;width:max-content;max-width:100%}
.eyebrow::before{position:relative;flex:none;animation:beacon 2.4s ease-out infinite}
@keyframes beacon{0%{box-shadow:0 0 0 0 rgba(168,117,41,.55)}70%,100%{box-shadow:0 0 0 9px rgba(168,117,41,0)}}
.sec-head h2{letter-spacing:-.04em}
.sec-head.row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;max-width:none;flex-wrap:wrap}
.sec-head.row>div{display:grid;gap:14px}
.ico{flex:none}

/* scroll reveal */
.rv-pre{opacity:0;transform:translateY(28px);filter:blur(4px)}
.rv-in{opacity:1;transform:none;filter:none;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1),filter .9s;transition-delay:var(--rd,0s)}

/* ---------- body map v2 ---------- */
.bodymap{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:stretch}
.bm-pin{cursor:pointer;padding:0;font:inherit;appearance:none}
.bm-pin.on{background:#0F2455;scale:1.3}
.bm-pin.on .tag{opacity:1;translate:-50% 0}
.bm-info{position:relative;display:grid;align-content:center}
.bm-panel{grid-area:1/1;align-self:center;background:#fff;border-radius:30px;padding:36px;box-shadow:0 40px 80px -40px rgba(15,36,85,.35),inset 0 0 0 1px rgba(15,36,85,.06);display:grid;gap:16px;opacity:0;transform:translateX(24px);pointer-events:none;visibility:hidden;transition:opacity .45s ease,transform .6s cubic-bezier(.16,1,.3,1),visibility .45s}
.bm-panel.on{opacity:1;transform:none;pointer-events:auto;visibility:visible}
.bm-panel::before{content:"";position:absolute;left:0;top:30px;bottom:30px;width:4px;border-radius:4px;background:linear-gradient(#A87529,#775B32)}
.bm-panel .k{font:600 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#775B32}
.bm-panel h3{font-size:clamp(28px,3vw,40px);letter-spacing:-.035em}
.bm-panel p{color:var(--muted);font-size:16.5px}
.bm-panel h4{font:600 12px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.bm-panel .feels{gap:8px}
.bm-panel .feels span{font-size:14px;padding:8px 14px;background:#F5F1EC;color:#0F2455}
.bm-causes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bm-causes li{display:grid;gap:2px;padding:12px 14px;border-radius:14px;background:#F9F8F6;border:1px solid #EEEAE5}
.bm-causes b{font:700 15px var(--f-display);color:#0F2455}
.bm-causes span{font-size:13px;color:var(--muted)}
.bm-chips{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:28px}
.bm-chips>span{font:600 12px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:6px}
.bm-chips button{font:600 14px var(--f-body);color:#0F2455;background:#fff;border:1.5px solid #E8E3DB;border-radius:999px;padding:10px 16px;cursor:pointer;transition:all .25s}
.bm-chips button:hover{border-color:#8E6D3A;transform:translateY(-2px)}
.bm-chips button.on{background:linear-gradient(135deg,#8E6D3A,#A87529);border-color:transparent;box-shadow:0 10px 24px -12px rgba(168,117,41,.8)}
@media (max-width:900px){.bm-causes{grid-template-columns:1fr}.bm-panel{padding:24px}}

/* ---------- Dr. Ortho ---------- */
.drsec{background:radial-gradient(50% 70% at 0% 30%,rgba(168,117,41,.12),transparent 60%),linear-gradient(180deg,#FBF9F5,#fff)}
.dr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:center}
.dr-media{position:relative;padding:0 40px 60px 0}
.dr-main{margin:0;border-radius:36px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 50px 100px -50px rgba(15,36,85,.55)}
.dr-main img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block;transition:transform 1.6s cubic-bezier(.16,1,.3,1)}
.dr-media:hover .dr-main img{transform:scale(1.04)}
.dr-sub{position:absolute;right:0;bottom:0;width:46%;margin:0;border-radius:24px;overflow:hidden;aspect-ratio:3/2;border:6px solid #fff;box-shadow:0 30px 60px -30px rgba(15,36,85,.5)}
.dr-sub img{width:100%;height:100%;object-fit:cover;display:block}
.dr-badge{position:absolute;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-radius:18px;padding:12px 16px 12px 12px;box-shadow:0 20px 40px -18px rgba(15,36,85,.45);animation:floaty 6s ease-in-out infinite}
.dr-badge .ico{width:38px;height:38px;padding:9px;border-radius:12px;background:linear-gradient(135deg,#8E6D3A,#A87529);color:#0F2455}
.dr-badge b{display:block;font:700 14px var(--f-display);color:#0F2455}
.dr-badge small{font-size:12px;color:var(--muted)}
.dr-badge.b1{left:-22px;top:12%}.dr-badge.b2{left:-12px;top:46%;animation-delay:-3s}
@keyframes floaty{50%{transform:translateY(-8px)}}
.dr-copy{display:grid;gap:18px;min-width:0}
.dr-name{font-size:clamp(44px,5.6vw,76px);font-weight:800;letter-spacing:-.05em;line-height:.95}
.dr-role{font:600 14px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#775B32}
.dr-lede{font-size:18px;color:var(--muted);max-width:58ch}
.dr-quote{margin:4px 0;padding:24px 28px;border-radius:24px;background:linear-gradient(135deg,rgba(142,109,58,.12),rgba(168,117,41,.06));position:relative}
.dr-quote::before{content:"“";position:absolute;right:20px;top:-18px;font:800 120px/1 var(--f-display);color:rgba(142,109,58,.25)}
.dr-quote blockquote{margin:0;font:600 clamp(18px,1.8vw,22px)/1.5 var(--f-display);color:#0F2455;letter-spacing:-.01em}
.dr-quote .sig{display:block;margin-top:10px;font:400 42px/1 "Pinyon Script","Brush Script MT",cursive;color:#775B32}
.dr-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dr-tiles div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:14px 16px;border-radius:18px;background:#fff;box-shadow:0 16px 36px -26px rgba(15,36,85,.5),inset 0 0 0 1px #EFECE7;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}
.dr-tiles div:hover{transform:translateY(-4px);box-shadow:0 24px 44px -26px rgba(168,117,41,.6),inset 0 0 0 1px #DDCCB3}
.dr-tiles .ico{grid-row:span 2;width:40px;height:40px;padding:9px;border-radius:12px;background:#F5F1EC;color:#775B32}
.dr-tiles b{font:700 15px var(--f-display);color:#0F2455}
.dr-tiles span{font-size:13px;color:var(--muted)}
@media (max-width:960px){.dr-grid{grid-template-columns:1fr;gap:40px}.dr-media{padding:0 20px 50px 0;max-width:520px}.dr-badge.b1{left:8px}.dr-badge.b2{left:8px}}
@media (max-width:520px){.dr-tiles{grid-template-columns:1fr}.dr-badge{display:none}}

/* ---------- treatment explorer ---------- */
.tx{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:28px;align-items:start}
.tx-tabs{display:grid;gap:6px;position:sticky;top:110px}
.tx-tabs button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;text-align:left;padding:16px 18px;border-radius:18px;border:0;background:transparent;cursor:pointer;font:600 16px var(--f-display);color:#5E5546;position:relative;transition:background .3s,color .3s}
.tx-tabs button .n{font-size:12px;color:#9E9280}
.tx-tabs button .c{font:600 12px var(--f-mono);color:#775B32;background:#F5F1EC;border-radius:999px;padding:3px 9px}
.tx-tabs button:hover{background:#FAF8F4;color:#0F2455}
.tx-tabs button[aria-selected="true"]{background:#fff;color:#0F2455;box-shadow:0 18px 40px -26px rgba(15,36,85,.5),inset 0 0 0 1px #EFE9E1}
.tx-tabs button[aria-selected="true"]::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:4px;background:linear-gradient(#A87529,#775B32)}
.tx-tabs button[aria-selected="true"] .n{color:#8E6D3A}
.tx-panels{display:grid}
.tx-panel{grid-area:1/1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;background:#fff;border-radius:32px;overflow:hidden;box-shadow:0 40px 80px -44px rgba(15,36,85,.45),inset 0 0 0 1px #EFECE7;opacity:0;visibility:hidden;transform:translateY(12px) scale(.99);transition:opacity .5s ease,transform .7s cubic-bezier(.16,1,.3,1),visibility .5s}
.tx-panel.on{opacity:1;visibility:visible;transform:none}
.tx-img{margin:0;position:relative;min-height:440px;overflow:hidden}
.tx-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.8s cubic-bezier(.16,1,.3,1)}
.tx-panel.on .tx-img img{transform:scale(1)}
.tx-img figcaption{position:absolute;left:18px;bottom:18px;font:600 12px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#0F2455;background:rgba(255,255,255,.92);padding:8px 12px;border-radius:999px}
.tx-body{padding:36px;display:grid;gap:16px;align-content:center}
.tx-body h3{font-size:clamp(26px,2.6vw,36px);letter-spacing:-.035em}
.tx-body>p{color:var(--muted)}
.tx-list{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid #F0EDE9}
.tx-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid #F0EDE9;text-decoration:none;font-weight:600;color:#0F2455;transition:color .2s,padding .3s}
.tx-list a .ico{color:#8E6D3A;transition:transform .3s}
.tx-list a:hover{color:#775B32;padding-left:8px}.tx-list a:hover .ico{transform:translateX(4px)}
.tx-body .btn{justify-self:start;margin-top:6px}
@media (max-width:1000px){.tx{grid-template-columns:1fr}.tx-tabs{position:static;grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.tx-tabs button .c{display:none}}
@media (max-width:700px){.tx-panel{grid-template-columns:1fr}.tx-img{min-height:220px}.tx-body{padding:24px}}

/* ---------- sport selector ---------- */
.sport{background:linear-gradient(180deg,#fff,#FAF7F3)}
.sp-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.sp-tabs button{position:relative;overflow:hidden;font:600 15px var(--f-body);color:#0F2455;background:#fff;border:1.5px solid #E8E3DB;border-radius:999px;padding:12px 20px;cursor:pointer;transition:all .3s}
.sp-tabs button:hover{border-color:#8E6D3A}
.sp-tabs button[aria-selected="true"]{background:linear-gradient(135deg,#8E6D3A,#A87529);border-color:transparent;box-shadow:0 12px 28px -14px rgba(168,117,41,.9)}
.sp-tabs button i{position:absolute;left:0;bottom:0;height:3px;width:var(--tp,0%);background:#0F2455;opacity:.35}
.sp-stage{display:grid}
.sp-panel{grid-area:1/1;position:relative;border-radius:36px;overflow:hidden;min-height:560px;display:grid;align-items:end;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s}
.sp-panel.on{opacity:1;visibility:visible}
.sp-img{position:absolute;inset:0;margin:0}
.sp-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 7s linear}
.sp-panel.on .sp-img img{transform:scale(1)}
.sp-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,36,85,.25),transparent 55%)}
.sp-card{position:relative;margin:28px;width:min(470px,calc(100% - 56px));background:rgba(255,255,255,.93);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:28px;padding:30px;display:grid;gap:14px;box-shadow:0 30px 60px -30px rgba(15,36,85,.6);transform:translateY(16px);opacity:0;transition:transform .8s cubic-bezier(.16,1,.3,1) .15s,opacity .6s ease .15s}
.sp-panel.on .sp-card{transform:none;opacity:1}
.sp-card .k{font:600 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#775B32}
.sp-card h3{font-size:clamp(20px,2vw,26px);letter-spacing:-.025em;line-height:1.2}
.sp-sub{font:600 12px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sp-inj{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sp-inj a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 14px;border-radius:14px;background:#F6F3EE;color:#0F2455;font-weight:600;font-size:14.5px;text-decoration:none;transition:all .25s}
.sp-inj a .ico{color:#8E6D3A}
.sp-inj a:hover{background:linear-gradient(135deg,#8E6D3A,#A87529);transform:translateY(-2px)}
.sp-inj a:hover .ico{color:#0F2455}
.sp-ret{display:flex;gap:10px;align-items:center;font-size:14.5px;color:#0F2455}
.sp-ret .ico{color:#8E6D3A}
.sp-card .btn{justify-self:start}
@media (max-width:700px){.sp-panel{min-height:620px}.sp-card{margin:14px;width:calc(100% - 28px);padding:22px}.sp-inj{grid-template-columns:1fr}}

/* ---------- care pathway ---------- */
.cp{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;position:relative}
.cp::before,.cp::after{content:"";position:absolute;left:44px;right:44px;top:44px;height:3px;border-radius:3px;background:#EEEBE6}
.cp::after{right:auto;width:calc((100% - 88px) * var(--pf,0));background:linear-gradient(90deg,#A87529,#8E6D3A,#775B32);box-shadow:0 0 14px rgba(168,117,41,.6)}
.cp li{position:relative;z-index:1;display:grid;gap:10px;align-content:start;padding:0 6px}
.cp li>.ico{width:88px;height:88px;padding:28px;border-radius:50%;background:#fff;color:#775B32;box-shadow:0 20px 40px -22px rgba(15,36,85,.5),inset 0 0 0 1px #EFE9E1;margin-bottom:10px;position:relative;animation:beacon2 2.8s ease-out infinite;animation-delay:calc(var(--i,0) * .7s)}
@keyframes beacon2{0%{box-shadow:0 20px 40px -22px rgba(15,36,85,.5),inset 0 0 0 1px #EFE9E1,0 0 0 0 rgba(168,117,41,.45)}70%,100%{box-shadow:0 20px 40px -22px rgba(15,36,85,.5),inset 0 0 0 1px #EFE9E1,0 0 0 16px rgba(168,117,41,0)}}
.cp li:nth-child(2){--i:1}.cp li:nth-child(3){--i:2}.cp li:nth-child(4){--i:3}
.cp .when{font:600 12px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#775B32;background:#F5F1EC;border-radius:999px;padding:5px 10px;justify-self:start}
.cp h3{font-size:24px;letter-spacing:-.03em}
.cp p{color:var(--muted);font-size:15.5px}
@media (max-width:900px){.cp{grid-template-columns:1fr 1fr;row-gap:36px}.cp::before,.cp::after{display:none}}
@media (max-width:520px){.cp{grid-template-columns:1fr}}

/* ---------- Saturday clinic ---------- */
.sat-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center;margin-bottom:36px}
.sat-img{margin:0;position:relative;border-radius:32px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 40px 80px -44px rgba(15,36,85,.5)}
.sat-img img{width:100%;height:100%;object-fit:cover;display:block}
.sat-live{position:absolute;left:18px;top:18px;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);padding:10px 14px;border-radius:999px;font:600 13px var(--f-body);color:#0F2455;box-shadow:0 12px 30px -16px rgba(15,36,85,.5)}
.beacon{width:10px;height:10px;border-radius:50%;background:#12A37A;animation:beaconG 2s ease-out infinite}
.beacon.closed{background:#E0A93B;animation-name:beaconA}
@keyframes beaconG{0%{box-shadow:0 0 0 0 rgba(18,163,122,.6)}70%,100%{box-shadow:0 0 0 10px rgba(18,163,122,0)}}
@keyframes beaconA{0%{box-shadow:0 0 0 0 rgba(224,169,59,.6)}70%,100%{box-shadow:0 0 0 10px rgba(224,169,59,0)}}
.sat-copy{display:grid;gap:18px}
.sat-copy h2{font-size:clamp(34px,4.4vw,56px);letter-spacing:-.04em}
.sat-copy p{color:#2F4578;font-size:17px}
.sat-hours{background:#fff;border-radius:20px;padding:16px 20px;box-shadow:0 16px 36px -26px rgba(15,36,85,.45)}
.sat-hours div{border-bottom-color:#EFECE7!important}
.sat-hours div:last-child{border-bottom:0!important;padding-bottom:0}
.cmp td.us .ico{color:#8E6D3A;vertical-align:-3px;margin-right:4px}
.cmp tbody tr{transition:background .25s}.cmp tbody tr:hover{background:#FAF8F4}
@media (max-width:900px){.sat-top{grid-template-columns:1fr}}

/* ---------- decision guides ---------- */
.dg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dgc{display:grid;gap:16px;align-content:start;padding:30px;border-radius:28px;background:#fff;text-decoration:none;color:#0F2455;box-shadow:0 30px 60px -40px rgba(15,36,85,.45),inset 0 0 0 1px #EFECE7;position:relative;overflow:hidden;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}
.dgc::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#A87529,#8E6D3A,#775B32);transform:scaleX(.25);transform-origin:left;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.dgc:hover{transform:translateY(-6px);box-shadow:0 40px 70px -40px rgba(168,117,41,.6),inset 0 0 0 1px #DDCCB3}
.dgc:hover::before{transform:scaleX(1)}
.dg-vs{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.dg-vs span{font:700 14px var(--f-display);padding:9px 14px;border-radius:12px;background:linear-gradient(135deg,#8E6D3A,#A87529);color:#0F2455}
.dg-vs span:nth-of-type(2){background:#F5F1EC}.dg-vs span:nth-of-type(3){background:#EEE7DC}.dg-vs span:nth-of-type(4){background:#DFCEB6}
.dg-vs i{font:600 11px var(--f-mono);font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.dgc h3{font-size:24px;letter-spacing:-.03em}
.dg-rows{margin:0;display:grid;gap:10px}
.dg-rows div{display:grid;gap:6px;padding:12px 14px;border-radius:14px;background:#FBF9F7}
.dg-rows dt{font:600 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#775B32}
.dg-rows dd{margin:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;font-size:13.5px;color:#2F4578}
.dgc .go{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#775B32}
.dgc .go .ico{transition:transform .3s}.dgc:hover .go .ico{transform:translateX(5px)}
@media (max-width:820px){.dg{grid-template-columns:1fr}.dg-rows dd{grid-auto-flow:row}}

/* ---------- map ---------- */
.mapx{position:relative;border-radius:36px;overflow:hidden;min-height:600px;box-shadow:0 50px 100px -55px rgba(15,36,85,.55),inset 0 0 0 1px #EDEAE5;background:#F3F0EC}
.tmc{position:absolute;inset:0;width:100%;height:100%;animation:mapdrift 30s ease-in-out infinite alternate}
@keyframes mapdrift{to{transform:scale(1.04) translate(-1%,-1%)}}
.tmc .lp{font:600 15px var(--f-body);fill:#4E8A62;text-anchor:middle}
.tmc .lb{font:700 13px var(--f-mono);letter-spacing:.14em;fill:#88775D;text-anchor:middle}
.tmc .lw{font:italic 500 13px var(--f-body);fill:#9A7E53}
.tmc .lr{font:600 12.5px var(--f-body);fill:#8C8273;letter-spacing:.02em}
.tmc .shield rect{fill:#fff;stroke:#CBC5BB}.tmc .shield text{font:700 14px var(--f-mono);fill:#0F2455;text-anchor:middle}
.mapx .pin{position:absolute;transform:translate(-50%,-100%);display:grid;justify-items:center;gap:6px;z-index:2}
.mapx .pin i{width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(135deg,#A87529,#775B32);border:3px solid #fff;box-shadow:0 10px 24px -6px rgba(15,36,85,.6);order:2}
.mapx .pin::after{content:"";position:absolute;bottom:-6px;width:16px;height:16px;border-radius:50%;background:rgba(168,117,41,.4);animation:mappulse 2s ease-out infinite}
@keyframes mappulse{0%{transform:scale(.5);opacity:1}100%{transform:scale(5);opacity:0}}
.mapx .pin b{order:1;font:700 13px var(--f-body);color:#0F2455;background:#fff;padding:7px 12px;border-radius:999px;box-shadow:0 10px 24px -10px rgba(15,36,85,.5);white-space:nowrap}
.mapx .poi{position:absolute;transform:translate(-50%,-50%);font:600 12px var(--f-body);color:#775B32;background:rgba(255,255,255,.85);padding:5px 10px;border-radius:999px;display:flex;gap:4px;align-items:center;z-index:1}
.mapcard{position:absolute;left:28px;top:28px;bottom:28px;width:min(430px,calc(100% - 56px));overflow:auto;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:28px;padding:30px;display:grid;gap:14px;align-content:start;box-shadow:0 30px 60px -30px rgba(15,36,85,.5);z-index:3}
.mapcard h3{font-size:26px;letter-spacing:-.03em}
.mapcard address{font-style:normal;color:var(--muted)}
.mc-row{display:grid;gap:8px;font-size:14.5px;color:#0F2455}
.mc-row span{display:flex;gap:10px;align-items:center}.mc-row .ico{color:#8E6D3A}
.mapcard .hours div{border-bottom:1px dashed #ECE7E0;padding-bottom:8px;display:flex;justify-content:space-between;gap:10px;font-size:14px}
.mc-k{font:600 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.drives{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.drives span{display:grid;padding:10px;border-radius:14px;background:#FAF8F4;font-size:12px;color:var(--muted);line-height:1.3}
.drives b{font:700 17px var(--f-display);color:#0F2455}
@media (max-width:760px){.mapx{min-height:auto;display:grid}.tmc{position:relative;height:320px;animation:none}.mapcard{position:relative;inset:auto;width:auto;margin:-40px 12px 12px}.mapx .pin{top:42%!important}.drives{grid-template-columns:repeat(2,1fr)}}

/* ---------- reviews ---------- */
.rv-sec{background:linear-gradient(180deg,#FAF7F3,#fff);overflow:hidden}
.sample-tag{justify-self:start;font:600 12px var(--f-body);color:#8A6A1F;background:#FFF6DD;border:1px solid #F1DFA6;padding:7px 12px;border-radius:999px}
.rv-track{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.rv-row{display:flex;gap:20px;width:max-content;padding:10px 0 30px;animation:rvscroll 60s linear infinite}
.rv-track:hover .rv-row{animation-play-state:paused}
@keyframes rvscroll{to{transform:translateX(calc(-50% - 10px))}}
.rv{margin:0;width:380px;flex:none;display:grid;gap:16px;align-content:space-between;padding:28px;border-radius:26px;background:#fff;box-shadow:0 26px 50px -36px rgba(15,36,85,.45),inset 0 0 0 1px #EFECE7;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.rv:hover{transform:translateY(-6px)}
.stars{display:flex;gap:2px;color:#F2B33D}
.rv blockquote{margin:0;font:600 17px/1.5 var(--f-display);color:#0F2455;letter-spacing:-.01em}
.rv figcaption{display:flex;align-items:center;gap:12px}
.rv .av{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font:700 15px var(--f-display);color:#0F2455;background:linear-gradient(135deg,#8E6D3A,#A87529)}
.rv b{display:block;font-size:15px;color:#0F2455}.rv small{font-size:13px;color:#775B32;font-weight:600}
@media (max-width:520px){.rv{width:300px}}

/* ---------- articles ---------- */
.arts{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:repeat(3,auto);gap:20px}
.art{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:center;text-decoration:none;color:#0F2455;background:#fff;border-radius:24px;padding:12px;box-shadow:0 26px 50px -38px rgba(15,36,85,.45),inset 0 0 0 1px #EFECE7;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}
.art:hover{transform:translateY(-5px);box-shadow:0 34px 60px -36px rgba(168,117,41,.55),inset 0 0 0 1px #DDCCB3}
.art figure{margin:0;position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/3;height:100%}
.art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s cubic-bezier(.16,1,.3,1)}
.art:hover img{transform:scale(1.07)}
.art .cat{position:absolute;left:10px;top:10px;font:700 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#0F2455;background:linear-gradient(135deg,#8E6D3A,#A87529);padding:5px 9px;border-radius:999px}
.ab{display:grid;gap:10px;padding:6px 10px 6px 0}
.ab .meta{font:600 12px var(--f-mono);color:#775B32}
.ab h3{font-size:19px;letter-spacing:-.02em;line-height:1.25}
.ab p{color:var(--muted);font-size:15.5px}
.ab .go{display:inline-flex;gap:8px;align-items:center;font-weight:700;font-size:14px;color:#775B32}
.art.big{grid-row:span 3;grid-template-columns:1fr;align-content:start;padding:14px}
.art.big figure{aspect-ratio:16/11}
.art.big .ab{padding:10px 12px 14px}
.art.big h3{font-size:clamp(24px,2.4vw,32px)}
@media (max-width:900px){.arts{grid-template-columns:1fr}.art.big{grid-row:auto}}
@media (max-width:520px){.art{grid-template-columns:1fr}}

/* ---------- branded cursor (sports medicine "focus point") ---------- */
html.cur-on,html.cur-on *{cursor:none!important}
.cur-dot,.cur-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:2147483646;border-radius:50%;opacity:0;transition:opacity .25s}
html.cur-on .cur-dot,html.cur-on .cur-ring{opacity:1}
.cur-dot{width:8px;height:8px;margin:-4px 0 0 -4px;background:#A87529;box-shadow:0 0 0 2px #fff,0 0 12px rgba(168,117,41,.9)}
.cur-ring{width:38px;height:38px;margin:-19px 0 0 -19px;border:1.5px solid rgba(142,109,58,.85);display:grid;place-items:center;transition:width .3s cubic-bezier(.16,1,.3,1),height .3s cubic-bezier(.16,1,.3,1),margin .3s cubic-bezier(.16,1,.3,1),background .3s,border-color .3s,opacity .25s;mix-blend-mode:normal}
.cur-ring::before,.cur-ring::after{content:"";position:absolute;background:#0F2455;border-radius:2px;opacity:0;transition:opacity .25s,transform .3s}
.cur-ring::before{width:14px;height:3px}.cur-ring::after{width:3px;height:14px}
.cur-ring.hov{width:58px;height:58px;margin:-29px 0 0 -29px;background:rgba(168,117,41,.22);border-color:#A87529;backdrop-filter:blur(2px)}
.cur-ring.hov::before,.cur-ring.hov::after{opacity:1}
.cur-ring.dark::before,.cur-ring.dark::after{background:#fff}
.cur-ring.down{width:30px;height:30px;margin:-15px 0 0 -15px}
.bm-info{min-width:0}
.bm-panel{min-width:0;transform:translateY(16px)}
.bm-panel.on{transform:none}
.bm-panel .feels span{white-space:normal}
.art{grid-template-columns:150px minmax(0,1fr)}
.art figure{width:100%;height:auto;aspect-ratio:1/1}
.art.big figure{aspect-ratio:16/11}
.ab{min-width:0}
@media (max-width:520px){.art{grid-template-columns:110px minmax(0,1fr)}.art.big{grid-template-columns:1fr}}
.bm-info{grid-template-columns:minmax(0,1fr)}
@media (max-width:900px){.bodymap{grid-template-columns:minmax(0,1fr)}}

/* x-ray light sweep */
@property --k{syntax:'<number>';inherits:false;initial-value:0}
.bm-sweep{position:absolute;left:0;right:0;height:46px;margin-top:-40px;pointer-events:none;mix-blend-mode:screen;
  top:calc(var(--st,0%) + (var(--sb,100%) - var(--st,0%)) * var(--k));
  background:linear-gradient(180deg,rgba(168,117,41,0) 0%,rgba(168,117,41,.10) 45%,rgba(168,117,41,.38) 82%,rgba(247,239,228,.95) 92%,rgba(168,117,41,.5) 96%,rgba(168,117,41,0) 100%);
  filter:drop-shadow(0 0 10px rgba(168,117,41,.9));
  animation:xsweep 2.6s cubic-bezier(.45,0,.55,1) infinite alternate}
.bm-sweep.ls{height:60px;margin-top:-52px;top:calc(var(--my,70%) - var(--mr,0px) + var(--mr,0px) * 2 * var(--k));animation-duration:1.8s}
@keyframes xsweep{from{--k:0}to{--k:1}}
.bm-scan img,.bm-lens img{animation:xglow 2.6s ease-in-out infinite alternate}
@keyframes xglow{from{filter:brightness(1) saturate(1)}to{filter:brightness(1.18) saturate(1.15)}}
@media (prefers-reduced-motion:reduce){.bm-sweep{animation:none;display:none}.bm-scan img,.bm-lens img{animation:none}}

/* =================== TRAVELLING LIGHT RINGS =================== */
@property --ga{syntax:'<angle>';inherits:false;initial-value:0deg}
.glow,.glow-card{position:relative;isolation:isolate}
.glow::before,.glow-card::before{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:2px;pointer-events:none;z-index:2;
  background:conic-gradient(from var(--ga),transparent 0deg 250deg,rgba(168,117,41,.0) 260deg,#A87529 300deg,#FFFFFF 325deg,#8E6D3A 340deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  animation:ringspin 3.2s linear infinite;animation-delay:var(--gd,0s)}
.glow::after{content:"";position:absolute;inset:-5px;border-radius:inherit;pointer-events:none;z-index:-1;filter:blur(10px);opacity:.75;
  background:conic-gradient(from var(--ga),transparent 0deg 260deg,#A87529 305deg,#8E6D3A 340deg,transparent 360deg);
  animation:ringspin 3.2s linear infinite;animation-delay:var(--gd,0s)}
.glow-card::before{inset:-1.5px;padding:1.5px;animation-duration:7s;
  background:conic-gradient(from var(--ga),transparent 0deg 220deg,#A87529 290deg,#fff 320deg,#8E6D3A 340deg,transparent 360deg)}
@keyframes ringspin{to{--ga:360deg}}
.glow:hover::after{opacity:1;filter:blur(14px)}
.hdr .glow{--gd:-1.1s}.dr-copy .glow{--gd:-.6s}.bm-panel .glow{--gd:-2.1s}.sp-card .glow{--gd:-1.6s}.mapcard .glow{--gd:-2.6s}
.tx-panel.glow-card{overflow:visible}.tx-panel .tx-img{border-radius:32px 0 0 32px}
@media (max-width:700px){.tx-panel .tx-img{border-radius:32px 32px 0 0}}
.tx-panel:not(.on).glow-card::before{display:none}
@media (prefers-reduced-motion:reduce){.glow::before,.glow::after,.glow-card::before{animation:none;display:none}}

/* =================== ANATOMY CHAPTER CARDS (light, premium) =================== */
.chap{width:min(420px,32%)}
.chap-card.ch{background:linear-gradient(155deg,rgba(250,247,243,.97) 0%,rgba(242,234,222,.95) 60%,rgba(227,208,178,.94) 100%);color:#0F2455;border:0;padding:30px 30px 26px;gap:16px;border-radius:28px;
  box-shadow:0 0 0 1px rgba(255,255,255,.6) inset,0 30px 70px -30px rgba(168,117,41,.55),0 0 60px -10px rgba(168,117,41,.35);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.chap-card.ch::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(90% 60% at 100% 0%,rgba(255,255,255,.7),transparent 60%);pointer-events:none;z-index:-1}
.ch-top{display:flex;align-items:center;gap:12px}
.ch-num{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font:700 15px var(--f-mono);color:#0F2455;background:linear-gradient(135deg,#8E6D3A,#A87529);box-shadow:0 8px 20px -8px rgba(168,117,41,.8)}
.ch-of{font:600 11.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#775B32}
.chap-card.ch h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(28px,2.6vw,38px);line-height:1.05;letter-spacing:-.02em;color:#0F2455;background:none;-webkit-text-fill-color:#0F2455}
.ch-lead{font:500 16px/1.55 var(--f-body);color:#24396B}
.ch-parts{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ch-parts li{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:1px;align-items:center;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.75);box-shadow:0 6px 16px -12px rgba(15,36,85,.45)}
.ch-parts i{grid-row:span 2;width:10px;height:10px;border-radius:50%;background:#A87529;box-shadow:0 0 0 4px rgba(168,117,41,.22)}
.ch-parts b{font:700 15px var(--f-display);color:#0F2455}
.ch-parts span{font-size:13.5px;color:#655A48;line-height:1.35}
.ch-go{display:grid;gap:6px;border-top:1px solid rgba(15,36,85,.12);padding-top:12px}
.ch-go>span{font:600 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#775B32;margin-bottom:2px}
.ch-go a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;text-decoration:none;font:600 14.5px var(--f-body);color:#0F2455;transition:background .25s,transform .25s}
.ch-go a em{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#0F2455;color:#fff;font-size:13px;transition:transform .25s,background .25s}
.ch-go a:hover,.ch-go a.hl{background:rgba(255,255,255,.85);transform:translateX(3px)}
.ch-go a:hover em,.ch-go a.hl em{background:linear-gradient(135deg,#8E6D3A,#A87529);color:#0F2455;transform:translateX(2px)}
.chap.on .chap-card.ch>*{transition-delay:0s}
.chap.on .chap-card.ch>*:nth-child(2){transition-delay:.07s}.chap.on .chap-card.ch>*:nth-child(3){transition-delay:.14s}.chap.on .chap-card.ch>*:nth-child(4){transition-delay:.21s}.chap.on .chap-card.ch>*:nth-child(5){transition-delay:.28s}
@media (max-width:860px){.chap{width:auto}.chap-card.ch{padding:20px;gap:10px}.chap-card.ch h2{font-size:26px}.ch-lead{font-size:14.5px}.ch-parts li{padding:8px 12px}.ch-parts span{display:none}.ch-parts{grid-template-columns:repeat(3,auto);justify-content:start}.ch-parts li{grid-template-columns:auto auto}.ch-parts i{grid-row:auto}.ch-go a{padding:6px 10px;font-size:13.5px}}
@media (max-width:860px) and (max-height:760px){.ch-go a:nth-of-type(n+3){display:none}}
.chap .chap-card.ch .ch-lead{color:#24396B}
.chap .chap-card.ch .ch-parts span{color:#655A48}

/* =================== X-RAY LIGHT, SITEWIDE =================== */
/* brighter rings: white-hot head with cyan halo, like the x-ray scan line */
.glow::before{padding:2px;background:conic-gradient(from var(--ga),transparent 0deg 285deg,rgba(168,117,41,.25) 300deg,#A87529 322deg,#FBF8F3 334deg,#FFFFFF 338deg,#A87529 348deg,transparent 360deg)}
.glow::after{inset:-7px;filter:blur(12px);opacity:.95;background:conic-gradient(from var(--ga),transparent 0deg 290deg,rgba(168,117,41,.6) 315deg,rgba(247,239,228,1) 335deg,rgba(168,117,41,.7) 350deg,transparent 360deg)}
/* sheen sweep across the face of primary CTAs */
.btn-primary.glow{background-image:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.5) 48%,rgba(247,239,228,.9) 50%,rgba(255,255,255,.5) 52%,transparent 65%),linear-gradient(135deg,#8E6D3A 0%,#775B32 100%);background-size:260% 100%,100% 100%;background-repeat:no-repeat;animation:btnsheen 4.5s ease-in-out infinite;animation-delay:var(--gd,0s)}
@keyframes btnsheen{0%,55%{background-position:120% 0,0 0}85%,100%{background-position:-60% 0,0 0}}
.btn-primary.glow:hover{background-image:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.5) 48%,rgba(247,239,228,.9) 50%,rgba(255,255,255,.5) 52%,transparent 65%),linear-gradient(135deg,#A87529 0%,#8E6D3A 100%)}

/* scan light on hero + featured photos */
.lite{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3;border-radius:inherit}
.lite::before{content:"";position:absolute;left:-5%;right:-5%;height:120px;top:-130px;mix-blend-mode:screen;
  background:linear-gradient(180deg,rgba(168,117,41,0) 0%,rgba(168,117,41,.08) 50%,rgba(168,117,41,.3) 84%,rgba(251,246,239,.95) 93%,rgba(168,117,41,.55) 96%,rgba(168,117,41,0) 100%);
  filter:drop-shadow(0 0 10px rgba(168,117,41,.85));animation:litescan var(--ld,7s) cubic-bezier(.45,0,.55,1) infinite;animation-delay:var(--ldl,0s)}
.lite::after{content:"";position:absolute;left:0;right:0;height:2px;top:-10px;background:#FBF8F3;box-shadow:0 0 14px 3px rgba(168,117,41,.9),0 0 40px 10px rgba(168,117,41,.35);mix-blend-mode:screen;animation:litescan2 var(--ld,7s) cubic-bezier(.45,0,.55,1) infinite;animation-delay:var(--ldl,0s)}
@keyframes litescan{0%{top:-130px;opacity:0}6%{opacity:1}52%{top:calc(100% - 118px);opacity:1}60%,100%{top:calc(100% - 118px);opacity:0}}
@keyframes litescan2{0%{top:-10px;opacity:0}6%{opacity:1}52%{top:calc(100% - 8px);opacity:1}60%,100%{top:calc(100% - 8px);opacity:0}}
.stage>.lite{z-index:3;--ld:9s;opacity:.85}
.cine.past-intro .stage>.lite{opacity:0;transition:opacity .6s}
@media (prefers-reduced-motion:reduce){.lite{display:none}.btn-primary.glow{animation:none}}

/* =================== LIVING ICONS =================== */
.dr-badge .ico,.dr-tiles .ico,.cp li>.ico,.ch-num{position:relative;overflow:visible}
.dr-badge .ico,.dr-tiles .ico{animation:iconGlow 3s ease-in-out infinite;animation-delay:var(--igd,0s)}
@keyframes iconGlow{0%,100%{box-shadow:0 0 0 0 rgba(168,117,41,0),0 6px 16px -8px rgba(168,117,41,.6)}50%{box-shadow:0 0 0 6px rgba(168,117,41,.14),0 0 22px 2px rgba(168,117,41,.55)}}
.dr-badge.b2 .ico{--igd:-1.5s}.dr-tiles div:nth-child(2) .ico{--igd:-.8s}.dr-tiles div:nth-child(3) .ico{--igd:-1.6s}.dr-tiles div:nth-child(4) .ico{--igd:-2.4s}
/* light sheen across icon chips */
.dr-badge .ico,.dr-tiles .ico,.ch-num{background-image:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.85) 48%,rgba(255,255,255,.95) 50%,transparent 66%),var(--chip,linear-gradient(135deg,#8E6D3A,#A87529));background-size:300% 100%,100% 100%;background-repeat:no-repeat;animation:iconGlow 3s ease-in-out infinite,chipSheen 5s ease-in-out infinite;animation-delay:var(--igd,0s),var(--igd,0s)}
.dr-tiles .ico{--chip:linear-gradient(135deg,#F5F1EC,#EFE7DA)}
@keyframes chipSheen{0%,60%{background-position:130% 0,0 0}85%,100%{background-position:-40% 0,0 0}}
/* outlines redraw themselves */
.ico [pathLength]{stroke-dasharray:1;stroke-dashoffset:0}
.dr-tiles div:hover .ico [pathLength],.dr-badge:hover .ico [pathLength],.cp li:hover>.ico [pathLength],.tx-list a:hover .ico [pathLength],.rv-in .ico [pathLength]{animation:icoDraw 1.1s cubic-bezier(.65,0,.35,1) both}
@keyframes icoDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
/* hover: icon lights up */
.dr-tiles div:hover .ico{--chip:linear-gradient(135deg,#8E6D3A,#A87529);color:#0F2455;transform:scale(1.06);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.dr-badge:hover .ico{transform:rotate(-8deg) scale(1.08);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.cp li:hover>.ico{background:linear-gradient(135deg,#8E6D3A,#A87529);color:#0F2455;transition:background .3s,color .3s}
.dr-badge.glow-card::before{animation-duration:5s}
.dr-badge.b2.glow-card::before{animation-delay:-2.5s}
@media (prefers-reduced-motion:reduce){.dr-badge .ico,.dr-tiles .ico,.ch-num{animation:none}.ico [pathLength]{animation:none!important}}
/* fixes: badges stay floating; icons draw cleanly */
.dr-badge.glow-card{position:absolute}
.ico [pathLength]{stroke-dasharray:none!important;stroke-dashoffset:0!important;animation:none!important}
.dr-tiles div:hover .ico,.cp li:hover>.ico{filter:drop-shadow(0 0 8px rgba(168,117,41,.7))}
.dr-tiles div:hover .ico svg,.dr-tiles div:hover .ico{animation:iconGlow 3s ease-in-out infinite,chipSheen 1.2s ease-in-out 1}
/* treatment explorer: wide photo on top so the knee stays in frame */
.tx-panel{grid-template-columns:1fr}
.tx-img{min-height:0;aspect-ratio:16/7}
.tx-panel .tx-img{border-radius:32px 32px 0 0}
.tx-body{padding:30px 34px 34px}
.tx-list{grid-template-columns:1fr 1fr;column-gap:28px}
@media (max-width:700px){.tx-img{aspect-ratio:16/10}.tx-list{grid-template-columns:1fr}}

/* Saturday clinic: layered, softer photo treatment */
.sat-media{position:relative;padding:0 46px 64px 0}
.sat-media .sat-img{aspect-ratio:5/4;border-radius:40px 40px 40px 140px;box-shadow:0 50px 100px -50px rgba(15,36,85,.55)}
.sat-media .sat-img img{transition:transform 1.6s cubic-bezier(.16,1,.3,1)}
.sat-media:hover .sat-img img{transform:scale(1.04)}
.sat-sub{position:absolute;right:0;bottom:0;width:42%;margin:0;aspect-ratio:4/3;border-radius:26px;overflow:hidden;border:6px solid #fff;box-shadow:0 30px 60px -30px rgba(15,36,85,.5)}
.sat-sub img{width:100%;height:100%;object-fit:cover;object-position:62% 60%;display:block}
.sat-blob{position:absolute;left:-40px;top:-40px;width:62%;aspect-ratio:1;border-radius:46% 54% 60% 40%/50% 42% 58% 50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.9),rgba(168,117,41,.22) 55%,rgba(142,109,58,.08) 75%,transparent 76%);z-index:-1;animation:blob 14s ease-in-out infinite alternate}
@keyframes blob{to{border-radius:58% 42% 44% 56%/44% 58% 42% 56%;transform:rotate(14deg) scale(1.05)}}
.sat-ring{position:absolute;right:20px;top:-26px;width:120px;height:120px;border-radius:50%;border:1.5px dashed rgba(142,109,58,.55);z-index:-1;animation:spinslow 40s linear infinite}
@keyframes spinslow{to{transform:rotate(360deg)}}
.sat-media .dr-badge{position:absolute}
.dr-badge.sb1{left:-24px;bottom:30%;animation-delay:-1s}
.dr-badge.sb2{right:-18px;top:18%;animation-delay:-4s}
.sat-note{position:absolute;left:8%;bottom:6px;font:400 40px/1 "Pinyon Script","Brush Script MT",cursive;color:#775B32;transform:rotate(-4deg);text-shadow:0 2px 0 #fff}
.sat-media .lite{border-radius:40px 40px 40px 140px}
@media (max-width:900px){.sat-media{padding:0 18px 56px 0}.dr-badge.sb1{left:6px}.dr-badge.sb2{right:6px}}
@media (max-width:520px){.sat-media .dr-badge{display:none}.sat-note{font-size:32px}}

/* photos: light ring around the frame + soft corner flare (no scan) */
.lite{display:none!important}
.glow-frame{position:relative;isolation:isolate;overflow:visible!important}
.glow-frame::before{content:"";position:absolute;inset:-3px;border-radius:inherit;padding:3px;pointer-events:none;z-index:3;
  background:conic-gradient(from var(--ga),transparent 0deg 250deg,rgba(168,117,41,.35) 285deg,#A87529 318deg,#FFFFFF 332deg,#8E6D3A 345deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  filter:drop-shadow(0 0 8px rgba(168,117,41,.8));animation:ringspin 7s linear infinite;animation-delay:var(--gd,0s)}
.glow-frame>img{border-radius:inherit}
.dr-main.glow-frame,.sat-media .sat-img.glow-frame,.art.big figure.glow-frame{overflow:hidden!important}
.dr-main.glow-frame::before,.sat-media .sat-img.glow-frame::before,.art.big figure.glow-frame::before{inset:0;padding:3px}
.flare{position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;pointer-events:none;z-index:2;mix-blend-mode:screen;
  background:radial-gradient(circle,rgba(251,246,239,.85) 0%,rgba(168,117,41,.35) 25%,rgba(168,117,41,.08) 50%,transparent 70%);animation:flare 6s ease-in-out infinite;animation-delay:var(--gd,0s)}
@keyframes flare{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:.9;transform:scale(1.1)}}
.mapx .flare{right:auto;left:auto;top:auto;bottom:-80px;right:-80px}
@media (prefers-reduced-motion:reduce){.glow-frame::before,.flare{animation:none}}

/* cursor spotlight inside cards */
.spot-host{position:relative}
.spot{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;opacity:0;transition:opacity .35s ease;overflow:hidden}
.spot::before{content:"";position:absolute;left:var(--sx,50%);top:var(--sy,50%);width:var(--ss,420px);height:var(--ss,420px);translate:-50% -50%;border-radius:50%;
  background:radial-gradient(circle,rgba(168,117,41,.30) 0%,rgba(142,109,58,.14) 30%,rgba(168,117,41,.05) 50%,transparent 68%)}
.spot::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;
  background:radial-gradient(260px circle at var(--sx,50%) var(--sy,50%),rgba(168,117,41,.95),rgba(142,109,58,.35) 40%,transparent 70%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.spot-host:hover>.spot{opacity:1}
/* on teal gradient cards use a white light so it reads */
.lcard>.spot::before,.cat>.spot::before,.cause>.spot::before,.symptoms a>.spot::before,.take>.spot::before,.two .card.good>.spot::before,.ba .q>.spot::before{background:radial-gradient(circle,rgba(255,255,255,.55) 0%,rgba(255,255,255,.18) 35%,transparent 66%)}
.lcard>.spot::after,.cat>.spot::after,.cause>.spot::after,.symptoms a>.spot::after{background:radial-gradient(240px circle at var(--sx,50%) var(--sy,50%),#fff,rgba(255,255,255,.3) 45%,transparent 72%)}
.ch-parts li>.spot::before,.sp-inj a>.spot::before{--ss:200px}
@media (hover:none),(prefers-reduced-motion:reduce){.spot{display:none}}

/* handwritten notes */
.sec-head{position:relative}
.hand{position:absolute;right:-8px;top:8px;display:flex;align-items:flex-start;gap:2px;color:#775B32;pointer-events:none;transform:rotate(-5deg);transform-origin:left center}
.hand>span{font:400 clamp(30px,3vw,40px)/1 "Pinyon Script","Brush Script MT",cursive;white-space:nowrap;text-shadow:0 2px 0 #fff;opacity:0;transition:opacity .8s ease .5s}
.hand .harrow{width:70px;height:46px;margin-top:22px;color:#8E6D3A}
.hand .harrow path{stroke-dasharray:140;stroke-dashoffset:140;transition:stroke-dashoffset 1.1s cubic-bezier(.65,0,.35,1) .9s}
.rv-in .hand>span,.sec-head:not(.rv-pre) .hand>span{opacity:1}
.rv-in .hand .harrow path,.sec-head:not(.rv-pre) .hand .harrow path{stroke-dashoffset:0}
.hand.h-down .harrow{transform:rotate(45deg) translate(6px,4px)}
.sec-head:has(.hand){padding-right:min(320px,30%)}
.sec-head.row .hand{right:180px}
@media (max-width:900px){.hand{position:static;transform:rotate(-3deg);margin:-4px 0 0}.hand .harrow{display:none}.sec-head:has(.hand){padding-right:0}.hand>span{font-size:32px}}
@media (prefers-reduced-motion:reduce){.hand>span{opacity:1}.hand .harrow path{stroke-dashoffset:0}}
@media (max-width:900px){.hand>span{white-space:normal}.hand{max-width:100%}}
html,body{overflow-x:clip}
@media (max-width:760px){.flare{display:none}}
.sec-head:has(.hand){padding-right:0}
.sec-head .hand{right:auto;left:calc(100% + 8px);top:46px}
.sec-head.row .hand{left:auto;right:200px;top:6px}
@media (max-width:1240px){.sec-head .hand{left:auto;right:0;top:-6px}}
@media (max-width:900px){.sec-head .hand{position:static}}

/* map v2: card beside a compact map */
.mapx{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:24px;align-items:stretch;min-height:0;background:none;box-shadow:none;border-radius:0;overflow:visible}
.mapx .mapcard{position:relative;inset:auto;left:auto;top:auto;bottom:auto;width:auto;overflow:visible;background:#fff;backdrop-filter:none;box-shadow:0 30px 60px -36px rgba(15,36,85,.45),inset 0 0 0 1px #EFECE7;order:-1;gap:12px;padding:26px}
.mapv{position:relative;border-radius:32px;overflow:hidden!important;min-height:440px;background:#F3F0EC;box-shadow:0 40px 80px -50px rgba(15,36,85,.5),inset 0 0 0 1px #EDEAE5}
.mapv .tmc{position:absolute;inset:0;width:100%;height:100%}
.mapv.glow-frame::before{inset:0;padding:3px}
.mapv .flare{right:-70px;top:-70px;bottom:auto}
.drives{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.mapx{grid-template-columns:1fr}.mapv{min-height:300px;order:-1}.mapx .mapcard{order:0}}
@media (max-width:760px){.mapv .tmc{position:absolute;height:100%}.mapx .pin{top:73.4%!important}}
.mapx .mapcard .drives span{padding:8px 10px}
.mapx .mapcard h3{font-size:24px}

/* =================== ABOUT DR. ORTHO =================== */
.serif{font-family:"Cormorant Garamond",Georgia,serif!important;font-weight:600;letter-spacing:-.025em}
.hand-note{display:inline-block;font:400 clamp(28px,2.6vw,36px)/1 "Pinyon Script","Brush Script MT",cursive;color:#775B32;transform:rotate(-4deg);text-shadow:0 2px 0 #fff}
.spark{position:absolute;width:22px;height:22px;fill:#8E6D3A;filter:drop-shadow(0 0 8px rgba(168,117,41,.7));animation:twinkle 3.2s ease-in-out infinite;z-index:3}
.spark.s1{left:2%;top:6%}.spark.s2{right:8%;top:48%;width:16px;height:16px;animation-delay:-1.1s}.spark.s3{left:46%;bottom:2%;width:14px;height:14px;animation-delay:-2.2s}
@keyframes twinkle{0%,100%{opacity:.35;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(20deg)}}

.ab-hero{padding-block:36px 40px;background:radial-gradient(45% 70% at 85% 30%,rgba(168,117,41,.14),transparent 65%),radial-gradient(40% 60% at 5% 90%,rgba(142,109,58,.1),transparent 70%),linear-gradient(180deg,#FBF9F5,#fff)}
.ab-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.ab-copy{display:grid;gap:20px}
.ab-name{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(56px,7.4vw,108px);line-height:.92;letter-spacing:-.04em;color:#0F2455}
.ab-name span{font-size:.42em;letter-spacing:0;color:#775B32;vertical-align:.9em;margin-left:6px}
.ab-role{font:600 14px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#775B32}
.ab-lede{font-size:19px;line-height:1.65;color:#3E4E74;max-width:56ch}
.ab-sig{display:flex;align-items:flex-end;gap:22px;flex-wrap:wrap}
.ab-sig .sig{font:400 64px/1 "Pinyon Script","Brush Script MT",cursive;color:#0F2455}
.ab-media{position:relative;padding:20px 30px 70px 30px}
.ab-main{margin:0;border-radius:240px 240px 40px 40px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 50px 100px -50px rgba(15,36,85,.55);position:relative}
.ab-main img{width:100%;height:100%;object-fit:cover;object-position:50% 16%;display:block;transition:transform 1.8s cubic-bezier(.16,1,.3,1)}
.ab-media:hover .ab-main img{transform:scale(1.04)}
.ab-sub{position:absolute;left:0;bottom:0;width:40%;margin:0;aspect-ratio:3/4;border-radius:120px 120px 26px 26px;overflow:hidden;border:6px solid #fff;box-shadow:0 30px 60px -30px rgba(15,36,85,.5)}
.ab-sub img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.ab-blob{position:absolute;right:-30px;top:-10px;width:80%;aspect-ratio:1;border-radius:46% 54% 60% 40%/50% 42% 58% 50%;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.9),rgba(168,117,41,.22) 55%,rgba(142,109,58,.06) 75%,transparent 76%);z-index:-1;animation:blob 14s ease-in-out infinite alternate}
.ab-ring{position:absolute;left:10px;top:30px;width:140px;height:140px;border-radius:50%;border:1.5px dashed rgba(142,109,58,.6);z-index:-1;animation:spinslow 40s linear infinite}
.ab-media .dr-badge{position:absolute;animation:floaty 6s ease-in-out infinite}
.dr-badge.ab1{right:-10px;top:14%}.dr-badge.ab2{right:-24px;top:44%;animation-delay:-2s}.dr-badge.ab3{right:10%;bottom:16px;animation-delay:-4s}

.ab-facts{padding-block:20px 60px}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.facts>div{display:grid;gap:6px;padding:24px;border-radius:24px;background:#fff;box-shadow:0 24px 50px -36px rgba(15,36,85,.45),inset 0 0 0 1px #EFECE7;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.facts>div:hover{transform:translateY(-5px)}
.facts .ico{width:52px;height:52px;padding:13px;border-radius:16px;background:linear-gradient(135deg,#8E6D3A,#A87529);color:#0F2455;margin-bottom:8px;animation:iconGlow 3s ease-in-out infinite}
.facts>div:nth-child(2) .ico{animation-delay:-.8s}.facts>div:nth-child(3) .ico{animation-delay:-1.6s}.facts>div:nth-child(4) .ico{animation-delay:-2.4s}
.facts b{font:700 19px var(--f-display);color:#0F2455}
.facts span{font-size:14px;color:var(--muted)}

.ab-story{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.ab-story-img{margin:0;position:relative;border-radius:36px 36px 36px 160px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 80px -44px rgba(15,36,85,.5)}
.ab-story-img img{width:100%;height:100%;object-fit:cover;display:block}
.hand-note.on-img{position:absolute;right:18px;bottom:18px;background:rgba(255,255,255,.92);padding:10px 16px 6px;border-radius:16px;font-size:28px;text-shadow:none}
.ab-story-copy{display:grid;gap:18px}
.ab-story-copy h2,.ab-off-copy h2,.ab-cta h2{font-size:clamp(36px,4.4vw,56px);line-height:1.02;color:#0F2455}
.ab-story-copy p{font-size:17.5px;line-height:1.7;color:#3E4E74}

.ab-values{background:linear-gradient(180deg,#fff,#FAF7F3)}
.vals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.val{position:relative;display:grid;gap:12px;padding:32px;border-radius:30px;background:#fff;box-shadow:0 30px 60px -40px rgba(15,36,85,.45),inset 0 0 0 1px #EFECE7;overflow:hidden;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.val:hover{transform:translateY(-6px)}
.val .vn{position:absolute;right:22px;top:12px;font:600 64px/1 "Cormorant Garamond",Georgia,serif;color:rgba(142,109,58,.14)}
.val .ico{width:56px;height:56px;padding:14px;border-radius:18px;background:#F5F1EC;color:#775B32}
.val h3{font:600 26px/1.1 "Cormorant Garamond",Georgia,serif;color:#0F2455;letter-spacing:-.02em}
.val p{color:var(--muted)}

.ab-cred{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:40px;align-items:start}
.tl2{list-style:none;margin:0;padding:0 0 0 30px;display:grid;gap:26px;position:relative}
.tl2::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:linear-gradient(#A87529,#8E6D3A,#EEEBE6)}
.tl2 li{position:relative;display:grid;gap:4px}
.tl2 .d{position:absolute;left:-29px;top:4px;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid #8E6D3A}
.tl2 .d.now{background:#A87529;border-color:#fff;box-shadow:0 0 0 3px #8E6D3A;animation:beacon 2.4s ease-out infinite}
.tl2 .k{font:600 11.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#775B32}
.tl2 h3{font:600 22px/1.2 "Cormorant Garamond",Georgia,serif;color:#0F2455}
.tl2 p{color:var(--muted)}
.ab-memb{padding:28px;border-radius:28px;background:linear-gradient(155deg,#FAF7F3,#F2ECE3);display:grid;gap:14px;position:sticky;top:110px}
.ab-memb h3{font-size:26px;color:#0F2455}

.gal{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:260px 260px;gap:16px}
.gal figure{margin:0;position:relative;border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -40px rgba(15,36,85,.5)}
.gal .g1{grid-row:span 2;border-radius:28px 28px 28px 120px}
.gal .g4{grid-column:span 2}
.gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s cubic-bezier(.16,1,.3,1)}
.gal figure:hover img{transform:scale(1.06)}
.gal figcaption{position:absolute;left:16px;bottom:16px;font:600 13px var(--f-body);color:#0F2455;background:rgba(255,255,255,.92);padding:8px 14px;border-radius:999px}

.ab-off{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.ab-off-copy{display:grid;gap:18px}
.ab-off-copy p{font-size:17.5px;color:#3E4E74}
.off{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.off>div{display:grid;gap:4px;padding:16px;border-radius:20px;background:#FAF8F4;box-shadow:inset 0 0 0 1px #EEEAE5}
.off .ico{color:#8E6D3A;margin-bottom:4px}
.off b{font:700 15px var(--f-display);color:#0F2455}.off span{font-size:13px;color:var(--muted)}
.ab-off-img{margin:0;border-radius:200px 200px 32px 32px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 80px -44px rgba(15,36,85,.5)}
.ab-off-img img{width:100%;height:100%;object-fit:cover;display:block}

.ab-cta{display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center;padding:36px 40px;border-radius:36px;background:linear-gradient(155deg,#FAF7F3 0%,#F2EADE 60%,#E3D0B2 100%);box-shadow:0 40px 80px -40px rgba(168,117,41,.45)}
.ab-cta-face{width:120px;height:120px;border-radius:50%;object-fit:cover;border:5px solid #fff;box-shadow:0 0 0 3px #8E6D3A,0 20px 40px -18px rgba(15,36,85,.5)}
.ab-cta p{color:#3E4E74;margin-top:8px;max-width:52ch}
.ab-cta-act{display:grid;gap:8px;justify-items:center}
.ab-cta-act .ph{font:500 15px var(--f-mono);color:#0F2455;text-decoration:none}
.ab-cta-act .hand-note{font-size:30px}
@media (max-width:1000px){.ab-grid,.ab-story,.ab-cred,.ab-off{grid-template-columns:1fr}.ab-media{max-width:560px}.facts{grid-template-columns:1fr 1fr}.vals{grid-template-columns:1fr}.ab-memb{position:static}.ab-cta{grid-template-columns:1fr;justify-items:start}.ab-cta-act{justify-items:start}}
@media (max-width:700px){.gal{grid-template-columns:1fr 1fr;grid-template-rows:auto}.gal figure{aspect-ratio:1}.gal .g1{grid-row:auto;grid-column:span 2;aspect-ratio:4/3}.gal .g4{aspect-ratio:auto}.off{grid-template-columns:1fr}.ab-media .dr-badge{display:none}.ab-sig .sig{font-size:48px}}
@media (max-width:520px){.facts{grid-template-columns:1fr}}

/* handwritten notes point INTO the content below the heading */
.sec-head .hand{position:absolute;left:auto;right:4%;top:auto;bottom:-46px;transform:rotate(-4deg);flex-direction:row;align-items:flex-end}
.sec-head .hand .harrow{margin:0 0 -26px 6px;transform:rotate(62deg)}
.sec-head .hand.h-down .harrow{transform:rotate(62deg)}
.sec-head:has(.hand){margin-bottom:84px}
.sec-head.row .hand{right:200px;bottom:-40px}
@media (max-width:1240px){.sec-head .hand{right:0}}
@media (max-width:900px){.sec-head .hand{position:static}.sec-head:has(.hand){margin-bottom:44px}}

/* card spotlight: keep children's own positioning */
.spot-host{isolation:isolate}
.spot{z-index:-1}
/* home Dr inset tag */
.dr-sub{position:absolute}
.dr-sub .sub-tag{position:absolute;left:10px;bottom:10px;font:400 24px/1 "Pinyon Script","Brush Script MT",cursive;color:#0F2455;background:rgba(255,255,255,.9);padding:6px 12px 4px;border-radius:12px}
/* about off-the-clock layered media */
.ab-off-media{position:relative;padding:20px 20px 70px 50px}
.ab-off-img{margin:0;border-radius:40px 200px 40px 40px;overflow:hidden;aspect-ratio:5/6;box-shadow:0 50px 100px -50px rgba(15,36,85,.55)}
.ab-off-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.8s cubic-bezier(.16,1,.3,1)}
.ab-off-media:hover .ab-off-img img{transform:scale(1.04)}
.ab-off-sub{position:absolute;left:0;bottom:0;width:44%;margin:0;aspect-ratio:4/3;border-radius:24px;overflow:hidden;border:6px solid #fff;box-shadow:0 30px 60px -30px rgba(15,36,85,.5)}
.ab-off-sub img{width:100%;height:100%;object-fit:cover;display:block}
.ab-off-media .ab-blob{left:-40px;right:auto;top:-20px;width:70%}
.ab-ring.r2{left:auto;right:-10px;top:auto;bottom:40px}
.ab-off-media .dr-badge{position:absolute;animation:floaty 6s ease-in-out infinite}
.dr-badge.ob1{right:-16px;top:16%}.dr-badge.ob2{right:6%;bottom:22px;animation-delay:-3s}
.ab-off-media .spark.s1{left:30%;top:2%}.ab-off-media .spark.s2{right:2%;top:46%}
@media (max-width:700px){.ab-off-media{padding:0 10px 60px 20px}.ab-off-media .dr-badge{display:none}}

/* spotlight sits under content via isolation; no forced positioning */
.spot-host{isolation:isolate}
.spot{z-index:-1}
/* framed photos: light ring follows the exact rounded shape */
.tx-panel{overflow:hidden!important;border-radius:32px}
.tx-panel.glow-card::before{inset:0;padding:2px;border-radius:32px;z-index:4}
.tx-panel .tx-img{border-radius:0}
.sp-panel{border-radius:36px}
.sp-card.glow-card{overflow:hidden}
.glow-frame::before{border-radius:inherit}
/* name tag on Dr. Ortho activity photos */
.ab-off-img{position:relative}
.img-tag{position:absolute;left:12px;bottom:12px;z-index:3;display:flex;align-items:baseline;gap:8px;padding:7px 14px 6px;border-radius:999px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(15,36,85,.18),0 0 0 1px rgba(142,109,58,.35);white-space:nowrap}
.img-tag b{font:700 13px/1 "Cormorant Garamond",sans-serif;color:#0F2455;letter-spacing:.01em}
.img-tag i{font:400 22px/1 "Pinyon Script",cursive;color:#775B32;font-style:normal}
.img-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:#A87529;box-shadow:0 0 0 0 rgba(168,117,41,.6);animation:beacon 2.4s infinite;align-self:center}
@media (max-width:600px){.img-tag{left:8px;bottom:8px;padding:5px 10px 4px}.img-tag b{font-size:11px}.img-tag i{font-size:17px}}
.img-tag{flex-direction:column;align-items:center;gap:2px;border-radius:16px;padding:8px 14px 6px;left:50%;right:auto;transform:translateX(-50%);bottom:14px}
.img-tag::before{position:absolute;top:8px;left:8px;width:6px;height:6px}
.img-tag b{font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.ab-off-img .img-tag{left:24px;transform:none;top:20px;bottom:auto;align-items:flex-start;padding:9px 16px 7px 22px}
.ab-off-img .img-tag i{font-size:26px}
@media (max-width:600px){.img-tag{bottom:10px;padding:6px 10px 4px}.img-tag b{font-size:10px}.img-tag i{font-size:18px}.ab-off-img .img-tag{left:14px;top:14px}}
/* footer v2: calm, professional */
.foot{padding-block:64px 28px;background:linear-gradient(180deg,#F7F3EE 0%,#F2ECE3 100%)}
.foot-top{grid-template-columns:1.35fr 1fr 1fr 1fr 1.05fr;gap:40px;padding-bottom:40px}
.foot-brand{display:grid;gap:16px;align-content:start;justify-items:start}
.foot-tag{font-size:15px;line-height:1.55;max-width:30ch;color:#2F4578!important}
.foot-brand .btn{padding:11px 20px;font-size:14px}
.foot h4,.foot .fh{font:600 11px var(--f-mono);letter-spacing:.16em;color:#775B32;margin-bottom:16px}
.foot-col ul{gap:10px;font-size:14.5px}
.foot-col ul li{color:inherit}
.foot a{opacity:1;color:#1C3674;transition:color .2s}
.foot-col a:hover{color:#8E6D3A;text-decoration:none}
.foot-visit address{font-size:14.5px;line-height:1.6;color:#2F4578}
.foot-ph{display:inline-block;margin-top:8px;font:600 15px var(--f-mono);color:#0F2455!important}
.foot-visit dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:16px 0 0;font-size:14px}
.foot-visit dt{color:#775B32;font-weight:600}.foot-visit dd{margin:0;color:#2F4578}
.foot-areas{font-size:13px;color:#6B5E4A!important;padding:18px 0;border-bottom:1px solid rgba(15,36,85,.12);margin:0}
.foot-areas b{font:600 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#775B32;margin-right:8px}
.foot-base{margin-top:18px;font-size:12.5px;color:#6B5E4A!important}
.foot-big{display:none}
@media (max-width:1020px){.foot-top{grid-template-columns:1fr 1fr 1fr}.foot-brand{grid-column:1/-1}}
@media (max-width:600px){.foot-top{grid-template-columns:1fr 1fr;gap:32px 20px}.foot-visit{grid-column:1/-1}.foot{padding-block:48px 96px}}
.foot .foot-brand .btn-primary,.foot .foot-brand .btn-primary *{color:#fff!important}
/* off the clock: pickleball badge sits on the pickleball photo */
.ab-off-media{container-type:inline-size}
.dr-badge.ob1{right:auto;top:auto;left:20%;bottom:calc(33cqw - 14px);z-index:4}
/* phone link under CTA buttons (not the hero photo layer .ph) */
a.call-ph{position:static;inset:auto;overflow:visible;pointer-events:auto;display:block;text-align:center;font:500 15px var(--f-mono);color:#0F2455;text-decoration:none;margin-top:2px;transition:color .2s}
a.call-ph:hover{color:#8E6D3A}
/* floating badge cards: no travelling ring, soft background glow on hover */
.dr-badge::before,.dr-badge::after{content:none!important;display:none!important}
.dr-badge{border:1px solid rgba(142,109,58,.18);transition:box-shadow .45s ease,background-color .45s ease,border-color .45s ease}
.dr-badge:hover{background:rgba(255,255,255,.98);border-color:rgba(142,109,58,.35);box-shadow:0 20px 40px -18px rgba(15,36,85,.45),0 0 0 6px rgba(168,117,41,.08),0 0 38px 4px rgba(168,117,41,.32)}
/* ===== hip-knee connection ===== */
.bm-pin.hip{background:#fff;border-color:#A87529;box-shadow:0 0 0 4px rgba(168,117,41,.25),0 4px 12px rgba(15,36,85,.45)}
.bm-pin.hip.on{background:#A87529;border-color:#fff}
.bm-chain{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}
.bm-chain path{fill:none;stroke:#A87529;stroke-width:.5;stroke-dasharray:1;stroke-dashoffset:1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(168,117,41,.9));transition:stroke-dashoffset 1.1s cubic-bezier(.65,0,.35,1)}
.bm-chain path{stroke-width:2.5px}
#bm.hipsel .bm-chain path{stroke-dashoffset:0}
.hipnote-sec{padding-block:8px}
.hipnote{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:26px 30px;border-radius:26px;background:linear-gradient(135deg,#FAF7F3,#F3EBE0);border:1px solid rgba(142,109,58,.25);box-shadow:0 24px 50px -34px rgba(168,117,41,.6)}
.hipnote .hn-ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#8E6D3A,#A87529);color:#0F2455;box-shadow:0 0 22px rgba(168,117,41,.45)}
.hipnote h3{font-size:22px;color:#0F2455;margin:6px 0 4px}
.hipnote p{color:#3E4E74;margin:0;max-width:68ch}
@media (max-width:820px){.hipnote{grid-template-columns:1fr;padding:22px}}
.hb-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.hb-media{position:relative}
.hb-img{margin:0;border-radius:200px 200px 36px 36px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 50px 100px -50px rgba(15,36,85,.55);position:relative}
.hb-img img{width:100%;height:100%;object-fit:cover;display:block}
.hb-chain{position:absolute;right:-26px;top:16%;width:96px;height:auto;filter:drop-shadow(0 10px 24px rgba(15,36,85,.25))}
.hb-chain circle{fill:#fff;stroke:#A87529;stroke-width:3}
.hb-chain path{stroke:#A87529;stroke-width:3;stroke-dasharray:.04 .03;fill:none;animation:hbflow 2.4s linear infinite}
.hb-chain text{font:700 7px var(--f-mono);fill:#0F2455;letter-spacing:.06em}
@keyframes hbflow{to{stroke-dashoffset:-.14}}
.hb-copy h2{font-size:clamp(34px,4.4vw,56px);line-height:1.04;color:#0F2455}
.hb-copy h2 em{font-style:normal;color:#8E6D3A}
.hb-copy>p{font-size:18px;color:#3E4E74;margin:18px 0 24px;max-width:58ch}
.hb-points{display:grid;gap:14px;margin-bottom:28px}
.hb-points>div{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:start;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#FCF9F5,#F5F0E8);border:1px solid rgba(142,109,58,.2)}
.hb-points .ico{grid-row:span 2;width:40px;height:40px;padding:9px;border-radius:12px;background:linear-gradient(135deg,#8E6D3A,#A87529);color:#0F2455}
.hb-points b{font:700 16px var(--f-display);color:#0F2455}
.hb-points span{font-size:14.5px;color:#3E4E74}
@media (max-width:900px){.hb-grid{grid-template-columns:minmax(0,1fr);gap:36px}.hb-media{max-width:440px}.hb-chain{right:-8px;width:72px}}
@media (prefers-reduced-motion:reduce){.hb-chain path{animation:none}}
.dr-badge.hb1{right:-18px;bottom:12%}
@media (max-width:900px){.dr-badge.hb1{right:8px}}
.bm-chain path{stroke-width:3px;stroke:#E1BA7F;filter:drop-shadow(0 0 6px #A87529) drop-shadow(0 0 2px #A87529)}

/* a11y: headings reset + AA contrast for small labels */
.foot .fh{margin-top:0}
.mega .mh{margin:0}
.eyebrow{color:#1A3C8C}
.foot h4,.foot .fh,.foot-areas b{color:#1A3C8C}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.flags h3{color:#B42318}
.pill.ok{color:#0B6E52}
/* pause animations control */
.motion-btn{position:fixed;left:16px;bottom:16px;z-index:60;display:inline-flex;align-items:center;gap:8px;padding:9px 14px 9px 11px;border-radius:999px;border:1px solid rgba(142,109,58,.35);background:rgba(255,255,255,.94);backdrop-filter:blur(10px);color:#0F2455;font:600 13px var(--f-body);box-shadow:0 10px 30px -14px rgba(15,36,85,.45);cursor:pointer}
.motion-btn:hover{border-color:#8E6D3A}
.mb-ico{width:12px;height:12px;position:relative;display:inline-block}
.mb-ico::before,.mb-ico::after{content:"";position:absolute;top:0;bottom:0;width:4px;border-radius:1px;background:#775B32}
.mb-ico::before{left:1px}.mb-ico::after{right:1px}
html.motion-off .mb-ico::before{left:2px;width:0;height:0;border-radius:0;background:none;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent #775B32}
html.motion-off .mb-ico::after{display:none}
html.motion-off *,html.motion-off *::before,html.motion-off *::after{animation-play-state:paused!important}
html.motion-off .flare,html.motion-off .bm-sweep{opacity:0!important}
@media (max-width:760px){.motion-btn{bottom:84px;left:12px;padding:8px 12px 8px 10px;font-size:12px}}
@media print{.motion-btn{display:none}}
/* form consent + honeypot */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{display:grid;gap:10px}
.chk{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:14px;line-height:1.5;color:#3E4E74;cursor:pointer}
.chk input{width:20px;height:20px;margin:2px 0 0;accent-color:#775B32}
.chk a{color:#1A3C8C}
/* references */
.refs-sec{padding-block:12px 28px}
.refs{border:1px solid rgba(142,109,58,.25);border-radius:22px;background:#FBFAF8;padding:4px 24px}
.refs summary{display:flex;align-items:center;gap:14px;cursor:pointer;padding:16px 0;list-style:none}
.refs summary::-webkit-details-marker{display:none}
.refs-h{font:700 18px var(--f-display);color:#0F2455}
.refs-n{margin-left:auto;min-width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#F2EDE5;color:#1A3C8C;font:600 13px var(--f-mono)}
.refs[open] summary{border-bottom:1px solid rgba(142,109,58,.2)}
.refs ol{margin:14px 0 20px;padding-left:22px;display:grid;gap:10px}
.refs li a{color:#1C3674;font-weight:600}
.refs .src{display:block;font:500 12px var(--f-mono);color:#6B5E4A;letter-spacing:.04em;margin-top:2px}
.refs .fine{margin-top:14px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* legal pages */
.legal-hero .lede a{color:#1A3C8C}
.legal-date{font:500 13px var(--f-mono);color:#6B5E4A;margin-top:10px}
.legal-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;align-items:start;max-width:1100px}
.legal-toc{position:sticky;top:110px;display:grid;gap:8px;padding:20px;border-radius:20px;background:#FBF9F5;border:1px solid rgba(142,109,58,.2)}
.legal-toc a{font-size:14px;color:#1C3674;text-decoration:none}.legal-toc a:hover{color:#8E6D3A}
.legal-body{display:grid;gap:34px;max-width:760px}
.legal-body h2{font-size:clamp(24px,2.6vw,30px);color:#0F2455;margin-bottom:12px}
.legal-body p,.legal-body li{font-size:16.5px;line-height:1.7;color:#334162}
.legal-body p+p{margin-top:12px}
.legal-body a{color:#1A3C8C}
.legal-body section{scroll-margin-top:110px}
.legal-contact{display:grid;gap:3px;margin:16px 0;padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,#FAF7F3,#F3EDE3);border:1px solid rgba(142,109,58,.25);font-size:15px;color:#334162}
.legal-contact b{color:#0F2455}
.tpl-note{padding:16px 18px;border-radius:16px;background:#FFF8E6;border:1px solid #F0D68A;color:#5C4A12;font-size:14.5px;line-height:1.55}
.taglines{list-style:none;padding:0;margin:14px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.taglines li{display:grid;gap:4px;padding:14px 16px;border-radius:14px;background:#FBFAF8;border:1px solid rgba(142,109,58,.18)}
.taglines b{font-size:15px;color:#0F2455}
.taglines span{font-size:14.5px;line-height:1.55;color:#334162}
@media (max-width:860px){.legal-grid{grid-template-columns:minmax(0,1fr);gap:24px}.legal-toc{position:static}}
.foot-lang{font-size:13px;color:#6B5E4A!important;padding:14px 0 0;margin:0}
.foot-lang a{text-decoration:underline}
.foot-legal{display:flex;flex-wrap:wrap;gap:4px}
.foot-legal a{color:#1C3674!important;text-decoration:underline;text-underline-offset:2px}
.ab-prof{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px}
.ab-prof a{padding:7px 14px;border-radius:999px;background:#F6F2EC;color:#1C3674;font-weight:600;font-size:14px;text-decoration:none}
img{height:auto}
[hidden]{display:none!important}
.legal-body .ticks li{display:block;position:relative;padding-left:30px}
.legal-body .ticks li::before{position:absolute;left:0;top:2px;margin:0}
.ticks li b{font-weight:700}
.seg label span,.ml{color:#1A3C8C}
/* ===== premium booking page ===== */
.bk-hero{padding:24px 0 72px;background:radial-gradient(60% 70% at 85% 10%,rgba(168,117,41,.18),transparent 60%),linear-gradient(180deg,#FBF8F4 0%,#fff 100%)}
.bk-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:start;margin-top:18px}
.bk-copy h1{font-size:clamp(40px,5.4vw,68px);line-height:1.02;letter-spacing:-.03em;color:#0F2455;margin:14px 0 18px}
.bk-copy h1 em{font-style:normal;background:linear-gradient(120deg,#8E6D3A,#775B32);-webkit-background-clip:text;background-clip:text;color:transparent}
.bk-copy .lede{font-size:19px;color:#3E4E74;max-width:56ch}
.bk-fast{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}
.bk-fast>div{display:grid;gap:2px;padding:16px;border-radius:18px;background:#fff;border:1px solid rgba(142,109,58,.22);box-shadow:0 18px 40px -30px rgba(15,36,85,.5)}
.bk-fast .ico{color:#775B32;margin-bottom:6px}
.bk-fast b{font:800 22px var(--f-display);color:#0F2455;letter-spacing:-.02em}
.bk-fast span{font-size:13.5px;color:#6B5E4A}
.bk-ways{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.bk-ways .btn-ghost{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-weight:600}
.bk-walk{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;font-size:15px;color:#3E4E74}
.bk-walk .ico{color:#8E6D3A}.bk-walk a{color:#1A3C8C;font-weight:600}
.bk-trust{list-style:none;padding:22px 0 0;margin:24px 0 0;border-top:1px solid rgba(15,36,85,.1);display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
.bk-trust li{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:#1C3674}
.bk-trust .ico{flex:none;width:34px;height:34px;padding:7px;border-radius:10px;background:linear-gradient(135deg,#8E6D3A,#A87529);color:#0F2455}
.bk-card{position:sticky;top:96px;border-radius:30px;padding:30px;background:#fff;border:1px solid rgba(142,109,58,.25);box-shadow:0 40px 90px -40px rgba(15,36,85,.45),0 0 0 6px rgba(168,117,41,.05)}
.bk-card-head{display:flex;gap:14px;align-items:center;padding-bottom:18px;margin-bottom:4px;border-bottom:1px solid rgba(15,36,85,.08)}
.bk-av{width:56px;height:56px;border-radius:16px;border:1px solid rgba(142,109,58,.3);box-shadow:0 8px 20px -10px rgba(15,36,85,.4);flex:none}
.bk-card-head h2{font-size:24px;color:#0F2455;margin:0}
.bk-card-head p{font-size:14px;color:#6B5E4A;margin:2px 0 0}
.bk-card .fine .ico{vertical-align:-2px;color:#775B32}
.bk-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.bk-why-card{padding:26px;border-radius:24px;background:linear-gradient(155deg,#FBF9F6 0%,#F3EEE6 100%);border:1px solid rgba(142,109,58,.22);transition:box-shadow .4s,transform .4s}
.bk-why-card:hover{transform:translateY(-3px);box-shadow:0 30px 60px -36px rgba(168,117,41,.7)}
.bk-why-card .ico{width:50px;height:50px;padding:12px;border-radius:15px;background:linear-gradient(135deg,#8E6D3A,#A87529);color:#0F2455;box-shadow:0 0 22px rgba(168,117,41,.4)}
.bk-why-card h3{font:700 20px var(--f-display);color:#0F2455;margin:16px 0 8px}
.bk-why-card p{font-size:15px;color:#3E4E74;margin:0}
.bk-dr-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.bk-dr-img{margin:0;position:relative;border-radius:220px 220px 32px 32px;overflow:visible;aspect-ratio:4/5}
.bk-dr-img img{width:100%;height:100%;object-fit:cover;border-radius:220px 220px 32px 32px;box-shadow:0 50px 100px -50px rgba(15,36,85,.55)}
.dr-badge.bk-b1{right:-18px;top:18%}.dr-badge.bk-b2{left:-18px;bottom:14%;animation-delay:-3s}
.bk-dr-copy h2{font-size:clamp(34px,4vw,52px);color:#0F2455;margin:10px 0 18px}
.bk-quote{margin:0 0 22px;padding:22px 26px;border-radius:22px;background:#FAF7F3;border-left:4px solid #8E6D3A}
.bk-quote p{font:600 19px/1.5 var(--f-display);color:#0F2455;margin:0}
.bk-quote .sig{font-size:30px}
.bk-dr-copy .ticks{margin-bottom:24px}
.bk-steps-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative}
.bk-steps-list::before{content:"";position:absolute;left:6%;right:6%;top:46px;height:2px;background:linear-gradient(90deg,#8E6D3A,#A87529);opacity:.35}
.bk-steps-list li{position:relative;padding:24px;border-radius:22px;background:#fff;border:1px solid rgba(142,109,58,.22);box-shadow:0 24px 50px -40px rgba(15,36,85,.5)}
.bk-num{position:absolute;top:18px;right:20px;font:800 28px var(--f-display);color:#F1ECE5}
.bk-steps-list .ico{width:46px;height:46px;padding:11px;border-radius:50%;background:#fff;border:2px solid #8E6D3A;color:#775B32;box-shadow:0 0 0 6px #fff,0 0 20px rgba(168,117,41,.4);position:relative}
.bk-when{display:inline-block;margin:16px 0 6px;font:600 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#1A3C8C;background:#F5F1EC;border-radius:999px;padding:5px 10px}
.bk-steps-list h3{font:700 19px var(--f-display);color:#0F2455;margin:0 0 6px}
.bk-steps-list p{font-size:14.5px;color:#3E4E74;margin:0}
.bk-cta-row{display:flex;align-items:center;gap:18px;justify-content:center;margin-top:34px;flex-wrap:wrap;color:#3E4E74}
.bk-cta-row a:not(.btn){color:#1A3C8C;font-weight:700;font-family:var(--f-mono)}
.bk-voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.bk-rv{width:auto!important;margin:0}
.bk-prac-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}
.bk-box{padding:26px;border-radius:24px;background:#fff;border:1px solid rgba(142,109,58,.22);box-shadow:0 24px 50px -40px rgba(15,36,85,.5)}
.bk-box-ico{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#8E6D3A,#A87529);color:#0F2455}
.bk-box h3{font:700 20px var(--f-display);color:#0F2455;margin:14px 0 12px}
.bk-box p{color:#3E4E74;font-size:15px}
.bk-chips{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:8px}
.bk-chips li{padding:7px 12px;border-radius:999px;background:#F6F3EE;color:#1C3674;font-size:13.5px;font-weight:600}
.bk-hours{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:12px 0 14px;font-size:14.5px}
.bk-hours dt{color:#1A3C8C;font-weight:600}.bk-hours dd{margin:0;color:#3E4E74}
.bk-box a{color:#1A3C8C;font-weight:600}
@media (max-width:1060px){.bk-grid,.bk-dr-grid{grid-template-columns:minmax(0,1fr)}.bk-card{position:static}.bk-why-grid,.bk-voice-grid{grid-template-columns:1fr 1fr}.bk-steps-list{grid-template-columns:1fr 1fr}.bk-steps-list::before{display:none}.bk-prac-grid{grid-template-columns:1fr}.bk-dr-img{max-width:440px}}
@media (max-width:640px){.bk-why-grid,.bk-voice-grid,.bk-steps-list,.bk-trust{grid-template-columns:minmax(0,1fr)}.bk-fast{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.bk-fast>div{padding:12px}.bk-fast b{font-size:17px}.bk-card{padding:20px}.dr-badge.bk-b1{right:6px}.dr-badge.bk-b2{left:6px}}
.bk-quote .sig{font:400 34px/1 "Pinyon Script",cursive;color:#775B32;display:block;margin-top:8px}
/* ===== location page ===== */
.loc-hero .bk-ways{margin-top:22px}
.loc-trust{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:10px 18px}
.loc-trust li{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:#1C3674}
.loc-trust .ico{color:#8E6D3A}
.loc-pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.loc-pcard{display:flex;flex-direction:column;padding:22px;border-radius:22px;background:linear-gradient(155deg,#FBF9F6 0%,#F5EFE7 100%);border:1px solid rgba(142,109,58,.22);transition:box-shadow .4s,transform .4s}
.loc-pcard:hover{transform:translateY(-3px);box-shadow:0 30px 60px -36px rgba(168,117,41,.7)}
.loc-pk{font:600 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#1A3C8C}
.loc-pcard h3{font:700 21px var(--f-display);margin:8px 0 6px}
.loc-pcard h3 a{color:#0F2455;text-decoration:none}.loc-pcard h3 a:hover{color:#775B32}
.loc-causes{font-size:14px;color:#3E4E74;margin:0 0 16px;flex:1}
.loc-pact{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.loc-read{font-size:14px;font-weight:600;color:#1A3C8C}
.loc-book{padding:9px 16px;font-size:14px}
.loc-or{text-align:center;margin-top:22px;color:#3E4E74}.loc-or a{color:#1A3C8C;font-weight:600}
.loc-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.loc-route{padding:20px;border-radius:20px;background:#fff;border:1px solid rgba(142,109,58,.22)}
.loc-min{display:inline-flex;align-items:center;gap:6px;font:600 12px var(--f-mono);color:#1A3C8C;background:#F5F1EC;border-radius:999px;padding:5px 10px}
.loc-route h3{font:700 18px var(--f-display);color:#0F2455;margin:10px 0 4px}
.loc-route p{font-size:14.5px;color:#3E4E74;margin:0}
.loc-areas{margin-top:22px;font-size:14px;color:#3E4E74}.loc-areas b{font:600 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#1A3C8C;margin-right:8px}
.loc-final-card{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:32px 36px;border-radius:30px;background:linear-gradient(135deg,#FAF7F3 0%,#F1E9DC 100%)}
.loc-final-card h2{font-size:clamp(26px,3vw,36px);color:#0F2455;margin:6px 0}
.loc-final-card p{color:#3E4E74;margin:0}
.loc-final-act{display:grid;gap:8px;justify-items:center}
@media (max-width:980px){.loc-pain-grid,.loc-routes{grid-template-columns:1fr 1fr}.loc-final-card{grid-template-columns:1fr;text-align:left}.loc-final-act{justify-items:start}}
@media (max-width:620px){.loc-pain-grid,.loc-routes{grid-template-columns:minmax(0,1fr)}}
/* location: calmer pain list + wide hero photo */
.loc-hero .phero-grid.img{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.loc-hero .pimg{aspect-ratio:4/3;max-height:none}
.loc-hero .pimg img{object-position:62% 35%}
.loc-plist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px;border-top:1px solid rgba(15,36,85,.1)}
.loc-plist li{border-bottom:1px solid rgba(15,36,85,.1)}
.loc-plist a{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:center;padding:16px 4px;text-decoration:none}
.loc-pn{font:700 18px var(--f-display);color:#0F2455}
.loc-pc{grid-column:1;font-size:14px;color:#6B5E4A}
.loc-plist .ico{grid-column:2;grid-row:1/span 2;color:#8E6D3A;transition:transform .3s}
.loc-plist a:hover .loc-pn{color:#775B32}.loc-plist a:hover .ico{transform:translateX(4px)}
@media (max-width:760px){.loc-plist{grid-template-columns:minmax(0,1fr)}.loc-hero .phero-grid.img{grid-template-columns:minmax(0,1fr)}}
/* cursor spotlight on photos: a soft light over the image */
.pspot{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;opacity:0;transition:opacity .4s ease;overflow:hidden;mix-blend-mode:screen}
.pspot::before{content:"";position:absolute;left:var(--sx,50%);top:var(--sy,50%);width:380px;height:380px;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,rgba(231,200,153,.42) 0%,rgba(168,117,41,.16) 35%,transparent 66%)}
.pspot-host:hover>.pspot{opacity:1}
.bk-dr-img>.pspot{border-radius:220px 220px 32px 32px}
@media (hover:none),(prefers-reduced-motion:reduce){.pspot{display:none}}
html.motion-off .pspot{display:none}
/* white light on teal gradient cards */
.bk-why-card>.spot::before,.loc-final-card>.spot::before,.hipnote>.spot::before{background:radial-gradient(circle,rgba(255,255,255,.6) 0%,rgba(255,255,255,.2) 35%,transparent 66%)}
.bk-why-card>*:not(.spot),.bk-box>*:not(.spot),.loc-route>*:not(.spot),.bk-steps-list li>*:not(.spot):not(.bk-num){position:relative}
.pspot{mix-blend-mode:normal}
.pspot::before{width:340px;height:340px;background:radial-gradient(circle,rgba(255,255,255,.34) 0%,rgba(224,193,145,.22) 28%,rgba(168,117,41,.08) 48%,transparent 66%)}
.pspot::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(260px circle at var(--sx,50%) var(--sy,50%),transparent 60%,rgba(15,36,85,.10) 100%)}
/* ===== menus v2: solid, grouped, calm ===== */
.mega{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-top:1px solid rgba(15,36,85,.06);box-shadow:0 40px 80px -40px rgba(15,36,85,.35)!important;padding-block:28px 32px}
.mega2{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr) minmax(0,.95fr);gap:36px;align-items:start}
.mega .mh{font:600 11px var(--f-mono)!important;letter-spacing:.14em!important;text-transform:uppercase;color:#1A3C8C!important;margin:0 0 12px!important}
.mg-cats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.mg-cats a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;text-decoration:none;transition:background .2s}
.mg-cats a:hover{background:#F8F5F1}
.mg-cats .ico{flex:none;width:38px;height:38px;padding:9px;border-radius:11px;background:linear-gradient(135deg,#8E6D3A,#A87529);color:#0F2455}
.mg-cats b{display:block;font:600 15.5px var(--f-display);color:#0F2455}
.mg-cats small{font-size:12.5px;color:#6B5E4A}
.mg-all{display:inline-flex;gap:6px;margin-top:14px;font-weight:600;font-size:14.5px;color:#1A3C8C;text-decoration:none}
.mg-all:hover{color:#8E6D3A}
.mg-links{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.mg-links a{display:block;padding:6px 0;font-size:15px;color:#0F2455;text-decoration:none}
.mg-links a:hover{color:#775B32}
.mg-pain{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px}
.mg-pain .mg-all{grid-column:1/-1}
.mg-rows{list-style:none;margin:0;padding:0;display:grid}
.mg-rows a{display:grid;padding:9px 10px;border-radius:12px;text-decoration:none;transition:background .2s}
.mg-rows a:hover{background:#F8F5F1}
.mg-rows b{font:600 15.5px var(--f-display);color:#0F2455}
.mg-rows small{font-size:12.5px;color:#6B5E4A}
.mg-note{font-size:14.5px;color:#3E4E74;margin:0 0 14px}
.mg-cta{display:grid;gap:8px;justify-items:start;padding:22px;border-radius:22px;background:linear-gradient(155deg,#FAF7F3,#F2EADE);border:1px solid rgba(142,109,58,.25)}
.mg-cta img{border-radius:12px;border:1px solid rgba(142,109,58,.3)}
.mg-cta b{font:700 17px var(--f-display);color:#0F2455}
.mg-cta p{font-size:13.5px;color:#3E4E74;margin:0 0 6px}
.mg-cta .btn{padding:10px 16px;font-size:14px}
/* current page in the main menu */
.nav>a[aria-current="page"],.nav-item.cur>button{color:#775B32}
.nav>a[aria-current="page"]::after,.nav-item.cur>button::before{content:"";position:absolute;left:12%;right:12%;bottom:-6px;height:2px;border-radius:2px;background:linear-gradient(90deg,#8E6D3A,#A87529)}
.nav>a,.nav-item>button{position:relative}
.mega .mg-cats a{display:flex;padding:10px 12px}
.mega .mg-rows a{display:grid;gap:1px;padding:9px 10px}
.mega .mg-rows b,.mega .mg-cats b{display:block}
.mega .mg-rows small,.mega .mg-cats small{display:block}
.mega .mg-side .mh+.mg-links+.mh{margin-top:20px!important}
/* ===== knee health library ===== */
.mh-lite{font:600 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#1A3C8C;margin:0 0 12px}
.lib-hero{padding:24px 0 56px;background:radial-gradient(60% 70% at 85% 10%,rgba(168,117,41,.16),transparent 60%),linear-gradient(180deg,#FBF8F4,#fff)}
.lib-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:48px;align-items:center;margin-top:18px}
.lib-hero h1{font-size:clamp(42px,5.6vw,72px);line-height:1;letter-spacing:-.03em;color:#0F2455;margin:14px 0 16px}
.lib-hero h1 em{font-style:normal;background:linear-gradient(120deg,#8E6D3A,#775B32);-webkit-background-clip:text;background-clip:text;color:transparent}
.lib-hero .lede{font-size:19px;color:#3E4E74;max-width:58ch}
.lib-search{display:flex;align-items:center;gap:12px;margin:26px 0 16px;padding:6px 8px 6px 20px;border-radius:999px;background:#fff;border:1.5px solid rgba(142,109,58,.4);box-shadow:0 24px 50px -30px rgba(15,36,85,.45),0 0 0 6px rgba(168,117,41,.06);max-width:620px}
.lib-search .ico{color:#775B32;flex:none}
.lib-search input{flex:1;border:0;outline:0;background:transparent;font:500 17px var(--f-body);color:#0F2455;padding:14px 8px;min-width:0}
.lib-search:focus-within{border-color:#8E6D3A;box-shadow:0 24px 50px -30px rgba(15,36,85,.45),0 0 0 6px rgba(168,117,41,.16)}
.lib-reviewed{display:flex;align-items:center;gap:10px;font-size:14px;color:#3E4E74}
.lib-reviewed .av{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 0 0 2px #8E6D3A}
.lib-start{padding:26px;border-radius:26px;background:#fff;border:1px solid rgba(142,109,58,.25);box-shadow:0 30px 70px -40px rgba(15,36,85,.45)}
.lib-start ol{list-style:none;margin:0;padding:0;display:grid}
.lib-start a{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px solid rgba(15,36,85,.08);text-decoration:none;font:600 16px/1.35 var(--f-display);color:#0F2455}
.lib-start li:last-child a{border-bottom:0}
.lib-start a span{font:600 13px var(--f-mono);color:#8E6D3A}
.lib-start a:hover{color:#775B32}
.lib-feat-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:auto auto;gap:18px}
.lib-feat-grid .lib-card.big{grid-row:span 2}
.lib-card{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:#fff;border:1px solid rgba(142,109,58,.2);text-decoration:none;box-shadow:0 24px 50px -40px rgba(15,36,85,.5);transition:transform .35s,box-shadow .35s}
.lib-card:hover{transform:translateY(-3px);box-shadow:0 34px 70px -40px rgba(168,117,41,.6)}
.lib-card[hidden]{display:none}
.lib-card figure{margin:0;aspect-ratio:16/9;overflow:hidden;position:relative}
.lib-card.big figure{aspect-ratio:16/10}
.lib-card figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.lib-card:hover figure img{transform:scale(1.05)}
.lib-cb{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;flex:1}
.lib-topic{align-self:flex-start;font:600 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#1A3C8C;background:#F5F1EC;border-radius:999px;padding:5px 10px;text-decoration:none}
.lib-card h3{font:700 18px/1.3 var(--f-display);color:#0F2455;margin:0}
.lib-card.big h3{font-size:26px}
.lib-card p{font-size:14.5px;color:#3E4E74;margin:0;flex:1}
.lib-meta{display:flex;align-items:center;gap:6px;font:500 12.5px var(--f-mono);color:#6B5E4A}
.lib-meta .go{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font:600 13.5px var(--f-body);color:#775B32}
.lib-topics{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.lib-topics button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid rgba(142,109,58,.3);background:#fff;font:600 14px var(--f-body);color:#1C3674;cursor:pointer;transition:background .2s,color .2s}
.lib-topics button span{font:600 12px var(--f-mono);color:#6B5E4A;background:#F7F5F1;border-radius:999px;padding:2px 7px}
.lib-topics button:hover{border-color:#8E6D3A}
.lib-topics button.on{background:linear-gradient(135deg,#8E6D3A,#775B32);color:#fff;border-color:transparent}
.lib-topics button.on span{background:rgba(255,255,255,.22);color:#fff}
.lib-count{font:500 13px var(--f-mono);color:#6B5E4A;margin:0 0 16px}
.lib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lib-empty{padding:30px;border-radius:22px;background:#FBFAF8;border:1px dashed rgba(142,109,58,.4);text-align:center;color:#3E4E74}
.lib-empty a{color:#1A3C8C;font-weight:600}
.lib-guides{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.lib-guides ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.lib-guides a{display:block;padding:6px 0;color:#0F2455;text-decoration:none;font-size:15.5px}
.lib-guides a:hover{color:#775B32}
/* article */
.read-bar{position:fixed;left:0;right:0;top:0;height:3px;z-index:90;pointer-events:none}
.read-bar i{display:block;height:100%;background:linear-gradient(90deg,#8E6D3A,#A87529);transform-origin:0 50%;transform:scaleX(0)}
.art-hero{padding:24px 0 40px;background:linear-gradient(180deg,#FBF8F4,#fff)}
.art-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center;margin-top:18px}
.art-hero h1{font-size:clamp(34px,4.4vw,54px);line-height:1.06;letter-spacing:-.025em;color:#0F2455;margin:14px 0 16px}
.art-hero .lede{font-size:18.5px;color:#3E4E74}
.art-meta{display:flex;align-items:center;gap:12px;margin:20px 0 18px;font-size:14px;color:#3E4E74;line-height:1.5}
.art-meta .av{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 0 0 2px #8E6D3A}
.art-meta .ico{vertical-align:-2px;color:#775B32}
.art-img{margin:0;border-radius:28px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 40px 80px -44px rgba(15,36,85,.55);position:relative}
.art-img img{width:100%;height:100%;object-fit:cover}
.art-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start;padding-top:16px;padding-bottom:24px}
.art-body{max-width:760px;display:grid;gap:34px}
.art-answer{margin:0}
.art-take{padding:22px 26px;border-radius:22px;background:linear-gradient(155deg,#FAF7F3,#F3EDE3);border:1px solid rgba(142,109,58,.25)}
.art-sec{scroll-margin-top:110px}
.art-sec h2{font-size:clamp(25px,2.8vw,32px);line-height:1.15;color:#0F2455;margin-bottom:14px}
.art-sec p{font-size:17.5px;line-height:1.75;color:#334162}
.art-sec p+p{margin-top:14px}
.art-sec .ticks{margin-top:14px}
.art-sec .ticks li{font-size:16.5px;color:#334162}
.art-quote{margin:24px 0 0}
.art-inline-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:22px;padding:16px 18px;border-radius:18px;background:#FBF9F5;border:1px solid rgba(142,109,58,.25)}
.art-inline-cta span{display:flex;align-items:center;gap:10px;font-weight:600;color:#0F2455}
.art-inline-cta .ico{color:#775B32}
.art-inline-cta .btn{padding:10px 16px;font-size:14px}
.art-side{position:sticky;top:104px;display:grid;gap:18px}
.art-toc{padding:20px;border-radius:20px;background:#fff;border:1px solid rgba(142,109,58,.22)}
.art-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:t}
.art-toc a{display:block;padding:7px 10px 7px 14px;border-left:2px solid #F1EDE7;font-size:14px;line-height:1.35;color:#3E4E74;text-decoration:none;transition:color .2s,border-color .2s,background .2s}
.art-toc a:hover{color:#0F2455}
.art-toc a.on{color:#0F2455;font-weight:600;border-left-color:#8E6D3A;background:#FAF7F3;border-radius:0 10px 10px 0}
.art-side-cta .call-ph{font-size:14px}
.art-toc-m{display:none;border:1px solid rgba(142,109,58,.25);border-radius:18px;background:#fff;padding:4px 18px}
.art-toc-m summary{cursor:pointer;padding:12px 0;font:600 15px var(--f-display);color:#0F2455}
.art-toc-m ol{margin:0 0 12px;padding-left:20px;display:grid;gap:6px}
.art-toc-m a{color:#1C3674;font-size:15px}
.lib-grid.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:1100px){.art-layout{grid-template-columns:minmax(0,1fr)}.art-side{display:none}.art-toc-m{display:block}}
@media (max-width:980px){.lib-hero-grid,.art-hero-grid{grid-template-columns:minmax(0,1fr)}.lib-feat-grid{grid-template-columns:1fr 1fr}.lib-feat-grid .lib-card.big{grid-column:1/-1;grid-row:auto}.lib-grid,.lib-grid.three{grid-template-columns:1fr 1fr}.lib-guides{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.lib-feat-grid,.lib-grid,.lib-grid.three,.lib-guides{grid-template-columns:minmax(0,1fr)}.lib-search input{font-size:16px}.art-sec p{font-size:16.5px}}
@media (prefers-reduced-motion:reduce){.read-bar{display:none}}
.lib-feat-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:repeat(3,auto)}
.lib-feat-grid .lib-card.big{grid-row:1/span 3}
.lib-feat-grid .lib-card:not(.big){flex-direction:row}
.lib-feat-grid .lib-card:not(.big) figure{flex:0 0 38%;aspect-ratio:auto}
.lib-feat-grid .lib-card:not(.big) .lib-cb{padding:16px 18px}
.lib-feat-grid .lib-card:not(.big) p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:980px){.lib-feat-grid{grid-template-columns:minmax(0,1fr)}.lib-feat-grid .lib-card.big{grid-row:auto}}
@media (max-width:520px){.lib-feat-grid .lib-card:not(.big){flex-direction:column}.lib-feat-grid .lib-card:not(.big) figure{aspect-ratio:16/9}}
.hb-copy{position:relative}

/* =================== QA FIXES (all sites) =================== */
/* mobile menu: the header's blur made it the containing block of the fixed drawer, clipping it to 72px */
.hdr:has(.drawer.open){backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}
@media (max-width:1080px){.drawer.open{height:calc(100dvh - 72px - env(safe-area-inset-top,0px));z-index:65}}
.nav-item>button{position:relative}
/* header logo never squashes or slides under the menu button */
.hdr .logo{flex:none;min-width:0}
.hdr .logo span{white-space:nowrap}
.logo img{object-fit:contain}
@media (max-width:420px){.hdr .logo span small{display:none}.hdr .logo span{font-size:18px}}
@media (max-width:560px){.hdr-cta .btn{padding:11px 14px;font-size:14px;letter-spacing:0}}
/* location card + map: contents stay inside the card; the map fits the phone */
.mapx>*{min-width:0}
.mapx .mapcard>*{max-width:100%}
.mapcard .hours div{flex-wrap:wrap}
@media (max-width:900px){.mapx{grid-template-columns:minmax(0,1fr)}.mapv{width:100%;max-width:100%}}
@media (max-width:560px){.mapx .mapcard .drives{grid-template-columns:repeat(2,minmax(0,1fr))}.mapx .mapcard .actions .btn{flex:1 1 auto}}
/* motion toggle: a small round button that never covers content */
.motion-btn{left:auto;right:16px;bottom:16px;width:40px;height:40px;padding:0;justify-content:center;opacity:.82}
.motion-btn:hover,.motion-btn:focus-visible{opacity:1}
.motion-btn .mb-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:760px){.motion-btn{bottom:calc(84px + env(safe-area-inset-bottom,0px));right:12px;width:36px;height:36px}}
/* comparison tables: readable on phones (stacked rows) */
@media (max-width:600px){
  .cmp{min-width:0}.cmp thead{display:none}
  .cmp tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;padding:12px 14px;border-bottom:1px solid var(--band-line)}
  .cmp td,.cmp th{display:block;padding:0!important;border:0!important}
  .cmp td:first-child{grid-column:1/-1;font-weight:700}
  .cmp td:nth-child(2)::before{content:attr(data-h);display:block;font:600 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.65}
  .cmp td:nth-child(3)::before{content:attr(data-h);display:block;font:600 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.65}
}
/* long words never push the page wider than the phone */
h1,h2{overflow-wrap:anywhere}
@media (max-width:920px){.phero-grid,.phero-grid.img,.loc-hero .phero-grid.img{grid-template-columns:minmax(0,1fr)}}
.tx-tabs{flex-wrap:wrap}
@media (max-width:600px){
  .ctable{min-width:0}.ctable thead{display:none}
  .ctable tr{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px 14px;padding:14px 16px;border-bottom:1px solid var(--line)}
  .ctable td{display:block;padding:0;border:0}
  .ctable td:first-child{grid-column:1/-1;white-space:normal}
  .ctable td[data-h]::before{content:attr(data-h);display:block;font:700 11px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:2px}
}
.mapx .mapcard{display:grid;grid-template-columns:minmax(0,1fr)}.mapx .mapcard .eyebrow{white-space:normal}
/* deep links inside guide text */
.xl{color:var(--accent);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);font-weight:600;transition:text-decoration-color .2s}
.xl:hover{text-decoration-color:currentColor}
.read-also{margin:26px 0 8px;padding:18px 20px;border-radius:16px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent)}
.read-also .mh-lite{margin:0 0 8px}
.read-also ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.read-also a{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:8px 0;text-decoration:none;font-weight:600;color:var(--ink);border-bottom:1px dashed var(--line)}
.read-also li:last-child a{border-bottom:0}
.read-also a:hover span{color:var(--accent)}
.read-also small{flex:none;display:inline-flex;align-items:center;gap:4px;font:500 12px var(--f-mono);color:var(--muted)}
@media (max-width:560px){.read-also a{flex-direction:column;gap:2px}}
.gal .g1 figcaption{left:auto;right:16px}
.marquee .ml{color:var(--accent-2)}

/* ================= LAYOUTS 2-5 =================
   Loaded after styles.css for layouts 2-5 only (recolored per theme by build.js).
   Scroll scenes: [data-scene] gets --p, --s1..--sN (eased) and data-step from layouts.js. */
[data-scene]{position:relative;--p:0;--s1:0;--s2:0;--s3:0;--s4:0}
.lh-stick{position:relative;height:calc(100svh - 72px);min-height:600px;overflow:hidden}
.js:not(.lay-static) .lh-stick{position:sticky;top:calc(72px + env(safe-area-inset-top,0px));min-height:0}
.lh-stage{position:relative;height:100%;overflow:hidden;isolation:isolate}
.lh-stage img{display:block}
@keyframes lay-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes lay-rise{from{transform:translateY(105%)}to{transform:none}}
@keyframes lay-fade{from{opacity:0}to{opacity:1}}
@keyframes lay-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes lay-zoom{from{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes lay-cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.lay-cue-line{display:block;width:1.5px;height:42px;background:currentColor;animation:lay-cue 2.2s cubic-bezier(.6,0,.3,1) infinite}

/* the practice logo follows the layout palette */
.lay-2:not([class*="site-"]) .logo img,.lay-2:not([class*="site-"]) .ftr img[src*="logo-"],.lay-2:not([class*="site-"]) img.bk-av{filter:hue-rotate(198deg) saturate(.7) brightness(1.02)}
.lay-3:not([class*="site-"]) .logo img,.lay-3:not([class*="site-"]) .ftr img[src*="logo-"],.lay-3:not([class*="site-"]) img.bk-av{filter:hue-rotate(172deg) saturate(.8)}
.lay-4:not([class*="site-"]) .logo img,.lay-4:not([class*="site-"]) .ftr img[src*="logo-"],.lay-4:not([class*="site-"]) img.bk-av{filter:hue-rotate(52deg) saturate(1.1)}
.lay-5:not([class*="site-"]) .logo img,.lay-5:not([class*="site-"]) .ftr img[src*="logo-"],.lay-5:not([class*="site-"]) img.bk-av{filter:hue-rotate(166deg) saturate(1.15)}

/* =====================================================================
   LAYOUT 2 · SIGNATURE PORTRAIT  (ivory, navy, champagne gold, serif)
   ===================================================================== */
.lay-2{--bg:#FBF8F3;--surface:#F4EEE4;--line:#E6DCCB;--ink:#14213E;--muted:#5D6474;--l2-gold:#82602A;--l2-gold-hi:#D9B77A;--l2-navy:#14213E;--l2-btn:#14213E;--l2-btn-ink:#FBF4E6}
@media (prefers-color-scheme:dark){.lay-2:not([data-theme="light"]){--l2-btn:#D9B77A;--l2-btn-ink:#14213E;--l2-gold:#D9B77A}}
.lay-2[data-theme="dark"]{--l2-btn:#D9B77A;--l2-btn-ink:#14213E;--l2-gold:#D9B77A}
.lay-2 h1,.lay-2 h2,.lay-2 h3{font-weight:600;letter-spacing:-.01em}
.lay-2 em{font-style:italic;color:var(--l2-gold)}
.lay-2 .eyebrow{font:600 11.5px/1.2 var(--f-body);letter-spacing:.24em;color:var(--l2-gold)}
.lay-2 .eyebrow::before{width:28px;height:1px}
.lay-2 .sec-head:not(.row){text-align:center;justify-items:center;margin-inline:auto}
.lay-2 .sec-head:not(.row) .eyebrow::after{content:"";width:28px;height:1px;background:currentColor}
.lay-2 .sec-head h2{font-size:clamp(38px,5.2vw,64px);line-height:1}
.lay-2 .sec-head p{margin-inline:auto}
.lay-2 .btn-primary{background:var(--l2-btn);color:var(--l2-btn-ink);box-shadow:0 16px 34px -18px rgba(20,33,62,.55),inset 0 0 0 1px rgba(217,183,122,.35)}
.lay-2 .btn-primary:hover{background:var(--l2-gold);color:#fff}
.lay-2 .btn{letter-spacing:.02em}
.lay-2 .hdr{border-bottom-color:color-mix(in srgb,var(--l2-gold) 30%,transparent)}
.lay-2 .dr-quote blockquote{font-style:italic;font-weight:500}
.lay-2 .dr-quote .sig,.lay-2 .sig{font-family:"Pinyon Script",cursive;color:var(--l2-gold)}

.l2h{--s1:0;--s2:0;--s3:0}
.js:not(.lay-static) .l2h{height:360vh}
.l2h-stage{background:radial-gradient(90% 70% at 50% 100%,var(--surface),var(--bg) 72%);
  --fw:min(32vw,44svh);--fh:calc(var(--fw)*1.25);
  --l0:calc(50% - var(--fw)/2);--t0:calc(100% - var(--fh));--l3:52%;--t3:9%;--w3:40%;--h3:82%;--rr:28px}
.l2h-arches{position:absolute;inset:auto 0 0;width:100%;height:100%;fill:none;stroke:var(--l2-gold);stroke-width:1.2;opacity:calc(.55 - var(--s1)*.55);z-index:0}
.l2h-arches path{stroke-dasharray:1;stroke-dashoffset:1;animation:lay-draw 2.4s cubic-bezier(.6,.1,.2,1) .2s forwards}
.l2h-arches path:nth-child(2){animation-delay:.45s;opacity:.7}.l2h-arches path:nth-child(3){animation-delay:.7s;opacity:.45}
.l2h-name{position:absolute;left:0;right:0;top:19%;margin:0;text-align:center;font:600 clamp(110px,17.5vw,320px)/.86 var(--f-display);letter-spacing:-.035em;color:var(--ink);z-index:1;white-space:nowrap;
  transform:translateY(calc(var(--s1)*-36%)) scale(calc(1 - var(--s1)*.18));opacity:calc(1 - var(--s1)*1.5);will-change:transform}
.l2h-name .ln{display:inline-block;overflow:hidden;padding:0 .04em .12em}
.l2h-name .ch{display:inline-block;animation:lay-rise 1.15s cubic-bezier(.2,.75,.15,1) both;animation-delay:calc(var(--i)*55ms + .15s)}
.l2h-name .ch:nth-child(3){color:var(--l2-gold)}
.l2h-name .sp{display:inline-block;width:.22em}
.l2h-frame{position:absolute;z-index:2;overflow:hidden;background:var(--surface);
  left:calc(var(--l0)*(1 - var(--s1))*(1 - var(--s3)) + var(--l3)*var(--s3));
  top:calc(var(--t0)*(1 - var(--s1))*(1 - var(--s3)) + var(--t3)*var(--s3));
  width:calc((var(--fw)*(1 - var(--s1)) + 100%*var(--s1))*(1 - var(--s3)) + var(--w3)*var(--s3));
  height:calc((var(--fh)*(1 - var(--s1)) + 100%*var(--s1))*(1 - var(--s3)) + var(--h3)*var(--s3));
  border-radius:calc(var(--fw)/2*(1 - var(--s1))*(1 - var(--s3)) + var(--rr)*var(--s3)) calc(var(--fw)/2*(1 - var(--s1))*(1 - var(--s3)) + var(--rr)*var(--s3)) calc(var(--rr)*var(--s3)) calc(var(--rr)*var(--s3));
  box-shadow:0 40px 80px -40px rgba(20,32,62,calc(.25 + var(--s3)*.3));animation:lay-up 1.2s cubic-bezier(.2,.8,.2,1) .35s both}
.l2h-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.l2h-frame .fa{object-position:50% 18%;opacity:calc(1 - var(--s1)*1.6);transform:scale(calc(1.06 - var(--s1)*.06))}
.l2h-frame .fb{object-position:55% 50%;opacity:calc(var(--s1)*1.6*(1 - var(--s3)*1.6))}
.l2h-frame .fc{object-position:50% 28%;opacity:calc(var(--s3)*1.6)}
.l2h-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,21,42,.82) 0%,rgba(12,21,42,.45) 46%,rgba(12,21,42,.15) 70%,rgba(12,21,42,.55) 100%);opacity:calc((var(--s1)*.45 + var(--s2)*.55)*(1 - var(--s3)*1.8))}
.l2h-copy{position:absolute;left:max(4vw,24px);bottom:9%;width:min(29vw,410px);z-index:3;display:grid;gap:16px;
  opacity:calc(1 - var(--s1)*2.4);transform:translateY(calc(var(--s1)*-50px));animation:lay-up 1s cubic-bezier(.2,.8,.2,1) .7s both}
.l2h-copy h1{font-size:clamp(34px,3.3vw,54px);line-height:1}
.l2h-copy p{color:var(--muted);font-size:16px}
.l2h-creds{position:absolute;right:max(4vw,24px);bottom:9%;width:min(23vw,300px);list-style:none;margin:0;padding:0;z-index:3;display:grid;gap:0;
  opacity:calc(1 - var(--s1)*2.4);transform:translateY(calc(var(--s1)*-50px))}
.l2h-creds li{display:grid;grid-template-columns:44px 1fr;padding:14px 0;border-top:1px solid var(--line);animation:lay-up .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.8s + var(--i)*.1s)}
.l2h-creds .n{grid-row:span 2;font:italic 500 22px/1 var(--f-display);color:var(--l2-gold)}
.l2h-creds b{font:600 15px/1.3 var(--f-body)}
.l2h-creds small{color:var(--muted);font-size:13px}
.l2h-quote{position:absolute;left:max(6vw,24px);top:50%;margin:0;width:min(44vw,600px);z-index:3;color:#fff;pointer-events:none;
  opacity:calc(var(--s2)*1.4*(1 - var(--s3)*2.2));transform:translate(calc((1 - var(--s2))*-70px),-50%)}
.l2h-quote blockquote{margin:0;font:italic 500 clamp(28px,2.9vw,44px)/1.14 var(--f-display);text-wrap:balance}
.l2h-quote figcaption{margin-top:22px;display:grid;gap:4px}
.l2h-quote .sig{font:400 clamp(44px,4vw,60px)/1 "Pinyon Script",cursive;color:var(--l2-gold-hi)}
.l2h-quote small{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.l2h-badges{position:absolute;right:max(5vw,24px);top:50%;transform:translateY(-50%);width:min(30vw,420px);list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;z-index:3;pointer-events:none}
.l2h-badges li{--k:clamp(0,calc(var(--s2)*2.4 - var(--i)*.3),1);display:flex;gap:12px;align-items:flex-start;padding:18px;border-radius:18px;color:#fff;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  opacity:calc(var(--k)*(1 - var(--s3)*2.2));transform:translateY(calc((1 - var(--k))*60px))}
.l2h-badges .ico{color:var(--l2-gold-hi);flex:none;margin-top:2px}
.l2h-badges b{display:block;font:600 22px/1.1 var(--f-display)}
.l2h-badges small{display:block;font-size:12.5px;line-height:1.4;color:rgba(255,255,255,.78);margin-top:4px}
.l2h-life{position:absolute;left:max(5vw,24px);top:50%;width:min(40vw,540px);z-index:3;display:grid;gap:18px;
  opacity:calc(var(--s3)*1.8 - .6);transform:translateY(calc(-50% + (1 - var(--s3))*60px));visibility:hidden}
.l2h[data-step="3"] .l2h-life{visibility:visible}
.l2h-life h2{font-size:clamp(38px,4.4vw,66px);line-height:.98}
.l2h-life p{color:var(--muted);font-size:17px;max-width:46ch}
.l2h-chips{display:flex;gap:14px}
.l2h-chips figure{margin:0;display:grid;gap:8px;justify-items:center;--k:clamp(0,calc(var(--s3)*3 - 1.2 - var(--i)*.3),1);opacity:var(--k);transform:translateY(calc((1 - var(--k))*30px))}
.l2h-chips img{width:96px;height:96px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px var(--bg),0 0 0 5px var(--l2-gold)}
.l2h-chips figure:nth-child(1) img{object-position:42% 40%}.l2h-chips figure:nth-child(2) img{object-position:60% 35%}.l2h-chips figure:nth-child(3) img{object-position:62% 38%}
.l2h-chips figcaption{font:600 11px/1 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.l2h-cue{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:4;display:grid;justify-items:center;gap:8px;font:600 10px/1 var(--f-body);letter-spacing:.3em;text-transform:uppercase;color:var(--l2-gold);opacity:calc(1 - var(--s1)*4)}
.l2h-cue i{display:block;width:1.5px;height:38px;background:currentColor;animation:lay-cue 2.2s cubic-bezier(.6,0,.3,1) infinite}
.lay-static .l2h-cue{display:none}
@media (max-width:899px){
  .l2h-stage{--fw:52vw;--t0:15%;--l3:5%;--t3:3%;--w3:90%;--h3:34%;--rr:22px}
  .l2h-name{top:4%;font-size:24vw}
  .l2h-copy{left:20px;right:20px;width:auto;bottom:calc(var(--mbar,74px) + 14px);gap:12px}
  .l2h-copy .actions .btn-ghost{display:none}
  .l2h-copy h1{font-size:clamp(28px,8vw,40px)}
  .l2h-copy p{display:none}
  .l2h-copy .actions .btn{flex:1 1 auto}
  .l2h-creds{display:none}
  .l2h-quote{left:20px;right:20px;width:auto;top:auto;bottom:calc(var(--mbar,74px) + 20px);transform:translateY(calc((1 - var(--s2))*50px))}
  .l2h-quote blockquote{font-size:24px}
  .l2h-badges{left:20px;right:20px;width:auto;top:4%;transform:none;gap:8px}
  .l2h-badges li{padding:12px;gap:8px;border-radius:14px}
  .l2h-badges .ico{display:none}
  .l2h-badges b{font-size:18px}
  .l2h-badges small{font-size:11px}
  .l2h-life{left:20px;right:20px;width:auto;top:auto;bottom:calc(var(--mbar,74px) + 10px);gap:12px;transform:translateY(calc((1 - var(--s3))*60px))}
  .l2h-life h2{font-size:clamp(28px,8vw,40px)}
  .l2h-life p{font-size:15px}
  .l2h-chips img{width:58px;height:58px}
  .l2h-chips figcaption{font-size:9.5px;letter-spacing:.12em}
}
@media (max-width:899px) and (max-height:800px){.l2h-life p{display:none}}
@media (max-width:899px){.l2h-life .actions .btn-ghost{display:none}}
.lay-static .l2h-name .ch,.lay-static .l2h-copy,.lay-static .l2h-creds li,.lay-static .l2h-frame{animation:none}
.lay-static .l2h-arches path{animation:none;stroke-dashoffset:0}

/* flip cards: "Where does it hurt?" */
.flips{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.flip{position:relative;height:440px;perspective:1400px}
.flip-in{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.2,.75,.2,1)}
.flip.on .flip-in{transform:rotateY(180deg)}
.flip-f,.flip-b{position:absolute;inset:0;border-radius:24px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.flip-f img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.75,.2,1)}
.flip:hover .flip-f img{transform:scale(1.05)}
.flip-f::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,24,46,0) 30%,rgba(14,24,46,.88) 100%)}
.flip-fc{position:absolute;left:26px;right:26px;bottom:24px;z-index:1;color:#fff;display:grid;gap:8px}
.flip-fc .n{font:italic 500 26px/1 var(--f-display);color:var(--l2-gold-hi)}
.flip-fc h3{font-size:36px;line-height:1}
.flip-fc p{font:italic 500 19px/1.3 var(--f-display);color:rgba(255,255,255,.88)}
.flip-b{transform:rotateY(180deg);background:var(--l2-navy);color:#F4EDE0;padding:30px 28px;display:grid;align-content:start;gap:16px;border:1px solid rgba(217,183,122,.3)}
.flip:not(.on) .flip-b{visibility:hidden;transition:visibility 0s .42s}
.flip-b .k{font:600 11px/1 var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--l2-gold-hi)}
.flip-b ol{margin:0;padding:0;list-style:none;counter-reset:c;display:grid;gap:0}
.flip-b li{counter-increment:c;display:grid;grid-template-columns:34px 1fr;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);font:600 21px/1.2 var(--f-display)}
.flip-b li::before{content:counter(c,decimal-leading-zero);font:italic 500 16px/1.5 var(--f-display);color:var(--l2-gold-hi)}
.flip-act{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;flex-wrap:wrap}
.flip-act a:not(.btn){color:#fff;font-weight:600;font-size:14px;text-underline-offset:4px}
.flip-b{grid-template-rows:auto 1fr auto}
.lay-2 .flip-act .btn-primary{background:var(--l2-gold-hi);color:#14213E}
.flip-turn{position:absolute;top:16px;right:16px;z-index:3;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .5s,background .2s}
.flip.on .flip-turn{transform:rotate(180deg);background:rgba(217,183,122,.3)}
.flips-more{text-align:center;margin-top:30px;color:var(--muted)}
.flips-more a{color:var(--ink);font-weight:600}
@media (max-width:1000px){.flips{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.flips{grid-template-columns:1fr}.flip{height:380px}}
.lay-static .flip-in{transition:none}
.l2h[data-step="2"] .l2h-copy,.l2h[data-step="3"] .l2h-copy,.l2h[data-step="2"] .l2h-creds,.l2h[data-step="3"] .l2h-creds{visibility:hidden}

/* =====================================================================
   LAYOUT 3 · EDITORIAL  (paper, ink, terracotta, Playfair)
   ===================================================================== */
.lay-3{--bg:#F7F3ED;--surface:#EFE8DD;--line:#E0D5C5;--ink:#1F1915;--muted:#6A6058;--l3-ink:#1F1915}
.lay-3 main{counter-reset:sx}
.lay-3 h1,.lay-3 h2,.lay-3 h3{font-weight:500;letter-spacing:-.015em}
.lay-3 em{font-style:italic;color:var(--accent)}
.lay-3 .eyebrow{font:600 11.5px/1.3 var(--f-body);letter-spacing:.2em;color:var(--accent)}
.lay-3 .sec-head{counter-increment:sx;border-top:1px solid var(--ink);padding-top:22px}
.lay-3 .sec-head .eyebrow::before{content:counter(sx,decimal-leading-zero);width:auto;height:auto;background:none;font:italic 500 20px/1 var(--f-display);letter-spacing:0;color:var(--ink);margin-right:4px}
.lay-3 .sec-head h2{font-size:clamp(38px,5.4vw,72px);line-height:1}
.lay-3 .sec-head.row{display:flex;justify-content:space-between;align-items:end;gap:30px;max-width:none;flex-wrap:wrap}
.lay-3 .sec-head.row>p{max-width:42ch}
.lay-3 .btn{border-radius:3px;text-transform:uppercase;font-size:12.5px;letter-spacing:.14em;padding:16px 22px}
.lay-3 .btn-primary{background:var(--l3-ink);color:#F7F3ED;box-shadow:none}
.lay-3 .btn-primary:hover{background:var(--accent);color:#fff}
@media (prefers-color-scheme:dark){.lay-3:not([data-theme="light"]) .btn-primary{background:var(--accent)}}
.lay-3[data-theme="dark"] .btn-primary{background:var(--accent)}
.lay-3 .hdr{border-bottom:1px solid var(--ink)}

.js:not(.lay-static) .l3h{height:330vh}
.l3h-stage{background:var(--bg);--H:calc(100svh - 72px)}
.l3h-mast{position:absolute;left:4vw;right:4vw;top:0;display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--ink);font:600 11px/1 var(--f-body);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);z-index:5;opacity:calc(1 - var(--s1)*2);animation:lay-fade 1s .2s both}
.l3h-mast .c{font:italic 500 18px/1 var(--f-display);letter-spacing:0;text-transform:none;color:var(--ink)}
.l3-tile{position:absolute;left:0;top:0;margin:0;width:14vw;height:29%;z-index:1;
  --X:calc(var(--x0)*(1 - var(--s1)) + var(--x1)*var(--s1));--Y:calc(var(--y0)*(1 - var(--s1)) + var(--y1)*var(--s1));
  transform:translate3d(calc(var(--X)*1vw),calc(var(--Y)*var(--H)),0) rotate(calc(var(--r0)*(1 - var(--s1))*1deg)) scale(calc(.84 + var(--s1)*.16 - var(--s2)*.1));
  opacity:calc(1 - var(--s2)*1.6);will-change:transform}
.l3-tile img{width:100%;height:100%;object-fit:cover;border-radius:4px;box-shadow:0 24px 50px -28px rgba(31,25,21,.55);filter:grayscale(calc(1 - var(--s1)));animation:lay-up 1.1s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.25s + var(--i)*.08s)}
.l3h-full{position:absolute;inset:0;z-index:2;--cl0:44;--ct0:66;--cr0:44;--cb0:10;--cl1:37;--ct1:20;--cr1:37;--cb1:20;
  clip-path:inset(calc((var(--ct0)*(1 - var(--s1)) + var(--ct1)*var(--s1))*(1 - var(--s2))*1%) calc((var(--cr0)*(1 - var(--s1)) + var(--cr1)*var(--s1))*(1 - var(--s2))*1%) calc((var(--cb0)*(1 - var(--s1)) + var(--cb1)*var(--s1))*(1 - var(--s2))*1%) calc((var(--cl0)*(1 - var(--s1)) + var(--cl1)*var(--s1))*(1 - var(--s2))*1%) round calc(6px*(1 - var(--s2))));
  animation:lay-fade 1s .5s both}
.l3h-full img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% 45%;filter:grayscale(calc(1 - var(--s1)));transform:scale(calc(1.18 - var(--s2)*.18))}
.l3h-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,18,14,.85),rgba(24,18,14,.4) 55%,rgba(24,18,14,.05));opacity:var(--s2)}
.l3h-head{position:absolute;left:50%;top:50%;width:min(92vw,1100px);text-align:center;z-index:3;display:grid;justify-items:center;gap:20px;
  transform:translate(-50%,calc(-56% - var(--s1)*40px)) scale(calc(1 - var(--s1)*.08));opacity:calc(1 - var(--s1)*1.7)}
.l3h-head h1{font-size:clamp(64px,10.2vw,176px);line-height:.92;font-weight:500;letter-spacing:-.035em}
.l3h-head h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.l3h-head h1 .ln>*{display:inline-block;animation:lay-rise 1.2s cubic-bezier(.2,.75,.15,1) both}
.l3h-head h1 .ln:nth-child(2)>*{animation-delay:.14s}
.l3h-head p{max-width:50ch;font-size:17px;color:var(--muted);animation:lay-up 1s .6s both;background:color-mix(in srgb,var(--bg) 80%,transparent);padding:4px 10px;border-radius:4px}
.l3h-over{position:absolute;left:6vw;bottom:11%;width:min(640px,88vw);z-index:4;color:#fff;display:grid;gap:18px;opacity:calc(var(--s2)*2 - 1);transform:translateY(calc((1 - var(--s2))*50px));visibility:hidden}
.l3h[data-step="2"] .l3h-over{visibility:visible}
.l3h-over .eyebrow{color:#F2C4A8}
.l3h-over h2{font-size:clamp(40px,5vw,78px);line-height:.98}
.l3h-over h2 em{color:#F2C4A8}
.l3h-over p{font-size:17px;color:rgba(255,255,255,.84);max-width:48ch}
.l3h-cue{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:5;display:grid;justify-items:center;gap:8px;font:600 10px/1 var(--f-body);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);opacity:calc(1 - var(--s1)*4)}
.l3h-cue i{display:block;width:1.5px;height:36px;background:currentColor;animation:lay-cue 2.2s cubic-bezier(.6,0,.3,1) infinite}
@media (max-width:899px){
  .l3-tile{width:28vw;height:16%;--X:calc(var(--mx0)*(1 - var(--s1)) + var(--mx1)*var(--s1));--Y:calc(var(--my0)*(1 - var(--s1)) + var(--my1)*var(--s1));transform:translate3d(calc(var(--X)*1vw),calc(var(--Y)*var(--H)),0) rotate(calc(var(--mr0)*(1 - var(--s1))*1deg)) scale(calc(.84 + var(--s1)*.16 - var(--s2)*.1))}
  .l3-tile.dk{display:none}
  .l3h-full{--cl0:36;--ct0:66;--cr0:36;--cb0:14;--cl1:4;--ct1:30;--cr1:4;--cb1:28}
  .l3h-mast span:not(.c){display:none}.l3h-mast{justify-content:center}
  .l3h-head{top:44%}
  .l3h-head h1{font-size:15.5vw}
  .l3h-head p{font-size:15px}
  .l3h-over{left:20px;right:20px;width:auto;bottom:calc(var(--mbar,74px) + 14px);gap:12px}
  .l3h-over p{font-size:15px}
  .l3h-over .btn-outline-light{display:none}
}
.lay-static .l3-tile img,.lay-static .l3h-head h1 .ln>*,.lay-static .l3h-full,.lay-static .l3h-mast,.lay-static .l3h-head p{animation:none}

/* pinned horizontal chapters */
.l3c{background:var(--l3-ink);color:#F3ECE2}
.js:not(.lay-static) .l3c{height:440vh}
.l3c-stick{position:relative;overflow:hidden;padding:40px 0 30px;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);gap:26px}
.js:not(.lay-static) .l3c-stick{position:sticky;top:calc(72px + env(safe-area-inset-top,0px));height:calc(100svh - 72px);padding:4svh 0 3svh}
.l3c-top{display:flex;justify-content:space-between;align-items:end;gap:24px;width:100%;flex-wrap:wrap}
.l3c-top h2{font-size:clamp(36px,4.6vw,66px);line-height:1;font-weight:500}
.l3c-top h2 em{color:#F2C4A8}
.l3c-top p{max-width:34ch;color:rgba(243,236,226,.7)}
.l3c .eyebrow{color:#F2C4A8}
.l3c-track{display:flex;gap:3vw;padding:0 6vw;width:max-content;min-height:0;transform:translate3d(calc(var(--s1)*-287vw),0,0);will-change:transform}
.l3c-card{width:64vw;height:100%;min-height:380px;display:grid;grid-template-columns:1.1fr 1fr;background:#2A231E;border:1px solid rgba(243,236,226,.12);border-radius:6px;overflow:hidden}
.l3c-card figure{margin:0;overflow:hidden}
.l3c-card figure img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.08) translateX(calc((var(--s1)*5 - var(--i))*-3%));transition:filter .4s}
.l3c-body{padding:clamp(24px,3vw,48px);display:grid;align-content:end;gap:14px;position:relative}
.l3c-n{position:absolute;top:clamp(14px,2vw,30px);right:clamp(20px,2.4vw,36px);font:italic 500 clamp(70px,9vw,150px)/1 var(--f-display);color:rgba(242,196,168,.2)}
.l3c-body .k{font:600 11px/1 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:#F2C4A8}
.l3c-body h3{font-size:clamp(32px,3.4vw,52px);line-height:1}
.l3c-body p{color:rgba(243,236,226,.78);font-size:16px}
.l3c-body a:not(.btn){color:#fff;font-weight:600;text-underline-offset:5px}
.l3c-card.end{width:40vw;grid-template-columns:1fr;background:var(--accent);border:0}
.l3c-card.end .k{color:#fff}
.l3c-card.end p{color:rgba(255,255,255,.9)}
.l3c-card.end .btn-primary{background:#fff;color:var(--l3-ink)}
.l3c-card.end .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.l3c-prog{display:grid;grid-template-columns:repeat(5,1fr);position:relative;width:100%;font:italic 500 15px/1 var(--f-display);color:rgba(243,236,226,.55);padding-top:14px}
.l3c-prog::before{content:"";position:absolute;left:20px;right:20px;top:0;height:1px;background:rgba(243,236,226,.2)}
.l3c-prog i{position:absolute;left:20px;right:20px;top:0;height:2px;background:#F2C4A8;transform-origin:left;transform:scaleX(var(--s1))}
@media (max-width:899px){
  .l3c-track{gap:4vw;padding:0 5vw;transform:translate3d(calc(var(--s1)*-434vw),0,0)}
  .l3c-card,.l3c-card.end{width:84vw;grid-template-columns:1fr;grid-template-rows:42% 1fr}
  .l3c-card.end{grid-template-rows:1fr}
  .l3c-body{padding:22px;gap:10px;align-content:start}
  .l3c-body p{font-size:14.5px}
  .l3c-n{font-size:64px;top:auto;bottom:16px}
  .l3c-top p{display:none}
  .js:not(.lay-static) .l3c-stick{padding-bottom:calc(var(--mbar,74px) + 6px)}
}
.lay-static .l3c-track,html:not(.js) .l3c-track{transform:none;width:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}
.lay-static .l3c-card,html:not(.js) .l3c-card{flex:none;scroll-snap-align:start;height:440px}

/* cursor-steered treatment strip */
.l3-index{overflow:hidden}
.steer{margin-top:10px}
.steer-track{display:flex;gap:18px;width:max-content;padding:0 max(20px,calc((100vw - var(--wrap))/2 + 20px));will-change:transform}
.steer-scroll{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.steer-scroll .steer-card{scroll-snap-align:start}
.steer-card{position:relative;width:310px;height:470px;flex:none;display:grid;grid-template-rows:56% auto auto 1fr auto;gap:10px;padding:0 0 22px;text-decoration:none;border-bottom:1px solid var(--ink)}
.steer-card figure{margin:0 0 6px;overflow:hidden;border-radius:4px}
.steer-card figure img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1);transform:scale(1.04);transition:filter .5s,transform .8s cubic-bezier(.2,.8,.2,1)}
.steer-card:hover figure img,.steer-card:focus-visible figure img{filter:none;transform:scale(1.1)}
.steer-card .n{position:absolute;top:14px;left:14px;font:italic 500 26px/1 var(--f-display);color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.steer-card .c{font:600 11px/1 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.steer-card h3{font-size:28px;line-height:1.05}
.steer-card p{font-size:14.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.steer-card .go{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px}
.steer-card .go .ico{transition:transform .3s}.steer-card:hover .go .ico{transform:translateX(5px)}
@media (max-width:620px){.steer-card{width:78vw;height:440px}}

/* =====================================================================
   LAYOUT 4 · CLINICAL PRECISION  (graphite, violet, grid, mono)
   ===================================================================== */
.lay-4{--l4-bg:#070B14;--l4-ink:#FBF7F2;--l4-mut:#AEA290;--l4-line:rgba(160,150,255,.16);--l4-acc:#8B7CFF}
.lay-4 h1,.lay-4 h2,.lay-4 h3{letter-spacing:-.035em;font-weight:600}
.lay-4 .eyebrow{font:500 11.5px/1.3 var(--f-mono);letter-spacing:.14em}
.lay-4 .eyebrow::before{width:8px;height:8px;border-radius:2px;background:var(--accent)}
.lay-4 .sec-head h2{font-size:clamp(34px,4.6vw,60px)}
.lay-4 .btn{border-radius:8px;font-weight:600}
.lay-4 .btn-primary{box-shadow:0 10px 30px -10px var(--glow),inset 0 1px 0 rgba(255,255,255,.25)}
.lay-4 .lcard,.lay-4 .glow-card{border-radius:10px}
.lay-4 .band{background:#0B111E;background-image:linear-gradient(var(--l4-line) 1px,transparent 1px),linear-gradient(90deg,var(--l4-line) 1px,transparent 1px);background-size:56px 56px}

.js:not(.lay-static) .l4h{height:420vh}
.l4h-stage{background:radial-gradient(70% 90% at 75% 40%,#1A1640 0%,var(--l4-bg) 62%);color:var(--l4-ink)}
.l4h-grid{position:absolute;inset:0;background-image:linear-gradient(var(--l4-line) 1px,transparent 1px),linear-gradient(90deg,var(--l4-line) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(80% 80% at 60% 50%,#000 30%,transparent 85%);-webkit-mask-image:radial-gradient(80% 80% at 60% 50%,#000 30%,transparent 85%);animation:lay-fade 1.6s both}
.l4h-copy{position:absolute;left:max(4vw,24px);top:50%;transform:translateY(-50%);width:min(40vw,560px);z-index:3}
.l4h-copy>*{transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1)}
.l4h-intro{display:grid;gap:20px;animation:lay-up 1s .2s both}
.l4h .eyebrow{color:var(--l4-acc)}
.l4h-intro h1{font-size:clamp(44px,5.2vw,84px);line-height:.95}
.l4h-intro h1 em{font-style:normal;color:transparent;background:linear-gradient(90deg,#B9AEFF,var(--l4-acc) 60%,#DAAA61);-webkit-background-clip:text;background-clip:text}
.l4h-intro p{color:var(--l4-mut);font-size:17px}
.l4h .btn-ghost{background:rgba(255,255,255,.05);color:var(--l4-ink);border-color:rgba(255,255,255,.18)}
.l4-live{display:grid;grid-template-columns:repeat(3,1fr);margin:6px 0 0;border:1px solid var(--l4-line);border-radius:10px;background:rgba(10,16,30,.6);backdrop-filter:blur(8px)}
.l4-live div{padding:14px 16px;border-left:1px solid var(--l4-line)}
.l4-live div:first-child{border-left:0}
.l4-live dt{font:500 10px/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--l4-mut)}
.l4-live dd{margin:6px 0 0;font:600 15px/1.25 var(--f-display)}
.l4-live dd b{font-variant-numeric:tabular-nums;color:var(--l4-acc)}
.l4h-steps{list-style:none;margin:0;padding:0;position:absolute;inset:0;display:grid;align-items:center}
.l4h-steps li{grid-area:1/1;display:grid;gap:16px;opacity:0;transform:translateY(30px);visibility:hidden;transition:opacity .6s,transform .6s,visibility 0s .6s}
.l4h-steps .k{font:500 12px/1 var(--f-mono);letter-spacing:.14em;color:var(--l4-acc)}
.l4h-steps h2{font-size:clamp(36px,4.2vw,64px);line-height:.98}
.l4h-steps p{color:var(--l4-mut);font-size:17px;max-width:42ch}
.l4h:not([data-step="1"]) .l4h-intro{opacity:0;transform:translateY(-30px);visibility:hidden;transition:opacity .5s,transform .5s,visibility 0s .5s}
.l4h[data-step="2"] .t1,.l4h[data-step="3"] .t2,.l4h[data-step="4"] .t3{opacity:1;transform:none;visibility:visible;transition:opacity .6s .45s,transform .6s .45s}
.l4h-steps li{transition:opacity .35s,transform .35s,visibility 0s .35s}
.l4h-view{position:absolute;right:max(4vw,24px);top:6%;bottom:6%;width:min(46vw,760px);z-index:2;border:1px solid var(--l4-line);border-radius:12px;overflow:hidden;background:#0A0F1C;animation:lay-fade 1.2s .3s both}
.l4h-view .cn{position:absolute;width:22px;height:22px;border:2px solid var(--l4-acc);z-index:4}
.cn.tl{left:10px;top:10px;border-right:0;border-bottom:0}.cn.tr{right:10px;top:10px;border-left:0;border-bottom:0}.cn.bl{left:10px;bottom:10px;border-right:0;border-top:0}.cn.br{right:10px;bottom:10px;border-left:0;border-top:0}
.l4h-fig{position:absolute;inset:0;transform-origin:50% 71%;transform:translateY(calc(var(--s3)*-21%)) scale(calc(1 + var(--s3)*2.1));will-change:transform}
.l4h-fig img,.l4h-xr{position:absolute;inset:0;width:100%;height:100%}
.l4h-fig img{object-fit:contain;object-position:50% 50%}
.l4h-fig>img{background:#EDEDED;opacity:calc(1 - var(--s2)*.15)}
.l4h-xr{clip-path:inset(0 0 calc((1 - var(--s2))*100%) 0);background:#0B1D47}
.l4h-xr img{filter:saturate(1.1) hue-rotate(28deg)}
.l4h-line{position:absolute;left:0;right:0;top:calc(var(--s2)*100%);height:2px;background:var(--l4-acc);box-shadow:0 0 18px 4px rgba(139,124,255,.7),0 0 60px 12px rgba(139,124,255,.25);opacity:calc(var(--s2)*20*(1 - var(--s2)*.999) );opacity:calc(min(1,var(--s2)*30) - var(--s3)*30)}
.l4h-rings{position:absolute;left:50%;top:50%;z-index:3;width:0;height:0;opacity:calc(var(--s3)*2 - 1)}
.l4h-rings i{position:absolute;border:1.5px dashed var(--l4-acc);border-radius:50%;left:50%;top:50%;translate:-50% -50%;animation:l4spin 18s linear infinite}
.l4h-rings i:nth-child(1){width:140px;height:140px}.l4h-rings i:nth-child(2){width:230px;height:230px;border-style:solid;border-color:rgba(139,124,255,.35);animation-direction:reverse}.l4h-rings i:nth-child(3){width:330px;height:330px;border-color:rgba(218,170,97,.35);animation-duration:30s}
@keyframes l4spin{to{rotate:360deg}}
.l4h-calls .cl{position:absolute;top:calc(50% + var(--y)*100%);z-index:4;display:grid;gap:2px;padding:9px 12px;border-radius:8px;background:rgba(10,16,30,.82);border:1px solid var(--l4-line);backdrop-filter:blur(6px);
  --k:clamp(0,calc(var(--s4)*3 - var(--i)*.35),1);opacity:var(--k)}
.l4h-calls .cl.l{right:calc(50% + 120px);transform:translateX(calc((1 - var(--k))*-30px))}
.l4h-calls .cl.r{left:calc(50% + 120px);transform:translateX(calc((1 - var(--k))*30px))}
.l4h-calls .cl::after{content:"";position:absolute;top:50%;width:70px;height:1px;background:var(--l4-acc)}
.l4h-calls .cl.l::after{left:100%}.l4h-calls .cl.r::after{right:100%}
.l4h-calls b{font:600 15px/1 var(--f-display)}
.l4h-calls small{font:500 10px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--l4-mut)}
.l4h-hud{position:absolute;left:18px;bottom:16px;z-index:4;display:flex;gap:16px;font:500 11px/1 var(--f-mono);letter-spacing:.1em;color:var(--l4-mut)}
.l4h-hud b{color:var(--l4-ink);font-variant-numeric:tabular-nums}
.l4h-cue{position:absolute;left:max(4vw,24px);bottom:22px;z-index:4;display:flex;align-items:center;gap:12px;font:500 11px/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--l4-mut);opacity:calc(1 - var(--s1)*3)}
.l4h-cue i{display:block;width:40px;height:1.5px;background:var(--l4-acc);animation:l4cue 1.8s ease-in-out infinite;transform-origin:left}
@keyframes l4cue{0%{transform:scaleX(0)}50%{transform:scaleX(1)}100%{transform:scaleX(0);transform-origin:right}}
@media (max-width:899px){
  .l4h-view{left:16px;right:16px;width:auto;top:12px;bottom:auto;height:40%}
  .l4h-copy{left:20px;right:20px;width:auto;top:auto;bottom:calc(var(--mbar,74px) + 12px);transform:none;height:calc(60% - var(--mbar,74px) - 40px)}
  .l4h-intro{gap:12px;align-content:end;height:100%}
  .l4h-intro h1{font-size:clamp(34px,9.4vw,48px)}
  .l4h-intro p,.l4-live,.l4h-intro .btn-ghost{display:none}
  .l4h-steps{align-items:end}
  .l4h-steps h2{font-size:30px}.l4h-steps p{font-size:15px}
  .l4h-calls .cl.l{right:calc(50% + 70px)}.l4h-calls .cl.r{left:calc(50% + 70px)}
  .l4h-calls .cl::after{width:30px}
  .l4h-rings i:nth-child(3){display:none}
  .l4h-hud{gap:10px;font-size:10px}
  .l4h-cue{display:none}
}
.lay-static .l4h-intro,.lay-static .l4h-view,.lay-static .l4h-grid{animation:none}
.lay-static .l4h-xr{clip-path:none}

/* Knee Check */
.kq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.kq-priv{display:flex;align-items:center;gap:8px;font:500 13px/1.4 var(--f-mono);color:var(--muted)!important}
.kq{position:relative;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:34px;overflow:hidden;min-height:430px;box-shadow:0 30px 60px -40px rgba(20,18,60,.35)}
.kq-bar{position:absolute;left:0;right:0;top:0;height:4px;background:var(--line)}
.kq-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#DAAA61);transform-origin:left;transform:scaleX(0);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.kq-step{border:0;margin:0;padding:0;min-width:0;animation:lay-up .45s cubic-bezier(.2,.8,.2,1)}
.kq-step legend{display:grid;gap:8px;font:600 clamp(24px,2.4vw,32px)/1.1 var(--f-display);letter-spacing:-.02em;margin-bottom:22px;padding:0}
.kq .k{font:500 11px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.kq-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kq-opts button{display:grid;gap:4px;text-align:left;padding:16px 18px;border-radius:10px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;font:inherit;transition:border-color .2s,transform .2s,box-shadow .2s}
.kq-opts button:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 12px 24px -16px var(--glow)}
.kq-opts button[aria-pressed="true"]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg))}
.kq-opts b{font:600 16px/1.2 var(--f-display)}
.kq-opts small{font-size:13px;color:var(--muted)}
.kq-opts button:last-child:nth-child(odd){grid-column:1/-1}
.kq-back,.kq-again{margin-top:18px;background:none;border:0;padding:6px 0;font:500 13px var(--f-mono);color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.kq-result{display:grid;gap:14px;animation:lay-up .5s cubic-bezier(.2,.8,.2,1)}
.kq-result h3{font-size:clamp(28px,2.8vw,38px);line-height:1.05}
.kq-result p{color:var(--muted)}
.kq-urgent{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:10px;background:color-mix(in srgb,var(--warn) 9%,var(--bg));border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);color:var(--ink)!important;font-size:14.5px}
.kq-urgent .ico{color:var(--warn);flex:none;margin-top:2px}
.kq-result .fine{font-size:13px}
@media (max-width:899px){.kq-grid{grid-template-columns:1fr;gap:10px}.kq{padding:26px 18px;min-height:0}.kq-opts{grid-template-columns:1fr}}

/* =====================================================================
   LAYOUT 5 · LIFESTYLE IMMERSIVE  (navy, coral, wide grotesk)
   ===================================================================== */
.lay-5{--l5-ink:#0D1426;--l5-coral:#FF5A3C}
.lay-5 h1,.lay-5 h2{text-transform:uppercase;font-weight:800;letter-spacing:-.02em}
.lay-5 h3{font-weight:700;letter-spacing:-.01em}
.lay-5 .eyebrow{font:700 12px/1.2 var(--f-body);letter-spacing:.16em}
.lay-5 .eyebrow::before{width:8px;height:8px;border-radius:50%}
.lay-5 .sec-head h2{font-size:clamp(40px,6vw,86px);line-height:.9}
.lay-5 .btn{font-weight:700;letter-spacing:.01em;padding:16px 24px}
.lay-5 .lcard,.lay-5 .glow-card{border-radius:28px}

.js:not(.lay-static) .l5h{height:380vh}
.l5h-stage{background:var(--l5-ink);color:#fff;--bl:39%;--bt:17%;--bw:22%;--bh:58%;--rr:24px}
.l5-main{position:absolute;margin:0;overflow:hidden;z-index:3;
  left:calc(var(--bl)*var(--s1));top:calc(var(--bt)*var(--s1));width:calc(100% - (100% - var(--bw))*var(--s1));height:calc(100% - (100% - var(--bh))*var(--s1));
  border-radius:calc(var(--rr)*var(--s1));box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.l5-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 60%}
.l5-main .kb{animation:lay-zoom 9s cubic-bezier(.2,.6,.3,1) both}
.l5-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,15,28,.82),rgba(9,15,28,.35) 55%,rgba(9,15,28,.1)),linear-gradient(0deg,rgba(9,15,28,.6),transparent 45%);opacity:calc(1 - var(--s1)*.7)}
.l5-main figcaption,.l5-card figcaption{position:absolute;left:18px;bottom:16px;font:800 clamp(16px,1.5vw,22px)/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.5)}
.l5-main figcaption{opacity:calc(var(--s1)*2 - 1)}
.l5-card{position:absolute;margin:0;left:var(--bl);top:var(--bt);width:var(--bw);height:var(--bh);border-radius:var(--rr);overflow:hidden;z-index:calc(3 - var(--a));box-shadow:0 30px 60px -30px rgba(0,0,0,.7);
  transform:translate3d(calc(var(--s3)*var(--i)*20.5vw),calc((1 - var(--s2))*(80svh + var(--a)*12svh) + var(--s3)*var(--a)*3svh),0) rotate(calc(var(--s3)*var(--i)*5deg + (1 - var(--s3))*var(--i)*2.5deg));opacity:calc(var(--s2)*1.5)}
.l5-card img{width:100%;height:100%;object-fit:cover}
.l5-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,15,28,.65),transparent 50%)}
.l5-card figcaption{z-index:1}
.l5h-copy{position:absolute;left:max(5vw,24px);bottom:11%;width:min(62vw,980px);z-index:4;display:grid;gap:22px;opacity:calc(1 - var(--s1)*2.2);transform:translateY(calc(var(--s1)*-60px))}
.l5h[data-step="2"] .l5h-copy,.l5h[data-step="3"] .l5h-copy{visibility:hidden}
.l5h .eyebrow{color:var(--l5-coral);animation:lay-up .9s .2s both}
.l5h-copy h1{font-size:clamp(52px,7.6vw,132px);line-height:.88;animation:lay-up 1s .3s both}
.kin{display:inline-grid;vertical-align:top;overflow:hidden;color:var(--l5-coral);padding-bottom:.06em}
.kin span{grid-area:1/1;transform:translateY(105%);opacity:0;transition:transform .7s cubic-bezier(.7,0,.2,1),opacity .7s}
.kin span.on{transform:none;opacity:1}
.kin span.off{transform:translateY(-105%);opacity:0}
.lay-static .kin span:last-child{transform:none;opacity:1}.lay-static .kin span.on:not(:last-child){opacity:0}
.l5h-copy p{font-size:18px;max-width:46ch;color:rgba(255,255,255,.86);animation:lay-up 1s .45s both}
.l5h-copy .actions{animation:lay-up 1s .6s both}
.l5h-mid{position:absolute;left:0;right:0;top:4.5%;text-align:center;z-index:4;display:grid;justify-items:center;gap:10px;opacity:calc(var(--s2)*2 - .6);transform:translateY(calc((1 - var(--s2))*30px))}
.l5h-mid h2{font-size:clamp(30px,3.6vw,56px);line-height:.95}
.l5h-mid h2 em{font-style:normal;color:var(--l5-coral)}
.l5h-end{position:absolute;left:0;right:0;bottom:5%;z-index:4;display:grid;justify-items:center;gap:16px;text-align:center;opacity:calc(var(--s3)*2 - 1);transform:translateY(calc((1 - var(--s3))*30px));visibility:hidden}
.l5h[data-step="3"] .l5h-end{visibility:visible}
.l5h-end p{color:rgba(255,255,255,.8);max-width:52ch;padding-inline:20px}
.l5h .btn-ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.25)}
.l5h-cue{position:absolute;right:max(5vw,24px);bottom:11%;z-index:4;width:54px;height:54px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);display:grid;place-items:center;opacity:calc(1 - var(--s1)*4)}
.l5h-cue i{width:10px;height:10px;border-right:2px solid #fff;border-bottom:2px solid #fff;rotate:45deg;animation:l5bob 1.6s ease-in-out infinite}
@keyframes l5bob{50%{translate:0 6px}}
@media (max-width:899px){
  .l5h-stage{--bl:28%;--bt:21%;--bw:44%;--bh:43%;--rr:18px}
  .l5-card{transform:translate3d(calc(var(--s3)*var(--i)*29vw),calc((1 - var(--s2))*(80svh + var(--a)*12svh) + var(--s3)*var(--a)*3svh),0) rotate(calc(var(--s3)*var(--i)*6deg + (1 - var(--s3))*var(--i)*2.5deg))}
  .l5h-copy{left:20px;right:20px;width:auto;bottom:calc(var(--mbar,74px) + 14px);gap:14px}
  .l5h-copy h1{font-size:13vw}
  .l5h-copy p{font-size:15px}
  .l5h-copy .btn-outline-light{display:none}
  .l5h-end{bottom:calc(var(--mbar,74px) + 10px)}
  .l5h-end .btn-ghost{display:none}
  .l5h-cue{display:none}
}
.lay-static .l5-main .kb,.lay-static .l5h-copy *{animation:none}

/* full-screen sport switcher */
.l5-sw{position:relative;height:calc(100svh - 72px);min-height:620px;max-height:980px;overflow:hidden;background:var(--l5-ink);color:#fff;outline:0}
.sw-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s,visibility 0s .9s}
.sw-slide.on{opacity:1;visibility:visible;transition:opacity .9s}
.sw-slide figure{position:absolute;inset:0;margin:0}
.sw-slide figure img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 7s cubic-bezier(.2,.6,.3,1)}
.sw-slide.on figure img{transform:scale(1)}
.sw-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,15,28,.88),rgba(9,15,28,.5) 50%,rgba(9,15,28,.1)),linear-gradient(0deg,rgba(9,15,28,.7),transparent 40%)}
.sw-copy{position:absolute;left:0;right:0;bottom:120px;display:grid;gap:16px;justify-items:start}
.sw-copy>*{opacity:0;transform:translateY(30px);transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1)}
.sw-slide.on .sw-copy>*{opacity:1;transform:none}
.sw-slide.on .sw-copy>*:nth-child(2){transition-delay:.08s}.sw-slide.on .sw-copy>*:nth-child(3){transition-delay:.16s}.sw-slide.on .sw-copy>*:nth-child(4){transition-delay:.24s}.sw-slide.on .sw-copy>*:nth-child(5){transition-delay:.32s}.sw-slide.on .sw-copy>*:nth-child(6){transition-delay:.4s}
.sw-n{font:700 13px/1 var(--f-body);letter-spacing:.2em;color:var(--l5-coral)}
.sw-copy h2{font-size:clamp(64px,11vw,190px);line-height:.85}
.sw-line{font-size:19px;max-width:44ch;color:rgba(255,255,255,.88)}
.sw-inj{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;max-width:760px}
.sw-inj a{display:inline-flex;gap:6px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;text-decoration:none;font-weight:600;font-size:14px;backdrop-filter:blur(8px);transition:background .2s}
.sw-inj a:hover{background:var(--l5-coral);border-color:var(--l5-coral)}
.sw-ret{display:flex;gap:8px;align-items:center;color:rgba(255,255,255,.8);font-size:15px}
.sw-ret .ico{color:var(--l5-coral)}
.sw-nav{position:absolute;left:0;right:0;bottom:34px;display:flex;align-items:center;gap:14px;z-index:2}
.sw-nav>button{flex:none;width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);background:rgba(255,255,255,.06);color:#fff;font-size:18px;cursor:pointer;transition:background .2s}
.sw-nav>button:hover{background:var(--l5-coral);border-color:var(--l5-coral)}
.sw-dots{display:flex;gap:6px;flex:1;min-width:0}
.sw-dots button{flex:1;min-width:0;background:none;border:0;padding:12px 0 0;cursor:pointer;color:rgba(255,255,255,.6);text-align:left;position:relative;font:700 12px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase}
.sw-dots button::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:2px;background:rgba(255,255,255,.25)}
.sw-dots button[aria-current="true"]{color:#fff}
.sw-dots button[aria-current="true"]::before{background:var(--l5-coral)}
.sw-dots span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:899px){
  .l5-sw{height:auto;min-height:calc(100svh - 72px)}
  .sw-copy{bottom:110px;gap:12px}
  .sw-copy h2{font-size:15vw}
  .sw-line{font-size:16px}
  .sw-dots span{display:none}
  .sw-slide figure img{object-position:50% 30%}
}
.lay-static .sw-slide figure img{transition:none;transform:none}

/* ===== structural variations of the shared sections ===== */
@media (min-width:901px){
  .lay-2 .tx{grid-template-columns:minmax(0,1.38fr) minmax(0,.62fr)}.lay-2 .tx-tabs{order:2}
  .lay-3 .dr-grid>:first-child,.lay-4 .dr-grid>:first-child{order:2}
  .lay-5 .sat-top>:first-child,.lay-3 .hb-grid>:first-child{order:2}
}
.lay-4 .tx{grid-template-columns:minmax(0,1fr)}
.lay-4 .tx-tabs{position:static;display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);padding-bottom:8px;scrollbar-width:thin}
.lay-4 .tx-tabs button{flex:none;border-radius:8px;padding:12px 14px;gap:10px;font-size:14.5px;position:relative}
.lay-4 .tx-tabs button[aria-selected="true"]::before{left:12px;right:12px;top:auto;bottom:-9px;width:auto;height:3px;border-radius:2px}
.lay-4 .tx-panel,.lay-4 .tx-panel.glow-card::before{border-radius:12px}
@media (min-width:901px){.lay-4 .tx-panel{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.lay-4 .tx-img{aspect-ratio:auto;min-height:440px}}
.lay-5 .tx{grid-template-columns:minmax(0,1fr)}
.lay-5 .tx-tabs{position:static;display:flex;flex-wrap:wrap;gap:8px}
.lay-5 .tx-tabs button{border-radius:999px;border:1.5px solid var(--line);padding:11px 18px;gap:10px;font-size:14.5px}
.lay-5 .tx-tabs button[aria-selected="true"]{background:var(--l5-ink);color:#fff;border-color:var(--l5-ink)}
.lay-5 .tx-tabs button[aria-selected="true"] .c{background:var(--l5-coral);color:#fff}
.lay-5 .tx-tabs button[aria-selected="true"]::before{display:none}
.lay-5 .tx-panel{grid-template-columns:minmax(0,1fr);align-items:end;min-height:600px;border-radius:28px}
.lay-5 .tx-panel.glow-card::before{border-radius:28px}
.lay-5 .tx-img{position:absolute;inset:0;aspect-ratio:auto;min-height:0}
.lay-5 .tx-body{position:relative;z-index:1;margin:28px;max-width:600px;background:color-mix(in srgb,var(--bg) 95%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:22px}
@media (max-width:620px){.lay-5 .tx-panel{min-height:0;padding-top:220px}.lay-5 .tx-body{margin:12px}.lay-5 .tx-list{grid-template-columns:1fr}}
/* L4: the signature band sits on the dark grid, so its copy goes light */
.lay-4 #saturday .sat-copy h2{color:var(--l4-ink)}
.lay-4 #saturday .sat-copy>p{color:var(--l4-mut)}
.lay-4 #saturday .eyebrow{color:#4F3BD6}
[class*="lay-"] .tx-tabs button .n{color:var(--muted)}
.lay-5 .tx-tabs button[aria-selected="true"] .n{color:#FF9A85}

/* ===== QA: gradient cards are light tints of each palette, so their dark text stays readable ===== */
.lay-2{--grad:linear-gradient(150deg,#F6EEDF 0%,#EFE2C9 60%,#E7D3AE 100%);--grad-hi:linear-gradient(150deg,#F1E4CC 0%,#E4CFA6 100%);--glow:rgba(169,126,63,.28);--c-ink:#14213E;--c-muted:rgba(20,33,62,.82);--c-k:#82602A}
.lay-3{--grad:linear-gradient(150deg,#F7EAE1 0%,#F1DCCD 60%,#EAC9B4 100%);--grad-hi:linear-gradient(150deg,#F3DFD1 0%,#E7C0A8 100%);--glow:rgba(176,84,46,.24);--c-ink:#2A1D16;--c-muted:rgba(42,29,22,.82);--c-k:#9A4523}
.lay-4{--grad:linear-gradient(150deg,#F1EEFF 0%,#E6E0FF 60%,#D9D0FF 100%);--grad-hi:linear-gradient(150deg,#ECE7FF 0%,#D6CBFF 100%);--glow:rgba(110,86,255,.28);--c-ink:#14113A;--c-muted:rgba(20,17,58,.8);--c-k:#4F3BD6}
.lay-5{--grad:linear-gradient(150deg,#FFF0EB 0%,#FFE1D8 60%,#FFCFC2 100%);--grad-hi:linear-gradient(150deg,#FFE8E1 0%,#FFC9BA 100%);--glow:rgba(255,90,60,.26);--c-ink:#0D1426;--c-muted:rgba(13,20,38,.8);--c-k:#C23A1F}
[class*="lay-"]:not(.lay-1) .cat h3 a:hover,[class*="lay-"]:not(.lay-1) .cat li a:hover{color:var(--accent)}
.lay-4 #saturday .sig-fine{color:var(--l4-mut)!important}
@media (max-width:560px){
  .lay-3 .hdr-cta .btn,.lay-5 .hdr-cta .btn,.lay-4 .hdr-cta .btn,.lay-2 .hdr-cta .btn{padding:11px 13px;font-size:13px;letter-spacing:.02em}
  .lay-3 .hdr-cta .btn .arr,.lay-5 .hdr-cta .btn .arr{display:none}
}
@media (max-width:899px){
  .l4h-view{height:33%}
  .l4h-copy{height:calc(67% - var(--mbar,74px) - 36px)}
  .l4h-hud{font-size:9px;gap:8px;left:12px;bottom:10px}
}
.l3h-head{grid-template-columns:minmax(0,1fr)}.l3h-head .eyebrow{white-space:normal;justify-content:center}
