/* Aprize visual refresh, Oct 2026 (design review, as decided by vote on 27 Oct).
   Loaded after styles.css on every page. Same palette and logo; Roboto with a
   refined scale; one button system, quieter section labels, visible focus, and the
   redesigned home, nav, footer, Explorer and account pieces.
   Not in this round ("Not now" in the vote): F2 section rhythm, F5 card styles,
   F7 icon style, H3 the three rings, C2, C5, B2 illustrations (except the hero).
   Remove the <link> to roll the whole refresh back. */
:root{
  /* 2026-10 refresh: same palette and Roboto (vote: "Roboto, refined"). Gold is a fill
     (buttons, marks), never text on white (1.98:1). Navy on gold is 8.3:1. */
  --font-display:'Roboto',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-ui:'Roboto',system-ui,-apple-system,'Segoe UI',sans-serif;
  --text-muted-strong:#5A6478; /* 5.95:1 on white, 5.6:1 on --blue-xlight */
  --line:#E3E7F3; --line-strong:#C9D1F5;
  --radius-xl:24px;
  --shadow-card:0 1px 2px rgba(13,27,75,.05),0 6px 20px rgba(13,27,75,.07);
  --shadow-float:0 2px 6px rgba(13,27,75,.06),0 24px 48px rgba(13,27,75,.14);
  --space-section:clamp(64px,7vw,104px);
}

/* =====================================================================
   2026-10 VISUAL REFRESH (design review, layer 1: foundations)
   Same palette. Roboto on a refined scale (headings at 700, not 900), one
   button system, quieter section labels, visible focus.
   Everything below overrides earlier rules; remove this block to roll back.
   ===================================================================== */
body,button,input,select,textarea{font-family:var(--font-ui);}
body{font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
p{line-height:1.7;}
h1,h2,h3,h4,h5,h6{font-family:var(--font-ui);letter-spacing:-0.011em;}
h1,h2,.display{font-family:var(--font-display);font-weight:700;letter-spacing:-0.015em;}
h1{font-size:clamp(2.4rem,3.6vw + 1rem,4rem);line-height:1.06;}
h2{font-size:clamp(1.85rem,1.9vw + 1rem,2.75rem);line-height:1.12;}
h3{font-size:clamp(1.15rem,.6vw + 1rem,1.375rem);font-weight:700;line-height:1.3;}
.lead{font-size:clamp(1.0625rem,.35vw + 1rem,1.25rem);line-height:1.6;}
.num,.tnum,table{font-variant-numeric:tabular-nums;}

/* Section labels: a gold dot (the brand mark) and navy-blue text, instead of
   brown-gold text plus a gold rule on every section */
.overline{display:inline-flex;align-items:center;gap:10px;font-size:.8125rem;font-weight:700;letter-spacing:.09em;color:var(--blue);margin-bottom:14px;}
.overline::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--gold);}
.home-hero .overline,.bg-dark .overline,.cta-banner .overline,.page-hero .overline{color:#C9D1F5;}
.divider,.divider.center{display:none;}

/* Buttons: gold = the one primary action; navy outline = secondary; blue text = tertiary */
.btn{min-height:48px;padding:12px 24px;border-radius:10px;font-size:1rem;font-weight:600;letter-spacing:0;gap:10px;justify-content:center;}
.btn-lg{min-height:56px;padding:15px 30px;font-size:1.0625rem;}
.btn-sm{min-height:40px;padding:8px 16px;font-size:.9375rem;}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--blue-dark);box-shadow:0 1px 0 rgba(13,27,75,.12) inset, 0 1px 2px rgba(13,27,75,.12);}
.btn-gold:hover{background:#E09E0F;border-color:#E09E0F;color:var(--blue-dark);transform:none;box-shadow:0 6px 18px rgba(240,172,26,.35);}
.btn-primary{background:var(--blue);border-color:var(--blue);}
.btn-primary:hover{transform:none;}
.btn-outline-blue{color:var(--blue-dark);border-color:var(--line-strong);background:var(--white);}
.btn-outline-blue:hover{background:var(--blue-xlight);color:var(--blue-dark);border-color:var(--blue);transform:none;}
.btn-outline-white:hover{transform:none;}
.btn .arrow{transition:transform .2s ease;}
.btn:hover .arrow{transform:translateX(3px);}

/* Focus: one visible ring everywhere (WCAG 2.4.7 / 2.4.11) */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px;}
.bg-dark :where(a,button):focus-visible,.cta-banner :where(a,button):focus-visible,.footer :where(a,button):focus-visible{outline-color:var(--gold);}

/* Muted text at 5.95:1 (WCAG 1.4.3) */
.text-muted,.cta-note,.section-sub{color:var(--text-muted-strong);}

@media (prefers-reduced-motion:reduce){
  .btn,.btn .arrow,.card{transition:none;}
}

/* =====================================================================
   HOME (index.html)
   ===================================================================== */
/* Hero: light, product-first, search leads */
.hx-hero{position:relative;padding:clamp(40px,6vw,88px) 0 clamp(48px,6vw,96px);
  background:
    radial-gradient(900px 480px at 85% 10%,rgba(59,82,212,.10),transparent 60%),
    radial-gradient(600px 360px at 10% 100%,rgba(240,172,26,.10),transparent 60%),
    linear-gradient(180deg,var(--blue-xlight) 0%,#fff 100%);
  border-bottom:1px solid var(--line);}
.hx-hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:radial-gradient(rgba(13,27,75,.08) 1px,transparent 1px);background-size:22px 22px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%);}
.hx-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(32px,5vw,72px);align-items:center;}
.hx-hero h1{color:var(--blue-dark);margin:0 0 20px;font-size:clamp(2.5rem,3.4vw + 1rem,4.1rem);}
.hx-accent{color:var(--blue);}
.hx-hero .lead{color:var(--text-body);max-width:56ch;margin-bottom:28px;}
.hero-search{position:relative;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line-strong);
  border-radius:14px;padding:8px 8px 8px 18px;max-width:600px;box-shadow:var(--shadow-float);}
.hero-search-icon{color:var(--blue);flex:none;}
.hero-search input{flex:1;min-width:0;border:none;outline:none;font-size:1.0625rem;color:var(--blue-dark);background:transparent;padding:12px 0;}
.hero-search input::placeholder{color:var(--text-muted-strong);}
.hero-search:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:2px;}
.hero-search-btn{flex:none;}
.hero-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:30;background:#fff;border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow-float);max-height:340px;overflow-y:auto;text-align:left;}
.hero-search-results a{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:12px 18px;border-bottom:1px solid var(--line);}
.hero-search-results a:last-child{border-bottom:none;}
.hero-search-results a:hover,.hero-search-results a.active{background:var(--blue-xlight);}
.hsr-name{font-weight:600;color:var(--blue-dark);font-size:.975rem;line-height:1.35;}
.hsr-meta{flex:none;font-size:.85rem;color:var(--text-muted-strong);white-space:nowrap;}
.hsr-note{padding:14px 18px;font-size:.92rem;color:var(--text-muted-strong);}
.hsr-fail{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-bottom:1px solid var(--line);}
.hsr-fail-msg{color:var(--text-body);font-weight:500;}
.hsr-retry{flex:none;background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--blue);cursor:pointer;}
.hsr-retry:hover{text-decoration:underline;}
.hx-trust{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:28px;font-size:.9375rem;color:var(--text-body);}
.hx-trust li{display:inline-flex;align-items:center;gap:8px;}
.hx-trust svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--blue);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}

/* Hero visual: a sample network card */
.hx-net{margin:0;}
.hx-net-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-float);padding:18px 18px 8px;}
.hx-net-head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 6px;font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-dark);}
.hx-sample{font-size:.75rem;letter-spacing:.04em;text-transform:none;font-weight:600;padding:3px 10px;border-radius:99px;background:var(--gold-light);color:var(--gold-text);}
.hx-sample.on-dark{background:rgba(255,255,255,.14);color:#fff;}
.hx-net-svg{display:block;width:100%;height:auto;font-family:var(--font-ui);}
.hx-net-svg .r-out{fill:none;stroke:var(--line-strong);stroke-width:1.5;stroke-dasharray:4 6;}
.hx-net-svg .r-in{fill:var(--blue-xlight);stroke:#AEB9EE;stroke-width:1.5;stroke-dasharray:5 5;}
.hx-net-svg path.l-in{stroke:var(--blue);stroke-width:2;fill:none;}
.hx-net-svg path.l-up{stroke:var(--gold);stroke-width:2;fill:none;}
.hx-net-svg path.l-cross{stroke:#9AA3B5;stroke-width:1.5;stroke-dasharray:3 5;fill:none;}
.hx-net-svg text{font-size:12.5px;font-weight:600;text-anchor:middle;}
.hx-net-svg .n-you rect{fill:var(--blue-dark);} .hx-net-svg .n-you text{fill:#fff;font-size:13px;}
.hx-net-svg .n-donor rect{fill:var(--blue);} .hx-net-svg .n-donor text{fill:#fff;}
.hx-net-svg .n-up rect{fill:#fff;stroke:var(--line-strong);} .hx-net-svg .n-up rect.tick{fill:var(--gold);stroke:none;} .hx-net-svg .n-up text{fill:var(--blue-dark);}
.hx-net-svg .n-lock rect{fill:#fff;stroke:#AEB9EE;stroke-dasharray:4 3;} .hx-net-svg .n-lock text{fill:var(--text-muted-strong);font-weight:500;}
.hx-net-svg .n-lock .lk{fill:none;stroke:var(--text-muted-strong);stroke-width:1.6;}
.hx-net-svg .n-peer circle{fill:#fff;stroke:#9AA3B5;stroke-width:1.5;} .hx-net-svg .n-peer text{fill:var(--text-muted-strong);font-size:11px;}
.hx-net-list{position:absolute;right:-18px;bottom:-26px;width:min(270px,62%);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-float);padding:14px 16px;}
.hx-net-list-h{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin:0 0 6px;}
.hx-net-list ol{list-style:none;margin:0;padding:0;counter-reset:p;}
.hx-net-list li{counter-increment:p;display:grid;grid-template-columns:22px 1fr;column-gap:8px;padding:7px 0;border-top:1px solid var(--line);font-size:.875rem;line-height:1.3;}
.hx-net-list li:first-child{border-top:none;}
.hx-net-list li::before{content:counter(p);grid-row:span 2;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--blue-dark);color:#fff;font-size:.72rem;font-weight:700;}
.hx-net-list b{color:var(--blue-dark);font-weight:600;}
.hx-net-list span{color:var(--text-muted-strong);font-size:.8125rem;}
.hx-net-list li.is-locked b{color:transparent;text-shadow:0 0 7px rgba(13,27,75,.55);user-select:none;}
.hx-net-list li.is-locked::before{background:var(--blue-light);color:var(--blue-dark);}
.hx-net figcaption{margin:40px 4px 0;font-size:.8125rem;color:var(--text-muted-strong);}
@media (prefers-reduced-motion:no-preference){
  .hx-net-svg path.l-in,.hx-net-svg path.l-up{stroke-dasharray:240;stroke-dashoffset:240;animation:hxDraw 1.2s .3s ease forwards;}
  .hx-net-svg path.l-up{animation-delay:.9s;}
  @keyframes hxDraw{to{stroke-dashoffset:0;}}
}

/* Hero D (vote, 27 Oct): the night-sea illustration behind the hero; the hero is a single column.
   On phones the full-bleed picture gives way to a smaller one after the paragraph under the search. */
.hx-hero--ill{background:#0A1540;border-bottom:none;padding:clamp(56px,7vw,100px) 0 clamp(56px,5vw,80px);overflow:hidden}
.hx-hero--ill::before{display:none}
.hx-hero--ill .ill-hero{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hx-hero--ill .hx-hero-grid{grid-template-columns:minmax(0,640px);z-index:1}
.hx-hero--ill h1{color:#fff} .hx-hero--ill .hx-accent{color:#FFD27A}
.hx-hero--ill .lead{color:#D5DBF6} .hx-hero--ill .overline{color:#C9D1F5}
.hx-hero--ill .hx-trust{color:#D5DBF6} .hx-hero--ill .hx-trust svg{stroke:#FFD27A}
.hx-hero--ill .hero-search{border-color:transparent;box-shadow:0 24px 48px rgba(0,0,0,.35)}
.ill-m{display:none}
@media(max-width:760px){.hx-hero--ill{padding-bottom:32px}.hx-hero--ill .ill-hero{display:none}.ill-m{display:block;margin-top:24px}.ill-m svg{width:100%;height:auto;aspect-ratio:840/600;border-radius:18px;display:block}}

/* Hero points: the four plain-language lines (George, 27 Oct) */
.hx-points{list-style:none;padding:0;margin:4px 0 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;max-width:600px;}
.hx-points li{display:flex;align-items:flex-start;gap:8px;font-weight:500;font-size:1.0625rem;line-height:1.4;color:var(--blue-dark);}
.hx-points svg{flex:none;width:20px;height:20px;margin-top:1px;fill:none;stroke:var(--gold-text,#8A5F00);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.hx-hero--ill .hx-points li{color:#fff;} .hx-hero--ill .hx-points svg{stroke:#FFD27A;}
@media (max-width:560px){.hx-points{grid-template-columns:1fr;gap:6px;margin-bottom:20px;}.hx-points li{font-size:1rem;}}

/* Proof strip */
.hx-proof{background:var(--blue-dark);color:#fff;}
.hx-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.hx-proof-grid > div{padding:26px 24px;border-left:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:4px;}
.hx-proof-grid > div:first-child{border-left:none;padding-left:0;}
.hx-proof b{font-family:var(--font-display);font-weight:600;font-size:1.65rem;line-height:1.15;color:#fff;}
.hx-proof span{font-size:.9375rem;color:#C9D1F5;}

/* Report sample */
.hx-report-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:center;}
.hx-checks{list-style:none;padding:0;margin:8px 0 28px;display:grid;gap:12px;}
.hx-checks li{position:relative;padding-left:32px;color:var(--text-body);}
.hx-checks li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;}
.hx-table-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-float);overflow:hidden;}
.hx-table-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;background:var(--blue-dark);color:#fff;font-weight:600;}
.hx-table-card table{width:100%;border-collapse:collapse;font-size:.9375rem;}
.hx-table-card th{text-align:left;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted-strong);font-weight:700;padding:12px 16px;border-bottom:1px solid var(--line);}
.hx-table-card td{padding:14px 16px;border-bottom:1px solid var(--line);color:var(--text-body);vertical-align:top;}
.hx-table-card td:first-child,.hx-table-card th:first-child{padding-left:22px;width:36px;color:var(--text-muted-strong);}
.hx-table-card td b{color:var(--blue-dark);font-weight:600;}
.hx-table-card .num{text-align:right;padding-right:22px;font-variant-numeric:tabular-nums;color:var(--blue-dark);font-weight:600;white-space:nowrap;}
.hx-table-card tr.is-blur td{filter:blur(5px);opacity:.7;}
.hx-table-card figcaption{padding:12px 22px 16px;font-size:.8125rem;color:var(--text-muted-strong);background:var(--blue-xlight);}

/* Path to the call */
.hx-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.hx-steps::before{content:"";position:absolute;left:24px;right:24px;top:23px;height:2px;background:linear-gradient(90deg,var(--blue) 0%,var(--blue) 66%,var(--gold) 100%);opacity:.35;}
.hx-steps li{position:relative;padding:0 24px 0 0;}
.hx-step-n{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;border:2px solid var(--blue);color:var(--blue-dark);font-weight:700;font-size:1.05rem;margin-bottom:18px;}
.hx-steps li.is-call .hx-step-n{background:var(--gold);border-color:var(--gold);}
.hx-steps h3{margin:0 0 6px;color:var(--blue-dark);}
.hx-steps p{margin:0;color:var(--text-muted-strong);font-size:1rem;}
.hx-people{display:flex;align-items:center;gap:0;margin-top:14px;}
.hx-people img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 1px 4px rgba(13,27,75,.18);}
.hx-people img + img{margin-left:-10px;}
.hx-people span{margin-left:10px;font-size:.875rem;color:var(--text-body);line-height:1.35;}

/* Who it's for */
.hx-who-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.hx-who-card{position:relative;display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 22px 48px;box-shadow:var(--shadow-card);color:inherit;}
.hx-who-card h3{margin:0;color:var(--blue-dark);font-size:1.125rem;}
.hx-who-card p{margin:0;color:var(--text-muted-strong);font-size:.975rem;}
.hx-who-card .arrow{position:absolute;left:22px;bottom:16px;color:var(--blue);font-weight:700;transition:transform .2s ease;}
.hx-who-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-float);}
.hx-who-card:hover .arrow{transform:translateX(4px);}

/* FAQ */
.hx-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,72px);align-items:start;}
.hx-faq-list details{border-bottom:1px solid var(--line);}
.hx-faq-list details:first-child{border-top:1px solid var(--line);}
.hx-faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;font-weight:600;font-size:1.0625rem;color:var(--blue-dark);}
.hx-faq-list summary::-webkit-details-marker{display:none;}
.hx-faq-list summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:var(--blue-xlight) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 5v10M5 10h10' stroke='%233B52D4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat;border:1px solid var(--line);}
.hx-faq-list details[open] summary::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10h10' stroke='%233B52D4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");}
.hx-faq-list details p{padding:0 48px 20px 4px;margin:0;color:var(--text-body);}

/* Closing band */
.hx-close{background:
  radial-gradient(700px 300px at 50% 0%,rgba(240,172,26,.16),transparent 70%),
  var(--blue-dark);padding:clamp(64px,8vw,104px) 0;text-align:center;}
.hx-close h2{color:#fff;margin:0 0 12px;}
.hx-close p{color:#C9D1F5;margin:0 auto 28px;max-width:52ch;}
.hx-close-search{display:flex;gap:10px;max-width:600px;margin:0 auto;background:#fff;border-radius:14px;padding:8px;}
.hx-close-search input{flex:1;min-width:0;border:none;outline:none;font-size:1.0625rem;padding:12px 12px;color:var(--blue-dark);background:transparent;}
.hx-close-search input::placeholder{color:var(--text-muted-strong);}
.hx-close-search:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:3px;}
.hx-close-in{margin-top:28px;}
.hx-close .cta-note{color:#C9D1F5;}

/* Home responsive */
@media (max-width:1080px){
  .hx-who-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .hx-hero-grid,.hx-report-grid,.hx-faq-grid{grid-template-columns:1fr;}
  .hx-net-list{position:static;width:auto;margin:10px 0 6px;box-shadow:none;}
  .hx-net figcaption{margin-top:12px;}
  .hx-proof-grid{grid-template-columns:repeat(2,1fr);}
  .hx-proof-grid > div:nth-child(3){border-left:none;padding-left:0;}
  .hx-proof-grid > div{border-top:1px solid rgba(255,255,255,.12);}
  .hx-proof-grid > div:nth-child(-n+2){border-top:none;}
  .hx-steps{grid-template-columns:1fr;gap:28px;}
  .hx-steps::before{left:23px;right:auto;top:24px;bottom:24px;width:2px;height:auto;background:linear-gradient(180deg,var(--blue),var(--gold));}
  .hx-steps li{padding:0 0 0 68px;}
  .hx-step-n{position:absolute;left:0;top:0;margin:0;}
}
@media (max-width:640px){
  .hx-hero{padding-top:28px;}
  .hx-hero::before{display:none;}
  .hero-search{flex-wrap:wrap;padding:10px 10px 10px 16px;}
  .hero-search input{flex-basis:calc(100% - 40px);}
  .hero-search-btn{width:100%;}
  .hx-who-grid{grid-template-columns:1fr;}
  .hx-proof-grid{grid-template-columns:1fr;}
  .hx-proof-grid > div{border-left:none;padding-left:0;border-top:1px solid rgba(255,255,255,.12);}
  .hx-proof-grid > div:first-child{border-top:none;}
  .hx-table-card td:nth-child(3),.hx-table-card th:nth-child(3){display:none;}
  .hx-close-search{flex-direction:column;}
  .hx-faq-list details p{padding-right:4px;}
}

/* Home fixes after first render */
h1,h2{text-wrap:balance;}
.hx-trust{gap:8px 18px;font-size:.9rem;}
.hx-table-card thead tr{background:#fff;}
.hx-table-card thead th{background:#fff;color:var(--text-muted-strong);padding:12px 16px;font-size:.72rem;}
.hx-table-card td b{white-space:nowrap;}

/* =====================================================================
   NAV (partials/navbar.html)
   ===================================================================== */
.navbar{background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);}
.navbar.scrolled{box-shadow:0 1px 0 var(--line),0 8px 24px rgba(13,27,75,.06);}
.navbar .container{height:72px;column-gap:24px;}
.nav-logo img{height:40px;}
.nav-menu{gap:4px;}
.nav-menu li a,.nav-menu li > .nav-dropdown-toggle{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;font-size:.9375rem;font-weight:500;color:var(--blue-dark);border-radius:8px;}
.nav-menu li a:hover,.nav-menu li > .nav-dropdown-toggle:hover{background:var(--blue-xlight);color:var(--blue);}
.nav-menu li a.active{color:var(--blue);font-weight:600;box-shadow:inset 0 -2px 0 var(--gold);border-radius:0;}
.nav-caret{font-size:.65rem;opacity:.6;}
.nav-dropdown-panel{border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-float);}
.nav-dropdown-col h6{color:var(--text-muted-strong);font-size:.72rem;}
.nav-dropdown-col a,.nav-dropdown-simple a,.nav-dropdown-simple button{color:var(--blue-dark);font-size:.9375rem;}
.nav-free{display:inline-block;font-size:.66rem;font-weight:700;padding:1px 7px;border-radius:99px;background:var(--blue-xlight);color:var(--blue);border:1px solid var(--line);}
.nav-actions{gap:8px;}
.nav-actions li a.nav-signin{border:none;background:none;color:var(--blue-dark);font-weight:600;padding:10px 12px;}
.nav-actions li a.nav-signin:hover{background:var(--blue-xlight);color:var(--blue);}
.nav-actions li a.btn{display:inline-flex;padding:8px 16px;min-height:40px;font-size:.9375rem;color:var(--blue-dark);}
.nav-actions li a.btn:hover{color:var(--blue-dark);}
.nav-cta-m{display:none;}
@media(max-width:1080px){ .nav-book{font-size:0;} .nav-book::after{content:"Book a walkthrough";font-size:.9375rem;} }
@media(max-width:900px){
  .navbar .container{height:64px;gap:10px;}
  .nav-logo{margin-right:auto;}
  .nav-cta-m{display:inline-flex;}
  .nav-cta-m[hidden]{display:none;}
  .nav-cta-d{display:none !important;}
  .nav-collapse{top:64px;max-height:calc(100vh - 64px);}
  .nav-menu li a,.nav-menu li > .nav-dropdown-toggle{width:100%;justify-content:space-between;padding:14px 16px;font-size:1rem;}
  .nav-actions li a.nav-signin{justify-content:center;border:1px solid var(--line-strong);}
}

/* =====================================================================
   FOOTER (partials/footer.html): light, so the navy closing band above it
   reads as the last call to action rather than merging into the footer
   ===================================================================== */
.footer{background:var(--blue-xlight);color:var(--text-body);border-top:1px solid var(--line);padding:64px 0 28px;}
.footer-grid{grid-template-columns:1.4fr repeat(4,1fr);gap:40px;margin-bottom:48px;}
.footer-brand img{height:36px;margin-bottom:16px;}
.footer-brand p{font-size:.9375rem;color:var(--text-muted-strong);line-height:1.65;max-width:34ch;}
.footer-brand .footer-pbc{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:.875rem;font-weight:600;color:var(--blue-dark);}
.footer-pbc-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);}
.footer-col h2{font-family:var(--font-ui);font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-dark);margin-bottom:14px;}
.footer-col ul li{margin-bottom:6px;}
.footer-col ul li a{display:inline-block;padding:4px 0;font-size:.9375rem;color:var(--text-body);}
.footer-col ul li a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:3px;}
.footer-col .f-place{font-size:.9375rem;color:var(--text-muted-strong);padding:4px 0;}
.footer-bottom{border-top:1px solid var(--line);padding-top:22px;}
.footer-bottom p{color:var(--text-muted-strong);font-size:.875rem;}
.footer-bottom-links a{color:var(--text-body);font-size:.875rem;padding:4px 0;}
.footer-bottom-links a:hover{color:var(--blue);}
.footer :where(a,button):focus-visible{outline-color:var(--blue);}
@media(max-width:1080px){ .footer-grid{grid-template-columns:repeat(3,1fr);} .footer-brand{grid-column:1/-1;} }
@media(max-width:640px){ .footer-grid{grid-template-columns:1fr 1fr;gap:28px;} }
.hx-net-svg--m{display:none;}
@media(max-width:640px){
  .hx-net-svg:not(.hx-net-svg--m){display:none;}
  .hx-net-svg--m{display:block;}
  .hx-net-card{padding:14px 12px 6px;}
  .hx-proof-grid{grid-template-columns:1fr 1fr;}
  .hx-proof-grid > div{padding:18px 12px 18px 0;border-left:none;border-top:1px solid rgba(255,255,255,.12);}
  .hx-proof-grid > div:nth-child(-n+2){border-top:none;}
  .hx-proof b{font-size:1.3rem;}
  .hx-proof span{font-size:.875rem;}
}

/* =====================================================================
   INTERIOR PAGE HERO (template, shown on /solutions/industries/nonprofit/)
   A real headline, search first, and what the visitor will see
   ===================================================================== */
.page-hero{background:radial-gradient(800px 400px at 90% -10%,rgba(240,172,26,.14),transparent 60%),linear-gradient(135deg,var(--blue-dark) 0%,#18287a 60%,#2A3FA8 100%);padding:clamp(48px,6vw,88px) 0;}
.page-hero::before{content:"";top:auto;right:auto;inset:0;width:auto;height:auto;border-radius:0;opacity:.35;
  background:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px) 0 0/22px 22px;
  -webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 100%);mask-image:linear-gradient(90deg,transparent 30%,#000 100%);}
.page-hero h1{font-size:clamp(2.2rem,2.8vw + 1rem,3.5rem);max-width:20ch;}
.page-hero .lead{color:#D5DBF6;max-width:58ch;}
.ph-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,72px);align-items:center;}
.ph-search{display:flex;gap:8px;max-width:560px;margin-top:28px;background:#fff;border-radius:14px;padding:8px;box-shadow:0 20px 40px rgba(5,10,40,.35);}
.ph-search input{flex:1;min-width:0;border:none;outline:none;font-size:1.0625rem;padding:10px 12px;color:var(--blue-dark);background:transparent;}
.ph-search input::placeholder{color:var(--text-muted-strong);}
.ph-search:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:3px;}
.ph-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-xl);padding:24px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.ph-card-h{font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#C9D1F5;margin:0 0 8px;}
.ph-card ul{list-style:none;margin:0;padding:0;}
.ph-card li{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid rgba(255,255,255,.12);}
.ph-card li:first-child{border-top:none;}
.ph-card li b{display:block;color:#fff;font-weight:600;}
.ph-card li span{display:block;color:#C9D1F5;font-size:.9rem;line-height:1.4;}
.ph-card li em{font-style:normal;font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:99px;background:rgba(240,172,26,.18);color:#FFD27A;white-space:nowrap;}
.ph-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.08);}
.ph-ico svg{width:22px;height:22px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;}
.ph-card-f{margin:10px 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);font-size:.9375rem;color:#D5DBF6;}
@media(max-width:900px){ .ph-grid{grid-template-columns:1fr;} }
@media(max-width:640px){ .ph-search{flex-direction:column;} .ph-card li{grid-template-columns:40px 1fr;} .ph-card li em{grid-column:2;justify-self:start;} }
.ph-card li .ph-ico{display:grid;}

/* =====================================================================
   SITE-WIDE ACCESSIBILITY FIXES (from the 22 Oct audit)
   ===================================================================== */
/* S5 / WCAG 2.4.11: focus and anchors never land under the sticky header */
html{scroll-padding-top:96px;}
/* S1 / WCAG 1.4.1: links inside running text look like links */
:where(main p,main li,.section-sub,.legal-body,.tl-prose,article p) a:where(:not(.btn,.text-link,.card,.hx-who-card,.prod-card)){
  color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
:where(main p,main li,.section-sub,.legal-body,.tl-prose,article p) a:where(:not(.btn,.text-link,.card,.hx-who-card,.prod-card)):hover{color:var(--blue-mid);text-decoration-thickness:2px;}
:where(.bg-dark,.page-hero,.cta-banner,.hx-close,.hx-proof) :where(p,li) a:where(:not(.btn)){color:#fff;}
/* 10: .btn-blue is used on 8 pages but never defined, so the button rendered as plain text */
.btn-blue{background:var(--blue);border-color:var(--blue);color:#fff;}
.btn-blue:hover{background:var(--blue-mid);border-color:var(--blue-mid);color:#fff;}
/* Home sample table: blurred rows keep full-contrast color (the blur hides them; opacity failed 1.4.3) */
.hx-table-card tr.is-blur td{opacity:1;}

/* Home: where Aprize fits */
.hx-fit-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,5vw,72px);align-items:start;}
.hx-fit-table{border:1px solid var(--line);border-radius:var(--radius-xl);overflow:hidden;background:#fff;box-shadow:var(--shadow-card);}
.hx-fit-row{display:grid;grid-template-columns:1fr minmax(140px,.45fr);gap:16px;padding:16px 22px;border-top:1px solid var(--line);align-items:center;}
.hx-fit-row:first-child{border-top:none;}
.hx-fit-row span:first-child{color:var(--text-body);}
.hx-fit-row span:last-child{color:var(--blue-dark);font-weight:600;}
.hx-fit-head{background:var(--blue-xlight);padding-block:12px;}
.hx-fit-head span{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted-strong)!important;}
.hx-fit-row.is-us{background:var(--blue-dark);}
.hx-fit-row.is-us span:first-child{color:#fff;font-weight:500;}
.hx-fit-row.is-us span:last-child b{display:inline-flex;align-items:center;gap:8px;color:var(--blue-dark);background:var(--gold);padding:6px 14px;border-radius:99px;font-weight:700;}
@media(max-width:900px){ .hx-fit-grid{grid-template-columns:1fr;} }
@media(max-width:480px){ .hx-fit-row{grid-template-columns:1fr;gap:4px;} .hx-fit-head{display:none;} }
.hx-who-card{background:#fff;}

/* Report page hero visual: a sample report page */
.ph-report{margin:0;background:#fff;border-radius:var(--radius-xl);padding:22px;box-shadow:0 30px 60px rgba(5,10,40,.4);transform:rotate(1.2deg);}
@media (prefers-reduced-motion:reduce){ .ph-report{transform:none;} }
.ph-rp-top{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);}
.ph-rp-org{font-family:var(--font-display);font-size:1.6rem;font-weight:600;color:var(--blue-dark);margin:10px 0 14px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;}
.ph-rp-org span{font-family:var(--font-ui);font-size:.875rem;font-weight:500;color:var(--text-muted-strong);}
.ph-rp-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;}
.ph-rp-kpis div{background:var(--blue-xlight);border:1px solid var(--line);border-radius:12px;padding:12px;}
.ph-rp-kpis b{display:block;font-size:1.35rem;color:var(--blue-dark);font-weight:700;}
.ph-rp-kpis span{display:block;font-size:.78rem;line-height:1.3;color:var(--text-muted-strong);}
.ph-rp-quad{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:74px 74px;gap:6px;}
.ph-rp-quad .q{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 12px;border-radius:10px;font-size:.8125rem;font-weight:600;color:var(--blue-dark);}
.ph-rp-quad .q i{font-style:normal;font-weight:700;font-size:1.05rem;}
.ph-rp-quad .q1{background:var(--blue-light);} .ph-rp-quad .q2{background:var(--gold-light);} .ph-rp-quad .q3{background:#F3F4F8;} .ph-rp-quad .q4{background:#E6EAFB;}
.ph-rp-quad .q5{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:120px;background:#fff;border:2px solid var(--blue);justify-content:center;gap:8px;align-items:center;}
.ph-report figcaption{margin-top:12px;font-size:.78rem;color:var(--text-muted-strong);}
.ph-rp-quad .q{flex-direction:column;justify-content:flex-start;gap:0;line-height:1.2;}
.ph-rp-quad .q2,.ph-rp-quad .q4{align-items:flex-end;text-align:right;}
.ph-rp-quad .q3,.ph-rp-quad .q4{justify-content:flex-end;}
.ph-rp-quad .q5{flex-direction:row;width:104px;padding:8px 10px;}
.ph-rp-quad .q5{gap:8px;justify-content:center;align-items:center;}

/* Contact: a booking shortcut above the form */
.ct-book{display:flex;flex-direction:column;gap:10px;background:var(--blue-xlight);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:26px;}
.ct-book > div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;}
.ct-book p{margin:0;font-size:.9375rem;color:var(--text-body);flex:1 1 260px;}
.ct-book b{color:var(--blue-dark);}

/* Dashboard (/profile/): next steps */
.dash-steps{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:12px;}
.dash-steps li{display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow-card);}
.dash-steps li.is-call{border-color:#F6DC9A;background:linear-gradient(90deg,var(--gold-light),#fff 60%);}
.dash-steps .ds-n{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--blue);color:var(--blue-dark);font-weight:700;}
.dash-steps li.is-call .ds-n{background:var(--gold);border-color:var(--gold);}
.dash-steps b{color:var(--blue-dark);}
.dash-steps p{margin:2px 0 0;font-size:.92rem;color:var(--text-muted-strong);line-height:1.5;}
@media(max-width:640px){ .dash-steps li{grid-template-columns:36px 1fr;} .dash-steps li > .btn{grid-column:2;justify-self:start;} }
.dash-steps li.is-done .ds-n{background:var(--blue);border-color:var(--blue);color:#fff;font-size:0;} .dash-steps li.is-done .ds-n::after{content:"\2713";font-size:1rem;}
/* M7: one brand focus ring with a white gap, readable on white, navy and gold */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--blue-dark);outline-offset:2px;box-shadow:0 0 0 2px #fff;}
:where(.bg-dark,.page-hero,.cta-banner,.hx-close,.hx-proof) :focus-visible{outline-color:var(--gold);box-shadow:0 0 0 2px var(--blue-dark);}
.skip-link:focus{outline:3px solid var(--blue-dark);outline-offset:2px;box-shadow:0 0 0 5px var(--gold);}
/* M3: report step numbers */
.report-step .step-header .step-num{background:rgba(13,27,75,.35);}
/* M8: comfortable line lengths. Articles already sit in a narrow column, so
   their paragraphs take its full width: a shorter cap on paragraphs alone gave
   the column two right edges (paragraphs against lists, callouts and the lead). */
.legal-body{max-width:72ch;} .one-col{max-width:68ch;}
/* Lists in articles, testimonials, legal pages and plain cards: styles.css turns
   bullets off for every list, so long-form lists showed as indented paragraphs,
   a size larger than the text around them. */
:is(article,.tl-prose,.legal-body) :is(ul,ol):not([class]):not([style]),.card > ul:not([class]):not([style]){padding-left:1.4rem;}
:is(article,.tl-prose,.legal-body) ul:not([class]):not([style]),.card > ul:not([class]):not([style]){list-style:disc;}
:is(article,.tl-prose,.legal-body) ol:not([class]):not([style]){list-style:decimal;}
:is(article,.tl-prose,.legal-body) :is(ul,ol):not([class]):not([style]) > li{font-size:1rem;}
.card > ul:not([class]):not([style]){margin:12px 0 0;}
.card > ul:not([class]):not([style]) li{font-size:.93rem;line-height:1.6;margin-bottom:8px;color:var(--text-muted);}
.legal-body p{margin:0 0 14px;}
/* A row of cards that all end in a button or link: each one sits on its card's
   bottom edge, however long the text above it (George, 27 Oct 2026). A row where
   only some cards have one keeps each button under its own text. (No :has()
   inside :has(): browsers drop such a rule.) */
.cards-grid:not(:has(> .card > :last-child:not(.btn,.read))) > .card{display:flex;flex-direction:column;}
.cards-grid:not(:has(> .card > :last-child:not(.btn,.read))) > .card > :last-child{margin-top:auto;align-self:flex-start;}
.cards-grid:not(:has(> .card > :last-child:not(.btn,.read))) > .card > p:nth-last-child(2){margin-bottom:16px;}
/* M10: nothing below 12px */
.nav-beta,.nav-free{font-size:.75rem;}
.nav-col-h{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted-strong);margin-bottom:10px;padding:0 12px;}
.ph-alt{margin:14px 0 0;}

/* Closing banners on interior pages: same treatment as the homepage close */
.cta-banner{background:radial-gradient(700px 300px at 50% 0%,rgba(240,172,26,.16),transparent 70%),var(--blue-dark);padding:clamp(56px,7vw,96px) 0;}
.cta-banner::before{content:none;}
.cta-banner h2{color:#fff;margin-bottom:14px;}
.cta-banner p{color:#C9D1F5;max-width:56ch;font-size:1.0625rem;}
.cta-banner .signup-inline{background:#fff;border-radius:14px;padding:8px 8px 8px 16px;box-shadow:0 20px 40px rgba(5,10,40,.35);}
.cta-banner-actions{gap:14px;align-items:center;}
.cta-banner-actions .signup-inline{margin:0;}
@media(max-width:768px){.page-hero-actions .hero-text-link{align-self:flex-start;}}
/* On the Explorer itself, "Explore free" would link to the page you're on: let the page's own actions lead */
body:has(#q) .nav-cta-d[data-account="out"],body:has(#q) .nav-cta-m{display:none !important;}
/* Overview flow cards (<article class="flow-card">): no 2rem top margin from the long-form
   `article h3` rule above each title. */
.flow-grid > .flow-card > h3{margin-top:0;}
/* Desktop: each card is a subgrid (title / lead / list / button), so the lists start on one line
   when one lead wraps to more lines. A list that ends its card also takes the button row. */
@media (min-width:901px){
  .flow-grid:not(.flow-grid--qa){grid-template-rows:auto auto auto 1fr;row-gap:0;}
  .flow-grid:not(.flow-grid--qa) > .flow-card{display:grid;grid-template-rows:subgrid;grid-row:span 4;}
  .flow-grid:not(.flow-grid--qa) > .flow-card > .flow-points:last-child{grid-row:span 2;}
  .flow-grid:not(.flow-grid--qa) > .flow-card > .btn{justify-self:start;}
}
/* Philanthropy overview (.flow-grid--qa): the Q&A card has about three times the text of the other
   two, so three equal-height columns left up to ~300px empty. On desktop it takes the right column
   beside the two short cards; phones keep one column in source order. */
@media (min-width:901px){
  .flow-grid.flow-grid--qa{grid-template-columns:repeat(2,minmax(0,1fr));}
  .flow-grid--qa > .flow-step-1{grid-column:1;grid-row:1;}
  .flow-grid--qa > .flow-step-2{grid-column:2;grid-row:1 / span 2;}
  .flow-grid--qa > .flow-step-3{grid-column:1;grid-row:2;}
}
.flow-grid--qa > .flow-card > .btn{align-self:flex-start;}
/* News timeline: the node comes before the card in the markup, so a left-side card (column 1) was
   auto-placed into a second grid row below the node. Keep both in row 1. */
.news-tl-event > .news-tl-node,.news-tl-event > .news-tl-card{grid-row:1;}
/* The legend hint is itself inline-flex, so text-align did nothing; centre it like the dots. */
.news-tl-legend > .news-tl-legend-hint{justify-content:center;}
/* Two text columns side by side (what-defines-us purpose): top-align them so the headings line up.
   .two-col centres its columns, which suits text beside a visual. */
.two-col:has(> .two-col-text + .two-col-text){align-items:start;}
/* Home "From first search to your cultivation and prospect list": one connector per gap, circle to circle, so the
   line stops at step 4 (desktop and the stacked phone layout). On desktop each step is a subgrid,
   so headings and descriptions start on shared lines when a heading wraps. */
.hx-steps::before{content:none;}
.hx-steps > li:not(:last-child)::after{content:"";position:absolute;left:48px;right:0;top:23px;height:2px;background:var(--blue);opacity:.35;}
.hx-steps > li:nth-child(3)::after{background:linear-gradient(90deg,var(--blue),var(--gold));}
@media (min-width:901px){
  .hx-steps > li{display:grid;grid-template-rows:subgrid;grid-row:span 4;}
}
@media (max-width:900px){
  .hx-steps > li:not(:last-child)::after{left:23px;right:auto;top:48px;bottom:-28px;width:2px;height:auto;}
  .hx-steps > li:nth-child(3)::after{background:linear-gradient(180deg,var(--blue),var(--gold));}
}
/* Process steps (political-campaign-financing, philanthropic-impact, political-campaign-financing-tool):
   the connector runs through the centres of the 52px circles, not 18px below them */
.process-grid::before{top:25px;}
/* Blog "Sources & further reading" box: its heading starts at the box padding, like the
   "Where Aprize fits" callout. styles.css's article .as-h4 (1.6rem top margin) outranked
   its own article aside h3{margin-top:0}. */
article aside > :is(h2,h3,h4):first-child,.tl-prose aside > :is(h2,h3,h4):first-child{margin-top:0;}
article aside > :last-child,.tl-prose aside > :last-child{margin-bottom:0;}

/* Inline "Work email" sign-up box (script.js aprizeCtas), wider than phones.
   Its label takes the first row of a wrapping flex box, so the gold button was
   centred on the field's row alone (25px above it, 8px below). As a grid the
   button spans both rows and sits centred in the box, the buttons beside it
   take the box's height, and the box shares a row with the button before it
   (testimonial story ends) instead of wrapping under it. Phones (560px and
   below) keep the stacked box from styles.css and account.css. */
@media (min-width:561px){
  form.signup-inline:has(> .signup-label){display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;align-items:center;flex:1 1 400px;}
  form.signup-inline:has(> .signup-label) > .signup-label{grid-column:1;grid-row:1;}
  form.signup-inline:has(> .signup-label) > input{grid-column:1;grid-row:2;width:100%;}
  form.signup-inline:has(> .signup-label) > .btn{grid-column:2;grid-row:1 / span 2;}
  :is(.cta-banner-actions,.page-hero-actions):has(> form.signup-inline:not([hidden]) > .signup-label) > .btn{align-self:stretch;}
}

/* A dot beside text that can wrap sits level with the first line, not the middle of the
   item (27 Oct check: .serve-list on approach, get-involved, what-defines-us and the
   Philanthropic Insight Report; section labels that wrap on phones). .5lh is half the
   line height; the em value is the fallback for browsers without lh (line-height 1.65). */
.serve-list li{align-items:flex-start;}
.serve-list li::before{margin-top:calc(.825em - 4px);margin-top:calc(.5lh - 4px);}
.overline{align-items:flex-start;}
.overline::before{margin-top:calc(.825em - 4px);margin-top:calc(.5lh - 4px);}
/* Contact: each label in the Contact Information card sits above its value (.ci-label and
   .ci-value had no styles, so "Email interest@aprize.org" ran together on one line). */
.ci-label{display:block;margin-bottom:2px;font-size:.75rem;font-weight:700;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted-strong);}
.ci-value{font-size:.9375rem;font-weight:500;color:var(--blue-dark);}
.ci-value:hover{color:var(--blue);text-decoration:underline;text-underline-offset:3px;}
/* Short laptop screens (1280x720 and the like): tighten the illustrated hero so
   its search sits above the fold, clear of the cookie bar EU visitors see. */
@media (min-width:761px) and (max-height:820px){
  .hx-hero--ill{padding-top:36px;}
  .hx-hero--ill h1{font-size:clamp(2.25rem,2.6vw + 1rem,3.25rem);margin-bottom:14px;}
  .hx-hero--ill .lead{margin-bottom:14px;}
  .hx-hero--ill .hx-points{margin-bottom:16px;}
}
/* Phones: the search straight after the heading, so it sits in the first screen and
   clear of the cookie bar EU visitors see (QA 29 Oct: the four points had pushed it
   under the bar on iPhones). The paragraph, the picture (option B, 30 Oct) and the
   points follow the search. Only the screen order changes: screen readers and Tab
   follow the page source, and none of the moved items is a link or field. */
@media (max-width:640px){
  .hx-hero-copy{display:flex;flex-direction:column;}
  .hx-hero-copy .lead{order:1;margin:24px 0 0;}
  .hx-hero-copy .ill-m{order:1;}
  .hx-hero-copy .hx-points{order:2;margin:20px 0 0;}
  .hx-hero-copy .hx-trust{order:3;}
}
/* Phones up to 480px: the sample "Prospect ranking" table fits its card (QA 29 Oct: at
   393px it was 409px wide in a 343px card, so the amounts were cut off). The # column
   goes, the header reads "Potential" (screen readers still hear "Prospect potential"),
   cells are narrower and long names may wrap. */
@media (max-width:480px){
  .hx-table-card td:first-child,.hx-table-card th:first-child{display:none;}
  .hx-table-card td,.hx-table-card thead th{padding-left:12px;padding-right:12px;}
  .hx-table-card td:nth-child(2),.hx-table-card th:nth-child(2){padding-left:18px;}
  .hx-table-card .num{padding-right:18px;}
  .hx-table-card td b{white-space:normal;}
  .hx-table-card .hx-th-long{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);}
}

/* "Rather talk first? Book a 30-minute walkthrough" under each signed-out
   work-email field (30 Oct feedback #4): a text link, never a second button. */
.signup-alt{flex-basis:100%;margin:14px 0 0;font-size:.9375rem;line-height:1.5;}
.signup-alt a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.signup-alt a:hover{text-decoration-thickness:2px;}
.cta-banner-actions > .signup-alt{text-align:center;}
.page-hero .signup-alt{color:#fff;}
