/* Layout: grids, flow, dimensions, and responsive behavior. */
* { box-sizing: border-box; }
html { scroll-padding-block: 1.5rem 8rem; }
body { margin: 0; padding-bottom: 7rem; }
img, svg { max-width: 100%; height: auto; }
a, button, summary { touch-action: manipulation; }
a { display: inline-flex; align-items: center; min-height: 44px; }
button, summary { min-height: 48px; }
button { padding: .8rem 1.2rem; }
[hidden] { display: none !important; }
.wrap { width: min(1184px, calc(100% - 80px)); margin-inline: auto; }
.masthead { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 112px; }
.wordmark { gap: .85rem; min-height: 64px; }
.wordmark-shape { flex: 0 0 36px; width: 36px; height: 44px; }
.wordmark-sub { display: block; }
.header-link { padding: .55rem .75rem; }
.page-opening { display: grid; grid-template-columns: minmax(0, 1fr) 312px; align-items: end; gap: 3rem; padding-block: 4rem 3.8rem; }
.opening-copy { min-width: 0; }
.opening-copy h1 { max-width: 18ch; margin: .85rem 0 0; }
.home-opening .opening-copy h1 { max-width: 17ch; }
.opening-copy > p:last-child:not(.kicker) { max-width: 53ch; margin: 1.5rem 0 0; }
.scenario { padding: 1.5rem 1.65rem; margin-bottom: .35rem; }
.scenario p:last-child { margin-bottom: 0; }
.start-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); gap: 5rem; align-items: start; padding-block: 3.5rem 5rem; }
.start-copy { max-width: 59ch; }
.start-copy h2 { max-width: 19ch; }
.start-copy .button-link { margin-top: .5rem; }
.check-map { margin: 0; }
.check-map figcaption { margin: 0 0 1rem; }
.check-map-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.map-cell { position: relative; display: flex; flex-direction: column; min-height: 200px; padding: 1.4rem; overflow: hidden; }
.map-cell h3 { margin-top: auto; margin-bottom: .3rem; }
.map-cell p { margin: 0; }
.map-letter { display: grid; place-items: center; align-self: start; width: 48px; height: 48px; margin-bottom: 1.5rem; }
.brief-index { display: grid; grid-template-columns: 235px minmax(0, 1fr); gap: 3rem; padding-block: 3rem; scroll-margin-top: 1rem; }
.index-heading .kicker { max-width: 16ch; }
.index-heading h2 { margin-top: 1.25rem; }
.topic-row { display: grid; grid-template-columns: 104px minmax(0, 1fr) 24px; gap: 1rem; width: 100%; min-height: 104px; padding-block: 1.25rem; }
.topic-group { align-self: start; padding-top: .2rem; }
.topic-note { display: block; margin-top: .2rem; }
.topic-arrow { align-self: center; }
.article-grid { display: grid; grid-template-columns: minmax(0, 760px) minmax(220px, 1fr); gap: 4.2rem; align-items: start; padding-bottom: 3rem; }
.prose { min-width: 0; max-width: 70ch; }
.reading-section { margin-bottom: 3.2rem; }
.reading-section p:last-child { margin-bottom: 0; }
.reading-section > h2 { margin-bottom: 1.2rem; }
.plain-list { padding-left: 1.3rem; }
.plain-list li { padding-left: .2rem; margin-block: .65rem; }
.takeaway { position: sticky; top: 1.5rem; padding: 1.7rem; }
.takeaway h2 { margin-bottom: .9rem; }
.takeaway p { margin-bottom: 0; }
.route-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.route { padding: 2rem 2.25rem; }
.route h2 { margin-top: 1.3rem; }
.route p:last-child { margin-bottom: 0; }
.vetting-path { margin-block: 4rem; }
.letter-path { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 2rem; padding: 0; list-style: none; counter-reset: path; }
.letter-path li { position: relative; padding: 1.5rem 1.5rem 1.25rem 5rem; counter-increment: path; }
.letter-path li::before { content: counter(path, upper-alpha); position: absolute; left: 1.25rem; top: 1.5rem; display: grid; place-items: center; width: 42px; height: 42px; }
.letter-path li a { margin-top: .3rem; }
.source-note { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem 2rem; padding-block: 1rem; margin-block: 2rem; }
.source-note span { max-width: 52ch; }
.next-brief { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2.25rem; margin-block: 3rem 5rem; }
.next-brief h2 { max-width: 27ch; margin-bottom: 0; }
.next-brief .button-link { flex: 0 0 auto; max-width: 42%; }
.button-link { justify-content: center; gap: .5rem; min-height: 52px; padding: .85rem 1.2rem; }
.site-footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 3rem; padding-block: 2rem 3rem; }
.site-footer > p { max-width: 46ch; margin: 0; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: .25rem 1.4rem; }
.site-footer nav a { padding-block: .4rem; }
.bottom-dock { position: fixed; z-index: 20; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); bottom: 18px; left: 50%; transform: translateX(-50%); width: min(580px, calc(100% - 20px)); padding: .4rem; }
.bottom-dock a { display: flex; flex-direction: column; justify-content: center; gap: .35rem; min-width: 0; min-height: 64px; padding: .45rem .2rem; }
.dock-symbol { display: block; position: relative; width: 17px; height: 17px; }
.skip-link { position: fixed; top: .5rem; left: 1rem; z-index: 50; padding: .75rem 1rem; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.myth { margin-block: 1rem; }
.myth summary { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.2rem 1.4rem; cursor: pointer; list-style: none; }
.myth summary::-webkit-details-marker { display: none; }
.myth summary::after { content: '+'; flex: 0 0 auto; }
.myth[open] summary::after { content: '−'; }
.myth-claim { max-width: 35ch; }
.reveal-label { max-width: 15ch; margin-left: auto; }
.myth-answer { padding: .1rem 1.4rem 1.4rem; }
.myth-answer p:last-child { margin-bottom: 0; }
.myth-tools { margin-block: 1rem; }
.price-panel { padding: 2rem 2.2rem; margin-block: 1rem 3rem; }
.urgent-help { max-width: 900px; padding: 2rem 2.3rem; margin-bottom: 3rem; }
.urgent-help p:last-child { margin-bottom: 0; }
.question-sheet { max-width: 900px; margin-bottom: 3rem; }
.question-block { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 1.5rem; padding-block: 2rem; }
.sheet-letter { display: grid; place-items: center; width: 56px; height: 56px; }
.question-block .plain-list { padding-left: 1.15rem; }
.trial-graphic { padding: 1.7rem; margin: 0 0 3rem; }
.trial-graphic figcaption { margin-bottom: 1.7rem; }
.bar-row { display: grid; grid-template-columns: 1fr auto; gap: .65rem .8rem; margin-block: 1.4rem; }
.bar-row > span:first-child { grid-column: 1 / -1; }
.trial-bar { display: block; min-height: 36px; }
.bar-drug { width: 100%; }
.bar-placebo { width: 14.8%; }
.bar-row strong { align-self: center; min-width: 110px; text-align: right; }
.graphic-note { margin-bottom: 0; }
.source-intro { margin-bottom: 3.5rem; }
.source-group { display: grid; grid-template-columns: minmax(200px, .7fr) minmax(0, 1.3fr); gap: 2rem 4rem; padding-block: 2.75rem; }
.source-group > h2 { max-width: 20ch; }
.source-group > ul { padding: 0; list-style: none; margin: 0; }
.source-group li { margin-bottom: 1.5rem; }
.source-group li p { margin: .4rem 0 0; }
.source-group > p { grid-column: 2; }
.missing-page { min-height: 50vh; padding-block: 4rem; }
.missing-page h1 { max-width: 15ch; }
.missing-page p { max-width: 54ch; }
@media (max-width: 1020px) {
  .page-opening { grid-template-columns: minmax(0, 1fr) 270px; gap: 2rem; }
  .start-layout { gap: 2.5rem; }
  .article-grid { gap: 2rem; grid-template-columns: minmax(0, 1fr) 240px; }
  .brief-index { grid-template-columns: 180px minmax(0, 1fr); gap: 2rem; }
  .source-group { gap: 2rem; }
}
@media (max-width: 760px) {
  .wrap { width: calc(100% - 40px); }
  .masthead { min-height: 96px; }
  .wordmark { gap: .65rem; }
  .wordmark-shape { width: 28px; flex-basis: 28px; height: 36px; }
  .header-link { max-width: 96px; text-align: right; justify-content: end; padding-right: 0; }
  .page-opening { display: block; padding-block: 2.25rem 2.5rem; }
  .opening-copy h1 { max-width: 18ch; }
  .home-opening .opening-copy h1 { max-width: 15ch; }
  .scenario { margin-top: 2rem; padding: 1.25rem 1.35rem; }
  .start-layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; padding-block: 2.5rem 3rem; }
  .check-map { width: 100%; max-width: 540px; }
  .map-cell { min-height: 180px; padding: 1rem; }
  .map-letter { width: 42px; height: 42px; margin-bottom: 1rem; }
  .brief-index { display: block; padding-block: 2.5rem; }
  .index-heading .kicker { max-width: none; }
  .index-heading h2 { margin-top: .7rem; }
  .topic-row { grid-template-columns: minmax(0, 1fr) 22px; gap: .25rem 1rem; min-height: 112px; padding-block: 1.1rem; }
  .topic-group { grid-column: 1; padding: 0; }
  .topic-row > span:nth-child(2) { grid-column: 1; }
  .topic-arrow { grid-column: 2; grid-row: 1 / 3; }
  .article-grid { display: flex; flex-direction: column; gap: .5rem; padding-bottom: 1rem; }
  .article-grid > * { width: 100%; }
  .takeaway { position: static; padding: 1.5rem; margin-bottom: 1rem; }
  .route-pair { grid-template-columns: 1fr; }
  .route { padding: 1.5rem; }
  .letter-path { grid-template-columns: 1fr; }
  .vetting-path { margin-block: 2.75rem; }
  .next-brief { flex-direction: column; align-items: flex-start; padding: 1.5rem; gap: 1.4rem; margin-block: 2rem 3rem; }
  .next-brief .button-link { max-width: 100%; }
  .site-footer { display: block; padding-bottom: 2.5rem; }
  .site-footer nav { margin-top: 1rem; gap: .3rem 1.25rem; }
  .bottom-dock { bottom: 8px; padding: .25rem .25rem max(.25rem, env(safe-area-inset-bottom)); }
  .bottom-dock a { min-height: 65px; padding-inline: 0; }
  .myth summary { flex-wrap: wrap; gap: .6rem; padding: 1rem; }
  .myth-claim { width: calc(100% - 30px); }
  .myth summary::after { position: absolute; right: 1rem; top: 1rem; }
  .myth summary { position: relative; padding-right: 2rem; }
  .reveal-label { max-width: none; margin-left: 0; }
  .myth-answer { padding: .1rem 1rem 1.2rem; }
  .price-panel { padding: 1.5rem; }
  .urgent-help { padding: 1.5rem; }
  .question-block { grid-template-columns: 40px minmax(0, 1fr); gap: 1rem; }
  .sheet-letter { width: 38px; height: 38px; }
  .trial-graphic { padding: 1.25rem; }
  .bar-row strong { min-width: 100px; }
  .source-group { display: block; padding-block: 2rem; }
  .source-group h2 { max-width: none; margin-bottom: 1.5rem; }
  .source-group a { padding-block: .35rem; }
}
@media print {
  body { padding: 0; }
  .bottom-dock, .header-link, .skip-link, .next-brief, .myth-tools { display: none; }
  .wrap { width: 100%; }
  .page-opening, .article-grid { display: block; }
  .takeaway { position: static; }
  a { min-height: 0; }
}
