/* FitClaims — scoreboard x lab report.
   Cool light ground, charcoal panels, electric lime (never as text on light), four verdict colors.
   Type: Barlow Condensed (display, numbers, stamps) + Barlow (body). */

/* ------------------------------------------------------------ fallback metrics (no layout shift while fonts load) */
@font-face { font-family: "Barlow Fallback"; src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("Helvetica"); size-adjust: 95.7%; ascent-override: 104.5%; descent-override: 20.9%; line-gap-override: 0%; }
@font-face { font-family: "Barlow Condensed Fallback"; src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("Arial"); size-adjust: 76.6%; ascent-override: 130.5%; descent-override: 26.1%; line-gap-override: 0%; }

/* ------------------------------------------------------------ tokens */
:root {
  --bg: #F4F6F8; --surface: #FFFFFF; --surface-2: #E7ECF1; --line: #D6DDE4; --line-2: #C2CCD6;
  --ink: #0B0F14; --text: #26303B; --muted: #5B6672;
  --char: #0B0F14; --char-2: #141A21; --char-3: #1C242E; --d-line: rgba(255,255,255,.1); --d-text: #E8EDF2; --d-muted: #A7B2BE;
  --lime: #C6F432; --lime-2: #D6FF5E;
  /* verdict base colors (fills, meters, dots) */
  --v-holds: #16A34A; --v-partly: #F59E0B; --v-no: #DC2626; --v-unclear: #64748B;
  /* verdict ink on light grounds (AA for text) */
  --vi-holds: #15803D; --vi-partly: #B45309; --vi-no: #B91C1C; --vi-unclear: #475569;
  /* verdict ink on charcoal */
  --vd-holds: #22C55E; --vd-partly: #F59E0B; --vd-no: #EF4444; --vd-unclear: #94A3B8;
  --f-display: "Barlow Condensed", "Barlow Condensed Fallback", "Arial Narrow", sans-serif;
  --f-body: "Barlow", "Barlow Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gut: 16px; --wrap: 1200px;
  --shadow: 0 1px 2px rgba(11,15,20,.06), 0 10px 28px -16px rgba(11,15,20,.28);
  --shadow-lg: 0 2px 4px rgba(11,15,20,.06), 0 22px 40px -18px rgba(11,15,20,.38);
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -10 0 0 0 7.05'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  --grain-lite: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -10 0 0 0 7.7'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
}
@media (min-width: 48em) { :root { --gut: 32px; } }

/* ------------------------------------------------------------ base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { margin: 0; background: var(--bg); color: var(--text); font: 400 1.0625rem/1.6 var(--f-body); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img, svg { max-width: 100%; }
img { display: block; height: auto; }
h1, h2, h3, p, ul, ol, dl, figure, blockquote { margin: 0; }
strong { font-weight: 600; }
a { color: var(--ink); text-decoration-thickness: 1.5px; text-underline-offset: .18em; }
a:hover { text-decoration-thickness: 3px; }
.wrap { width: 100%; max-width: calc(var(--wrap) + 2 * var(--gut)); margin-inline: auto; padding-inline: var(--gut); }
.vh { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ico { display: inline-block; width: 1.25rem; height: 1.25rem; flex: none; }
[hidden] { display: none !important; }

/* focus: charcoal ring on light, lime ring on charcoal */
:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; border-radius: 4px; }
.hdr :focus-visible, .dots :focus-visible, .kn :focus-visible { outline-color: var(--lime); }
main:focus { outline: none; }
.skip { position: absolute; left: 1rem; top: -5rem; z-index: 20; background: var(--lime); color: var(--char); padding: .8rem 1.1rem; border-radius: 10px; font-weight: 600; text-decoration: none; }
.skip:focus { top: 1rem; }

/* LED-board texture for charcoal bands */
.dots { background-color: var(--char); background-image: radial-gradient(rgba(255,255,255,.07) 1px, transparent 1.5px); background-size: 9px 9px; color: var(--d-text); }
.dots a:not(.btn) { color: #fff; }

/* ------------------------------------------------------------ header */
.hdr { background: var(--char); border-bottom: 1px solid rgba(255,255,255,.08); }
.hdr__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1.5rem; min-height: 72px; }
.hdr__logo { display: inline-flex; align-items: center; min-height: 44px; border-radius: 10px; }
.hdr__logo img { height: 36px; width: auto; }
.nav { display: flex; gap: .25rem; }
.nav__a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 1rem; border-radius: 999px; color: var(--d-text); text-decoration: none; font: 700 1.0625rem/1 var(--f-display); text-transform: uppercase; letter-spacing: .05em; white-space: nowrap; }
.nav__a:hover { background: rgba(255,255,255,.09); }
.nav__a[aria-current="page"] { background: var(--lime); color: var(--char); }
@media (max-width: 40em) {
  .hdr__in { padding-block: .6rem .75rem; min-height: 0; }
  .hdr__logo img { height: 32px; }
  .nav { width: 100%; display: grid; grid-template-columns: .8fr 1.25fr .8fr; gap: 4px; padding: 4px; border-radius: 999px; background: rgba(255,255,255,.07); }
  .nav__a { padding: 0 .5rem; font-size: 1rem; }
}

/* ------------------------------------------------------------ buttons, pills, chips */
.actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 3.25rem; padding: 0 1.35rem; border: 2px solid transparent; border-radius: 12px; font: 700 1.125rem/1 var(--f-display); letter-spacing: .05em; text-transform: uppercase; text-decoration: none; transition: background-color .15s, color .15s, border-color .15s; }
.btn__ico { width: 1.2rem; height: 1.2rem; }
.btn--lime { background: var(--lime); color: var(--char); }
.btn--lime:hover { background: var(--lime-2); }
.btn--ghost { border-color: rgba(255,255,255,.4); color: #fff; }
.btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.07); }
.btn--dark { background: var(--char); color: #fff; }
.btn--dark:hover { color: var(--lime); }
.btn--line { border-color: var(--ink); color: var(--ink); }
.btn--line:hover { background: var(--ink); color: #fff; }
@media (prefers-reduced-motion: no-preference) {
  .btn__ico { transition: transform .2s ease; }
  .btn:hover .btn__ico { transform: translateX(3px); }
}

.pill { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: 1.25rem; padding: .4rem .85rem; border: 1.5px solid rgba(198,244,50,.55); border-radius: 999px; color: var(--lime); font: 700 .9375rem/1 var(--f-display); letter-spacing: .06em; text-transform: uppercase; }
.pill__dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 3px rgba(198,244,50,.22); }

.filters { display: grid; gap: .75rem; margin-bottom: 1.5rem; }
.filters__row { display: flex; flex-wrap: wrap; gap: .5rem; }
.chip { --vc: var(--ink); display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: 0 1rem; border: 2px solid var(--line-2); border-radius: 999px; background: var(--surface); color: var(--ink); font: 700 1rem/1 var(--f-display); letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
.chip i { width: .7rem; height: .7rem; border-radius: 50%; background: var(--vc); }
.chip--holds { --vc: var(--v-holds); } .chip--partly { --vc: var(--v-partly); } .chip--no { --vc: var(--v-no); } .chip--unclear { --vc: var(--v-unclear); }
.chip__n { font-variant-numeric: tabular-nums; color: var(--muted); }
.chip:hover:not(:disabled) { border-color: var(--ink); }
.chip[aria-pressed="true"] { background: var(--char); border-color: var(--char); color: #fff; }
.chip[aria-pressed="true"] .chip__n { color: var(--lime); }
.chip:disabled { opacity: .5; cursor: not-allowed; }
.filters__count { font-size: .9375rem; color: var(--muted); }
.filters__count strong { color: var(--ink); }

/* ------------------------------------------------------------ verdict stamp (signature device) */
.stamp { --sc: var(--vi-unclear); --rot: -5deg; position: relative; display: inline-flex; align-items: center; justify-content: center; padding: .42em .7em .34em; border: 3px solid currentColor; border-radius: 8px; color: var(--sc); font: 800 1.25rem/1 var(--f-display); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; transform: rotate(var(--rot)); -webkit-mask-image: var(--grain); mask-image: var(--grain); -webkit-mask-size: 180px; mask-size: 180px; }
.stamp::before { content: ""; position: absolute; inset: 3px; border: 1.5px solid currentColor; border-radius: 4px; }
.stamp__w { position: relative; }
.stamp--holds { --sc: var(--vi-holds); --rot: -4deg; }
.stamp--partly { --sc: var(--vi-partly); --rot: -6deg; }
.stamp--no { --sc: var(--vi-no); --rot: -7deg; }
.stamp--unclear { --sc: var(--vi-unclear); --rot: -3deg; }
.stamp--md { font-size: 1.5rem; }
.stamp--lg { font-size: clamp(2.25rem, 1.7rem + 2.2vw, 3.25rem); border-width: 5px; border-radius: 12px; padding: .38em .62em .3em; }
.stamp--lg::before { inset: 5px; border-width: 2px; border-radius: 6px; }
.stamp--lg { -webkit-mask-image: var(--grain-lite); mask-image: var(--grain-lite); -webkit-mask-size: 220px; mask-size: 220px; }
/* on charcoal, the brighter inks */
.dots .stamp--holds { --sc: var(--vd-holds); } .dots .stamp--partly { --sc: var(--vd-partly); }
.dots .stamp--no { --sc: var(--vd-no); } .dots .stamp--unclear { --sc: var(--vd-unclear); }

/* ------------------------------------------------------------ support meter (segment display) */
.meter { --vd: var(--v-unclear); display: inline-flex; align-items: center; gap: .55rem; padding: .45rem .65rem; border-radius: 9px; background: var(--char); color: var(--d-muted); }
.meter--holds { --vd: var(--v-holds); } .meter--partly { --vd: var(--v-partly); } .meter--no { --vd: var(--v-no); } .meter--unclear { --vd: var(--v-unclear); }
.meter__k { font: 700 .75rem/1 var(--f-display); letter-spacing: .08em; text-transform: uppercase; }
.meter__seg { display: inline-flex; gap: 3px; }
.meter__seg i { display: block; width: 13px; height: 11px; border-radius: 2.5px; background: #28313B; transform: skewX(-12deg); }
.meter__seg i.on { background: var(--vd); box-shadow: 0 0 9px -1px var(--vd); }
.meter__n { font: 800 1.0625rem/1 var(--f-display); color: var(--lime); letter-spacing: .03em; font-variant-numeric: tabular-nums; }
.meter--sm .meter__k { display: none; }
.meter--sm .meter__seg i { width: 11px; height: 10px; }
.meter--lg { gap: .8rem; padding: .7rem .9rem; border-radius: 12px; }
.meter--lg .meter__k { font-size: .875rem; max-width: 4.5rem; line-height: 1.05; }
.meter--lg .meter__seg { gap: 5px; }
.meter--lg .meter__seg i { width: 26px; height: 18px; border-radius: 4px; }
.meter--lg .meter__n { font-size: 1.625rem; }

/* scoreboard digits: the number over unlit "8" cells */
.dg { position: relative; display: inline-block; font: 800 clamp(4rem, 2.6rem + 4.6vw, 6.25rem)/.86 var(--f-display); letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.dg__ghost { display: none; }
.dg__v { color: var(--lime); text-shadow: 0 0 28px rgba(198,244,50,.32); }

/* ------------------------------------------------------------ home: scoreboard hero */
.board { padding-block: clamp(2.5rem, 1.6rem + 4vw, 5.5rem) clamp(3rem, 2rem + 4vw, 6rem); }
.board__in { display: grid; gap: 2.5rem; }
@media (min-width: 64em) { .board__in { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); align-items: center; gap: 4rem; } }
.board__h1 { font: 800 clamp(2.75rem, 1.55rem + 4.7vw, 5.5rem)/1 var(--f-display); letter-spacing: -.005em; color: #fff; text-wrap: balance; }
.board__h1 mark { background: linear-gradient(transparent .1em, var(--lime) .1em, var(--lime) calc(100% - .02em), transparent calc(100% - .02em)); color: var(--char); padding: 0 .1em; border-radius: .06em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.board__lead { margin-top: 1.5rem; max-width: 36rem; font-size: 1.1875rem; line-height: 1.55; color: var(--d-muted); }

.sb { padding: 1.25rem; border: 1px solid var(--d-line); border-radius: 22px; background: var(--char-2); box-shadow: 0 30px 60px -32px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.06); }
.sb__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; font: 800 1rem/1 var(--f-display); letter-spacing: .08em; text-transform: uppercase; color: var(--d-text); }
.sb__main { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.sb__cell { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: .55rem; padding: 1rem 1rem .9rem; border: 1px solid rgba(255,255,255,.06); border-radius: 14px; background: var(--char); }
.sb__cell dt { font: 700 .9375rem/1.1 var(--f-display); letter-spacing: .06em; text-transform: uppercase; color: var(--d-text); }
.sb__cell dd { margin: 0; }
.sb__tally { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; margin-top: .5rem; }
.sb__v { --vd: var(--vd-unclear); position: relative; overflow: hidden; display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: .3rem; padding: .85rem .65rem .65rem; border-radius: 12px; background: var(--char); }
.sb__v::after { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--vd); }
.sb__v--holds { --vd: var(--vd-holds); } .sb__v--partly { --vd: var(--vd-partly); } .sb__v--no { --vd: var(--vd-no); } .sb__v--unclear { --vd: var(--vd-unclear); }
.sb__v dt { font: 700 .8125rem/1 var(--f-display); letter-spacing: .06em; color: var(--vd); white-space: nowrap; }
.sb__v dd { margin: 0; font: 800 2.25rem/1 var(--f-display); color: #fff; font-variant-numeric: tabular-nums; }
.sb__foot { margin-top: 1rem; font-size: .875rem; line-height: 1.5; color: var(--d-muted); }

/* ------------------------------------------------------------ sections */
.sec { padding-block: clamp(3rem, 2rem + 3.6vw, 5.5rem); }
.sec--tight { padding-block: clamp(2rem, 1.5rem + 2vw, 3.25rem); }
.sec--split { padding-block: clamp(2.5rem, 2rem + 2.4vw, 4.5rem); }
.sec--white { background: var(--surface); }
.sec__head { display: grid; gap: .75rem; max-width: 46rem; margin-bottom: 2rem; }
.sec__head--row { max-width: none; display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem; }
.sec__lead { font-size: 1.125rem; color: var(--muted); }
.sec__note { margin-top: 2.5rem; }
.h2 { font: 800 clamp(2rem, 1.5rem + 1.8vw, 3rem)/1 var(--f-display); letter-spacing: -.005em; color: var(--ink); text-wrap: balance; }
.h3 { margin-bottom: 1.25rem; font: 800 1.75rem/1.05 var(--f-display); color: var(--ink); }
.h3__n { display: inline-grid; place-items: center; min-width: 1.9rem; height: 1.9rem; margin-left: .35rem; padding: 0 .4rem; border-radius: 8px; background: var(--char); color: var(--lime); font-size: 1.125rem; vertical-align: .18em; }
.split { display: grid; gap: 1.5rem; }
@media (min-width: 56em) { .split { grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 3rem; } }
.split__h { max-width: 15ch; }
.split__lead { margin-bottom: 1.5rem; font-size: 1.125rem; color: var(--muted); }
.split__note { margin-top: 1.25rem; font-size: .9375rem; color: var(--muted); }
.prose { max-width: 42rem; font-size: 1.125rem; line-height: 1.65; }
.prose p + p { margin-top: 1.1em; }
.prose strong { color: var(--ink); }
.prose--narrow { max-width: 40rem; }

/* page heads (hub, method, about, privacy) */
.phead { padding-block: .75rem clamp(2.5rem, 2rem + 2.6vw, 4.25rem); }
.phead__h1 { max-width: 18ch; font: 800 clamp(2.5rem, 1.7rem + 3.4vw, 4.75rem)/.95 var(--f-display); color: #fff; text-wrap: balance; }
.phead__lead { max-width: 40rem; margin-top: 1.25rem; font-size: 1.1875rem; color: var(--d-muted); }
.crumbs ol { display: flex; flex-wrap: wrap; align-items: center; margin: 0 0 1rem; padding: 0; list-style: none; font-size: .9375rem; }
.crumbs li { display: inline-flex; align-items: center; }
.crumbs li + li::before { content: "/"; margin: 0 .55rem; color: var(--d-muted); opacity: .55; }
.crumbs a { display: inline-flex; align-items: center; min-height: 44px; color: var(--d-muted) !important; text-decoration: none; }
.crumbs a:hover { color: #fff !important; text-decoration: underline; }
.crumbs [aria-current] { color: #fff; }

.tally { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; max-width: 26rem; margin-top: 2rem; }
@media (min-width: 40em) { .tally { display: flex; flex-wrap: wrap; max-width: none; } }
.tally__c { --vd: var(--lime); display: flex; flex-direction: column-reverse; gap: .25rem; min-width: 6.25rem; padding: .65rem .9rem; border: 1px solid var(--d-line); border-radius: 12px; background: var(--char-2); }
.tally__c--partly { --vd: var(--vd-partly); } .tally__c--no { --vd: var(--vd-no); } .tally__c--holds { --vd: var(--vd-holds); } .tally__c--unclear { --vd: var(--vd-unclear); }
.tally dt { font: 700 .8125rem/1.1 var(--f-display); letter-spacing: .06em; text-transform: uppercase; color: var(--d-muted); }
.tally dd { margin: 0; font: 800 2.125rem/1 var(--f-display); color: var(--vd); font-variant-numeric: tabular-nums; }

/* ------------------------------------------------------------ claim cards */
.cards { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 40em) { .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 75em) { .cards:not(.cards--2) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.card { position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow); }
.card__stamp { order: -1; padding: 1.4rem 1.25rem 0 1.4rem; }
.card__claim { padding: 1.1rem 1.25rem 0; font: 800 1.5rem/1.08 var(--f-display); color: var(--ink); text-wrap: balance; }
.card__link { color: inherit; text-decoration: none; }
.card__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.card__link:focus-visible { outline: none; }
.card:focus-within { outline: 3px solid var(--ink); outline-offset: 3px; }
.card__line { flex: 1; padding: .75rem 1.25rem 1.35rem; font-size: .9375rem; line-height: 1.5; color: var(--muted); }
.card__bar { display: flex; align-items: center; gap: .75rem; padding: .7rem 1rem .7rem 1.1rem; background: var(--char); color: var(--d-muted); }
.card__bar .meter { padding: 0; background: none; }
.card__src { margin-left: auto; font: 700 .875rem/1 var(--f-display); letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.card__go { width: 1.25rem; height: 1.25rem; color: var(--lime); }
.card:hover { border-color: var(--line-2); }
@media (prefers-reduced-motion: no-preference) {
  .card { transition: transform .2s ease, box-shadow .2s ease; }
  .card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
  .card__go { transition: transform .2s ease; }
  .card:hover .card__go { transform: translateX(3px); }
}

/* ------------------------------------------------------------ home: how we check, stamp key, cta */
.steps { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 56em) { .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.75rem; } }
.step { position: relative; display: grid; align-content: start; gap: .5rem; padding: 1.5rem; border-radius: 18px; background: var(--bg); }
.step__ico { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; margin-bottom: .75rem; border-radius: 14px; background: var(--char); color: var(--lime); }
.step__ico .ico { width: 1.9rem; height: 1.9rem; }
.step__k { font: 700 .875rem/1 var(--f-display); letter-spacing: .07em; text-transform: uppercase; color: var(--muted); }
.step__h { font: 800 1.625rem/1.05 var(--f-display); color: var(--ink); }
@media (min-width: 56em) {
  .step:not(:last-child)::after { content: ""; position: absolute; top: 2.6rem; right: -2.05rem; width: 1.3rem; height: 1.5rem; background: var(--char); clip-path: polygon(0 0, 100% 50%, 0 100%, 34% 50%); }
}

.key { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 40em) { .key { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 75em) { .sec:not(.sec--split) .key { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.key__i { display: grid; align-content: start; gap: .5rem; padding: 1.5rem 1.25rem 1.25rem; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.sec--white .key__i { background: var(--bg); }
.key__top { display: flex; flex-direction: column; align-items: flex-start; gap: 1.1rem; margin-bottom: .75rem; padding-left: .2rem; }
.prose + .key { margin-top: 1.75rem; }
.key__name { font: 800 1.375rem/1.1 var(--f-display); color: var(--ink); }
.key__def { font-size: .9375rem; color: var(--muted); }
.key__n { margin-top: .25rem; font: 700 .9375rem/1 var(--f-display); letter-spacing: .05em; text-transform: uppercase; color: var(--ink); }

.note { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; align-items: start; max-width: 52rem; padding: 1.25rem 1.5rem 1.25rem 1.6rem; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: inset 6px 0 0 var(--char); }
.sec--white .note { background: var(--bg); }
.note__ico { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--char); color: var(--lime); }
.note__t { font: 800 1.375rem/1.15 var(--f-display); color: var(--ink); }
.note p + p { margin-top: .35rem; }
.note div > p:not(.note__t) { color: var(--muted); }

.cta { padding-block: clamp(2.5rem, 2rem + 2.2vw, 4rem); background: var(--lime); color: var(--char); }
.cta__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 2rem; }
.cta__t { max-width: 19ch; font: 800 clamp(2rem, 1.4rem + 2.4vw, 3.5rem)/1 var(--f-display); text-wrap: balance; }
.cta :focus-visible { outline-color: var(--char); }

/* ------------------------------------------------------------ claim page: top */
.ctop { --vd: var(--vd-unclear); padding-block: .75rem clamp(2.5rem, 2rem + 3vw, 4.5rem); }
.ctop--holds { --vd: var(--vd-holds); } .ctop--partly { --vd: var(--vd-partly); } .ctop--no { --vd: var(--vd-no); }
.ctop__grid { display: grid; gap: 2rem; }
@media (min-width: 64em) { .ctop__grid { grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr); gap: 3.5rem; align-items: start; } }
.ctop__h1 { font: 800 clamp(2.375rem, 1.6rem + 3vw, 4.25rem)/.97 var(--f-display); color: #fff; text-wrap: balance; }
.ctop__dek { max-width: 40rem; margin-top: 1.25rem; font-size: 1.1875rem; line-height: 1.55; color: var(--d-muted); }
.said { margin-top: 2rem; padding: 1.25rem 1.5rem 1.25rem 1.75rem; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; background: var(--char-2); box-shadow: inset 6px 0 0 var(--lime); }
.said__q p { font: italic 700 clamp(1.375rem, 1.1rem + 1vw, 1.75rem)/1.2 var(--f-display); color: #fff; }
.said__c { margin-top: .75rem; font-size: .9375rem; color: var(--d-muted); }
.said__c span { font-weight: 600; color: var(--d-text); }
.result { display: grid; gap: 1.25rem; padding: 1.5rem; border: 1px solid var(--d-line); border-radius: 22px; background: var(--char-2); box-shadow: 0 30px 60px -32px rgba(0,0,0,.7); }
.result__k { font: 700 1rem/1.2 var(--f-display); letter-spacing: .07em; text-transform: uppercase; color: var(--d-muted); }
.result__k span { color: var(--vd); }
.result__row { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem 1.75rem; padding: .5rem 0 .25rem .35rem; }
.result__line { font: 700 1.4375rem/1.22 var(--f-display); color: #fff; }
.result__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.result__stats div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: .3rem; padding: .65rem .8rem; border-radius: 10px; background: var(--char); }
.result__stats dt { font: 700 .75rem/1 var(--f-display); letter-spacing: .08em; text-transform: uppercase; color: var(--d-muted); }
.result__stats dd { margin: 0; font: 800 1.375rem/1 var(--f-display); color: var(--lime); font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 30em) { .result { padding: 1.15rem; } .result__stats div { padding: .6rem .6rem; } .result__stats dd { font-size: 1.1875rem; } }
@media (prefers-reduced-motion: no-preference) {
  .stamp--hit { animation: thunk .5s cubic-bezier(.2, 1.35, .35, 1) .25s both; }
  @keyframes thunk { 0% { opacity: 0; transform: rotate(calc(var(--rot) - 12deg)) scale(1.8); } 55% { opacity: 1; } 100% { opacity: 1; transform: rotate(var(--rot)) scale(1); } }
  .result .meter__seg i.on { animation: lit .25s ease-out both; }
  .result .meter__seg i.on:nth-child(1) { animation-delay: .7s; } .result .meter__seg i.on:nth-child(2) { animation-delay: .82s; }
  .result .meter__seg i.on:nth-child(3) { animation-delay: .94s; } .result .meter__seg i.on:nth-child(4) { animation-delay: 1.06s; }
  @keyframes lit { from { background: #28313B; box-shadow: none; } }
}

/* key numbers */
.kn { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 30em) { .kn { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64em) { .kn { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.kn__i { display: flex; flex-direction: column; gap: .65rem; padding: 1.25rem 1.25rem .9rem; border-radius: 16px; background: var(--char); color: var(--d-text); }
.kn__v { display: flex; flex-wrap: wrap; align-items: baseline; gap: .1em .35em; font: 800 clamp(2.25rem, 1.85rem + 1.4vw, 3rem)/.95 var(--f-display); color: var(--lime); font-variant-numeric: tabular-nums; }
.kn__n { white-space: nowrap; }
.kn__v--long { font-size: clamp(2rem, 1.7rem + 1vw, 2.375rem); }
.kn__u { font: 700 1.0625rem/1.1 var(--f-display); letter-spacing: .02em; color: var(--d-muted); }
.kn__l { flex: 1; font-size: .9375rem; line-height: 1.45; }
.kn__s { align-self: flex-start; display: inline-flex; align-items: center; min-height: 32px; color: var(--d-muted) !important; font: 700 .875rem/1 var(--f-display); letter-spacing: .06em; text-transform: uppercase; text-underline-offset: 3px; }
.kn__s:hover { color: #fff !important; }

/* six sentences: the lab report */
.report { display: grid; gap: 1.75rem; padding: clamp(1.25rem, .9rem + 2vw, 2.5rem); border: 1px solid var(--line); border-radius: 22px; background: var(--surface); box-shadow: var(--shadow); }
@media (min-width: 64em) { .report { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 3rem; } .report__head { position: sticky; top: 1.5rem; align-self: start; } }
.report__head p { margin-top: .9rem; color: var(--muted); }
.six { display: grid; margin: 0; padding: 0; list-style: none; counter-reset: six; }
.six li { counter-increment: six; display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: 1rem; padding: 1.05rem 0; border-top: 1px solid var(--line); font-size: 1.125rem; line-height: 1.55; color: var(--text); }
.six li:first-child { padding-top: 0; border-top: 0; }
.six li:last-child { padding-bottom: 0; }
@media (max-width: 30em) { .report { padding: 1.15rem; } .six li { grid-template-columns: 2rem minmax(0, 1fr); gap: .8rem; font-size: 1.0625rem; } .six li::before { width: 2rem; height: 2rem; font-size: 1.125rem; } }
.six li::before { content: counter(six); display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 9px; background: var(--char); color: var(--lime); font: 800 1.25rem/1 var(--f-display); }

/* ------------------------------------------------------------ figures */
.figs { display: grid; gap: 2rem; }
.fig { overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); box-shadow: var(--shadow); }
.fig__head { display: grid; gap: .4rem; padding: 1.35rem clamp(1rem, .7rem + 1.2vw, 1.75rem) 1.1rem; }
.fig__k { font: 700 .875rem/1 var(--f-display); letter-spacing: .07em; text-transform: uppercase; color: var(--muted); }
.fig__title { font: 800 clamp(1.5rem, 1.3rem + .8vw, 1.875rem)/1.05 var(--f-display); color: var(--ink); text-wrap: balance; }
.fig__unit { font-size: .9375rem; color: var(--muted); }
.fig__screen { container-type: inline-size; padding: 1.25rem clamp(1rem, .7rem + 1.2vw, 1.75rem); background: var(--char); color: var(--d-text); }
.fig__plain { padding: 0 clamp(1rem, .7rem + 1.2vw, 1.75rem) .25rem; }
.fig__foot { display: grid; gap: .6rem; padding: 1.1rem clamp(1rem, .7rem + 1.2vw, 1.75rem) 1.3rem; }
.fig__cap { max-width: 52rem; }
.fig__src { display: flex; flex-wrap: wrap; align-items: center; gap: .15rem .9rem; font-size: .9375rem; color: var(--muted); }
.fig__src a { display: inline-flex; align-items: center; gap: .45rem; min-height: 36px; color: var(--ink); }
.ref { display: inline-grid; place-items: center; min-width: 1.45rem; height: 1.45rem; padding: 0 .3rem; border-radius: 6px; background: var(--char); color: var(--lime); font: 800 .875rem/1 var(--f-display); text-decoration: none; }
.ref--lg { min-width: 2rem; height: 2rem; border-radius: 8px; font-size: 1.0625rem; }

.lgd { display: flex; flex-wrap: wrap; gap: .45rem 1.4rem; margin: 0 0 1rem; padding: 0; list-style: none; font-size: .875rem; color: var(--d-muted); }
.lgd li { display: inline-flex; align-items: center; gap: .5rem; }
.lgd i { display: inline-block; flex: none; }
.lgd__dot { width: 13px; height: 13px; border-radius: 50%; background: var(--lime); }
.lgd__ci { width: 28px; height: 6px; border-radius: 3px; background: var(--lime); }
.lgd__ref { width: 0; height: 16px; border-left: 2px dashed rgba(255,255,255,.65); }
.lgd__line { width: 28px; height: 4px; border-radius: 2px; background: var(--lime); }

/* forest plot */
.fp { container-type: inline-size; }
.fp__rows { margin: 0; padding: 0; list-style: none; }
.fp__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "label val" "track track"; gap: .6rem 1rem; padding: .95rem 0; border-top: 1px solid var(--d-line); }
.fp__row:first-child { border-top: 0; padding-top: .25rem; }
.fp__label { grid-area: label; font-weight: 600; font-size: .9375rem; line-height: 1.35; color: var(--d-text); }
.fp__label small { display: block; margin-top: .3rem; font-weight: 400; font-size: .8125rem; line-height: 1.4; color: var(--d-muted); }
.fp__val { grid-area: val; font: 700 1.0625rem/1.25 var(--f-display); color: #fff; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fp__row.is-hl .fp__val { color: var(--lime); }
.fp__track { --pad: 12px; grid-area: track; position: relative; height: 30px; border-radius: 999px; background: linear-gradient(rgba(255,255,255,.08), rgba(255,255,255,.08)) center / 100% 2px no-repeat; }
.fp__ci { position: absolute; top: 50%; height: 6px; margin-top: -3px; border-radius: 999px; left: calc(var(--pad) + (100% - 2 * var(--pad)) * var(--a) / 100); width: calc((100% - 2 * var(--pad)) * (var(--b) - var(--a)) / 100); background: rgba(255,255,255,.5); }
.fp__dot { position: absolute; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; left: calc(var(--pad) + (100% - 2 * var(--pad)) * var(--x) / 100); background: #fff; box-shadow: 0 0 0 3px var(--char); }
.fp__row.is-hl .fp__ci { background: var(--lime); height: 6px; margin-top: -3px; }
.fp__row.is-hl .fp__dot { background: var(--lime); box-shadow: 0 0 0 3px var(--char), 0 0 18px rgba(198,244,50,.55); }
.fp__ref { position: absolute; top: -9px; bottom: -9px; margin-left: -1px; left: calc(var(--pad) + (100% - 2 * var(--pad)) * var(--x) / 100); border-left: 2px dashed rgba(255,255,255,.6); }
.fp__axisrow { display: grid; grid-template-columns: minmax(0, 1fr); }
.fp__axis { --pad: 12px; position: relative; height: 1.9rem; border-top: 1px solid rgba(255,255,255,.22); font: 600 .8125rem/1 var(--f-body); color: var(--d-muted); font-variant-numeric: tabular-nums; }
.fp__axis span { position: absolute; top: .55rem; left: calc(var(--pad) + (100% - 2 * var(--pad)) * var(--x) / 100); transform: translateX(-50%); white-space: nowrap; }
.fp__unit { margin-top: .35rem; font-size: .8125rem; color: var(--d-muted); }
@container (min-width: 40rem) {
  .fp__row { grid-template-columns: 14rem minmax(0, 1fr) 11.5rem; grid-template-areas: "label track val"; align-items: center; }
  .fp__axisrow { grid-template-columns: 14rem minmax(0, 1fr) 11.5rem; column-gap: 1rem; }
  .fp__axis { grid-column: 2; }
  .fp__unit { margin-left: calc(15rem); }
}

/* horizontal bars */
.hb { container-type: inline-size; }
.hb__rows { margin: 0; padding: 0; list-style: none; }
.hb__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "label val" "track track"; align-items: center; gap: .55rem 1rem; padding: .85rem 0; border-top: 1px solid var(--d-line); }
.hb__row:first-child { border-top: 0; padding-top: .25rem; }
.hb__label { grid-area: label; font-weight: 600; font-size: .9375rem; line-height: 1.35; }
.hb__val { grid-area: val; font: 700 1.1875rem/1 var(--f-display); color: #fff; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hb__track { grid-area: track; position: relative; height: 18px; border-radius: 999px; background: rgba(255,255,255,.07); }
.hb__fill { position: absolute; top: 0; bottom: 0; left: calc(var(--a) * 1%); width: calc(var(--w) * 1%); border-radius: 999px; background: var(--lime); }
.hb__row.is-neg .hb__fill { background: #94A3B8; }
.hb__zero { position: absolute; z-index: 1; top: -6px; bottom: -6px; margin-left: -1px; left: calc(var(--x) * 1%); border-left: 2px solid rgba(255,255,255,.75); }
@container (min-width: 40rem) {
  .hb__row { grid-template-columns: 14rem minmax(0, 1fr) 7rem; grid-template-areas: "label track val"; }
}

/* line chart (three sizes; the container picks one) */
.cvset { container-type: inline-size; }
.cv { display: none; width: 100%; height: auto; overflow: visible; }
.cv--xs { display: block; }
@container (min-width: 34rem) { .cv--xs { display: none; } .cv--m { display: block; } }
@container (min-width: 62rem) { .cv--m { display: none; } .cv--l { display: block; } }
.cv__t { font: 600 13px var(--f-body); fill: var(--d-muted); font-variant-numeric: tabular-nums; paint-order: stroke; stroke: var(--char); stroke-width: 5px; stroke-linejoin: round; }
.cv__t--v { font: 800 17px var(--f-display); fill: #fff; }
.cv__t--ref { fill: var(--d-text); }
.cv__grid { stroke: rgba(255,255,255,.08); }
.cv__axis { stroke: rgba(255,255,255,.35); }
.cv__ref { stroke: rgba(255,255,255,.6); stroke-width: 2; stroke-dasharray: 5 5; }
.cv__area { fill: none; }
.cv__line { fill: none; stroke: var(--lime); stroke-width: 3.5; stroke-linejoin: round; stroke-linecap: round; }
.cv__dot { fill: var(--lime); stroke: var(--char); stroke-width: 3; }

/* the claim vs the evidence */
.cmp { display: grid; gap: 1rem; }
@media (min-width: 44em) { .cmp { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cmp__col { padding: 1.35rem 1.35rem 1.5rem; border-radius: 16px; }
.cmp__col--claim { background: var(--bg); }
.cmp__col--ev { background: var(--char); color: var(--d-text); }
.cmp__h { margin-bottom: .9rem; font: 800 1.25rem/1 var(--f-display); letter-spacing: .05em; text-transform: uppercase; }
.cmp__col--claim .cmp__h { color: var(--muted); }
.cmp__col--ev .cmp__h { color: var(--lime); }
.cmp ul { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.cmp__col--claim li { position: relative; padding-left: 1.4rem; font: italic 700 1.25rem/1.25 var(--f-display); color: var(--text); }
.cmp__col--claim li::before { content: "“"; position: absolute; left: 0; top: -.08em; font: 800 1.75em/1 var(--f-display); color: var(--line-2); }
.cmp__col--ev li { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: .65rem; font-size: 1.0625rem; line-height: 1.45; }
.cmp__ico { width: 1.5rem; height: 1.5rem; margin-top: .05rem; color: var(--lime); }

/* ------------------------------------------------------------ claim page: what to do, terms, sources */
.todo { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.todo li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: 1rem; align-items: start; padding: 1rem 1.25rem; border-radius: 14px; background: var(--bg); font: 700 1.375rem/1.25 var(--f-display); color: var(--ink); }
.todo li > span:last-child { padding-top: .3rem; }
.todo__ico { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--char); color: var(--lime); }
.todo__ico .ico { width: 1.3rem; height: 1.3rem; }

.refs { display: grid; gap: 2.5rem; }
@media (min-width: 64em) { .refs { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 4rem; } }
.terms { display: grid; gap: .75rem; }
.terms div { padding: 1rem 1.25rem; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.terms dt { font: 800 1.25rem/1.1 var(--f-display); color: var(--ink); }
.terms dd { margin: .35rem 0 0; }
.srcs { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.srcs li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .9rem; align-items: start; padding: 1rem 1.25rem; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); scroll-margin-top: 1rem; }
.srcs li:target { border-color: var(--ink); box-shadow: 0 0 0 3px var(--lime); }
.srcs a { font-weight: 600; line-height: 1.4; }
.srcs__m { display: block; margin-top: .35rem; font-size: .9375rem; color: var(--muted); }
.refs__note { margin-top: 1.25rem; font-size: .9375rem; color: var(--muted); }

/* ------------------------------------------------------------ hub table */
.tbl-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.tbl { width: 100%; min-width: 44rem; border-collapse: collapse; }
.tbl th, .tbl td { padding: .7rem 1rem; text-align: left; vertical-align: middle; border-top: 1px solid var(--line); }
.tbl thead th { border-top: 0; padding-block: .9rem; background: var(--char); color: #fff; font: 800 .9375rem/1 var(--f-display); letter-spacing: .06em; text-transform: uppercase; }
.tbl tbody tr:nth-child(even) { background: #F8FAFB; }
.tbl tbody th { font-weight: 600; }
.tbl tbody th a { display: inline-flex; align-items: center; min-height: 44px; }
.tbl .num { text-align: right; font: 800 1.1875rem/1 var(--f-display); font-variant-numeric: tabular-nums; }
.tbl thead .num { font-size: .9375rem; }
.vtag { --v: var(--v-unclear); --vi: var(--vi-unclear); display: inline-flex; align-items: center; gap: .45rem; font: 700 1.0625rem/1 var(--f-display); letter-spacing: .03em; text-transform: uppercase; color: var(--vi); white-space: nowrap; }
.vtag::before { content: ""; width: .7rem; height: .7rem; border-radius: 50%; background: var(--v); }
.vtag--holds { --v: var(--v-holds); --vi: var(--vi-holds); } .vtag--partly { --v: var(--v-partly); --vi: var(--vi-partly); }
.vtag--no { --v: var(--v-no); --vi: var(--vi-no); } .vtag--unclear { --v: var(--v-unclear); --vi: var(--vi-unclear); }

/* ------------------------------------------------------------ method */
.tiers { display: grid; gap: 1.1rem; margin: 0; padding: 0; list-style: none; }
.tier { display: grid; gap: .45rem; }
.tier__bar { display: flex; align-items: center; width: 100%; min-height: 3.1rem; padding: .6rem 1.1rem; border-radius: 12px; background: var(--char); color: #fff; font: 800 1.3125rem/1.1 var(--f-display); }
@media (min-width: 40em) { .tier__bar { width: var(--w); } }
.tier:nth-child(2) .tier__bar { background: #26303B; }
.tier:nth-child(3) .tier__bar { background: #3A4551; }
.tier:nth-child(4) .tier__bar { background: #55606C; }
.tier p { color: var(--muted); max-width: 40rem; }
.nolist { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.nolist li { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: 1rem; align-items: center; padding: .9rem 1.1rem; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); font-size: 1.0625rem; }
.nolist__ico { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: #FDE8E8; color: var(--vi-no); }

/* ------------------------------------------------------------ 404 */
.nf { display: grid; gap: 1.5rem; align-items: center; }
@media (min-width: 56em) { .nf { grid-template-columns: auto minmax(0, 1fr); gap: 4rem; } }
.nf__dg .dg { font-size: clamp(6rem, 3.5rem + 9vw, 11rem); }
.nf__h1 { font-size: clamp(2.5rem, 1.6rem + 3.6vw, 4.5rem); }

/* ------------------------------------------------------------ footer */
.ftr { padding-block: 3.25rem 2.25rem; border-top: 1px solid var(--line); background: var(--surface-2); }
.ftr__grid { display: grid; gap: 2rem; }
@media (min-width: 56em) { .ftr__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, .65fr); gap: 3rem; } }
.ftr__logo { display: inline-flex; align-items: center; min-height: 44px; border-radius: 8px; }
.ftr__logo img { height: 34px; width: auto; }
.ftr__brand p { max-width: 24rem; margin-top: 1rem; color: var(--muted); }
.ftr__h { margin-bottom: .4rem; font: 800 1rem/1 var(--f-display); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); }
.ftr__list { display: grid; margin: 0; padding: 0; list-style: none; }
.ftr__list a { display: inline-flex; align-items: center; min-height: 44px; color: var(--text); text-decoration: none; }
.ftr__list a:hover { color: var(--ink); text-decoration: underline; }
@media (min-width: 48em) { .ftr__list a { min-height: 34px; } }
.ftr__legal { display: grid; gap: .45rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line-2); font-size: .9375rem; color: var(--muted); }
.ftr__legal strong { color: var(--ink); }

/* page-head brand mark (decorative) */
.phead { position: relative; overflow: hidden; }
.phead__mark { display: none; }
@media (min-width: 56em) {
  .phead__mark { display: block; position: absolute; right: max(var(--gut), calc((100% - var(--wrap)) / 2)); top: 50%; width: min(24vw, 290px); height: auto; transform: translateY(-50%) rotate(-6deg); fill: none; stroke: var(--lime); stroke-width: .5; stroke-linejoin: round; opacity: .4; pointer-events: none; }
}

/* ------------------------------------------------------------ phones: 44px targets on inline links that act as controls */
@media (max-width: 48em) {
  .kn__s, .fig__src a { min-height: 44px; }
}
