/* whatiscelltherapy.org: shared styles for every page. Pages are built by ../site-build/build_site.py. */
/* Fonts are served from this site (fonts/), not Google, so nothing third-party loads before consent.
   Fraunces and Outfit are SIL Open Font License 1.1; latin subset, variable weight. */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:500 650;font-display:swap;src:url(fonts/fraunces-latin.woff2) format("woff2")}
@font-face{font-family:"Outfit";font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/outfit-latin.woff2) format("woff2")}
:root{
  --ink:#1C2430; --ink-2:#3E463F; --muted:#6A6258; --line:#D4CBBA;
  --bg:#F3EEE4; --card:#F7F3EB; --teal:#2A564E; --teal-soft:#E7E1D4;
  --amber:#C9862A; --amber-ink:#1C2430; --navy-deep:#141C27; --hero-text:#3E463F; --hero-muted:#6A6258;
  --serif:"Fraunces","Iowan Old Style",Palatino,Georgia,serif;
  --sans:"Outfit","Avenir Next","Segoe UI",Helvetica,sans-serif;
  --radius:0; --max:1080px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
     font:400 17.5px/1.6 var(--sans)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:70;opacity:.08;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.55'/></svg>")}
a{color:var(--teal);text-underline-offset:3px;transition:color .16s ease}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.nw{white-space:nowrap}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--amber);color:var(--ink);padding:8px 12px;border-radius:6px;z-index:60}
.skip:focus{left:8px}
.proto{background:#FFF3D6;color:#5A4200;font-size:13px;text-align:center;padding:6px 12px}

/* Header */
header.top{background:var(--ink);color:var(--bg)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px}
.wordmark{font-family:var(--sans);font-weight:560;letter-spacing:.01em;color:var(--bg);text-decoration:none;font-size:16px}
.wordmark span{color:var(--amber)}
.top-cta{color:var(--bg);font-family:var(--sans);font-size:13px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border:0;border-bottom:1px solid #8A7352;padding:4px 0;border-radius:0;white-space:nowrap;flex:0 0 auto;transition:border-color .16s ease,color .16s ease}
.top-cta:hover,.top-cta[aria-current]{border-color:var(--amber);color:var(--amber)}
@media (max-width:520px){
  header.top .wrap{gap:8px}
  .wordmark{font-size:14px}
  .top-cta{font-size:11px;letter-spacing:.02em}
}

/* Topic tabs: site navigation between pages (links, not in-page tab panels). Sticky so readers can switch at any point. */
nav.tabs{background:var(--ink);position:sticky;top:0;z-index:30;border-bottom:1px solid #243B4E}
nav.tabs .wrap{position:relative}
nav.tabs ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
nav.tabs ul::-webkit-scrollbar{display:none}
nav.tabs li{flex:0 0 auto}
nav.tabs a{display:block;padding:13px 12px 11px;color:var(--hero-text);text-decoration:none;font-size:15px;font-weight:500;
           border-bottom:3px solid transparent;white-space:nowrap}
nav.tabs a:hover{color:#fff;border-bottom-color:#3C5568}
nav.tabs a[aria-current="page"]{color:#fff;font-weight:700;border-bottom-color:var(--amber)}
nav.tabs li:first-child a{padding-left:0}
nav.tabs .tool a{color:#F4D9A8}
nav.tabs .tool a[aria-current="page"]{color:#fff}
@media (max-width:760px){
  nav.tabs .wrap::after{content:"";position:absolute;right:0;top:0;bottom:3px;width:36px;pointer-events:none;
                        background:linear-gradient(to right,rgba(20,40,58,0),var(--ink))}
  nav.tabs a{font-size:14px;padding:12px 10px 10px}
}

/* Page intro: the thesis of the page. On ad landings it matches the ad. */
.hero{background:transparent;color:var(--ink);padding:56px 0 12px}
.hero.compact{padding:48px 0 8px}
.hero .wrap{display:block}
.eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-weight:560}
.hero h1{font-family:var(--serif);font-weight:520;font-size:clamp(40px,5.6vw,60px);line-height:1.02;letter-spacing:-.025em;font-variation-settings:"opsz" 56;margin:8px 0 0;max-width:16ch}
.hero h1.wide{max-width:18ch}
.hero.compact h1{font-size:clamp(38px,5.2vw,58px)}
.hero p.sub{font-size:18px;line-height:1.45;color:var(--ink-2);max-width:32em;margin:16px 0 0}
/* A headline with a sub reads as one block: same face, closer in size, same width. The homepage has no sub, so its title stays large. */
.hero .wrap:has(> p.sub) h1{font-size:clamp(46px,4vw,54px);line-height:1.12;max-width:14em;font-variation-settings:"opsz" 54}
.hero .wrap:has(> p.sub) p.sub{font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.1vw,30px);line-height:1.28;letter-spacing:-.02em;font-variation-settings:"opsz" 30;color:var(--ink);max-width:25.6em;margin:8px 0 0}
/* Homepage: the question, then the answer. No dek. */
body[data-page="index"] .hero.compact{padding:40px 0 0}
body[data-page="index"] main > section.define{border-bottom:0}
body[data-page="index"] main > section.define:first-of-type{padding-top:22px}
.hero .stats{margin:4px 0 22px;max-width:720px}
.hero .stat{background:#1C3A50}
.hero .stat b{color:#F4D9A8}
.hero .stat span{color:var(--hero-text)}
@media (max-width:560px){
  .hero .stats{grid-template-columns:1fr;gap:8px}
  .hero .stat{padding:12px 14px;display:flex;align-items:center;gap:14px}
  .hero .stat b{font-size:26px;margin:0;white-space:nowrap;flex:0 0 auto;font-variation-settings:"opsz" 26}
  .hero .stat span{font-size:14px;line-height:1.4}
}
.actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:18px}
.btn{display:inline-block;border:0;border-radius:0;padding:12px 16px;font-family:var(--sans);font-weight:560;font-size:15px;letter-spacing:.02em;cursor:pointer;text-decoration:none;line-height:1.2;transition:background .16s ease,color .16s ease}
.btn-primary{background:var(--amber);color:var(--amber-ink)}
.btn-primary:hover{background:#D3963A}
.btn-ghost{background:transparent;color:var(--ink);border-bottom:1px solid var(--ink);padding:4px 0}
.btn-ghost:hover{border-color:var(--amber);color:var(--teal)}
.btn-dark{background:var(--ink);color:var(--bg)}
.btn-dark:hover{background:#2A3544}
.btn-line{background:transparent;color:var(--ink);border-bottom:1px solid var(--ink);padding:4px 0}
.dl-link{color:var(--ink-2);font-size:15px;padding:6px 0;border-bottom:1px solid var(--line);text-decoration:none}
.dl-link:hover{border-color:var(--ink);color:var(--ink)}
.src{font-size:13px;color:var(--muted);margin:22px 0 0;font-family:var(--sans)}
.src a{color:var(--teal)}
@media (max-width:760px){
  .hero .wrap:has(> p.sub) h1,
  .hero .wrap:has(> p.sub) p.sub{max-width:none}
}

/* The guide is one page. Every section stays visible. An ad opens the matching section. */
#concepts > .concept{display:block}
main section.concept{padding:40px 0 48px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;overflow:visible;scroll-margin-top:16px}
.concept .card{background:transparent}
.concept .src{color:var(--muted);margin:18px 0 0;padding:0}
.concept .src a{color:var(--teal)}
.claim{padding:42px 0 0}
.claim h2{font-family:var(--serif);font-weight:520;font-size:clamp(40px,3.4vw,48px);line-height:1.2;letter-spacing:-.02em;font-variation-settings:"opsz" 40;max-width:16em;margin:0}
.support{margin:28px 0 0;padding:0;background:transparent;border:0}
.support .explain{margin:0 0 16px;max-width:68ch;color:var(--ink-2)}
.support .grid + .stats{margin-top:28px}
.support .stats{margin:0}
.pair-note{margin:16px 0 0;max-width:68ch;font-size:15px;line-height:1.45;color:var(--ink-2)}
.support .stat{background:transparent}
.support details.more{margin-top:28px;max-width:none;background:transparent}
.close{margin:40px 0 0;background:var(--ink);color:var(--bg);border-radius:0;overflow:hidden;border:0}
.close .close-line{margin:0;padding:20px 22px;font-size:18px;line-height:1.45}
.close .close-line:has(+ .close-line){padding-bottom:0}
.close .close-line + .close-line{padding-top:8px}
.close h3{margin:0;padding:20px 22px 0;color:#C4B8A4;font-family:var(--sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.close h3 + .close-line{padding-top:8px;padding-bottom:10px}
.close .close-note{margin:0 22px 4px;font-size:14px;color:#C4B8A4}
.close sup.ref a{color:var(--amber)}
.close-body{background:#E9E2D4;color:var(--ink);padding:22px 22px 24px;border-top:1px solid #2C3848}
.close-body h3{padding:0;color:var(--ink);font-family:var(--serif);font-size:26px;letter-spacing:-.02em;font-variation-settings:"opsz" 30;text-transform:none;font-weight:560}
.close-body > p{margin:0 0 14px;color:var(--ink-2)}
.close-body .card p + p{margin-top:10px}
.close-body sup.ref a{color:var(--teal)}
.close .copy-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 22px 20px}
.close .copy{background:none;border:0;padding:0;font:inherit;font-size:15px;font-weight:650;color:var(--amber);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.close .copy-status{font-size:14px;color:#C4B8A4}
.close .copy-url{display:none;width:100%;font-size:14px;padding:8px 10px;border-radius:0;border:1px solid #3C5568;background:var(--navy-deep);color:var(--bg)}
.close .copy-url.show{display:block}
.close-body .sheet-dl{margin:0 0 2px}
.close-body button.dl-link{background:none;border:0;border-bottom:1px solid var(--line);padding:2px 0;font:inherit;font-size:15px;color:var(--ink-2);cursor:pointer;text-align:left}
.close-body button.dl-link:hover{border-color:var(--ink);color:var(--ink)}
.close-body #form-checklist{max-width:440px;margin-top:18px}
.step{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:16px;line-height:1.45;color:var(--ink)}
.step span{display:inline-block;margin-right:8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--teal)}
.step a{font-weight:650}
.close > .step{margin:0 22px 18px;padding-top:12px;border-top-color:#3C5568;color:var(--bg)}
.close > .step span{color:var(--amber)}
.close > .step a{color:var(--bg)}
.stat .kind{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-weight:600}
html[data-pillar] .hero{padding:36px 0 4px}

/* Content sections: one or two per page, each with one job. */
main section{padding:48px 0;border-bottom:1px solid var(--line)}
main section.concept{border-bottom:1px solid var(--line)}
main section:last-of-type{border-bottom:0}
h2{font-family:var(--serif);font-size:clamp(28px,3.4vw,36px);line-height:1.08;letter-spacing:-.02em;font-variation-settings:"opsz" 36;margin:0 0 10px;font-weight:560}
.lede{color:var(--ink-2);max-width:62ch;margin:0 0 26px}
.grid{display:grid;gap:28px 40px;grid-template-columns:1fr 1fr}
.concept .grid{grid-template-columns:1fr 1fr}
.card{background:transparent;border:0;border-top:1px solid var(--ink);border-radius:0;padding:14px 0 0;display:flex;flex-direction:column}
.card h3{margin:0 0 6px;font-family:var(--serif);font-weight:560;font-size:22px;line-height:1.15;letter-spacing:-.015em;font-variation-settings:"opsz" 22}
.card p{margin:0;color:var(--ink-2);font-size:16px}
.card .kind{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-weight:600}
.card ul.asks{margin:8px 0 0;padding-left:20px;color:var(--ink-2);font-size:16px}
.card ul.asks li{margin:0 0 4px}
.card .go{margin-top:auto;padding-top:14px;font-weight:650;text-decoration:none}
.card .go:hover{text-decoration:underline}
.card.topic{border-top:4px solid var(--teal)}
sup.ref{font-size:11px;margin-left:2px;line-height:0}
sup.ref a{text-decoration:none;color:var(--teal);font-weight:600}
.hero sup.ref a{color:var(--hero-text)}
.facts{list-style:none;padding:0;margin:0;display:grid;gap:12px;max-width:760px}
.facts li{background:transparent;border:0;border-top:1px solid var(--ink);border-radius:0;padding:14px 0}
.facts li.note{border-left-color:var(--amber);color:var(--ink-2)}
.stats{display:grid;gap:28px 40px;grid-template-columns:1fr 1fr;align-items:start;margin-bottom:8px}
.stat{background:transparent;border-radius:0;border-top:1px solid var(--ink);padding:14px 8px 0 0}
.stat b{display:block;font-family:var(--serif);font-weight:520;font-size:clamp(36px,5vw,52px);line-height:.95;letter-spacing:-.03em;font-variation-settings:"opsz" 48;color:var(--ink);margin-bottom:10px}
.stat b.phrase{font-size:clamp(22px,2.6vw,28px);line-height:1.15;font-variation-settings:"opsz" 28}
.stat span{color:var(--ink-2);font-size:16px}
.cfo{background:var(--ink);color:#E9F0F2;border-radius:var(--radius);padding:24px;max-width:760px}
.cfo h3{margin:0 0 10px;color:#fff;font-size:17px;letter-spacing:.02em}
.cfo ul{margin:0;padding-left:20px;font-size:16px}.cfo li{margin:0 0 8px}
.cfo sup.ref a{color:var(--amber)}
.cfo .cfo-note{font-size:14px;color:#AFC1CB;margin:10px 0 0}
.cfo:focus{outline:3px solid var(--amber);outline-offset:2px}
.cfo .copy-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.cfo .copy{background:none;border:0;padding:0;font:inherit;font-size:15px;font-weight:650;color:var(--amber);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cfo .copy-status{font-size:14px;color:#AFC1CB}
.cfo .copy-url{display:none;width:100%;font-size:14px;padding:8px 10px;border-radius:6px;border:1px solid #3C5568;background:var(--navy-deep);color:#E9F0F2}
.cfo .copy-url.show{display:block}
details.more{margin-top:18px;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:12px 0;max-width:760px}
details.more summary{cursor:pointer;font-weight:650;color:var(--teal)}
details.more p{margin:10px 0 0;color:var(--ink-2);font-size:15px}
.inline-next{margin:22px 0 0;font-weight:650}.inline-next a{text-decoration:none}.inline-next a:hover{text-decoration:underline}

/* Call-to-action band (the worksheet), used on the overview */
.band{background:transparent;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);border-radius:0;padding:26px 0;display:grid;gap:18px;grid-template-columns:1.4fr .7fr;align-items:end}
.band h2{font-size:clamp(21px,2.6vw,25px);font-variation-settings:"opsz" 24;margin:0 0 6px}
.band p{margin:0;color:var(--ink-2)}
@media (max-width:700px){.band{grid-template-columns:1fr}}

/* Previous / next between topics, as in a multi-part guide */
.pager{display:grid;gap:12px;grid-template-columns:1fr 1fr;padding-top:28px;padding-bottom:40px}
.pager a{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;text-decoration:none;color:var(--ink)}
.pager a:hover{border-color:var(--teal)}
.pager small{display:block;font-size:13px;color:var(--muted);margin-bottom:2px}
.pager b{color:var(--teal)}
.pager .nx{text-align:right;grid-column:2}
@media (max-width:560px){.pager{grid-template-columns:1fr}.pager .nx{grid-column:1}}

/* Forms and the worksheet */
.two{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}
ol.qs{margin:0;padding:0;list-style:none}
.support ol.qs li{margin:0 0 18px;padding:14px 0 0;border-top:1px solid var(--ink);color:var(--ink-2);font-size:16px;line-height:1.45}
ol.qs li{margin:0 0 14px}
.ws{max-width:720px}
#form-checklist{max-width:440px;margin-top:36px}
#form-briefing{max-width:640px}
.line{display:none}
ol.qs li .ans{display:block;margin:8px 0 4px}
ol.qs li textarea{display:block;width:100%;min-height:52px;resize:vertical;font:inherit;font-size:16px;line-height:1.5;
     padding:6px 2px;border:0;border-bottom:1px solid #9FB0B8;border-radius:0;background:transparent;color:var(--ink)}
ol.qs li textarea::placeholder{color:#8A7E6E}
ol.qs li textarea:focus-visible{outline:none;border-bottom:2px solid var(--amber);background:#FFFDF7}
.ws-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0 6px}
.ws-actions .btn{padding:11px 16px;font-size:15px}
.ws-note{font-size:14px;color:var(--muted);margin:6px 0 0}
.print-only{display:none}
form{background:transparent;border:0;border-top:1px solid var(--ink);border-radius:0;padding:18px 0 0;max-width:420px}
form h3{margin:0 0 14px;font-family:var(--serif);font-weight:560;font-size:24px;letter-spacing:-.02em;font-variation-settings:"opsz" 24}
label{display:block;font-size:14px;font-weight:600;margin:0 0 4px}
.field{margin:0 0 14px}
input,select{width:100%;font:inherit;font-size:16px;padding:10px 0;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);transition:border-color .16s ease}
input:focus,select:focus{border-bottom-color:var(--amber)}
.hint{font-size:13px;color:var(--muted);margin:10px 0 0}
.ok{display:none;background:transparent;border-top:1px solid var(--line);border-radius:0;padding:14px 0;margin-top:12px}
form.done .ok{display:block}
form.done .fields{display:none}
.row{display:grid;gap:12px;grid-template-columns:1fr 1fr}
@media (max-width:520px){.row{grid-template-columns:1fr}}

/* Sources: each page lists only the sources it cites */
section.sources{padding:30px 0 34px}
section.sources h2{font-family:var(--sans);font-size:12px;letter-spacing:.08em;font-variation-settings:normal;text-transform:uppercase;font-weight:500;color:var(--muted);margin:0 0 14px}
section.sources ol{padding-left:22px;font-size:14px;color:var(--ink-2);margin:0;max-width:860px}
section.sources li{margin-bottom:6px}
section.sources .all{font-size:14px;margin:12px 0 0}

/* Footer: the full sitemap */
.patient{background:var(--card);border-top:1px solid var(--amber);padding:14px 0;font-size:15px}
footer{background:var(--navy-deep);color:#C9BBA6;font-size:14px;padding:32px 0 90px}
footer a{color:#E4D7C4}
footer .sponsor{color:var(--bg);font-weight:600;margin:0 0 10px}
footer .sitemap{display:grid;gap:28px;grid-template-columns:1.4fr 1fr .9fr;margin:0 0 22px}
@media (max-width:700px){footer .sitemap{grid-template-columns:1fr}}
footer .sitemap h2{font-family:var(--sans);font-size:12px;letter-spacing:.08em;font-variation-settings:normal;text-transform:uppercase;color:#A8926E;margin:0 0 8px;font-weight:500}
footer .sitemap ul{list-style:none;margin:0;padding:0}
footer .sitemap li{margin:0 0 6px}
footer .legal{border-top:1px solid #3A3328;padding-top:16px}

.consent{position:fixed;left:0;right:0;bottom:0;max-width:none;margin:0;background:#F7F3EB;color:var(--ink);
         border:0;border-top:1px solid var(--ink);border-radius:0;box-shadow:none;padding:10px 20px;z-index:80;font-size:14px;
         display:flex;align-items:center;justify-content:space-between;gap:16px}
.consent p{margin:0;max-width:78ch}
.consent .actions{display:flex;gap:8px;flex:0 0 auto}
.consent .actions .btn{padding:8px 14px;font-size:14px}
.consent .btn-decline{border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:0}
.consent[hidden]{display:none !important}
@media (max-width:640px){
  .consent{flex-direction:column;align-items:stretch;gap:8px;padding:10px 16px}
}

/* Printing the worksheet: only the questions, answers and source. Printing any page from the browser menu prints that page. */
@media print{
  body.ws-print .proto, body.ws-print .skip, body.ws-print header.top, body.ws-print nav.tabs, body.ws-print .hero,
  body.ws-print .consent, body.ws-print footer, body.ws-print .patient,
  body.ws-print #concepts > :not(#questions), body.ws-print #questions > :not(#checklist),
  body.ws-print .sources,
  body.ws-print #form-checklist, body.ws-print .ws-actions, body.ws-print .ws-note, body.ws-print sup.ref{display:none !important}
  body.ws-print{background:#fff;font-size:12pt}
  body.ws-print #questions{display:block !important}
  body.ws-print #checklist{padding:0;border:0}
  body.ws-print #checklist .two{display:block;max-width:none;padding:0}
  body.ws-print h2{font-size:18pt}
  body.ws-print .print-only{display:block}
  body.ws-print ol.qs li{break-inside:avoid;margin-bottom:14px}
  body.ws-print .line{display:block;height:32px;border-bottom:1px solid #777;margin-top:8px}
  body.ws-print .ws-head{font-size:10pt;color:#444;margin:0 0 10px}
  body.ws-print .ws-foot{font-size:9pt;color:#444;margin-top:18px;border-top:1px solid #bbb;padding-top:8px}
  nav.tabs{position:static}
}
@page{margin:16mm}
.support ol.qs li strong{display:block;font-family:var(--serif);font-weight:520;font-size:clamp(22px,2.4vw,28px);line-height:1.15;letter-spacing:-.02em;font-variation-settings:"opsz" 28;color:var(--ink);margin-bottom:6px}
@media (max-width:760px){
  .grid,.concept .grid,.stats{grid-template-columns:1fr}
  .switch{gap:18px}
  .switch a{letter-spacing:.04em;font-size:12px}
}
/* Time away has three facts. They sit in one row, and the date stays a line under them. */
#time-away .stats{grid-template-columns:repeat(3,1fr);gap:22px 32px}
#time-away .stat b{font-size:clamp(32px,3vw,44px)}
#time-away .stat b.phrase{font-size:clamp(22px,1.8vw,26px);line-height:1.2;max-width:9em}
#time-away .pair-note{margin-top:22px}
@media (max-width:900px){
  #time-away .stats{grid-template-columns:1fr 1fr}
  #time-away .stats .stat:last-child{grid-column:1 / -1}
  #time-away .stat b.phrase{max-width:none}
}
@media (max-width:760px){
  #time-away .stats{grid-template-columns:1fr}
  #time-away .stats .stat:last-child{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){
  a,.btn,.switch a,input,select,.top-cta{transition:none}
}

/* Decision path. Each closed row states the point. Open one for the evidence. */
.guide{border-top:1px solid var(--line);margin-top:12px}
.chapter{border-bottom:1px solid var(--line);scroll-margin-top:12px}
.chapter > summary{display:grid;grid-template-columns:1fr auto;column-gap:24px;row-gap:6px;align-items:center;padding:22px 0 18px;cursor:pointer;list-style:none}
.chapter > summary::-webkit-details-marker{display:none}
.chapter > summary .kicker{grid-column:1;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.chapter > summary h2{grid-column:1;margin:0;max-width:34em;font-size:clamp(22px,2.15vw,28px);line-height:1.25;letter-spacing:-.02em;font-weight:520;font-variation-settings:"opsz" 28}
.chapter > summary::after{content:"+";grid-column:2;grid-row:1 / span 2;align-self:start;margin-top:2px;font-family:var(--serif);font-size:26px;font-weight:400;line-height:1;color:var(--muted)}
.chapter[open] > summary::after{content:"\2013"}
.chapter > summary:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.chapter-body{padding:2px 0 28px;max-width:920px}
.chapter-body p,.chapter-body .explain{margin:0 0 14px;max-width:68ch;color:var(--ink-2);font-size:17px;line-height:1.5}
.chapter-body h3{margin:0 0 8px;font-family:var(--serif);font-weight:520;font-size:22px;letter-spacing:-.02em;font-variation-settings:"opsz" 22}
.chapter-body .finance{margin-top:28px}
.chapter-body .finance > h3{margin-bottom:14px}
.paths{display:grid;grid-template-columns:1fr 1fr;gap:22px 40px;margin:6px 0 22px}
.path{border-top:1px solid var(--ink);padding-top:12px}
.path p{margin:0}
.ask-split{margin-top:26px}
.ask-split ul.asks{margin:0;padding-left:18px;color:var(--ink-2)}
.ask-split li{margin:0 0 6px}
.chapter-body .pair-note{font-size:15px;line-height:1.45}
.ask-split p + p{margin-top:10px}
.chapter-body ol.qs{margin:8px 0 0;padding-left:1.3em;list-style:decimal}
.chapter-body ol.qs li{margin:0 0 14px;padding:0;border:0;color:var(--ink-2);font-size:16px;line-height:1.45}
.chapter-body ol.qs li strong{display:inline;font-family:var(--sans);font-weight:600;font-size:16px;line-height:1.45;letter-spacing:0;font-variation-settings:normal;color:var(--ink)}
.chapter-body .copy{background:none;border:0;padding:0;font:inherit;font-size:15px;font-weight:650;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.chapter-body .copy-url{display:none;width:100%;max-width:520px;margin-top:8px;font-size:14px;padding:8px 10px}
.chapter-body .copy-url.show{display:block}
.ask-block{margin-top:8px;padding:56px 0 8px}
.ask-block h2{max-width:16em;font-size:clamp(26px,2.4vw,32px);font-variation-settings:"opsz" 32;line-height:1.2}
@media (max-width:760px){
  .paths{grid-template-columns:1fr}
  .chapter > summary{grid-template-columns:1fr}
  .chapter > summary::after{grid-column:1;grid-row:auto;margin-top:4px}
}

/* Homepage: the domain's question, then the two places a reader can go.
   The two therapies are named on their own, not run together as one paragraph. */
.define .prose p{margin:0 0 16px;max-width:68ch;font-size:17px;line-height:1.5;color:var(--ink-2)}
.contents{font-family:var(--sans);font-size:14px;letter-spacing:.01em;color:var(--ink)}
.contents a{color:var(--ink);font-weight:600}
/* Finance view inside the cost summary (#cfo) */
.close-body.finance{margin-top:14px}
.close-body.finance > h3{font-size:24px;margin-bottom:4px;font-variation-settings:"opsz" 24}
.grid.three{grid-template-columns:repeat(3,1fr);gap:22px 28px;margin-top:6px}
.grid.three .card p{font-size:15.5px}
.card p.ask{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);color:var(--ink)}
@media (max-width:860px){.grid.three{grid-template-columns:1fr}}
/* Who gives the briefing; .v-b shows only in version B (site.js removes the other) */
.who{margin:0 0 16px;font-size:15px;line-height:1.45;color:var(--ink-2)}
.v-b{display:none}
html.vb .v-b{display:inline}
/* Homepage CAR-T example: four steps from collection to infusion. */
.cart .lead{margin:0 0 6px;max-width:68ch;font-size:17px;line-height:1.5;color:var(--ink-2)}
ol.steps{list-style:none;counter-reset:s;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px 28px}
ol.steps li{counter-increment:s;border-top:1px solid var(--ink);padding:12px 0 0;font-size:15.5px;line-height:1.45;color:var(--ink-2)}
ol.steps li b{display:block;font-family:var(--serif);font-weight:520;font-size:22px;letter-spacing:-.015em;font-variation-settings:"opsz" 22;color:var(--ink);margin:0 0 4px}
ol.steps li b:before{content:counter(s) "  ";font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--teal);vertical-align:3px;white-space:pre}
ol.steps li span{display:block}
@media (max-width:860px){ol.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){ol.steps{grid-template-columns:1fr}}
