/* Base layout and components shared by both sites. Theme tokens live in style-<site>.css. */
*,*::before,*::after{box-sizing:border-box}
:root{--gutter:clamp(20px,5vw,56px);--gap:clamp(16px,2.4vw,32px);--max:1200px;--header:76px}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 var(--sans);font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration-color:var(--line-strong);text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .15s,text-decoration-color .15s}
a:hover{color:var(--accent);text-decoration-color:currentColor}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
h1,h2,h3{margin:0;font-weight:400;line-height:1.15;text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}
p:last-child{margin-bottom:0}
::selection{background:color-mix(in srgb,var(--accent) 18%,transparent)}

.wrap{width:100%;max-width:calc(var(--max) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.grid,.sec{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.skip{position:absolute;left:-9999px;top:12px;z-index:20;padding:10px 14px;background:var(--ink);color:var(--bg);border-radius:var(--radius);font-size:.9375rem;text-decoration:none}
.skip:focus{left:12px;color:var(--bg)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.muted{color:var(--muted)}

/* Header */
.site-header{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:stretch;justify-content:space-between;gap:32px;height:var(--header)}
.brand{display:flex;flex-direction:column;justify-content:center;text-decoration:none}
.brand:hover{color:var(--ink)}
.brand-name{font:500 1.25rem/1.15 var(--serif);letter-spacing:-.01em}
.brand-sub{margin-top:3px;font-size:.75rem;line-height:1.3;letter-spacing:.01em;color:var(--muted)}
.nav{display:flex;align-items:stretch;gap:clamp(20px,2.6vw,36px);font-size:.9375rem}
.nav a{position:relative;display:flex;align-items:center;gap:.3em;color:var(--ink-soft);text-decoration:none}
.nav a:hover,.nav a[aria-current]{color:var(--ink)}
.nav a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--ink)}
.nav .nav-ext{padding-left:clamp(20px,2.6vw,36px)}
.nav .nav-ext::before{content:"";position:absolute;left:0;top:50%;width:1px;height:16px;margin-top:-8px;background:var(--line-strong)}
.menu{display:none}
.menu summary{display:flex;align-items:center;gap:10px;height:100%;list-style:none;cursor:pointer;font-size:.9375rem}
.menu summary::-webkit-details-marker{display:none}
.menu-icon{position:relative;width:18px;height:9px}
.menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .2s}
.menu-icon::before{top:0}
.menu-icon::after{bottom:0}
.menu[open] .menu-icon::before{transform:translateY(3.75px) rotate(45deg)}
.menu[open] .menu-icon::after{transform:translateY(-3.75px) rotate(-45deg)}
.menu nav{position:fixed;top:calc(var(--header) + 1px);left:0;right:0;bottom:0;z-index:9;display:flex;flex-direction:column;padding:8px var(--gutter) 40px;background:var(--bg);overflow:auto}
.menu nav a{padding:18px 0;border-bottom:1px solid var(--line);font:400 1.5rem/1.2 var(--serif);text-decoration:none}
.menu nav a[aria-current]{color:var(--accent)}
@media (max-width:860px){:root{--header:64px}.nav{display:none}.menu{display:block}}

/* Type */
.display{font:400 var(--display-size)/1.02 var(--serif);letter-spacing:-.02em}
.lede{max-width:34em;font-size:clamp(1.125rem,1.5vw,1.3125rem);line-height:1.55;color:var(--ink-soft)}
.label{margin:0 0 14px;font:500 .8125rem/1.4 var(--sans);letter-spacing:.01em;color:var(--muted)}
.link-arrow{display:inline-flex;align-items:center;gap:.45em;font-size:.9375rem;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap}
.link-arrow span{transition:transform .2s}
.link-arrow:hover span{transform:translateX(3px)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border:1px solid var(--btn);border-radius:var(--radius);background:var(--btn);color:var(--btn-ink);font:500 .9375rem/1 var(--sans);text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s}
.btn:hover{background:var(--btn-hover);border-color:var(--btn-hover);color:var(--btn-ink)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;margin-top:40px}

/* Page structure: each section is a rule, its heading in the left three columns, content in the right nine. */
.page-head{padding-top:clamp(56px,8vw,112px);padding-bottom:clamp(56px,7vw,96px)}
.page-head .display{grid-column:1/-1}
.page-head .lede{grid-column:4/span 7;margin-top:clamp(20px,3vw,32px)}
.section{padding-top:clamp(72px,9vw,128px)}
.section-tight{padding-top:clamp(48px,6vw,72px)}
.page-head+.section{padding-top:0}
main>:last-child{padding-bottom:clamp(88px,11vw,152px)}
.sec{align-items:baseline;row-gap:24px;padding-top:24px;border-top:1px solid var(--rule)}
.sec-head{grid-column:1/span 3}
.sec-head h2{font:400 var(--h2-size)/1.15 var(--serif);letter-spacing:-.015em}
.sec-head>p{max-width:22em;margin:16px 0 0;font-size:.9375rem;color:var(--ink-soft)}
.sec-head>p:first-child{margin-top:0}
.sec-head .link-arrow{margin-top:18px}
.sec-body{grid-column:4/-1;min-width:0}
.sec-body>.prose{max-width:35em}
@media (min-width:900px){.sec-head{position:sticky;top:calc(var(--header) + 32px)}}
@media (max-width:899px){.page-head .lede,.sec-head,.sec-body{grid-column:1/-1}}
/* Compact page head (contact): title and intro share one row, less vertical padding. */
.page-head-compact{padding-top:clamp(32px,4.5vw,64px);padding-bottom:clamp(28px,3.5vw,48px)}
.page-head-compact .grid{align-items:end;row-gap:12px}
.page-head-compact .display{grid-column:1/span 3;font-size:clamp(2.25rem,4vw,3.25rem)}
.page-head-compact .lede{grid-column:4/span 7;margin-top:0;font-size:clamp(1.0625rem,1.3vw,1.1875rem)}
@media (max-width:899px){.page-head-compact .display,.page-head-compact .lede{grid-column:1/-1}}

/* Quote band */
.band{margin-top:clamp(72px,9vw,128px);padding:clamp(64px,8vw,112px) 0;background:var(--bg-2)}
.quote{grid-column:4/span 8;margin:0}
.quote blockquote{margin:0}
.quote p{font:300 clamp(1.5rem,2.6vw,2.125rem)/1.32 var(--serif);letter-spacing:-.012em;text-indent:-.4em}
.quote p::before{content:"“"}
.quote p::after{content:"”"}
.quote figcaption{margin-top:28px;font-size:.9375rem;color:var(--muted)}
.quote figcaption strong{display:block;font-weight:500;color:var(--ink)}
@media (max-width:899px){.quote{grid-column:1/-1}}

/* Rows (article lists). Inner columns repeat the outer grid so meta lines up across sections. */
.rows{margin:0;padding:0;list-style:none}
.rows>li+li{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));column-gap:var(--gap);align-items:baseline;padding:22px 0;color:var(--ink);text-decoration:none}
.rows>li:first-child .row{padding-top:0}
.row-text{grid-column:span 7}
.row-title{display:block;font:400 1.375rem/1.25 var(--serif);letter-spacing:-.01em;transition:color .15s}
.row-deck{display:block;max-width:36em;margin-top:6px;font-size:.9375rem;line-height:1.5;color:var(--muted)}
.row-meta{grid-column:span 2;display:flex;flex-direction:column;gap:2px;font-size:.875rem;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums}
.row:hover{color:var(--ink)}
.row:hover .row-title{color:var(--accent)}
@media (max-width:700px){.row{display:block}.row-meta{flex-direction:row;flex-wrap:wrap;gap:4px 16px;margin-top:10px}}

/* Timeline */
.timeline{margin:0;padding:0;list-style:none}
.timeline li{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));column-gap:var(--gap);align-items:baseline;padding:18px 0}
.timeline li+li{border-top:1px solid var(--line)}
.timeline li:first-child{padding-top:0}
.tl-year{grid-column:span 2;margin:0;font-size:.9375rem;color:var(--muted);font-variant-numeric:tabular-nums}
.timeline li>div{grid-column:span 7}
.timeline h3{font:400 1.25rem/1.3 var(--serif);letter-spacing:-.005em}
.tl-org{margin:3px 0 0;font-size:.9375rem;color:var(--muted)}
@media (max-width:600px){.timeline li{display:block}.tl-year{margin-bottom:4px}}

/* Article */
.article-head{padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(40px,5vw,64px)}
.article-head .grid{align-items:baseline;row-gap:20px}
.crumb{grid-column:1/span 3;margin:0;font-size:.875rem;color:var(--muted)}
.crumb a{color:var(--ink-soft);text-decoration:none}
.crumb a:hover{color:var(--accent)}
.crumb span{margin:0 .55em;color:var(--line-strong)}
.article-title{grid-column:4/span 8}
.article-title h1{font:400 clamp(2.25rem,4.4vw,3.5rem)/1.06 var(--serif);letter-spacing:-.02em}
.article-title .lede{margin-top:20px}
.article-body{align-items:start;padding-top:clamp(40px,5vw,56px);border-top:1px solid var(--line)}
.article-aside{grid-column:1/span 3;position:sticky;top:calc(var(--header) + 40px);font-size:.875rem;line-height:1.45}
.meta-list{display:grid;gap:14px;margin:0}
.meta-list dt{color:var(--muted)}
.meta-list dd{margin:2px 0 0;color:var(--ink)}
.toc{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.toc ol{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.toc a{display:block;color:var(--ink-soft);text-decoration:none}
.toc a:hover{color:var(--accent)}
.article-body>.prose{grid-column:4/span 7}
.article-end{grid-column:4/span 7;margin-top:56px;padding:22px 24px;border-radius:var(--radius);background:var(--bg-2);font-size:.9375rem;color:var(--ink-soft)}
.article-end strong{font-weight:600;color:var(--ink)}
@media (max-width:899px){
  .crumb,.article-title,.article-aside,.article-body>.prose,.article-end{grid-column:1/-1}
  .article-aside{position:static;margin-bottom:36px}
  .meta-list{display:flex;flex-wrap:wrap;gap:12px 32px}
  .toc{display:none}
}

/* Prose */
.prose{font-family:var(--prose-font);font-size:var(--prose-size);line-height:1.7;color:var(--ink)}
.prose>:first-child{margin-top:0}
.prose h2{margin:1.9em 0 .55em;font:400 clamp(1.5rem,2.3vw,1.8125rem)/1.2 var(--serif);letter-spacing:-.015em}
.prose h3{margin:1.7em 0 .45em;font:600 1.0625rem/1.4 var(--sans)}
.prose h2+h3{margin-top:.9em}
.prose p,.prose ul,.prose ol{margin:0 0 1.1em}
.prose ul,.prose ol{padding-left:1.25em}
.prose li{margin:.45em 0;padding-left:.3em}
.prose li::marker{color:var(--muted)}
.prose strong{font-weight:600}
.prose a{text-decoration-color:var(--accent)}
.prose .source-note{margin-top:2.4em;padding-top:1.2em;border-top:1px solid var(--line);font:400 .9375rem/1.6 var(--sans);color:var(--muted)}

/* Clinics */
.clinics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--gap)}
.clinic{display:flex;flex-direction:column;padding:clamp(22px,2.6vw,30px);border:1px solid var(--line);border-radius:var(--radius);background:var(--field)}
.clinic h3{font:400 1.5rem/1.2 var(--serif);letter-spacing:-.01em}
.clinic-tag{margin:8px 0 0;font-size:.9375rem;font-style:italic;color:var(--muted)}
.clinic-info{display:grid;gap:12px;margin:24px 0;font-size:.9375rem}
.clinic-info div{display:grid;grid-template-columns:5em minmax(0,1fr);gap:12px}
.clinic-info dt{color:var(--muted)}
.clinic-info dd{margin:0;overflow-wrap:anywhere}
.nowrap{white-space:nowrap}
.clinic-services{display:flex;flex-wrap:wrap;gap:8px;margin:auto 0 0;padding:20px 0 0;border-top:1px solid var(--line);list-style:none;font-size:.8125rem}
.clinic-services li{padding:4px 11px;border-radius:999px;background:var(--bg-2);color:var(--ink-soft)}
.socials{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:28px;font-size:.9375rem}

/* Footer */
.site-footer{padding:clamp(48px,6vw,72px) 0 36px;background:var(--bg-2);border-top:1px solid var(--line);font-size:.9375rem}
.footer-grid{row-gap:36px}
.footer-id{grid-column:1/span 3}
.footer-name{margin-bottom:8px;font:500 1.125rem/1.25 var(--serif)}
.footer-grid nav{grid-column:span 3;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-grid nav .label{margin-bottom:6px}
.footer-grid nav a{color:var(--ink-soft);text-decoration:none}
.footer-grid nav a:hover{color:var(--accent)}
.footer-base{display:flex;justify-content:space-between;align-items:flex-start;gap:16px 48px;margin-top:clamp(40px,5vw,64px);padding-top:24px;border-top:1px solid var(--line-strong);font-size:.8125rem;color:var(--muted)}
.footer-base span{white-space:nowrap}
.disclaimer{max-width:52em;margin:0}
@media (max-width:899px){.footer-id{grid-column:1/-1}.footer-grid nav{grid-column:span 6}.footer-base{flex-direction:column}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.site-footer,.band,.article-aside{display:none}body{background:#fff}.article-title,.article-body>.prose,.article-end{grid-column:1/-1}}

/* Featured work. The home band is a dark full-bleed panel; it re-points the colour tokens so cards inside it invert. */
.feature-band{margin-top:clamp(72px,9vw,128px);padding:clamp(64px,8vw,112px) 0 clamp(72px,9vw,120px);background:var(--band-bg);color:var(--band-ink);
  --ink:var(--band-ink);--ink-soft:var(--band-soft);--muted:var(--band-muted);--line:var(--band-line);--accent:var(--band-accent);--card:var(--band-card)}
.feature-band ::selection{background:color-mix(in srgb,var(--band-accent) 35%,transparent)}
.feature-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:20px;align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.feature-head>div{grid-column:1/span 6}
.feature-label{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;font:600 .75rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.feature-label::before{content:"";width:28px;height:1px;background:currentColor}
.feature-head h2{font:400 clamp(2.25rem,4.6vw,3.75rem)/1.02 var(--serif);letter-spacing:-.025em}
.feature-note{grid-column:7/span 4;margin:0;font-size:.9375rem;color:var(--ink-soft)}
.feature-head .link-arrow{grid-column:11/span 2;justify-self:end;color:var(--ink)}
@media (max-width:899px){.feature-head>div,.feature-note{grid-column:1/-1}.feature-head .link-arrow{grid-column:1/-1;justify-self:start}}

.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,5vw,64px) var(--gap)}
.feature-grid-pair{gap:48px var(--gap)}
.work-card{display:flex;flex-direction:column;gap:26px;color:var(--ink);text-decoration:none}
.work-card:hover{color:var(--ink)}
.work-card-lead{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:26px;align-items:center;padding-bottom:clamp(40px,5vw,64px);border-bottom:1px solid var(--line)}
.work-card-lead .work-cover{grid-column:1/span 7}
.work-card-lead .work-text{grid-column:9/span 4}
.work-card-lead .work-title{font-size:clamp(1.875rem,3.2vw,2.75rem);line-height:1.06}
@media (max-width:899px){.work-card-lead{display:flex;align-items:stretch}.feature-grid{grid-template-columns:1fr}}

.work-cover{position:relative;aspect-ratio:16/9;isolation:isolate}
.work-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:6px;background:#fff}
.cover-front{z-index:3;box-shadow:0 1px 2px rgb(0 0 0/.12),0 18px 40px -18px rgb(0 0 0/.45);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.cover-back{z-index:2;opacity:.9;box-shadow:0 10px 30px -14px rgb(0 0 0/.5);transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .3s}
.cover-back-1{transform:translate(3%,-4%) scale(.94)}
.cover-back-2{z-index:1;opacity:.6;transform:translate(6%,-8%) scale(.88)}
.cover-poster{z-index:4;left:auto!important;top:auto!important;right:-3%!important;bottom:-10%!important;width:24%!important;height:auto!important;aspect-ratio:1080/1536;object-fit:cover;object-position:top;border-radius:4px!important;
  box-shadow:0 2px 4px rgb(0 0 0/.15),0 20px 40px -12px rgb(0 0 0/.55);transform:rotate(4deg);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.work-card:hover .cover-front{transform:translateY(-6px)}
.work-card:hover .cover-back-1{transform:translate(5%,-9%) scale(.94) rotate(1.5deg)}
.work-card:hover .cover-back-2{transform:translate(10%,-16%) scale(.88) rotate(3deg);opacity:.75}
.work-card:hover .cover-poster{transform:rotate(7deg) translate(4%,-6%)}

.work-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 12px;font-size:.8125rem;line-height:1.4;color:var(--muted)}
.work-kicker span{padding:4px 9px;border:1px solid var(--line-strong,var(--line));border-radius:99px;font-weight:600;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.feature-band .work-kicker span{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.work-title{font:400 clamp(1.5rem,2.2vw,1.875rem)/1.15 var(--serif);letter-spacing:-.015em;transition:color .15s}
.work-card:hover .work-title{color:var(--accent)}
.work-deck{max-width:34em;margin:14px 0 0;font-size:.9375rem;line-height:1.55;color:var(--ink-soft)}
.work-formats{display:flex;flex-wrap:wrap;gap:6px 18px;margin:16px 0 0;font-size:.8125rem;color:var(--muted);font-variant-numeric:tabular-nums}
.work-formats span+span::before{content:"+";margin-right:18px;color:var(--line-strong,var(--muted))}
.work-cta{display:inline-flex;gap:.45em;margin-top:22px;font-size:.9375rem;font-weight:500}
.work-cta span{transition:transform .2s}
.work-card:hover .work-cta span{transform:translateX(4px)}
.work-index .feature-grid{padding-top:24px;border-top:1px solid var(--rule)}
.work-notice{max-width:52em;margin:0 0 40px}
.sec-body .work-notice{margin:40px 0 0}
.sec-body .work-card-lead,.feature-grid-pair .work-card-lead{display:flex}

/* Work detail page */
.work-kicker-page{margin-bottom:18px;font-size:.9375rem}
.work-page .actions{margin-top:32px}
.work-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin:0 0 clamp(28px,3vw,40px);padding-top:20px;border-top:1px solid var(--line);font-size:.9375rem}
.work-meta dt{font-size:.8125rem;color:var(--muted)}
.work-meta dd{margin:3px 0 0}
@media (max-width:700px){.work-meta{grid-template-columns:1fr 1fr;row-gap:16px}}

.viewer{--stage:#101413}
.viewer-tabs{display:flex;gap:6px;margin-bottom:14px}
.viewer-tabs button{display:inline-flex;align-items:baseline;gap:8px;padding:11px 18px;border:1px solid var(--line-strong);border-radius:99px;background:transparent;color:var(--ink-soft);font:500 .9375rem/1 var(--sans);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.viewer-tabs button span{font-weight:400;font-size:.8125rem;color:var(--muted)}
.viewer-tabs button:hover{border-color:var(--ink);color:var(--ink)}
.viewer-tabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.viewer-tabs button[aria-selected=true] span{color:color-mix(in srgb,var(--bg) 70%,transparent)}
.stage{position:relative;padding:clamp(12px,2.4vw,32px);border-radius:10px;background:var(--stage)}
.slides{display:flex;margin:0;padding:0;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:4px}
.slides::-webkit-scrollbar{display:none}
.slides:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.slides li{flex:0 0 100%;display:flex;align-items:center;justify-content:center;scroll-snap-align:center}
.slides img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:3px;background:#fff}
.deck-poster .slides img{width:auto;max-width:100%;max-height:min(1100px,85vh);aspect-ratio:1080/1536}
.stage:fullscreen{display:flex;align-items:center;padding:0;border-radius:0;background:#000}
.stage:fullscreen .slides{width:100%;height:100vh;border-radius:0}
.stage:fullscreen .slides img{width:auto;max-width:100vw;max-height:100vh;border-radius:0}
.deck-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;padding:16px 0}
.deck-nav{display:flex;align-items:center;gap:14px}
.deck-btn{display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid var(--line-strong);border-radius:50%;background:var(--field);color:var(--ink);font-size:1.125rem;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.deck-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.deck-count{min-width:5ch;margin:0;font-size:.9375rem;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}
.deck-count span{color:var(--ink);font-weight:600}
.deck-tools{display:flex;flex-wrap:wrap;gap:8px}
.deck-tool{padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--ink-soft);font:500 .875rem/1 var(--sans);text-decoration:none;cursor:pointer;transition:border-color .15s,color .15s}
.deck-tool:hover{border-color:var(--ink);color:var(--ink)}
.deck-poster .deck-bar{justify-content:flex-end}
.thumbs{display:flex;gap:10px;padding:4px 2px 10px;overflow-x:auto;scrollbar-width:thin}
.thumbs button{position:relative;flex:0 0 clamp(104px,12vw,148px);padding:0;border:0;border-radius:4px;background:none;cursor:pointer;opacity:.55;transition:opacity .2s,transform .2s}
.thumbs button:hover{opacity:.9}
.thumbs button[aria-current]{opacity:1;outline:2px solid var(--accent);outline-offset:2px}
.thumbs img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:4px;background:#fff;box-shadow:0 0 0 1px var(--line)}
.thumbs span{position:absolute;left:6px;bottom:6px;padding:2px 6px;border-radius:3px;background:rgb(0 0 0/.65);color:#fff;font-size:.6875rem;font-variant-numeric:tabular-nums}
@media (max-width:600px){.deck-tools{width:100%}.deck-tool{flex:1;text-align:center}}

.takeaways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--gap);margin:0;padding:0;list-style:none;counter-reset:tk}
.takeaways li{display:flex;gap:20px;padding:22px 0;border-top:1px solid var(--line);counter-increment:tk}
.takeaways li:nth-child(-n+2){padding-top:0;border-top:0}
.takeaways li::before{content:counter(tk,decimal-leading-zero);flex:none;font:300 2.25rem/1 var(--serif);color:var(--accent);font-variant-numeric:lining-nums tabular-nums}
.takeaways p{margin:0;font:400 1.1875rem/1.45 var(--serif);letter-spacing:-.005em}
@media (max-width:760px){.takeaways{grid-template-columns:1fr}.takeaways li:nth-child(2){padding-top:22px;border-top:1px solid var(--line)}}
@media print{.feature-band,.viewer{display:none}}
.sec:has(.feature-grid){align-items:start}
.deck-slides .slides img{width:auto;max-width:100%;max-height:calc(100vh - var(--header) - 200px);min-height:0}
@media (max-width:700px){.deck-slides .slides img{width:100%;max-height:none}}

/* ---- drsubratachakravarty.com: patient resource. Calm, clear, sans-led reading. ---- */
:root{
  --bg:#FAFAF7;--bg-2:#F0F2EE;--field:#FFFFFF;--field-line:#848F8A;
  --ink:#14201D;--ink-soft:#35423E;--muted:#5B6864;
  --line:#E0E4DF;--line-strong:#C5CCC6;--rule:#14201D;
  --accent:#1E5A4F;--btn:#1E5A4F;--btn-hover:#15443B;--btn-ink:#FFFFFF;
  --sans:"Source Sans 3",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Newsreader",ui-serif,Georgia,"Times New Roman",serif;
  --display-size:clamp(2.5rem,5vw,4rem);--h2-size:clamp(1.625rem,2.2vw,1.875rem);
  --prose-font:var(--sans);--prose-size:clamp(1.125rem,.875rem + 1vw,1.1875rem);--band-bg:#0F2723;--band-card:#16332E;--band-ink:#F3F6F3;--band-soft:#C3D1CC;--band-muted:#93A7A1;--band-line:#28433E;--band-accent:#86D1C0;
  --radius:4px;
}

/* Home */
.hero{padding-top:clamp(56px,9vw,128px)}
.hero .grid{align-items:end;row-gap:56px}
.hero-main{grid-column:1/span 7}
.hero-kicker{margin:0 0 22px;font-size:.9375rem;color:var(--muted)}
.hero .lede{margin-top:28px}
.hero-aside{grid-column:9/span 4}
.facts{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule)}
.facts li{display:flex;flex-direction:column;gap:1px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.9375rem;line-height:1.45}
.facts strong{font-weight:600}
.facts span{color:var(--muted)}
@media (max-width:899px){.hero-main,.hero-aside{grid-column:1/-1}}

.practice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--gap);row-gap:48px}
.practice h3{margin-bottom:14px;font:400 clamp(1.25rem,1.8vw,1.5rem)/1.2 var(--serif);letter-spacing:-.01em}
.practice ul{margin:0 0 22px;padding:0;list-style:none;border-top:1px solid var(--line)}
.practice li{padding:10px 0;border-bottom:1px solid var(--line);font-size:.9375rem;color:var(--ink-soft)}
.practice .link-arrow{color:var(--accent)}
@media (max-width:760px){.practice{grid-template-columns:1fr}}

/* FAQ */
.faq{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;list-style:none;cursor:pointer;font:400 1.3125rem/1.3 var(--serif);letter-spacing:-.01em;transition:color .15s}
.sec-body>.faq:first-child summary{padding-top:0}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:13px;height:13px;color:var(--accent);background:linear-gradient(currentColor,currentColor) center/13px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 13px no-repeat;transition:background-size .2s}
.faq[open] summary::after{background-size:13px 1.5px,1.5px 0}
.faq summary:hover{color:var(--accent)}
.faq-body{max-width:38em;padding:0 0 26px;color:var(--ink-soft)}
.faq-body ul{margin:0 0 1em;padding-left:1.2em}
.faq-body li{margin:.5em 0}
.faq-body strong{font-weight:600;color:var(--ink)}

/* About and contact */
.areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--gap);margin:0 0 36px;padding:0;list-style:none}
.areas li{padding:11px 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.areas li:nth-child(-n+3){padding-top:0}
@media (max-width:700px){.areas{grid-template-columns:1fr}.areas li:nth-child(-n+3){padding-top:11px}.areas li:first-child{padding-top:0}}
.notice{margin-top:20px;padding:18px 20px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--field);font-size:.9375rem;color:var(--ink-soft)}
.notice strong{display:block;margin-bottom:4px;font-weight:600;color:var(--ink)}
