/* /science/ and /physician/ (deep pass). Accent colours are used as fills/borders only; text stays indigo/charcoal (WCAG AA). */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sci,.phy{overflow-x:clip;--ink:#24215C}
.sci h1,.sci h2,.sci h3,.phy h1,.phy h2{color:var(--ink);letter-spacing:-.02em}
.sci-js .sci .reveal,.sci-js .phy .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.8,.2,1) var(--d,0ms),transform .8s cubic-bezier(.2,.8,.2,1) var(--d,0ms)}
.sci-js .sci .reveal.on,.sci-js .phy .reveal.on{opacity:1;transform:none}
.sci-sec{padding-top:6rem}
.sci-sec-head{max-width:46rem;margin-bottom:2.25rem}.sci-sec-head h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;margin:0}.sci-sec-head p:not(.eyebrow){color:var(--pf-muted-foreground);font-size:17px;margin:.8rem 0 0}
/* hero */
.sci-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;align-items:center;padding:4rem 1.25rem 1rem;min-height:min(78vh,720px)}
.sci-hero h1{font-size:clamp(2.4rem,5.6vw,4.6rem);line-height:1.02;font-weight:700;margin:0;max-width:14ch}
.sci-lede{font-size:19px;color:var(--pf-muted-foreground);max-width:34rem;margin:1.25rem 0 2rem}
.sci-stats{display:flex;gap:2.5rem;margin-bottom:2rem}.sci-stats b{display:block;font-size:clamp(2.4rem,4vw,3.4rem);line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}.sci-stats span{font-size:13px;color:var(--pf-muted-foreground);text-transform:uppercase;letter-spacing:.12em}
.sci-hero-art{position:relative;aspect-ratio:1;background:radial-gradient(closest-side,#34307a1f,transparent 70%)}
.sci-hero-art img{position:absolute;width:52%;bottom:8%;filter:drop-shadow(0 30px 30px #24215c33);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.sci-hero-art .h0{left:24%;z-index:2;width:58%;bottom:6%}.sci-hero-art .h1{left:0;bottom:14%;transform:rotate(-6deg)}.sci-hero-art .h2{right:0;bottom:14%;transform:rotate(6deg)}
.sci-hero-art:hover .h0{transform:translateY(-10px) scale(1.04)}.sci-hero-art:hover .h1{transform:rotate(-9deg) translateX(-8px)}.sci-hero-art:hover .h2{transform:rotate(9deg) translateX(8px)}
/* systems explorer */
.sx-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;margin-bottom:1.25rem}
.sx-tabs button{font:inherit;text-align:left;cursor:pointer;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.7rem;align-items:center;padding:1rem 1.1rem;border-radius:1.1rem;border:1px solid var(--pf-border);background:#fff;color:var(--ink);transition:transform .3s,box-shadow .3s,background .3s}
.sx-tabs button:hover{transform:translateY(-3px);box-shadow:0 14px 30px -20px var(--acc)}
.sx-tabs button[aria-selected=true]{background:color-mix(in srgb,var(--acc) 14%,#fff);border-color:var(--acc);box-shadow:inset 0 -3px 0 var(--acc)}
.sx-ico{grid-row:span 2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--acc);color:#fff}.sx-ico svg{width:24px;height:24px}
.sx-tabs b{font-size:17px}.sx-tabs small{font-size:12px;color:var(--pf-muted-foreground)}
.sx-panel{display:grid;grid-template-columns:1.1fr 1fr;border-radius:1.75rem;overflow:hidden;background:#fff;border:1px solid var(--pf-border);box-shadow:0 40px 80px -50px #24215c55}
.sx-panel.in .sx-art img{animation:sxIn .7s cubic-bezier(.2,.8,.2,1)}.sx-panel.in .sx-body>*{animation:sxUp .6s cubic-bezier(.2,.8,.2,1) backwards}.sx-panel.in .sx-body>:nth-child(2){animation-delay:60ms}.sx-panel.in .sx-body>:nth-child(3){animation-delay:120ms}.sx-panel.in .sx-body>:nth-child(4){animation-delay:180ms}
@keyframes sxIn{from{opacity:0;transform:scale(.92) rotate(-2deg)}}@keyframes sxUp{from{opacity:0;transform:translateY(14px)}}
.sx-art{position:relative;min-height:480px;background:radial-gradient(110% 90% at 30% 20%,color-mix(in srgb,var(--acc) 20%,#fff),#f6f3ee 75%);overflow:hidden}
.sx-orb{position:absolute;inset:6% 6% auto auto;width:46%;opacity:.55}
.sx-art img{position:relative;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.sx-body{padding:2.5rem;display:flex;flex-direction:column;gap:1rem;justify-content:center}
.sx-body h3{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:0;line-height:1.1}.sx-body h3 span{font-weight:400;color:var(--pf-muted-foreground)}.sx-body>p{margin:0;color:#3b3a4a;font-size:16px}
.sx-chips{list-style:none;margin:.25rem 0 .5rem;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.sx-chips a{display:flex;gap:.5rem;align-items:baseline;padding:.5rem .85rem;border-radius:999px;background:color-mix(in srgb,var(--acc) 10%,#fff);border:1px solid color-mix(in srgb,var(--acc) 35%,#fff);color:var(--ink);font-size:14px;text-decoration:none;transition:transform .2s,background .2s}
.sx-chips a:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--acc) 22%,#fff)}.sx-chips span{font-size:12px;color:#4a4860}
.sx-body .btn{align-self:flex-start}
/* principles band */
.sci-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.sci-principles div{border-top:2px solid var(--ink);padding-top:1rem}.sci-principles span{font-size:13px;font-weight:700;color:var(--pf-muted-foreground)}.sci-principles b{display:block;font-size:20px;color:var(--ink);margin:.3rem 0}.sci-principles p{margin:0;font-size:14px;color:var(--pf-muted-foreground)}
/* library */
.sci-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;position:sticky;top:68px;z-index:5;background:hsl(30 25% 97% / .9);backdrop-filter:blur(12px);padding:.75rem 0;margin-bottom:1rem}
.sci-search{flex:1 1 260px}.sci-search input{width:100%;box-sizing:border-box;font:inherit;padding:.8rem 1.1rem;border-radius:999px;border:1px solid var(--pf-border);background:#fff}.sci-search input:focus{outline:2px solid var(--pf-primary);outline-offset:2px}
.sci-filter{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;max-width:100%}
.sci-filter button{flex:none;display:flex;align-items:center;gap:.4rem;font:inherit;font-size:13px;font-weight:600;padding:.5rem .9rem;border-radius:999px;border:1px solid var(--pf-border);background:#fff;color:var(--ink);cursor:pointer}
.sci-filter button i{width:9px;height:9px;border-radius:50%;background:var(--acc)}
.sci-filter button.on{background:var(--pf-charcoal);color:#fff;border-color:var(--pf-charcoal)}
.sci-filter button:focus-visible,.sx-tabs button:focus-visible,.fx-tabs button:focus-visible{outline:2px solid var(--pf-primary);outline-offset:2px}
.sci-count{font-size:13px;color:var(--pf-muted-foreground);margin:0}
.sci-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start}
.sci-ing{scroll-margin-top:200px;position:relative;background:#fff;border:1px solid var(--pf-border);border-radius:1.25rem;padding:1.4rem 1.4rem 1.2rem;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.sci-ing:before{content:"";position:absolute;inset:0 0 auto 0;height:96px;background:linear-gradient(180deg,color-mix(in srgb,var(--acc) 14%,#fff),#fff0)}
.sci-ing>*{position:relative}.sci-ing:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px color-mix(in srgb,var(--acc) 60%,transparent)}
.sci-ing[hidden]{display:none}.sci-ing.flash{animation:ingFlash 1.6s ease}@keyframes ingFlash{20%{box-shadow:0 0 0 4px var(--acc)}}
.sci-ing-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.sci-ing-ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--acc);color:#fff}.sci-ing-ico svg{width:26px;height:26px}
.sci-ing-amt{font-size:clamp(1.4rem,2vw,1.8rem);font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.sci-ing h3{margin:0;font-size:20px}.sci-ing-form{margin:.1rem 0 0;font-size:13px;color:var(--pf-muted-foreground)}
.sci-ing-ben{margin:.8rem 0 0;font-size:14.5px;line-height:1.5;color:#3b3a4a}
.sci-sup{font-size:11px;font-weight:700;color:var(--pf-primary);vertical-align:super;text-decoration:none;margin-left:1px}
.sci-ing-why{margin-top:.8rem;border-top:1px solid var(--pf-border);padding-top:.6rem}.sci-ing-why summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--ink)}.sci-ing-why p{margin:.4rem 0 0;font-size:13.5px;color:#4a4860}
.sci-ing-in{display:flex;flex-wrap:wrap;gap:.35rem;margin:.9rem 0 0}.sci-ing-in a{font-size:12px;font-weight:600;padding:.25rem .6rem;border-radius:999px;color:var(--ink);background:color-mix(in srgb,var(--acc) 12%,#fff);text-decoration:none}
.sci-empty{color:var(--pf-muted-foreground)}
/* forms compare */
.fx-tabs{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;margin-bottom:1.25rem;padding:2px}
.fx-tabs button{flex:none;font:inherit;font-weight:600;font-size:15px;padding:.7rem 1.2rem;border-radius:999px;border:1px solid var(--pf-border);background:#fff;color:var(--ink);cursor:pointer;transition:background .25s}
.fx-tabs button[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.fx-panel{border-radius:1.75rem;padding:2.25rem;background:radial-gradient(120% 120% at 0 0,color-mix(in srgb,var(--acc) 12%,#fff),#fff 60%);border:1px solid var(--pf-border)}
.fx-panel.in .fx-pick{animation:sxUp .6s cubic-bezier(.2,.8,.2,1)}.fx-panel.in .fx-bar{animation:fxBar 1s cubic-bezier(.2,.8,.2,1) .2s backwards}@keyframes fxBar{from{width:0}}
.fx-vs{display:grid;grid-template-columns:1fr auto 1fr;gap:1.25rem;align-items:stretch}
.fx-side{border-radius:1.25rem;padding:1.5rem;background:#f1eee9;display:flex;flex-direction:column;gap:.4rem;opacity:.8}
.fx-pick{background:#fff;border:2px solid var(--acc);opacity:1;box-shadow:0 24px 50px -32px color-mix(in srgb,var(--acc) 70%,transparent)}
.fx-side small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--pf-muted-foreground);font-weight:700}
.fx-ico{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#d9d4cc;color:#fff;margin:.4rem 0}.fx-pick .fx-ico{background:var(--acc)}.fx-ico svg{width:26px;height:26px}
.fx-side b{font-size:clamp(1.3rem,2.2vw,1.8rem);color:var(--ink)}.fx-side p{margin:0;color:#3b3a4a}
.fx-bar{display:block;height:12px;border-radius:99px;background:var(--acc);width:var(--w);margin-top:auto}.fx-side:not(.fx-pick) .fx-bar{background:#a9a39a}
.fx-v{align-self:center;font-weight:800;color:var(--pf-muted-foreground);font-size:14px}
.fx-text{margin:1.25rem 0 .5rem;max-width:52rem;color:#3b3a4a}.fx-panel .link-arrow{color:var(--ink);font-weight:600}
.sci-note{font-size:13px;color:var(--pf-muted-foreground);margin-top:1rem}
/* sources */
.sci-srcs{border-top:1px solid var(--pf-border);border-bottom:1px solid var(--pf-border);padding:1rem 0}
.sci-srcs summary{cursor:pointer;display:flex;gap:1rem;align-items:baseline;list-style:none}.sci-srcs summary::-webkit-details-marker{display:none}.sci-srcs summary .eyebrow{margin:0}.sci-srcs summary b{color:var(--ink)}.sci-srcs summary:after{content:"+";margin-left:auto;font-size:20px;color:var(--ink)}.sci-srcs[open] summary:after{content:"–"}
.sci-srcs ol{margin:1rem 0 0;padding-left:1.4rem;display:grid;gap:.5rem;font-size:13px}.sci-srcs a{color:var(--ink)}.sci-srcs small{color:var(--pf-muted-foreground)}.sci-srcs li:target{background:#34307a12;border-radius:6px}
/* CTA + fda */
.sci-cta{display:flex;align-items:center;gap:1.75rem;margin-top:6rem;border-radius:1.75rem;padding:2.25rem 2.5rem;background:linear-gradient(110deg,#34307a,#1f1c4f);color:#fff;box-sizing:border-box}
.sci-cta img{width:88px;height:88px;border-radius:50%;object-fit:cover;object-position:50% 15%;flex:none;border:3px solid #3FD9C2}
.sci-cta>div{flex:1}.sci-cta h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:0;color:#fff}.sci-cta p{margin:.4rem 0 0;color:#ffffffc0}.sci-cta .btn{background:#3FD9C2;color:#120f2e;flex:none}
.sci-fda{font-size:12px;color:var(--pf-muted-foreground);margin:2rem auto 4rem}
/* physician */
.phy-hero{display:grid;grid-template-columns:1fr 1fr;min-height:min(88vh,820px);background:linear-gradient(180deg,#f3efe9,#fff0)}
.phy-portrait{margin:0;position:relative;overflow:hidden;background:#2a1d14}
.phy-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;transform:scale(1.35);transform-origin:50% 8%;display:block}
.phy-portrait:after{content:"";position:absolute;inset:auto 0 0 0;height:35%;background:linear-gradient(0deg,#1f1c4fcc,transparent)}
.phy-intro{align-self:center;padding:3rem clamp(1.25rem,5vw,5rem)}
.phy-intro h1{font-size:clamp(2.6rem,5.4vw,5rem);line-height:1;margin:0}.phy-intro h1 span{display:block;font-size:.42em;font-weight:600;letter-spacing:.14em;margin-top:.8rem;color:var(--pf-primary)}
.phy-role{font-size:19px;color:#3b3a4a;max-width:30rem;margin:1.5rem 0}
.phy-tags{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:0 0 2rem}.phy-tags li{font-size:13px;font-weight:600;padding:.4rem .9rem;border-radius:999px;background:#34307a12;color:var(--ink)}
.phy-intro .hero-cta{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}.phy-intro .link-arrow{color:var(--ink);font-weight:600}
.phy-facts{background:#24215C;color:#fff;padding:3rem 0}.phy-facts .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.phy-facts b{display:block;font-size:clamp(2.6rem,5vw,4rem);line-height:1;font-variant-numeric:tabular-nums}.phy-facts span{color:#ffffffbf;font-size:15px}
.phy-story{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;padding-top:6rem}
.phy-story-head{position:sticky;top:110px;align-self:start}.phy-story-head h2{font-size:clamp(2rem,3.6vw,3rem);line-height:1.05;margin:0 0 1rem}.phy-story-head p:not(.eyebrow){color:var(--pf-muted-foreground);font-size:17px}
.phy-tl{list-style:none;margin:0;padding:0 0 0 1.75rem;border-left:2px solid #34307a2a;display:grid;gap:2.25rem}
.phy-tl li{position:relative}.phy-tl li:before{content:"";position:absolute;left:calc(-1.75rem - 8px);top:.3rem;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #34307A}
.phy-tl li:last-child:before{background:#34307A}
.phy-k{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pf-muted-foreground)}.phy-tl b{display:block;font-size:22px;color:var(--ink);margin:.2rem 0}.phy-tl p{margin:0;color:#3b3a4a}
.phy-approach{margin-top:6rem;padding:6rem 0;background:#fff;border-block:1px solid var(--pf-border)}
.phy-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.phy-pillars article{border-radius:1.5rem;padding:2rem;background:linear-gradient(160deg,#f4f2fb,#fff);border:1px solid var(--pf-border);transition:transform .35s}.phy-pillars article:hover{transform:translateY(-4px)}
.phy-pi{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:#34307A;color:#fff;margin-bottom:1.25rem}.phy-pi svg{width:32px;height:32px}
.phy-pillars b{display:block;font-size:21px;color:var(--ink);margin-bottom:.4rem}.phy-pillars p{margin:0 0 .6rem;color:#4a4860}.phy-pillars .link-arrow{color:var(--ink);font-weight:600}
.phy-line{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:2.5rem}
.phy-line a{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;border-radius:1.25rem;text-decoration:none;color:var(--ink);background:radial-gradient(100% 70% at 50% 25%,color-mix(in srgb,var(--acc) 18%,#fff),#faf8f5);border:1px solid var(--pf-border);transition:transform .35s}
.phy-line a:hover{transform:translateY(-5px)}.phy-line img{width:100%;aspect-ratio:1;object-fit:contain;transition:transform .5s}.phy-line a:hover img{transform:scale(1.06)}
.phy-line b{font-size:18px}.phy-line span{display:flex;gap:.4rem;font-size:13px;color:#3b3a4a;line-height:1.4}.phy-line span svg{flex:none;width:16px;height:16px;margin-top:2px}
.phy .sci-cta{margin-top:4rem}
@media (max-width:1000px){.sci-grid{grid-template-columns:repeat(2,1fr)}.sx-tabs{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.sci-principles{grid-template-columns:repeat(2,1fr)}.phy-line{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){.sci-hero,.sx-panel,.phy-hero,.phy-story{grid-template-columns:1fr}.sci-hero{min-height:0}.sci-hero-art{max-width:420px;width:100%;margin:0 auto}.sx-art{min-height:0;aspect-ratio:1}.sx-body{padding:1.5rem}.phy-portrait{height:70vh;max-height:560px}.phy-story{gap:2rem}.phy-story-head{position:static}.phy-pillars{grid-template-columns:1fr}}
@media (max-width:560px){.sci-sec{padding-top:4rem}.sci-stats{gap:1.5rem}.sci-grid{grid-template-columns:1fr}.sci-principles{grid-template-columns:1fr;gap:1.25rem}.fx-vs{grid-template-columns:1fr;gap:.6rem}.fx-v{text-align:center}.fx-panel{padding:1.25rem}.sci-cta{flex-direction:column;align-items:flex-start;padding:1.75rem}.phy-facts .wrap{grid-template-columns:1fr;gap:1.25rem}.phy-line{grid-template-columns:repeat(2,1fr)}.phy-approach{padding:4rem 0}.sci-tools{top:60px}}
@media (prefers-reduced-motion:reduce){.sci *,.phy *{animation:none!important;transition:none!important}.sci-js .sci .reveal,.sci-js .phy .reveal{opacity:1;transform:none}}
.sx-panel[hidden],.fx-panel[hidden]{display:none}
.sci-hero-art{max-width:520px;justify-self:center;width:100%}.sci-hero-art img{width:40%;bottom:10%}.sci-hero-art .h0{width:46%;left:27%;bottom:6%}
.phy-portrait:after{height:45%;background:linear-gradient(0deg,#1f1c4f 0,#1f1c4fb3 40%,transparent)}
.sci-hero-art{margin-top:4rem}.sci-hero-art img{width:34%}.sci-hero-art .h0{width:40%;left:30%}
