/* Hero ground standard (decided 2026-08-13):
   1a #eff0e2 news articles · 1b #e3e8d3 RESERVED for future platform pages
   1c #cfd9c2 legal pages · 1d #124b49 briefing + use case pages */
/* ============================================================
   AAAnow · AI Readiness · shared stylesheet
   Used by: AI-Readiness-landing.html (body.page-landing)
   Sections: fonts · base · header · hero · shared blocks ·
             landing-only · footer · utilities ·
             animation · media queries
   ============================================================ */

/* ---- Fonts ---- */
@font-face { font-family: 'Funnel Display'; src: url('assets/fonts/FunnelDisplay.woff2') format('woff2'); font-weight: 300 800; font-style: normal; font-display: swap; }
@font-face { font-family: 'Plus Jakarta Sans'; src: url('assets/fonts/PlusJakartaSans.ttf') format('truetype-variations'), url('assets/fonts/PlusJakartaSans.ttf') format('truetype'); font-weight: 200 800; font-style: normal; font-display: swap; }/* Self-hosted 2 Sep 2026 (audit finding, owner decision 2): the variable file covers the 300 and 400 weights the site uses, replacing 2 remote Google Fonts requests per page. Licence: assets/fonts/PlusJakartaSans-OFL.txt */

/* ---- Base ---- */
* { box-sizing: border-box; }body { margin: 0; background: #f8f7f0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 300; color: #2e2c28; }.wrap { max-width: 1296px; margin: 0 auto; padding-left: 44px; padding-right: 44px; }a { color: inherit; }a:hover { color: #0c4a4e; }html { scroll-padding-top: 120px; }/* ---- Sticky header ---- */
site-header { display: block; position: sticky; top: 0; z-index: 100; }.site-header .wrap { display: flex; justify-content: space-between; align-items: center; gap: 18px; flex-wrap: wrap; }.divider { height: 1px; background: #e3ded2; }/* ---- Hero ---- */
.hero { padding: 56px 0 32px; }.hero h1 { font-family: 'Funnel Display', Candara, sans-serif; font-weight: 600; font-size: 42px; line-height: 1.12; color: #0d0d0c; margin: 0 0 20px; max-width: 80%; }.hero p { font-size: 15px; line-height: 1.65; margin: 0 0 16px; max-width: 80%; }.hero .plain { font-weight: 700; color: #0d0d0c; }/* ---- Kickers and section titles ---- */
.kicker { font-weight: 600; font-size: 10.5px; letter-spacing: 2.2px; text-transform: uppercase; color: #0c4a4e; margin: 0 0 16px; }h2.kicker { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 600; font-size: 10.5px; letter-spacing: 2.2px; text-transform: uppercase; color: #0c4a4e; margin: 0 0 16px; }.section { padding: 18px 0 64px; }.section h2 { font-family: 'Funnel Display', Candara, sans-serif; font-weight: 600; font-size: 26px; color: #0d0d0c; margin: 0 0 26px; }.evidence { background: #fdfcf9; border: 1px solid #e2ded4; border-radius: 12px; padding: 44px 48px; margin: 0 0 54px; }.unknown-row { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: start; margin: 0; }.unknown-item { display: flex; gap: 30px; align-items: flex-start; }.unknown-copy { padding-top: 48px; }.donut { position: relative; width: min(269px, 100%); aspect-ratio: 1 / 1; flex: none; }.donut .centre { position: absolute; inset: 0; display: grid; place-items: center; text-align: center; }.donut .cnum { font-family: 'Funnel Display', Candara, sans-serif; font-weight: 600; font-size: 44px; line-height: 1; color: #0d0d0c; margin: 0; }.donut .clab { font-weight: 600; font-size: 10px; letter-spacing: 1.8px; text-transform: uppercase; color: #6e6a5e; margin: 6px 0 0; }.unknown-copy .lead { font-family: 'Funnel Display', Candara, sans-serif; font-size: 20px; line-height: 1.45; color: #0d0d0c; margin: 0 0 14px; max-width: 230px; }span.src-att, b.src-att, .src-att { font-family: Arial, Helvetica, sans-serif !important; font-size: 9px !important; }div.unknown-copy p.src, .unknown-copy .src { font-family: Arial, Helvetica, sans-serif; font-size: 9px; line-height: 1.55; color: #4f4d47; margin: 0; }.unknown-row.three { grid-template-columns: repeat(3, 1fr); gap: 40px; align-items: stretch; }.unknown-row.three .unknown-item { flex-direction: column; align-items: flex-start; gap: 6px; }.unknown-row.three .donut { width: min(228px, 100%); }.unknown-row.three .unknown-copy { padding-top: 22px; display: flex; flex-direction: column; flex: 1 1 auto; }.unknown-row.three .unknown-copy .src { margin-top: auto; min-height: 4.65em; }.unknown-row.three .unknown-copy .lead { font-size: 18px; max-width: 320px; }
@media (max-width: 1150px) {.unknown-row.three { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 860px) {.unknown-row.three { grid-template-columns: 1fr; row-gap: 36px; } }/* ---- Four-column value grid (shared) ---- */
.return-grid { display: grid; grid-template-columns: repeat(4, 1fr); }.return-grid > div { padding: 0 22px; }.return-grid > div:first-child { padding-left: 0; }.return-grid > div:last-child { padding-right: 0; }.return-grid > div + div { border-left: 1px solid #ddd8cc; }.return-grid .t { font-weight: 700; font-size: 13.5px; color: #0d0d0c; margin: 0 0 6px; }.return-grid .d { font-size: 12.5px; line-height: 1.6; color: #6b665a; margin: 0; }.return-band { background: #0b3b3b; padding: 64px 0; }.return-band .kicker { color: #e8c56b; }.return-band .return-grid .t { color: #f4f1ea; }.return-band .return-grid .d { color: #9db8b3; }.return-band .return-grid > div + div { border-left: 1px solid rgba(244,241,234,.18); }.return-band .return-grid .t::before { content: ""; display: block; width: 22px; height: 3px; background: #e8c56b; margin: 0 0 12px; }/* ---- Landing · three stages ---- */
.stages { padding: 64px 0 56px; }.stages .intro { font-size: 14px; line-height: 1.65; color: #4f4d47; margin: 0 0 28px; max-width: 770px; }.stage { border: 1px solid #e2ded4; border-radius: 12px; background: #fdfcf9; padding: 22px 28px; margin: 0 0 10px; }.stage-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; cursor: pointer; }.stage-head .n { font-weight: 700; font-size: 13.5px; letter-spacing: .5px; color: #0c4a4e; margin: 0; }.stage.muted .stage-head .n { color: #41544f; }.stage-head .s { font-weight: 600; font-size: 9.5px; letter-spacing: 1.8px; text-transform: uppercase; color: #6e6a5e; margin: 0; }.stage-head .ctrl { color: #0c4a4e; margin-left: 16px; }.stage-body { display: none; margin-top: 32px; }.stage.open .stage-body { display: block; }.stage .prose { margin-top: 18px; max-width: 770px; }.stage .prose p { font-size: 13.5px; line-height: 1.65; color: #4f4d47; margin: 0 0 10px; }.stage .prose .note { font-size: 11.5px; line-height: 1.5; color: #5f6f6a; margin: 0; }.stages .contin { font-size: 11.5px; line-height: 1.5; color: #5f6f6a; margin: 12px 0 0; }.stages .stage-head { align-items: center; }.stages .stage-left { display: flex; align-items: center; gap: 14px; min-width: 0; }.stages .stage-ring { position: relative; width: 46px; height: 46px; flex: none; }.stages .stage-ring svg { width: 46px; height: 46px; display: block; }.stages .stage-ring-pct { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font: 700 10.5px "Helvetica Neue", Helvetica, Arial, sans-serif; color: #0d0d0c; }

/* ---- Interactive timeline (shared;landing = 5 steps, poc = 4) ---- */
.tl { position: relative; }.tl-line { position: absolute; left: 12.5%; right: 12.5%; top: 33px; height: 2px; background: #d5dbd4; }.page-landing .tl-line { left: 10%; right: 10%; }.tl-fill { height: 2px; background: #0c4a4e; width: 0; transition: width .5s ease; }.tl-cols { display: grid; grid-template-columns: repeat(4, 1fr); position: relative; }.page-landing .tl-cols { grid-template-columns: repeat(5, 1fr); }.tl-col { text-align: center; cursor: pointer; }button.tl-col { background: none; border: 0; padding: 0; font: inherit; }.tl-col .tl-time, .tl-col .tl-name { display: block; }.tl-time { font-weight: 600; font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase; color: #6e6a5e; margin: 0 0 10px; line-height: 1; }.tl-dot { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto; font: 700 12px "Helvetica Neue", Helvetica, Arial, sans-serif; transition: all .35s ease; position: relative; z-index: 1; background: #fdfcf9; border: 2px solid #b3c2bd; color: #8aa39e; }.tl-col.passed .tl-dot, .tl-col.active .tl-dot { background: #0c4a4e; border-color: #0c4a4e; color: #f7f5ef; }.tl-col.active .tl-dot { box-shadow: 0 0 0 6px rgba(12,74,78,.14); transform: scale(1.18); }.tl-name { font-weight: 600; font-size: 12.5px; color: #5c6d68; margin: 12px 6px 0; line-height: 1.35; transition: color .3s ease; }.tl-col.active .tl-name { font-weight: 700; color: #0c4a4e; }.tl-panel { background: #fff; border: 1px solid #e2ded4; border-radius: 4px; padding: 20px 24px; margin: 22px 0 0; min-height: 152px; }.tl-panel .tag { font-weight: 600; font-size: 9.5px; letter-spacing: 1.8px; text-transform: uppercase; color: #0c4a4e; margin: 0 0 8px; }.tl-panel .title { font-family: 'Funnel Display', Candara, sans-serif; font-weight: 600; font-size: 19px; color: #0d0d0c; margin: 0 0 7px; }.tl-panel .text { font-size: 13px; line-height: 1.65; color: #4f4d47; margin: 0; max-width: 748px; }/* ---- Landing · pricing ---- */
.pricing { background: #f0ede3; border-top: 1px solid #e3ded2; border-bottom: 1px solid #e3ded2; padding: 64px 0 56px; }.pricing .lead { font-size: 13px; line-height: 1.6; color: #6e6a5e; margin: 0 0 22px; max-width: 700px; }.price-scroll { overflow-x: auto; }.pricing table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 680px; }.pricing th { font: 600 10.5px/1.4 "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: 1.6px; text-transform: uppercase; color: #0c4a4e; text-align: left; padding: 0 16px 10px 2px; border-bottom: 2px solid #0c4a4e; }.pricing td { padding: 13px 16px 13px 2px; border-bottom: 1px solid #e2ded4; color: #4f4d47; line-height: 1.5; vertical-align: top; }.pricing td.num { font-variant-numeric: tabular-nums; white-space: nowrap; }.pricing th:nth-child(1) { width: 16%; }.pricing th:nth-child(2) { width: 19%; }.pricing th:nth-child(3) { width: 13.5%; }.pricing th:nth-child(4) { width: 23%; }.pricing th:nth-child(5) { width: 19%; }.pricing th:nth-child(6) { width: 9.5%; }.pricing td div + div { margin-top: 6px; }.pricing td .yr { font-weight: 700; color: #0d0d0c; }.pricing .terms { margin: 20px 0 0; max-width: 740px; }.pricing .terms p { font-size: 13px; line-height: 1.65; color: #4f4d47; margin: 0 0 8px; }.pricing .terms strong { color: #0d0d0c; }/* ---- Landing · FAQ ---- */
.faq { padding: 48px 0 64px; }.faq .lead { font-size: 13px; line-height: 1.6; color: #6e6a5e; margin: 0 0 18px; max-width: 700px; }.faq details { border-top: 1px solid #e2ded4; }.faq details:last-of-type { border-bottom: 1px solid #e2ded4; }.faq summary { cursor: pointer; font: 600 13.5px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif; color: #0c4a4e; padding: 13px 2px; }.faq details p { font-size: 13px; line-height: 1.65; color: #4f4d47; margin: 0 0 14px; max-width: 720px; padding: 0 2px; }/* ---- POC · added panels + header jump-nav ---- */
#why, #what, #run, #outcome, #start, #brief { scroll-margin-top: 120px; }/* ---- CTA band (shared) ---- */
.cta { background: #0b3b3b; padding: 64px 0; }.cta .kicker { color: #e8c56b; }.cta-h2 { font-family: 'Funnel Display', Candara, sans-serif; font-weight: 600; font-size: 26px; color: #f4f1ea; margin: 0 0 26px; }.cta .quote { font-family: 'Funnel Display', Candara, sans-serif; font-size: 19px; line-height: 1.5; color: #f4f1ea; margin: 0 0 26px; max-width: 760px; }.cta-row { display: flex; justify-content: space-between; align-items: center; gap: 18px; flex-wrap: wrap; }.cta-buttons { display: flex; gap: 12px; flex-wrap: wrap; }.btn-gold { background: #e8c56b; color: #0b3b3b; font: 700 13px "Helvetica Neue", Helvetica, Arial, sans-serif; padding: 12px 22px; border-radius: 3px; cursor: pointer; text-decoration: none; display: inline-block; }.btn-gold:hover { color: #0b3b3b; }.btn-line { border: 1px solid rgba(244,241,234,.45); color: #f4f1ea; font: 600 13px "Helvetica Neue", Helvetica, Arial, sans-serif; padding: 12px 22px; border-radius: 3px; cursor: pointer; text-decoration: none; display: inline-block; }.btn-line:hover { background: rgba(244,241,234,.08); color: #f4f1ea; }.cta a:hover { color: #f4f1ea; }.cta .trial { font-size: 11.5px; line-height: 1.5; color: #9db8b3; margin: 14px 0 0; }

/* ---- Link standard (site-wide, locked): no underline at rest;on hover
   the colour lifts and a 1px gold underline builds from the left. :where()
   keeps specificity at zero so page-level treatments still win. ---- */
a { text-decoration: none; }a:where(:not(.skip):not(.lg):not(.btn-pill):not(.btn-gold):not(.btn-line):not(.btn-hdr):not(.share-btn):not(.ax-card):not(.ax-row):not(.m-send):not(.nav-cta):not(:has(img))) { position: relative; width: fit-content; max-width: 100%; }
/* width: fit-content shrink-wraps block/flex/grid anchors to their words, so the
   built underline can never run past the text;inline anchors are unaffected. */
a:where(:not(.skip):not(.lg):not(.btn-pill):not(.btn-gold):not(.btn-line):not(.btn-hdr):not(.share-btn):not(.ax-card):not(.ax-row):not(.m-send):not(.nav-cta):not(:has(img)))::after { content: ""; position: absolute; left: 0; bottom: -3px; height: 1px; width: 0; background: #9a7328; transition: width .45s cubic-bezier(.22,.61,.36,1); }a:where(:not(.skip):not(.lg):not(.btn-pill):not(.btn-gold):not(.btn-line):not(.btn-hdr):not(.share-btn):not(.ax-card):not(.ax-row):not(.m-send):not(.nav-cta):not(:has(img))):hover::after { width: 100%; }.std-hero a::after, .std-card a::after, .brief-hero a::after, .cta a::after, .next-card a::after { background: rgba(232,197,107,.55); }
@media (prefers-reduced-motion: reduce) {a::after { transition: none; } }/* ---- Footer (shared standard, baked 13 Aug 2026 · from footer-options 6a) ---- */
.site-footer .h { font-weight: 600; font-size: 9.5px; letter-spacing: 1.8px; text-transform: uppercase; color: #e8c56b; margin: 0 0 12px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }.site-footer .h .hl { color: inherit; }.site-footer .h.sub { margin-top: 24px; }.site-footer .links { display: flex; flex-direction: column; gap: 8px; }.site-footer .links a { font-size: 12.5px; line-height: 1.5; color: #c4d2ce; }.site-footer .links a:hover { color: #f4f1ea; }.site-footer .status { display: inline-flex; align-items: center; gap: 7px; }.site-footer .dot { display: inline-block; width: 7px; height: 7px; border-radius: 999px; background: #2f8a4c; }.site-footer .sh { font-weight: 600; font-size: 9.5px; letter-spacing: 1.8px; text-transform: uppercase; color: #a3c0ba; margin: 0 0 8px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }.site-footer .txt { font-size: 10.5px; line-height: 1.7; color: #9db8b3; margin: 0; max-width: 106ch; }.site-footer .txt em { font-style: normal; }.site-footer { display: block; background: #f8f7f0; padding: 40px 0 34px; font-family: 'Funnel Display', Candara, sans-serif; font-weight: 300; }.site-footer .in { max-width: 1400px; margin: 0 auto; padding: 0 44px; }.site-footer .plate { position: relative; background: #082f2f; border-radius: clamp(16px, 1.8vw, 26px); padding: clamp(34px, 3.6vw, 48px) clamp(32px, 3.8vw, 58px) clamp(30px, 3.2vw, 42px); overflow: hidden; display: grid; grid-template-columns: 190px 1px minmax(0,1fr); grid-template-rows: auto 1fr auto; grid-template-areas: "brand . ." "rail vrule field" "bottoml vrule bottomr"; gap: 0 clamp(32px, 3vw, 52px); }.site-footer .plate::before { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 1px solid rgba(244,241,234,.12); pointer-events: none; }.site-footer .plate::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(80% 120% at 100% 0%, rgba(255,255,255,.05) 0%, transparent 60%); }.site-footer .plate > * { position: relative; z-index: 1; }.site-footer .brandrow { grid-area: brand; padding-bottom: 30px; }.site-footer .brandrow svg { height: 28px; width: auto; display: block; }.site-footer .vrule { grid-area: vrule; background: rgba(244,241,234,.12); margin: 6px 0 2px; }.site-footer .rail { grid-area: rail; }/* left-side spacing halved: heading-to-item 5px, label-to-value 2px */
  .site-footer .rail .h { margin: 0 0 5px; }.site-footer .rail .h.ab { margin-top: 0; }.site-footer .rail .h.ct { margin: 26px 0 8px; }.site-footer .pl { margin: 0 0 2px; font-weight: 600; font-size: 9.5px; letter-spacing: 1.8px; text-transform: uppercase; color: #9db8b3; }.site-footer .pair { margin: 0 0 14px; }.site-footer .pair:last-of-type { margin-bottom: 0; }.site-footer .pv { margin: 0; font-size: 12.5px; line-height: 1.55; color: #c4d2ce; }.site-footer .pv a { color: #c4d2ce; text-decoration: none; padding-bottom: 1px; transition: color .15s ease; }.site-footer .pv a:hover { color: #f4f1ea; }.site-footer .field { grid-area: field; }.site-footer .cols { display: grid; grid-template-columns: minmax(0,0.95fr) minmax(0,1fr) minmax(0,1.35fr) minmax(0,1.15fr); gap: 50px clamp(30px, 2.6vw, 42px); }.site-footer .h.sub { margin-top: 34px; }/* column nudges, 23 Aug 2026 */
@media (min-width: 1181px) {
  .site-footer .cols .col:nth-child(2) { position: relative; left: -5px; }
  .site-footer .cols .col:nth-child(3) { position: relative; left: 11px; }
  .site-footer .cols .col:nth-child(4) { position: relative; left: 31px; }
}.site-footer .links { gap: 6px; }.site-footer .links a { padding-bottom: 2px; transition: color .15s ease; align-self: start; display: inline-block; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: top; }.site-footer .links a.status { display: inline-flex; max-width: none; }.site-footer .status .ext { width: 10px; height: 10px; margin-left: 6px; opacity: .65; flex: none; }.site-footer .links a:hover { color: #f4f1ea; }.site-footer .h .hl { transition: color .15s ease; }.site-footer .h .hl:hover { color: #f4f1ea; }/* the underline BUILDS from the left on hover: 1px soft gold, quick but subtle */
  .site-footer .pv a, .site-footer .links a, .site-footer .h .hl { position: relative; }.site-footer .pv a::after, .site-footer .links a::after, .site-footer .h .hl::after { content: ""; position: absolute; left: 0; bottom: -2px; height: 1px; width: 0; background: rgba(232,197,107,.55); transition: width .45s cubic-bezier(.22,.61,.36,1); }.site-footer .pv a:hover::after, .site-footer .links a:hover::after, .site-footer .h .hl:hover::after { width: 100%; }.site-footer .links a::after { bottom: 0; }
  @media (prefers-reduced-motion: reduce) {.site-footer .pv a::after, .site-footer .links a::after, .site-footer .h .hl::after { transition: none; } }/* articles: one line only, ellipsised when longer */
  /* the closing row: copyright lower left, strapline lower right, a little more air beneath */
  .site-footer .bottoml { grid-area: bottoml; align-self: end; padding-top: 70px; }.site-footer .bottomr { grid-area: bottomr; align-self: end; padding-top: 70px; display: flex; justify-content: flex-end; }.site-footer .microline { font-size: 10.5px; color: #8aa8a2; margin: 0; }.site-footer .strapline { margin: 0; font-weight: 600; font-size: 10.5px; letter-spacing: 1.6px; text-transform: uppercase; color: rgba(232,197,107,.72); text-align: right; }
  @media (max-width: 1180px) {.site-footer .plate { grid-template-columns: minmax(0,1fr); grid-template-rows: auto; grid-template-areas: "brand" "rail" "field" "bottoml" "bottomr"; }.site-footer .vrule { display: none; }.site-footer .rail { margin-bottom: 36px; }.site-footer .cols { grid-template-columns: repeat(3, minmax(0,1fr)); }.site-footer .bottoml { padding-top: 32px; }.site-footer .bottomr { padding-top: 10px; justify-content: flex-start; }.site-footer .strapline { text-align: left; }
  }
  @media (max-width: 640px) {.site-footer .cols { grid-template-columns: minmax(0,1fr); }.site-footer .in { padding: 0 20px; } }/* stacked order, 23 Aug 2026: menu columns first, About and Contact last */
@media (max-width: 1180px) {
  .site-footer .plate { grid-template-areas: "brand" "field" "rail" "bottoml" "bottomr"; }
  .site-footer .rail { margin: 40px 0 0; }
  .site-footer .cols .col:nth-child(1) { order: 4; }
  .site-footer .cols .col:nth-child(2) { order: 1; }
  .site-footer .cols .col:nth-child(3) { order: 2; }
  .site-footer .cols .col:nth-child(4) { order: 3; }
}/* statements as the site's ruled ledger, not a dump: gold label rail, ruled rows */
  .site-footer .statements { max-width: 1400px; margin: 30px auto 0; display: block; gap: 0; padding-left: clamp(32px, 3.8vw, 58px); }.site-footer .stmt { display: block; padding: 0 0 20px; }.site-footer .statements .sh { margin: 0 0 8px; color: #715316; }.site-footer .statements .txt { margin: 0; font-size: 11.5px; line-height: 1.75; color: #4f4d47; max-width: 92ch; }/* ---- Legal pages (body.page-legal) ---- */
.page-legal .legal-hero { background: transparent; padding: 52px 0 26px; }.page-legal .hero-eyebrow { font-weight: 600; font-size: 10.5px; letter-spacing: 2.2px; text-transform: uppercase; color: #715316; margin: 0 0 16px; }.page-legal .hero-title { font-family: 'Funnel Display', Candara, sans-serif; font-weight: 600; font-size: 40px; line-height: 1.12; color: #14140f; margin: 0 0 18px; max-width: 80%; }.page-legal .hero-standfirst { font-size: 15px; line-height: 1.65; color: rgba(20,20,15,.72); margin: 0; max-width: 80%; }.page-legal .hero-callout { display: inline-block; margin-top: 22px; padding: 11px 20px; border: 1px solid rgba(20,20,15,.25); border-radius: 3px; font-weight: 600; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: #14140f; }.page-legal .hero-meta { margin-top: 36px; padding-top: 20px; border-top: 1px solid rgba(20,20,15,.15); display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; }.page-legal .meta-pairs { display: flex; align-items: baseline; gap: 32px; flex-wrap: wrap; }.page-legal .meta-pair { display: flex; flex-direction: column; gap: 4px; }.page-legal .meta-label { font-weight: 600; font-size: 9.5px; letter-spacing: 2px; text-transform: uppercase; color: rgba(20,20,15,0.66); }.page-legal .meta-value { font-size: 13px; font-weight: 500; color: #14140f; }.page-legal .meta-value.mono { font-family: "SF Mono", Menlo, Consolas, monospace; letter-spacing: .4px; }.page-legal .share-row { display: inline-flex; gap: 6px; align-items: center; }.page-legal .share-btn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(20,20,15,.04); border: 1px solid rgba(20,20,15,.18); color: #14140f; text-decoration: none; cursor: pointer; padding: 0; transition: border-color .16s ease, color .16s ease; }.page-legal .share-btn:hover { border-color: #715316; color: #715316; }.page-legal .share-btn svg { width: 16px; height: 16px; }.page-legal .share-btn.copied { color: #715316; border-color: #715316; }.page-legal .grid { display: grid; grid-template-columns: minmax(0, 1fr) 260px; column-gap: 64px; align-items: start; padding: 52px 0 84px; }.page-legal .article { max-width: 820px; font-size: 14px; line-height: 1.7; color: #4f4d47; }.page-legal .article p, .page-legal .article ul, .page-legal .article ol { margin: 0 0 14px; }.page-legal .article p { text-wrap: pretty; }.page-legal .article ul { padding-left: 22px; }.page-legal .article ul li { list-style: none; position: relative; margin-bottom: 10px; padding-left: 4px; }.page-legal .article ul li::before { content: ""; position: absolute; left: -16px; top: 10px; width: 6px; height: 6px; border-radius: 50%; background: #e8c56b; }.page-legal .article ol { list-style: none; counter-reset: clause; padding-left: 0; }.page-legal .article ol li { counter-increment: clause; margin-bottom: 14px; padding-left: 38px; position: relative; }.page-legal .article ol li::before { content: counter(clause) "."; position: absolute; left: 0; top: 2px; font: 500 12px "SF Mono", Menlo, Consolas, monospace; color: #715316; }.page-legal .article a { color: #0c4a4e; }.page-legal .article a:hover { color: #715316; }.page-legal .article h2 { font-family: 'Funnel Display', Candara, sans-serif; font-weight: 600; font-size: 24px; line-height: 1.2; color: #0d0d0c; margin: 46px 0 16px; scroll-margin-top: 130px; }.page-legal .article h2:first-of-type { margin-top: 0; }.page-legal .article h2:has(.num) { margin-top: 46px; }.page-legal .article h2 .num { display: inline-block; margin-right: 12px; font: 500 12.5px "SF Mono", Menlo, Consolas, monospace; color: #715316; letter-spacing: .3px; vertical-align: .18em; }.page-legal .article h3 { font-family: 'Funnel Display', Candara, sans-serif; font-weight: 600; font-size: 16.5px; line-height: 1.3; color: #0d0d0c; margin: 26px 0 10px; scroll-margin-top: 130px; }.page-legal .article h3 .num { display: inline-block; margin-right: 10px; font: 500 11px "SF Mono", Menlo, Consolas, monospace; color: #715316; letter-spacing: .3px; vertical-align: .12em; }.page-legal .article strong, .page-legal .article b { color: #0d0d0c; font-weight: 600; }.page-legal .article hr { border: none; height: 1px; background: #e2ded4; margin: 36px 0; }.page-legal .article .lede { font-family: 'Funnel Display', Candara, sans-serif; font-size: 18px; line-height: 1.5; color: #0d0d0c; margin: 0 0 26px; }.page-legal .toc { position: sticky; top: 130px; align-self: start; max-height: calc(100vh - 150px); overflow-y: auto; padding-left: 22px; border-left: 1px solid #e2ded4; }.page-legal .toc-label { font-weight: 600; font-size: 10.5px; letter-spacing: 2.2px; text-transform: uppercase; color: #0c4a4e; margin: 0 0 14px; }.page-legal .toc-list { display: flex; flex-direction: column; gap: 2px; }.page-legal .toc-list a { display: grid; grid-template-columns: 28px 1fr; padding: 7px 0 7px 12px; margin-left: -14px; border-left: 2px solid transparent; font-size: 12.5px; line-height: 1.45; color: #6b665a; text-decoration: none; transition: color .16s ease, border-color .16s ease; }.page-legal .toc-list a:hover { color: #0d0d0c; }.page-legal .toc-list a::after { content: none; }/* row-nav item: active edge + colour lift, no underline */
.page-legal .toc-list a.is-active { color: #715316; border-left-color: #e8c56b; font-weight: 600; }.page-legal .toc-list a .n { font: 500 11px "SF Mono", Menlo, Consolas, monospace; color: #715316; letter-spacing: .3px; }
@media (max-width: 1000px) {.page-legal .hero-title, .page-legal .hero-standfirst { max-width: none; }.page-legal .grid { grid-template-columns: 1fr; row-gap: 32px; }.page-legal .toc { position: static; max-height: none; border-left: none; border-top: 1px solid #e2ded4; padding: 18px 0 0; }
}
@media (max-width: 860px) {.page-legal .hero-title { font-size: 30px; } }
@media print {.page-legal .site-header, .page-legal .toc, .page-legal .site-footer, .page-legal .share-row, .page-legal .skip { display: none !important; }.page-legal .legal-hero { background: none; padding: 0 0 10px; }.page-legal .hero-eyebrow, .page-legal .hero-title, .page-legal .hero-standfirst, .page-legal .hero-callout, .page-legal .meta-label, .page-legal .meta-value { color: #000; border-color: #999; }.page-legal .hero-meta { border-color: #999; }.page-legal .grid { display: block; padding: 20px 0 0; }.page-legal .article { max-width: none; color: #000; }.page-legal .article a::after { content: " (" attr(href) ")"; font-size: .85em; color: #555; }
}/* ---- Utilities and focus ---- */
.skip { position: absolute; left: -9999px; top: 0; background: #0c4a4e; color: #f7f5ef; padding: 10px 18px; z-index: 10; font-size: 13px; text-decoration: none; }.skip:focus { left: 12px; top: 12px; }a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #0c4a4e; outline-offset: 2px; border-radius: 2px; }.cta a:focus-visible, .return-band a:focus-visible, .hw a:focus-visible, .hw button:focus-visible, .site-footer a:focus-visible { outline-color: #e8c56b; }.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }button.stage-head { background: none; border: 0; padding: 0; font: inherit; width: 100%; text-align: left; }/* ---- Scroll-triggered reveals (applied only when JS confirms motion is allowed) ---- */
body.anim .donut .centre { opacity: 0; transition: opacity .9s ease .2s; }body.anim .donut.on .centre { opacity: 1; }body.anim .donut svg circle:last-of-type { opacity: 0; transition: opacity .6s ease .9s; }body.anim .donut.on svg circle:last-of-type { opacity: 1; }body.anim .pricing tbody tr { opacity: 0; transform: translateY(7px); transition: opacity .65s ease, transform .65s cubic-bezier(.22,.61,.36,1); }body.anim .pricing tbody.on tr { opacity: 1; transform: none; }/* ---- Media queries ---- */
@media (prefers-reduced-motion: reduce) {
  .tl-fill, .tl-dot, .tl-name { transition: none !important; }
}
@media (max-width: 1150px) {.unknown-row { grid-template-columns: 1fr; row-gap: 36px; }.unknown-copy .lead { max-width: 460px; }.evidence { padding: 32px; }
}
@media (max-width: 860px) {.hero h1 { font-size: 32px; }.return-grid { grid-template-columns: 1fr; }.unknown-row { grid-template-columns: 1fr; }.unknown-item { flex-direction: column; align-items: flex-start; }.return-grid > div { padding: 0 0 18px; }.return-grid > div + div { border-left: none; }.tl-name { font-size: 10.5px; }.wrap { padding-left: 28px; padding-right: 28px; }
}

/* ---- Briefing page (body.page-briefing) ---- */
/* Briefing-family hero: the standard contained rounded card (1d #124b49),
   never a full-width band. The band goes transparent;the inner .wrap
   becomes the card. */
.page-briefing .brief-hero { background: transparent; padding: clamp(96px, 12vh, 122px) 0 0; }.page-briefing .brief-hero > .wrap { position: relative; background: #124b49; border-radius: clamp(16px, 1.8vw, 26px); overflow: hidden; max-width: 1296px; padding: clamp(34px, 4.6vh, 54px) clamp(30px, 4vw, 58px) 0; }.page-briefing .brief-hero > .wrap::before { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 1px solid rgba(244,241,234,.12); pointer-events: none; }
@media (max-width: 1382px) {.page-briefing .brief-hero > .wrap { margin-left: 44px; margin-right: 44px; max-width: none; } }
@media (max-width: 700px) {.page-briefing .brief-hero > .wrap { margin-left: 16px; margin-right: 16px; padding: 26px 22px 0; }.page-briefing .brief-hero h1, .page-briefing .brief-hero .standfirst, .hero h1, .hero p { max-width: none; } }.page-briefing .brief-hero .eyebrow { font-weight: 600; font-size: 10.5px; letter-spacing: 2.2px; text-transform: uppercase; color: #e8c56b; margin: 0 0 16px; }.page-briefing .brief-hero h1 { font-family: 'Funnel Display', Candara, sans-serif; font-weight: 600; font-size: 40px; line-height: 1.12; color: #f4f1ea; margin: 0 0 18px; max-width: 80%; }.page-briefing .brief-hero .standfirst { font-size: 15px; line-height: 1.65; color: #b9cbc6; margin: 0 0 14px; max-width: 80%; }.page-briefing .invite-callout { display: inline-block; margin-top: 14px; padding: 11px 20px; border: 1px solid rgba(244,241,234,.28); border-radius: 3px; font-weight: 600; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: #f4f1ea; }.page-briefing .brief-meta { margin-top: 36px; border-top: 1px solid rgba(244,241,234,.15); padding: 20px 0 30px; display: flex; align-items: baseline; gap: 40px; flex-wrap: wrap; }.page-briefing .brief-meta .pair { display: flex; flex-direction: column; gap: 4px; }.page-briefing .brief-meta .l { font-weight: 600; font-size: 9.5px; letter-spacing: 2px; text-transform: uppercase; color: #a3c0ba; }.page-briefing .brief-meta .v { font-size: 13px; font-weight: 500; color: #f4f1ea; }.page-briefing .prose-lead { font-size: 14px; line-height: 1.7; color: #4f4d47; margin: 0 0 14px; max-width: 740px; }.page-briefing .prose-lead strong { color: #0d0d0c; font-weight: 600; }.page-briefing .fb-band { background: #f0ede3; border-top: 1px solid #e3ded2; border-bottom: 1px solid #e3ded2; padding: 56px 0 60px; }.page-briefing .fb-band h2 { font-family: 'Funnel Display', Candara, sans-serif; font-weight: 600; font-size: 26px; color: #0d0d0c; margin: 0 0 26px; }.page-briefing .fb-list { margin: 30px 0 0; max-width: 900px; border-top: 1px solid #e2ded4; }.page-briefing .fb-row { display: grid; grid-template-columns: 230px 1fr; gap: 8px 32px; padding: 15px 0; border-bottom: 1px solid #eeeae0; align-items: baseline; }.page-briefing .fb-row dt { font-weight: 600; font-size: 10px; letter-spacing: 1.8px; text-transform: uppercase; color: #715316; margin: 0; }.page-briefing .fb-row dd { font-size: 13.5px; line-height: 1.6; color: #4f4d47; margin: 0; max-width: 620px; text-wrap: pretty; }
@media (max-width: 700px) {.page-briefing .fb-row { grid-template-columns: 1fr; }
}.brief-only-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 64px; margin-top: 30px; }.brief-only-grid .sys-item .d { max-width: 520px; }.page-briefing .return-grid { margin-top: 30px; }.page-briefing .return-grid .t::before { content: ""; display: block; width: 22px; height: 3px; background: #e8c56b; margin: 0 0 12px; }.page-briefing .cta p.body { font-size: 13.5px; line-height: 1.65; color: #b9cbc6; margin: 0 0 26px; max-width: 680px; }/* ---- Briefing · next step (two options + document cards) ---- */
.next-two { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 820px; margin: 6px 0 0; }.next-card { display: flex; flex-direction: column; border: 1px solid rgba(244,241,234,.14); background: rgba(255,255,255,.04); border-radius: 12px; padding: 30px 32px 32px; }.next-card .lbl { font: 600 10px "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: 1.8px; text-transform: uppercase; color: #e8c56b; margin: 0 0 12px; }.next-card .ct { font-size: 13.5px; line-height: 1.65; color: #cdddd8; margin: 0 0 24px; flex: 1; }.next-card .ct a { color: #f4f1ea; text-decoration: underline; text-underline-offset: 3px; }.btn-pill { display: inline-flex; align-items: center; align-self: flex-start; font: 700 12.5px "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: .3px; padding: 13px 26px; border-radius: 999px; text-decoration: none; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }.btn-pill.gold { background: #e8c56b; color: #0b3b3b; }.btn-pill.gold:hover { background: #efce7f; color: #0b3b3b; transform: translateY(-1px); box-shadow: 0 6px 18px rgba(232,197,107,.22); }.btn-pill.teal { background: #0b3b3b; color: #ffffff; }.btn-pill.teal:hover { background: #124b49; color: #ffffff; transform: translateY(-1px); box-shadow: 0 6px 18px rgba(11,59,59,.35); }.page-briefing .hdr-jump { position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: flex; gap: 22px; align-items: center; opacity: 0; visibility: hidden; transition: none; }.page-briefing .hdr-jump a { position: relative; padding-bottom: 8px; font: 600 10px "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: 1.3px; text-transform: uppercase; color: #56716c; text-decoration: none; white-space: nowrap; transition: color .2s ease; }.page-briefing .hdr-jump a::after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: calc(var(--p, 0) * 100%); background: #9a7328; transition: width .15s linear; }.page-briefing .hdr-jump a:hover { color: #715316; }.page-briefing.nav-on .hdr-jump { opacity: 1; visibility: visible; transition: opacity .3s ease; }#only-h2, #fb-h2, #evidence-h2, #follow-h2, #runs-h2, #next-step, #exposures-h2, #pool-h2, #why-h2, #faq-h2 { scroll-margin-top: 112px; }
@media (max-width: 900px) {.page-briefing .hdr-jump { display: none; }.page-briefing.nav-on .hdr-invite { opacity: 1; visibility: visible; }
}
@media (max-width: 760px) {.next-two, .doc-cards { grid-template-columns: 1fr; } }
@media (max-width: 860px) {.brief-only-grid { grid-template-columns: 1fr; }.page-briefing .brief-hero h1 { font-size: 30px; }
}/* ---- Add-sites page (body.page-add) ---- */
.page-add .hero { padding-top: clamp(96px, 12vh, 122px); }.org-tag { font-weight: 600; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #6e6a5e; margin: 0 0 18px; }.page-add .hero .sub { font-family: 'Funnel Display', Candara, sans-serif; font-size: 20px; line-height: 1.4; color: #0d0d0c; margin: 0 0 18px; max-width: 80%; }.page-add .hero p { max-width: 80%; }.lead-line { font-size: 13.5px; line-height: 1.65; color: #4f4d47; margin: 0 0 14px; max-width: 740px; }.lead-line strong { color: #0d0d0c; }.count-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 22px; }.count-grid > div { border: 1px solid #e2ded4; border-radius: 12px; background: #fdfcf9; padding: 24px 26px 22px; }.count-grid .t { font-weight: 700; font-size: 13.5px; color: #0d0d0c; margin: 0 0 6px; }.count-grid .t::before { content: ""; display: block; width: 22px; height: 3px; background: #e8c56b; margin: 0 0 12px; }.count-grid .d { font-size: 12.5px; line-height: 1.6; color: #6b665a; margin: 0; }
@media (max-width: 1150px) {.count-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {.count-grid { grid-template-columns: 1fr; } }.page-add .cta p { font-size: 13.5px; line-height: 1.65; color: #b9cbc6; margin: 0 0 26px; max-width: 680px; }.hw { position: relative; background: #0b3b3b; border-radius: 22px; padding: 56px 60px; display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 72px); align-items: center; margin-top: 34px; }.hw-list { display: flex; flex-direction: column; gap: 26px; }.hw-item { display: block; position: relative; text-align: left; background: none; border: 0; cursor: pointer; font: inherit; padding: 30px 0 0; opacity: .5; transition: opacity .5s ease; }.hw-item.active { opacity: 1; }.hw-item .gn { position: absolute; top: -12px; left: -4px; font-family: 'Funnel Display', Candara, sans-serif; font-weight: 600; font-size: 72px; line-height: 1; letter-spacing: -2px; color: rgba(232,197,107,.22); transition: color .5s ease; }.hw-item.active .gn { color: rgba(232,197,107,.4); }.hw-item .ht { position: relative; display: block; font-family: 'Funnel Display', Candara, sans-serif; font-weight: 600; font-size: 17.5px; color: #f4f1ea; margin: 0 0 7px; }.hw-item .hd { position: relative; display: block; font-size: 12px; line-height: 1.6; color: #9db8b3; max-width: 320px; }.hw-stage { position: relative; }.hw-stage .frames { display: grid; }.hw-stage img { grid-area: 1 / 1; width: 100%; height: auto; align-self: center; border-radius: 16px; opacity: 0; transform: translateY(10px); transition: opacity .55s ease, transform .55s ease; box-shadow: 0 22px 44px -18px rgba(0,0,0,.5); }.hw-stage img.on { opacity: 1; transform: none; }.hw-link { position: absolute; right: 100%; top: 64px; width: clamp(32px, 5vw, 72px); height: 2px; background: linear-gradient(90deg, rgba(232,197,107,0), rgba(232,197,107,.85)); transition: top .55s cubic-bezier(.22,.61,.36,1); z-index: 1; pointer-events: none; }.hw-link::after { content: ""; position: absolute; right: -3px; top: 50%; transform: translateY(-50%); width: 7px; height: 7px; border-radius: 50%; background: #e8c56b; }.page-add .kicker.snug { margin-bottom: 10px; }.page-add .section h2.tight { margin-bottom: 8px; }.hw-pause { position: absolute; top: 100%; right: 0; margin-top: 14px; z-index: 2; display: grid; place-items: center; width: 32px; height: 32px; background: none; border: 0; padding: 0; color: #fff; opacity: .55; cursor: pointer; transition: opacity .3s ease; }.hw-pause svg { width: 18px; height: 18px; display: block; }.hw-pause svg[hidden] { display: none; }.hw-pause:hover { opacity: 1; }.hw-pause[hidden] { display: none; }.hw-foot { grid-column: 1 / -1; border-top: 1px solid rgba(244,241,234,.14); margin-top: 14px; padding-top: 28px; display: flex; justify-content: space-between; align-items: center; gap: 36px; flex-wrap: wrap; }.hw-foot .must { font-size: 12.5px; line-height: 1.6; color: #9db8b3; margin: 0; max-width: 560px; }.hw-foot .must strong { color: #f4f1ea; }.hw-thanks { grid-column: 1 / -1; font-size: 11.5px; line-height: 1.6; color: #86a49e; margin: 16px 0 0; }
@media (prefers-reduced-motion: reduce) {.hw-stage img, .hw-item, .hw-item .gn, .hw-link { transition: none !important; }.hw-stage img { transform: none; }
}
@media (max-width: 940px) {.hw { grid-template-columns: 1fr; gap: 40px; padding: 34px 28px; }.hw-link { display: none; }
}/* ---- About page (body.page-about) ---- */
.page-about .hero { padding: clamp(96px, 12vh, 122px) 0 20px; }.page-about .hero h1 { max-width: none; }.page-about .hero h1 em { font-style: normal; font-weight: 300; color: #9a7328; }.page-about .hero p { max-width: 720px; }.press .kicker { text-align: center; margin-bottom: 26px; }.people-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(36px, 5vw, 76px); align-items: start; margin: 0; }#people-h2 { margin-bottom: 14px; }.people-grid .lead-copy { max-width: 480px; }.people-grid .sys-items { margin-top: 24px; gap: 17px; }.people-grid .sys-item .t { margin: 0 0 3px; }.people-figure { margin: 0; }.people-figure img { width: 100%; height: auto; display: block; border-radius: 12px; }.people-figure figcaption { font-weight: 600; font-size: 9.5px; letter-spacing: 1.8px; text-transform: uppercase; color: #6e6a5e; margin: 14px 0 0; text-align: center; }.page-about .lead-copy { font-size: 14px; line-height: 1.7; color: #4f4d47; margin: 0 0 14px; max-width: 770px; }.page-about .lead-copy strong { color: #0d0d0c; font-weight: 600; }.page-about .fn { font-size: 11.5px; color: #6e6a5e; }.page-about .return-grid { margin-top: 30px; }.page-about .return-grid .t::before { content: ""; display: block; width: 22px; height: 3px; background: #e8c56b; margin: 0 0 12px; }.sys-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(36px, 5vw, 76px); align-items: start; margin: 30px 0 0; }.sys-items { display: flex; flex-direction: column; gap: 22px; }.sys-item .t { font-weight: 700; font-size: 13.5px; color: #0d0d0c; margin: 0 0 6px; }.sys-item .t::before { content: ""; display: block; width: 22px; height: 3px; background: #e8c56b; margin: 0 0 12px; }.sys-item .d { font-size: 12.5px; line-height: 1.6; color: #6b665a; margin: 0; max-width: 440px; }.sys-item .dm { display: inline-block; font: 500 11px "SF Mono", Menlo, Consolas, monospace; letter-spacing: .3px; color: #0c4a4e; text-decoration: none; margin: 0 0 8px; }.sys-item .dm:hover { color: #715316; }.sys-item .tag { font-weight: 600; font-size: 9px; letter-spacing: 1.6px; text-transform: uppercase; color: #715316; margin-left: 6px; }.sys-figure { background: #fff; border: 1px solid #e2ded4; border-radius: 12px; padding: clamp(16px, 2vw, 26px); margin: 0; position: sticky; top: 130px; }.sys-figure img { width: 100%; height: auto; display: block; }.sys-figure figcaption { font-weight: 600; font-size: 9.5px; letter-spacing: 1.8px; text-transform: uppercase; color: #6e6a5e; margin: 16px 0 0; text-align: center; }
@media (max-width: 940px) {.sys-grid { grid-template-columns: 1fr; }.sys-figure { position: static; } }.avail { display: flex; gap: 36px; align-items: center; margin-top: 34px; }.avail-chart { width: 200px; flex: none; position: relative; }.avail-chart .centre { position: absolute; inset: 0; display: grid; place-items: center; text-align: center; }.avail-chart .cnum { font-family: 'Funnel Display', Candara, sans-serif; font-weight: 600; font-size: 22px; line-height: 1; color: #0d0d0c; margin: 0; }.avail-chart .clab { font-weight: 600; font-size: 8px; letter-spacing: 1.6px; text-transform: uppercase; color: #6e6a5e; margin: 5px 0 0; }.avail-legend { flex: 1; min-width: 0; max-width: 340px; }.avail-row { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #4f4d47; margin: 0; padding: 9px 0; border-bottom: 1px solid #e8e4d8; }.avail-row:first-child { border-top: 1px solid #e8e4d8; }.avail-row .sw { width: 10px; height: 10px; border-radius: 2px; flex: none; }.avail-row .lb { flex: 1; }.avail-row .vl { font-weight: 700; color: #0d0d0c; font-variant-numeric: tabular-nums; }.avail-comment { font-family: 'Funnel Display', Candara, sans-serif; font-size: 14.5px; line-height: 1.55; color: #4f4d47; margin: 18px 0 0; }.infra-grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(36px, 5vw, 76px); align-items: center; margin: 0; }#infra-h2 { margin-bottom: 14px; }.map-figure { margin: 0; }.map-figure img { width: 100%; height: auto; display: block; border-radius: 12px; }.map-figure figcaption { font-weight: 600; font-size: 9.5px; letter-spacing: 1.8px; text-transform: uppercase; color: #6e6a5e; margin: 14px 0 0; text-align: center; }.page-about .hero p.kicker { font-size: 15px; color: #0c4a4e; margin: 0 0 16px; }.page-about .section p.kicker, .page-about .press h2.kicker { font-size: 10.5px; color: #4f4d47; }.page-about .cta p.kicker { font-size: 10.5px; color: #e8c56b; margin: 0 0 16px; }.page-about .cta p { font-size: 13.5px; line-height: 1.65; color: #b9cbc6; margin: 0 0 26px; max-width: 680px; }
@media (max-width: 940px) {.infra-grid, .people-grid { grid-template-columns: 1fr; }.people-figure { max-width: 540px; } }
@media (max-width: 560px) {.avail { flex-direction: column; align-items: flex-start; } }.page-landing .hdr-jump { position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: flex; gap: 22px; align-items: center; opacity: 0; visibility: hidden; transition: none; }.page-landing .hdr-jump a { position: relative; padding-bottom: 8px; font: 600 10px "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: 1.3px; text-transform: uppercase; color: #56716c; text-decoration: none; white-space: nowrap; transition: color .2s ease; }.page-landing .hdr-jump a::after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 0; background: #9a7328; transition: width .15s linear; }.page-landing .hdr-jump a:hover { color: #715316; }.page-landing .hdr-jump a:hover::after { width: 100%; }.page-landing.nav-on .hdr-jump { opacity: 1; visibility: visible; transition: opacity .3s ease; }
@media (max-width: 900px) {.page-landing .hdr-jump { display: none; }.page-landing.nav-on .hdr-invite { opacity: 1; visibility: visible; } }

/* ---- Standard top nav (copied exactly from index.html site-top).
   Transparent at rest;pins to a cream glass plate on scroll. ---- */
.site-top { position: fixed; top: 0; left: 0; right: 0; z-index: 50; transition: background .35s ease, box-shadow .35s ease; }.site-top .row { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1300px; margin: 0 auto; padding: 30px clamp(28px, 5vw, 66px); transition: padding .35s ease; }.site-top .lg { display: block; line-height: 0; }.site-top .lg img { height: 40px; width: auto; display: block; transition: height .35s ease; }.site-top.pinned { background: rgba(248,247,240,.68); -webkit-backdrop-filter: blur(16px) saturate(1.5); backdrop-filter: blur(16px) saturate(1.5); box-shadow: 0 1px 0 rgba(20,20,15,.06), 0 14px 34px -22px rgba(20,20,15,.4); }.site-top.pinned .row { padding-top: 13px; padding-bottom: 13px; }.site-top.pinned .lg img { height: 30px; }.site-top .top-cta { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; opacity: 0; transform: translateY(-4px); pointer-events: none; transition: opacity .45s ease, transform .45s ease; }.site-top.pinned .top-cta { opacity: 1; transform: none; pointer-events: auto; }.site-top .top-cta a { display: inline-flex; align-items: center; gap: 8px; color: #14140f; font-family: 'Funnel Display', Candara, sans-serif; font-size: 13.5px; letter-spacing: .1px; text-decoration: none; border: none; }.site-top .top-cta svg { flex: none; opacity: .8; }.site-top .top-cta a { position: relative; }.site-top .top-cta a::before { content: ""; position: absolute; left: -6px; right: -6px; top: 50%; height: 44px; transform: translateY(-50%); }.site-top .lp-u { position: relative; text-decoration: none; }.site-top .lp-u::after { content: ""; position: absolute; left: 0; bottom: -3px; height: 1px; width: 0; background: #9a7328; transition: width .5s cubic-bezier(.22,.61,.36,1); }.site-top .lp-u:hover::after { width: 100%; }
@media (max-width: 1080px) {.site-top .row { padding-top: 22px; padding-bottom: 22px; }.site-top .top-cta { gap: 18px; } }/* ---- Reflow at 320-420px: the five-step timeline stacks (audit 2026-08-21, WCAG 1.4.10) ---- */
@media (max-width: 420px) {
  .tl-cols, .page-landing .tl-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 18px; }
  .tl-line, .page-landing .tl-line { display: none; }
  .tl-name { margin-left: 2px; margin-right: 2px; overflow-wrap: break-word; }
}/* ---- Breadcrumb trail, foot of page content (articles and use cases, audit 2026-08-21) ---- */
.crumb { background: #f8f7f0; padding: 0; }.crumb > .wrap { max-width: 1400px; margin: 0 auto; padding: 0 44px; }.crumb ~ .site-footer { padding-top: 27px; }.crumb ol { list-style: none; margin: 0; padding: 27px 0 0; border-top: 1px solid rgba(20,20,15,.12); display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }.crumb li { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 10.5px; letter-spacing: 1.6px; text-transform: uppercase; color: #55534a; }.crumb li + li::before { content: ""; display: block; width: 12px; height: 1px; background: rgba(20,20,15,.28); }.crumb a { color: #55534a; padding: 6px 0; margin: -6px 0; }.crumb a:hover { color: #0c4a4e; }.crumb [aria-current="page"] { color: #14140f; }
@media (max-width: 640px) {.crumb > .wrap { padding: 0 20px; }.crumb ol { padding-top: 21px; }.crumb ~ .site-footer { padding-top: 21px; } }/* ---- Decisions of 21 August 2026 ---- */
/* Links inside running text carry a cue at rest, not colour alone (WCAG 1.4.1) */
main p a:not([class*="btn"]):not(.share-btn):not(.lg):not(.refurl):not(.u), main li a:not([class*="btn"]):not(.share-btn):not(.lg):not(.refurl):not(.u) { font-weight: 600; }/* Required-field marker, inherits its label colour */
.req { font-weight: 400; font-size: max(10px, .82em); letter-spacing: .2px; text-transform: none; margin-left: 6px; color: #715316; }/* Visible file format and size on document links */
.filemeta { font-weight: 400; font-size: .85em; color: #63625a; white-space: nowrap; }/* audit 2026-08-21 · decisions */

/* ---- Image lightbox dialog (platform pages): scrim, panel, close button ---- */
.pdn-scrim {
  position: fixed; inset: 0; z-index: 9000;
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
  background: rgba(11,26,22,.58);
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
  opacity: 0; transition: opacity 240ms ease;
}.pdn-scrim.is-open { opacity: 1; }.pdn {
  position: relative; width: 100%; max-width: 560px;
  padding: 46px 46px 34px; border-radius: 16px;
  border: 1px solid rgba(20,20,15,.08);
  background:
    radial-gradient(700px 300px at 50% -140px, rgba(203,217,190,.6), transparent 70%),
    linear-gradient(180deg, #f3f4eb 0%, #f8f7f0 44%, #f8f3e7 100%);
  box-shadow: 0 44px 90px -44px rgba(20,20,15,.66), inset 0 1px 0 rgba(255,255,255,.7);
  transform: translateY(10px); transition: transform 280ms cubic-bezier(.22,.61,.36,1);
}.pdn-scrim.is-open .pdn { transform: translateY(0); }.pdn-x {
  position: absolute; top: 18px; right: 18px;
  width: 44px; height: 44px; border-radius: 100px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #faf9f5; border: 1px solid rgba(20,20,15,.12);
  color: #14140f; cursor: pointer; padding: 0;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
}.pdn-x svg { width: 17px; height: 17px; }.pdn-x:hover { color: #9a7328; border-color: rgba(154,115,40,.55); background: #fff; }.pdn-x:focus-visible { outline: 2px solid #9a7328; outline-offset: 2px; }
@media (max-width: 560px) {.pdn-scrim { padding: 14px; }.pdn { padding: 30px 22px 26px; border-radius: 13px; }.pdn-x { top: 12px; right: 12px; }
}
@media (prefers-reduced-motion: reduce) {.pdn-scrim, .pdn { transition: none; }
}/* ---- Branded tooltip, the only tooltip permitted (26 Aug 2026): teal ground, cream text, first line Funnel Display 600, body Arial. Never the browser default. ---- */
.aaa-tipwrap { position: relative; }.aaa-tip { position: absolute; left: 0; bottom: calc(100% + 10px); z-index: 99999; max-width: 240px; min-width: 160px; width: max-content; padding: 10px 13px 11px; background: #1f4a4e; color: #ffffff; border-radius: 11px; box-shadow: 0 10px 32px rgba(15,40,42,0.28), 0 2px 6px rgba(15,40,42,0.18); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 11px; line-height: 1.5; letter-spacing: -0.05px; opacity: 0; pointer-events: none; transform: translateY(4px); transition: opacity 140ms ease, transform 140ms ease; text-wrap: pretty; white-space: normal; text-align: left; }.aaa-tip b { display: block; font-family: 'Funnel Display', 'Helvetica Neue', sans-serif; font-weight: 700; font-size: 11.5px; line-height: 1.35; letter-spacing: 0; margin: 0 0 3px; color: #ffffff; }.aaa-tip > span { display: block; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 400; font-size: 11px; line-height: 1.5; color: #ffffff; opacity: .92; }.aaa-tipwrap:hover .aaa-tip, .aaa-tipwrap:focus-visible .aaa-tip { opacity: 1; transform: translateY(0); }
/* 17 Sep 2026: page-local b/span colour rules must never reach inside the tooltip */
.aaa-tip b, .aaa-tip b *, .aaa-tip > span, .aaa-tip > span * { color: #ffffff !important; }
@media (prefers-reduced-motion: reduce) {.aaa-tip { transition: none; } }/* ---- Hero standfirst set in Arial sitewide, 27 Aug 2026 (user ruling) ---- */
.std-hero .sf, .hero-standfirst, .hero .standfirst, .brief-hero .standfirst, .lp-hero .lp-leads p { font-family: Arial, Helvetica, sans-serif; }

/* ---- Body-text standard sitewide, 28 Aug 2026 (user ruling, tested on a service page,
   approved on tag-security; font revised to Plus Jakarta Sans Light 28 Aug 2026): Light 300. Body paragraphs and flowing list items
   only, direct children of the article or its sections; FAQ answers below;headings, ledes, quotes, labels, standfirsts (Arial) and links unchanged ---- */
.article > p, .article section > p, .article > ul > li, .article > ol > li, .article section > ul > li, .article section > ol > li { font-family: 'Plus Jakarta Sans', 'Helvetica Neue', Helvetica, sans-serif; font-weight: 300; font-size: 14.5px; line-height: 1.75; }.qa-band details p, .faq details p { font-family: 'Plus Jakarta Sans', 'Helvetica Neue', Helvetica, sans-serif; font-weight: 300; }.article > p a, .article section > p a, .article > ul > li a, .article > ol > li a, .article section > ul > li a, .article section > ol > li a { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; }.page-legal .article > p a, .page-legal .article section > p a, .page-legal .article > ul > li a, .page-legal .article > ol > li a, .page-legal .article section > ul > li a, .page-legal .article section > ol > li a { font-family: 'Funnel Display', Candara, sans-serif; }/* ---- mobile-only short label in the top calls to action (3 Sep 2026) ---- */
.tc-short { display: none; }
@media (max-width: 720px) {.tc-full { display: none; }.tc-short { display: inline; } }/* ---- Reading progress (article pages, 3 Sep 2026): a gold hairline pinned to the
        bottom edge of the top nav, growing left to right with progress through the
        article. Injected by assets/site-top.js only where an article body exists. ---- */
.site-top .rp { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: rgba(20,20,15,.07); pointer-events: none; opacity: 0; transition: opacity .35s ease; }.site-top.pinned .rp { opacity: 1; }.site-top .rp i { display: block; height: 100%; width: 0; background: #1f3a55; }

/* ---- Commonly asked questions (site standard, 9 Sep 2026): one ruled details/summary list on all pages. No numbering, no eyebrow, no lede, no indent. ---- */
.qa-band{margin:0}
.qa-band details{border-top:1px solid rgba(20,20,15,.15)}
.qa-band details:last-of-type{border-bottom:1px solid rgba(20,20,15,.15)}
.qa-band summary{list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:26px;cursor:pointer;padding:14px 0;min-height:44px;box-sizing:border-box;font:600 18.5px/1.35 'Funnel Display',Candara,sans-serif;color:#14140f;text-wrap:pretty;transition:color .2s ease}
.qa-band summary::-webkit-details-marker,.qa-band summary::marker{display:none;content:""}
.qa-band summary:hover,.qa-band details[open] summary{color:#0b3b3b}
.qa-band summary::after{content:'+';flex:none;font:300 22px/1 'Funnel Display',Candara,sans-serif;color:#715316}
.qa-band details[open] summary::after{content:'\2212'}
.qa-band details[open] summary{padding-bottom:8px}
.qa-band details p{font:300 15.5px/1.7 'Plus Jakarta Sans','Helvetica Neue',Helvetica,sans-serif;color:#4f4d47;margin:0 0 14px;max-width:68ch;text-wrap:pretty}
.qa-band details p:last-child{margin-bottom:16px}
@media (max-width:640px){.qa-band summary{font-size:16.5px;padding:16px 0}}

/* ---- Site search (18 Sep 2026, built to the owner's layout). The Search item in the
   standard top menu opens the panel: the index panel's geometry and colours on the panel
   teal, a gold caps eyebrow, the 2-line display headline (600 then 300), the panel rule,
   then the body, the box on the left with its gold rule and the go control beneath it,
   and the useful links on the right behind the vertical hairline, closing with the
   strapline at the lower right. Nothing is searched or shown in the panel: the box opens
   the results page. The values (card geometry, radius, hairline, shadow, type sizes) are
   copied from the panel block in index.html, but the panel carries its own sq- class
   names throughout: page-local style blocks load after site.css, so borrowing the page's
   class names would let each page's own rules reach inside the panel. ---- */
body.sq-open{overflow:hidden}
body.sq-open .arty-launch{opacity:0;pointer-events:none}
.sq-ov{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;opacity:0;transition:opacity .35s ease}
.sq-ov[hidden]{display:none}
.sq-ov.on{opacity:1}
.sq-sheet{position:absolute;inset:0;background:rgba(20,20,15,.44);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.sq-ov .sq-card{position:relative;width:calc(min(1300px, 100%) - 2*clamp(28px, 5vw, 66px) + 16px);height:clamp(510px, 56svh, 710px);border-radius:clamp(16px, 1.8vw, 26px);overflow:hidden;display:flex;flex-direction:column;padding:clamp(26px, 3.4vh, 44px) clamp(30px, 4vw, 62px) clamp(20px, 2.6vh, 32px);background:#124b49;box-shadow:0 0 26px -8px rgba(3,16,16,.32);transform:translateY(12px);transition:transform .45s cubic-bezier(.22,.61,.36,1)}
.sq-ov.on .sq-card{transform:none}
.sq-ov .sq-card::before{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(244,241,234,.14);pointer-events:none;z-index:4}
.sq-ov .sq-card>*{position:relative;z-index:1}
.sq-ov .sq-eyebrow{font-weight:600;font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:#e8c56b;margin:0}
.sq-ov .sq-x{position:absolute;top:clamp(12px, 1.6vh, 22px);right:clamp(14px, 1.8vw, 26px);width:44px;height:44px;display:grid;place-items:center;background:none;border:0;padding:0;color:rgba(244,241,234,.72);cursor:pointer;z-index:5;transition:color .3s ease}
.sq-ov .sq-x:hover,.sq-ov .sq-x:focus-visible{color:#f4f1ea}
.sq-ov .sq-head{max-width:none;font-family:'Funnel Display', Candara, sans-serif;font-weight:300;font-size:clamp(28px, 4.6vh, 46px);line-height:1.18;letter-spacing:-.3px;color:#f4f1ea;margin:clamp(20px, 3.4vh, 40px) 0 0}
.sq-ov .sq-head b{font-weight:600}
.sq-ov .sq-rule{height:1px;background:rgba(244,241,234,.18);margin:clamp(18px, 2.8vh, 32px) 0 0}
.sq-ov .sq-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0, 1fr) clamp(232px, 24vw, 300px);gap:clamp(32px, 4vw, 72px);align-content:center;padding-top:clamp(18px, 3vh, 36px)}
.sq-ov .sq-ask{align-self:center}
.sq-ov .sq-line{position:relative;display:block;cursor:text}
.sq-in{width:100%;background:none;border:0;outline:none;padding:0 0 clamp(10px, 1.6vh, 16px);border-bottom:2px solid #e8c56b;font-family:'Funnel Display', Candara, sans-serif;font-weight:300;font-size:clamp(34px, 6vh, 58px);line-height:1.1;letter-spacing:-.4px;color:#f4f1ea}
.sq-in::placeholder{color:rgba(244,241,234,.45)}
.sq-in::-webkit-search-cancel-button,.sq-in::-webkit-search-decoration{-webkit-appearance:none;display:none}
.sq-ov .sq-line::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:#e8c56b;transition:width .5s cubic-bezier(.22,.61,.36,1)}
.sq-ov .sq-line:focus-within::after{width:100%}
.sq-ov .sq-go{display:flex;justify-content:flex-end;margin-top:clamp(12px, 2vh, 22px)}
.sq-ov .sq-go button{display:inline-flex;align-items:center;gap:10px;min-height:44px;background:none;border:0;padding:0;cursor:pointer;font-family:'Funnel Display', Candara, sans-serif;font-weight:300;font-size:clamp(22px, 3.4vh, 32px);letter-spacing:-.2px;color:rgba(244,241,234,.8);transition:color .3s ease}
.sq-ov .sq-go button:hover,.sq-ov .sq-go button:focus-visible{color:#f4f1ea}
.sq-ov .sq-go svg{flex:none}
.sq-ov .sq-links{border-left:1px solid rgba(244,241,234,.18);padding-left:clamp(26px, 2.6vw, 44px);align-self:center}
.sq-ov .sq-links .sq-eyebrow{margin-bottom:clamp(12px, 2vh, 20px)}
.sq-ov .sq-links ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:clamp(2px, .8vh, 8px)}
.sq-ov .sq-links a{display:inline-flex;align-items:center;min-height:44px;font-family:'Funnel Display', Candara, sans-serif;font-weight:600;font-size:15px;line-height:1.35;color:#f4f1ea;text-decoration:none}
.sq-ov .sq-links a .tx{position:relative;display:inline-block}
.sq-ov .sq-links a .tx::after{content:"";position:absolute;left:0;bottom:-3px;height:1px;width:0;background:rgba(232,197,107,.55);transition:width .5s cubic-bezier(.22,.61,.36,1)}
.sq-ov .sq-links a:hover .tx::after,.sq-ov .sq-links a:focus-visible .tx::after{width:100%}
.sq-ov .sq-strap{font-weight:600;font-size:9px;letter-spacing:2.3px;text-transform:uppercase;color:#e8c56b;margin:0 0 0 auto;text-align:right}
@media (max-width: 720px){
  .sq-ov .sq-card{width:calc(100vw - 14px);height:auto;max-height:calc(100svh - 20px);overflow:auto;padding:24px 22px 22px}
  .sq-ov .sq-body{grid-template-columns:minmax(0, 1fr);gap:26px;align-content:start}
  .sq-ov .sq-links{border-left:0;border-top:1px solid rgba(244,241,234,.18);padding:18px 0 0}
  .sq-in{font-size:30px}
  .sq-ov .sq-go button{font-size:22px}
}
@media (prefers-reduced-motion: reduce){
  .sq-ov,.sq-ov .sq-card,.sq-ov .sq-line::after,.sq-ov .sq-links a .tx::after{transition:none}
  .sq-ov .sq-card{transform:none}
}

/* ---- Radar page tint (7 Oct. 2026, owner's ruling): one page background on all pages, from the Agency Revenue Radar (hero-shared PageTint), pinned to the viewport. Screen only; print stays white. ---- */
@media screen {
  html { min-height: 100%; background: radial-gradient(ellipse 70% 55% at 92% 0%, #dfe0e6 0%, transparent 60%) fixed, radial-gradient(ellipse 80% 50% at 8% 100%, #f6f1dd 0%, transparent 55%) fixed, linear-gradient(180deg, #e2e9db 0%, #f2efe4 42%, #f2efe4 58%, #f6f1dd 100%) fixed #f2efe4 !important; }
  body, .crumb, .site-footer, .lp-veil { background: transparent !important; }
}

/* ---- Article compact bar chart (owner's ruling 9 Oct. 2026): the only chart format in articles. 1 row per
   figure: short bold label (right-aligned), rounded bar on a track, figure with a small %. Hero blue bar on
   its light tint. Attribution beneath in the attribution style. ---- */
.article .bar-fig{display:grid;gap:12px;margin:22px 0 6px;max-width:680px}
.article .bar-fig .r{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr) 52px;gap:16px;align-items:center}
.article .bar-fig .l{font:600 13px/1.3 'Helvetica Neue',Helvetica,Arial,sans-serif;color:#1f2a2f;text-align:right;text-wrap:pretty}
.article .bar-fig .t{display:block;height:24px;border-radius:999px;background:#dce4ec;overflow:hidden}
.article .bar-fig .t i{display:block;height:100%;border-radius:999px;background:#1f3a55}
.article .bar-fig .v{font:600 15px/1 'Funnel Display',Candara,sans-serif;color:#1f3a55;white-space:nowrap}
.article .bar-fig .v sup{font-size:.6em}
.article p.bar-fig-src{margin:14px 0 18px;font:italic 9px/1.5 Arial,Helvetica,sans-serif;color:#55534a}
@media (max-width:560px){.article .bar-fig .r{grid-template-columns:minmax(0,1fr) 52px;gap:6px 12px}.article .bar-fig .l{grid-column:1/-1;text-align:left}}

/* ---- Mouse-over line at 3px below the letters (owner's ruling 9 Oct. 2026, absolute). The site-wide rule
   above puts inline links at 3px; these place the line for links whose box is taller than their text
   (padded, block, flex or card links), each measured in the owner's preview. ---- */
.site-footer .h .hl::after{bottom:-3px}
.site-footer .lgl a::after{bottom:0}
.crumb li a::after{bottom:3px}
.article a.back-link::after{bottom:0}
.ax-feat-meta a.ax-read::after{bottom:-1px}
.article ol.reg a.u::after{bottom:-1px}
.article ol.five-q a.u::after{bottom:0}
.uc-t tbody th a.lp-u::after{bottom:10px}
a.cf-p::after,a.lp-cue::after,a.paper-cta::after{display:none}
.paper-cta > span{position:relative}
.paper-cta > span::after{content:"";position:absolute;left:0;bottom:1px;height:1px;width:0;background:#9a7328;transition:width .45s cubic-bezier(.22,.61,.36,1);}
.paper-cta:hover > span::after,.paper-cta:focus-visible > span::after{width:100%}
@media (prefers-reduced-motion: reduce){.paper-cta > span::after{transition:none}}
/* inline links inside article text keep no bottom padding, so the line measures from the letters */
html .article a{padding-bottom:0}
