/* BlueTigre. One stylesheet for every page.
   Colours are set by job, not by name: dark front pages (LIQUID) and light
   reading pages (ICE) change the jobs' values; the rules never name a colour.
   Every text colour below passes 4.5:1 on its ground. Steel is never text. */

:root{
  --edge:max(24px, calc((100vw - 1320px) / 2 + 24px));   /* the home page's one left edge, lined up with the logo */
  --ground:#06090f; --panel:#242d3c; --line:#2c3646; --rule:#7c95a7;
  --text-strong:#dadde2; --text:#919bad; --accent:#7bbedc; --heading:#ffffff;
  --btn:#55a0ca; --btn-text:#06090f; --fact-bg:#0d1626; --pagehead-top:#0b1220;
  --band:#091e57;   /* Deep Navy: the one band that ties dark and light pages together */
}
[data-theme="light"]{
  --ground:#f4f6f8; --panel:#ffffff; --line:#e2e8ee; --rule:#7c95a7;
  --text-strong:#19070c; --text:#3d4a5c; --accent:#336990; --heading:#336990;
  --btn:#336990; --btn-text:#ffffff; --fact-bg:#eef3f7; --pagehead-top:#e9eef3;
  --band:#091e57;
}
/* The menu band is navy on every page, so dark and light pages read as one site. */
[data-theme="light"] nav.top{
  --text:#bed0dc; --text-strong:#ffffff; --accent:#bed0dc; --heading:#ffffff;
  --panel:#0f2a6b; --line:#1d3577;
}
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ background:var(--ground); color:var(--text-strong);
  font-family:'Source Sans 3', Calibri, Arial, sans-serif; font-size:17px; line-height:1.55; }
h1,h2,h3,.wordmark,.kicker,.btn{ font-family:'Montserrat', Arial, sans-serif; }
a{ color:var(--accent); text-decoration:none; }
a:hover{ text-decoration:underline; }
img{ max-width:100%; }
.wrap{ max-width:1080px; margin:0 auto; padding:0 24px; }
.skip{ position:absolute; left:-9999px; }
.skip:focus{ left:16px; top:10px; z-index:50; background:var(--btn); color:var(--btn-text);
  padding:10px 16px; border-radius:6px; font-weight:600; }

/* ---- nav -------------------------------------------------------------- */
nav.top{ position:sticky; top:0; z-index:10; background:var(--band);
  backdrop-filter:blur(6px); border-bottom:1px solid var(--line); }
nav.top .wrap{ display:flex; align-items:center; justify-content:space-between; min-height:76px; max-width:1320px; }
.brandrow{ display:flex; align-items:center; gap:12px; }
.badge{ width:42px; height:42px; border-radius:20%; }
.wordmark{ font-size:26px; font-weight:700; letter-spacing:.5px; color:var(--heading); }
.wordmark span{ color:var(--accent); }
nav.top ul{ list-style:none; display:flex; align-items:center; gap:24px; flex:1; margin-left:28px; }
nav.top ul li.login{ margin-left:auto; }
nav.top ul a{ color:var(--text); font-size:18.5px; font-weight:400; }
nav.top ul a:hover{ color:var(--accent); text-decoration:none; }
nav.top ul a[aria-current="page"]{ color:var(--accent); }
/* The client door, set apart from the pages anyone may read. It leaves the
   site: a client signs in on the reports server, and no client is named. */
nav.top ul li.login a{ border:2px solid var(--accent); border-radius:8px;
  padding:11px 18px; color:var(--accent); font-size:19.5px; line-height:1.2; }
nav.top ul li.login a:hover{ border-color:var(--accent); background:var(--panel); }
/* Phones used to get NO navigation at all - the link list was hidden and
   nothing replaced it. Now it wraps onto a second row instead. */
@media (max-width:760px){
  nav.top .wrap{ flex-wrap:wrap; padding-top:10px; padding-bottom:6px; }
  .brandrow{ width:100%; }
  nav.top ul{ width:100%; flex-wrap:wrap; gap:0 20px; padding:6px 0 8px;
    border-top:1px solid var(--line); margin-top:8px; }
  nav.top ul a{ display:block; padding:8px 0; font-size:15px; }
  nav.top ul li.login a{ display:inline-block; padding:6px 12px; margin:4px 0; }
}

/* ---- hero ------------------------------------------------------------- */
.hero{ position:relative; overflow:hidden; min-height:680px; display:flex; align-items:center; }
.hero .img{ position:absolute; right:-4%; top:0; height:100%; aspect-ratio:1/1;
  background:url('tigre-sapphire-hero.jpg') center/cover no-repeat; opacity:.94; }
.hero .img::after{ content:''; position:absolute; inset:0;
  background:linear-gradient(100deg, #06090f 0%, #06090f 18%, rgba(6,9,15,.6) 42%, rgba(6,9,15,0) 62%),
             radial-gradient(ellipse at 62% 52%, rgba(6,9,15,0) 38%, rgba(6,9,15,.9) 76%, #06090f 100%); }
.hero .wrap{ position:relative; z-index:2; padding-top:72px; padding-bottom:72px; }
.hero h1{ font-size:clamp(34px, 5vw, 54px); font-weight:700; line-height:1.12; color:var(--heading); max-width:680px; }
.hero h1 em{ font-style:normal; color:var(--accent); }
.hero .lede{ margin-top:22px; font-size:clamp(17px, 2vw, 21px); line-height:1.5; color:var(--text); max-width:520px; }
.hero .lede b{ color:var(--text-strong); font-weight:600; }
@media (max-width:640px){ .hero{ min-height:520px; } .hero .img{ opacity:.5; right:-30%; } }

/* inner-page header — same language as the hero, a fraction of the height */
.pagehead{ padding:64px 0 52px; border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, var(--pagehead-top) 0%, var(--ground) 100%); }
.pagehead h1{ font-size:clamp(30px, 4.2vw, 44px); font-weight:700; color:var(--heading);
  line-height:1.15; max-width:820px; margin-top:12px; }
.pagehead h1 em{ font-style:normal; color:var(--accent); }
.pagehead .lede{ margin-top:20px; font-size:19px; color:var(--text); max-width:740px; }
.pagehead .lede b{ color:var(--text-strong); font-weight:600; }

.rule{ width:120px; height:4px; background:var(--btn); margin:30px 0; }
.btn{ display:inline-block; padding:13px 24px; border-radius:6px; font-weight:600;
  font-size:15px; letter-spacing:.3px; }
.btn.primary{ background:var(--btn); color:var(--btn-text); }
.btn.primary:hover{ background:var(--accent); text-decoration:none; }
.btn.ghost{ border:1px solid var(--rule); color:var(--text-strong); margin-left:12px; }
.btn.ghost:hover{ border-color:var(--accent); color:var(--accent); text-decoration:none; }
@media (max-width:640px){ .btn.ghost{ margin:12px 0 0; } }

/* ---- breadcrumb ------------------------------------------------------- */
.crumb{ font-size:13.5px; color:var(--text); padding-top:26px; }
.crumb ol{ list-style:none; display:flex; flex-wrap:wrap; gap:8px; }
.crumb li::after{ content:'›'; margin-left:8px; color:var(--rule); }
.crumb li:last-child::after{ content:''; }
.crumb a{ color:var(--text); }

/* ---- sections --------------------------------------------------------- */
section{ padding:80px 0; border-top:1px solid var(--line); }
section:first-of-type{ border-top:none; }
.kicker{ font-weight:600; font-size:13px; letter-spacing:2.5px; color:var(--accent); text-transform:uppercase; }
h2{ font-size:clamp(26px, 3.2vw, 36px); font-weight:700; color:var(--heading); margin-top:10px; line-height:1.2; max-width:760px; }
.intro{ margin-top:18px; font-size:19px; color:var(--text); max-width:760px; }
.intro b{ color:var(--text-strong); font-weight:600; }
.grid{ display:grid; gap:22px; margin-top:40px; }
.grid.two{ grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); }
.grid.three{ grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); }
.card{ background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:28px; }
.card h3{ font-size:19px; font-weight:700; color:var(--heading); }
.card h3 small{ display:block; font-family:'Source Sans 3', Calibri, Arial, sans-serif;
  font-weight:400; font-size:14px; color:var(--accent); letter-spacing:1px;
  text-transform:uppercase; margin-bottom:6px; }
.card p{ margin-top:12px; color:var(--text); font-size:16px; }
.card p b{ color:var(--text-strong); font-weight:600; }
.num{ font-family:'Montserrat', Arial, sans-serif; font-weight:700; font-size:44px; color:var(--accent); line-height:1; }
.num + p{ margin-top:8px; }

.case{ background:var(--panel); border:1px solid var(--line);
  border-radius:10px; padding:28px 32px; margin-top:36px; }
.case p{ color:var(--text); }
.case p b{ color:var(--text-strong); font-weight:600; }
.case ul{ margin:14px 0 0 20px; color:var(--text); }
.case li{ margin-top:8px; }
.case li b{ color:var(--text-strong); font-weight:600; }

/* ---- the citable fact block ------------------------------------------
   A short, self-contained, specific passage an AI assistant can lift whole
   without losing the caveat that belongs with it. */
.fact{ background:var(--fact-bg); border:1px solid var(--line);
  border-radius:10px; padding:24px 28px; margin-top:28px; }
.fact .q{ font-family:'Montserrat',Arial,sans-serif; font-weight:600; font-size:15px;
  color:var(--accent); letter-spacing:.4px; }
.fact .a{ margin-top:10px; color:var(--text-strong); font-size:17.5px; line-height:1.6; }
.fact .src{ margin-top:12px; font-size:13.5px; color:var(--text); }

/* ---- prose ------------------------------------------------------------ */
.prose{ max-width:720px; }
.prose p{ margin-top:18px; color:var(--text); font-size:17.5px; }
.prose p b{ color:var(--text-strong); font-weight:600; }
.prose h2{ font-size:26px; margin-top:44px; }
.prose h3{ font-family:'Montserrat',Arial,sans-serif; font-size:19px; color:var(--heading); margin-top:32px; }
.prose ul{ margin:16px 0 0 22px; color:var(--text); }
.prose li{ margin-top:10px; }
.prose li b{ color:var(--text-strong); font-weight:600; }
.meta{ font-size:14px; color:var(--text); margin-top:14px; }

/* ---- index listings --------------------------------------------------- */
.list{ display:grid; gap:18px; margin-top:36px; }
.item{ background:var(--panel); border:1px solid var(--line); border-radius:10px;
  padding:26px 28px; display:block; }
.item:hover{ border-color:var(--btn); text-decoration:none; }
.item h3{ font-size:21px; color:var(--heading); font-weight:700; }
.item p{ margin-top:10px; color:var(--text); font-size:16px; }
.item .tag{ font-size:12.5px; letter-spacing:1.6px; text-transform:uppercase;
  color:var(--accent); font-family:'Montserrat',Arial,sans-serif; font-weight:600; }

/* ---- about / contact -------------------------------------------------- */
.about{ display:grid; grid-template-columns:1fr; gap:36px; margin-top:32px; align-items:start; }
@media (min-width:800px){ .about{ grid-template-columns:1.4fr 1fr; } }
.about p{ color:var(--text); margin-top:14px; }
.about p b{ color:var(--text-strong); font-weight:600; }
.facts{ background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:24px 28px; }
.facts dt{ font-family:'Montserrat', Arial, sans-serif; font-weight:600; font-size:12px;
  letter-spacing:2px; color:var(--accent); text-transform:uppercase; margin-top:16px; }
.facts dt:first-child{ margin-top:0; }
.facts dd{ color:var(--text-strong); margin-top:4px; }
.contact .big{ font-family:'Montserrat', Arial, sans-serif; font-weight:700;
  font-size:clamp(22px, 3vw, 32px); color:var(--heading); margin-top:24px; }
.contact .big a{ color:var(--accent); }
.contact .lines{ margin-top:18px; color:var(--text); line-height:1.8; }
.contact .lines b{ color:var(--text-strong); font-weight:600; }

/* ---- next steps + footer ---------------------------------------------- */
.next{ border-top:1px solid var(--line); padding:56px 0; }
.next .grid{ margin-top:26px; }
footer{ border-top:1px solid var(--line); padding:28px 0 40px; font-size:13.5px; color:var(--text); }
footer b{ color:var(--text); font-weight:600; }
footer .wrap{ display:flex; flex-wrap:wrap; gap:8px 28px; justify-content:space-between; }
footer nav{ position:static; background:none; border:none; backdrop-filter:none; }
footer .ftnav{ display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:10px; }
footer .ftnav a{ color:var(--text); }

/* ---- hero proof strip ------------------------------------------------- */
.proof{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px 30px; margin-top:44px; padding-top:26px;
  border-top:1px solid var(--line); max-width:660px; }
.proof div{ display:flex; flex-direction:column; }
.proof b{ font-family:'Montserrat',Arial,sans-serif; font-weight:700;
  font-size:30px; line-height:1; color:var(--accent); }
.proof span{ font-size:13.5px; color:var(--text); margin-top:6px; max-width:190px; }
@media (max-width:640px){
  .proof{ grid-template-columns:1fr 1fr; gap:16px 22px; margin-top:32px; }
  .proof div:last-child{ grid-column:1 / -1; }
  .proof b{ font-size:25px; }
}

/* ---- the limits line: the honesty is the differentiator, so it sits with the claims */
.limits{ margin:22px 0 0; max-width:660px; font-size:14px; line-height:1.55;
  color:var(--text); padding-left:14px; border-left:1px solid var(--rule); }
.limits b{ color:var(--text-strong); font-weight:600; }

/* ---- the P&L comparison, after the deck's slide 2 --------------------- */
.pl{ width:100%; border-collapse:collapse; margin-top:34px; }
.pl th{ text-align:left; font-family:'Montserrat',Arial,sans-serif; font-weight:600;
  font-size:13px; letter-spacing:2.5px; text-transform:uppercase; padding-bottom:14px; }
.pl th.today{ color:var(--text); }
.pl th.moves{ color:var(--accent); }
.pl td{ padding:15px 0; border-top:1px solid var(--line); vertical-align:top; font-size:17px; }
.pl td.today{ color:var(--text); padding-right:18px; }
.pl td.arrow{ color:var(--accent); width:44px; text-align:center; font-size:18px; }
.pl td.moves{ color:var(--text-strong); font-weight:600; }
.pl-closing{ margin-top:26px; font-style:italic; font-size:18px; color:var(--accent); }
@media (max-width:640px){
  .pl, .pl tbody, .pl tr, .pl td{ display:block; width:100%; }
  .pl thead{ display:none; }
  .pl tr{ border-top:1px solid var(--line); padding:14px 0; }
  .pl td{ border-top:none; padding:0; }
  .pl td.today{ font-size:15.5px; padding-right:0; }
  .pl td.arrow{ display:none; }
  .pl td.moves{ margin-top:5px; font-size:16.5px; }
  .pl td.moves::before{ content:'\203A  '; color:var(--accent); font-weight:400; }
}

/* four items read as 2x2, not 3+1 */
.grid.quad{ grid-template-columns:1fr; }
@media (min-width:820px){ .grid.quad{ grid-template-columns:repeat(2, 1fr); } }

/* ---- home page B: the question, answered with one study's numbers --------
   Measured from the approved picture (1376 x 768): headline 59px Montserrat
   bold at 7% from the left; numbers row under it; tiger fills the right half. */
.heroB{ position:relative; overflow:hidden; min-height:clamp(560px, calc(100vh - 76px), 720px); }
.heroB-tiger{ position:absolute; right:0; top:0; width:50%; height:100%; object-fit:cover; object-position:30% 30%;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 22%), linear-gradient(0deg, transparent 0%, #000 30%);
  -webkit-mask-composite:source-in; mask-image:linear-gradient(90deg, transparent 0%, #000 22%), linear-gradient(0deg, transparent 0%, #000 30%); mask-composite:intersect; }
.heroB-copy{ position:relative; z-index:2; padding:clamp(36px, 9vh, 70px) 0 56px var(--edge); max-width:calc(56% - var(--edge)); box-sizing:content-box; }
.heroB h1{ font-size:clamp(36px, 4.3vw, 59px); line-height:1.1; font-weight:700; color:var(--heading); max-width:15.5ch; margin:0; }
.funnel{ position:relative; display:flex; align-items:flex-start; gap:clamp(4px, .6vw, 8px); margin-top:clamp(20px, 3.5vh, 30px); }
.funnel .wedge{ position:absolute; left:3%; top:-6%; width:140%; height:84%; z-index:-1;
  background:linear-gradient(90deg, rgba(123,190,220,.26), rgba(123,190,220,.10) 70%, rgba(123,190,220,.02));
  clip-path:polygon(0 0, 100% 50%, 0 100%); }
.fig{ display:flex; flex-direction:column; align-items:flex-start; text-align:left; flex:none; }
.fig b{ font-family:var(--font-head, 'Montserrat', Arial, sans-serif); font-weight:700; color:var(--text-strong);
  font-size:clamp(52px, 6.6vw, 100px); line-height:.9; letter-spacing:-0.02em; font-variant-numeric:tabular-nums; }
.fig span{ margin:16px -3.2em 0 0; font-size:clamp(14px, 1.25vw, 18px); line-height:1.2; color:var(--text); width:10.5em; white-space:normal; }
.funnel .arrow{ width:clamp(34px, 4.4vw, 68px); margin-left:8px; margin-right:8px; height:16px; color:var(--accent); margin-top:clamp(18px, 2.6vw, 38px); flex:none; }
.heroB-source{ margin-top:clamp(28px, 5.6vh, 50px); font-size:clamp(16px, 1.6vw, 22px); color:var(--text-strong); }
.heroB-doors{ margin-top:clamp(18px, 3vh, 30px); display:flex; flex-wrap:wrap; gap:18px; }
.heroB-doors .btn{ font-family:var(--font-body, 'Source Sans 3', Calibri, Arial, sans-serif); font-weight:600; font-size:clamp(16px, 1.55vw, 21.5px); padding:13px 28px; margin:0; letter-spacing:0; }
.heroB-doors .btn.primary{ background:var(--accent); color:var(--btn-text); }
.heroB-doors .btn.ghost{ border:2px solid var(--accent); color:var(--accent); }
@media (max-width:760px){
  .heroB-tiger{ width:100%; opacity:.35; }
  .heroB-copy{ max-width:none; padding:32px 16px 40px; }
  .funnel{ flex-wrap:wrap; }
  .funnel .arrow{ display:none; }
}

.heroB-who{ margin-top:18px; font-size:15px; color:var(--text); }
.heroB-who a{ color:var(--text-strong); }
.heroB .limits{ margin-top:26px; }

/* ---- home: two doors, the look-back teaser, the weekly strip, the start ---- */
.doors-row{ display:grid; grid-template-columns:1fr 1fr; margin-top:34px; border-top:1px solid var(--line); }
.door{ display:block; padding:30px 36px 34px 0; color:inherit; }
.door + .door{ padding-left:36px; border-left:1px solid var(--line); }
.door h3{ font-size:clamp(22px, 2.2vw, 28px); color:var(--heading); }
.door p{ margin-top:12px; color:var(--text); max-width:36em; }
.door .go{ display:inline-block; margin-top:18px; color:var(--accent); font-weight:600; }
.door .go::after, .more::after{ content:""; display:inline-block; width:.55em; height:.55em; margin-left:.45em;
  border-top:2px solid currentColor; border-right:2px solid currentColor; transform:translateY(-1px) rotate(45deg); }
.door:hover{ text-decoration:none; }
.door:hover .go{ text-decoration:underline; text-underline-offset:4px; }
.more{ display:inline-block; margin-top:18px; font-weight:600; }
.reading-strip{ list-style:none; display:flex; flex-wrap:wrap; gap:10px 0; margin-top:26px; }
.reading-strip li{ padding:0 22px 0 0; margin-right:22px; border-right:1px solid var(--line); color:var(--text); }
.reading-strip li:last-child{ border-right:none; }
.reading-strip b{ color:var(--text-strong); font-weight:600; }
.reading-empty{ margin-top:22px; color:var(--text); }
.start-mail{ margin-top:18px; font-family:'Montserrat', Arial, sans-serif; font-weight:700; font-size:clamp(22px, 3vw, 32px); }
::selection{ background:var(--accent); color:var(--ground); }
a:focus-visible, .btn:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:4px; }
@media (max-width:760px){
  .doors-row{ grid-template-columns:1fr; }
  .door, .door + .door{ padding:26px 0; border-left:none; }
  .door + .door{ border-top:1px solid var(--line); }
}

/* home sections share the hero's left edge */
.heroB ~ section .wrap{ max-width:none; margin:0; padding:0 var(--edge); }
.heroB ~ section .intro, .door p{ max-width:40em; }
@media (max-width:760px){
  nav.top ul{ flex-wrap:wrap; margin-left:0; gap:0 18px; }
  nav.top ul li.login{ margin-left:0; }
  .heroB-copy{ max-width:none; padding:28px 16px 36px; }
  .funnel{ display:grid; grid-template-columns:1fr 1fr; gap:22px 12px; }
  .funnel .wedge{ display:none; }
  .fig{ align-items:flex-start; text-align:left; }
  .fig b{ font-size:56px; }
  .fig span{ margin:8px 0 0; width:auto; font-size:15px; }
  .heroB ~ section .wrap{ padding:0 16px; }
}

/* ---- investors: the four questions, the two steps, the look-back table ---- */
.qlist{ margin-top:30px; border-top:1px solid var(--line); }
.qlist > div{ display:grid; grid-template-columns:minmax(180px, 16em) 1fr; gap:8px 32px; padding:22px 0; border-bottom:1px solid var(--line); }
.qlist dt{ font-family:'Montserrat', Arial, sans-serif; font-weight:700; color:var(--heading); font-size:19px; }
.qlist dd{ color:var(--text-strong); font-size:19px; max-width:38em; }
.twostep{ display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:30px; border-top:1px solid var(--line); }
.twostep > div{ padding:26px 36px 26px 0; }
.twostep > div + div{ padding-left:36px; border-left:1px solid var(--line); }
.twostep h3{ font-size:22px; color:var(--heading); }
.twostep p{ margin-top:10px; color:var(--text); max-width:34em; }
.twostep + .limits{ margin-top:26px; }
.key{ display:flex; flex-wrap:wrap; gap:8px 28px; margin-top:22px; color:var(--text); font-size:15px; }
.key div{ display:flex; gap:6px; }
.key dt{ font-weight:600; color:var(--text-strong); }
.rule-note{ margin-top:22px; color:var(--text); font-size:15px; }
.table-scroll{ overflow-x:auto; margin-top:14px; }
.lookback{ width:100%; border-collapse:collapse; font-size:16px; min-width:640px; }
.lookback th{ text-align:left; font-weight:600; color:var(--text-strong); padding:10px 14px 10px 0; border-bottom:1px solid var(--rule); }
.lookback td{ padding:12px 14px 12px 0; border-bottom:1px solid var(--line); color:var(--text); vertical-align:top; }
.lookback td:first-child{ color:var(--text-strong); font-weight:600; }
.result{ font-weight:600; white-space:nowrap; }
.result.caught{ color:var(--accent); }
.result.missed{ color:#ff9b8a; }
.result.false-alarm{ color:#e8c77a; }
.result.clear{ color:var(--text-strong); }
@media (max-width:760px){
  .qlist > div, .twostep{ grid-template-columns:1fr; }
  .twostep > div + div{ padding-left:0; border-left:none; border-top:1px solid var(--line); }
}

.lookback{ min-width:880px; }
.lookback th[scope="row"]{ text-align:left; font-weight:600; color:var(--text-strong); padding:14px 16px 14px 0; border-bottom:1px solid var(--line); vertical-align:top; min-width:150px; }
.lookback small{ display:block; margin-top:4px; font-weight:400; font-size:13.5px; color:var(--text); line-height:1.35; }
.lookback td{ font-size:15.5px; line-height:1.45; }
.ref{ display:inline-block; margin-left:5px; font-size:12px; vertical-align:super; color:var(--accent); }
.estimate{ margin-top:26px; max-width:48em; color:var(--text); padding-left:14px; border-left:1px solid var(--rule); }
.estimate b{ color:var(--text-strong); }
.sources-h{ margin-top:34px; font-size:16px; color:var(--text-strong); }
.sources{ margin:10px 0 0 20px; color:var(--text); font-size:14px; }
.sources li{ margin-top:6px; }
.lookback{ table-layout:fixed; }
.lookback th:nth-child(1){ width:15%; } .lookback th:nth-child(2){ width:21%; }
.lookback th:nth-child(3){ width:21%; } .lookback th:nth-child(4){ width:14%; } .lookback th:nth-child(5){ width:29%; }

.areas{ list-style:none; display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); margin-top:26px; border-top:1px solid var(--line); }
.areas li{ padding:16px 0; border-bottom:1px solid var(--line); color:var(--text-strong); font-size:18px; }

/* ---- finish review: one system of ruled rows, no boxed cards, no eyebrow labels ---- */
.card, .item, .facts, .case, .fact{ background:none; border:none; border-radius:0; border-top:1px solid var(--line); padding:22px 0 0; }
.grid{ gap:0 36px; }
.item{ padding-bottom:22px; }
.item:hover{ border-color:var(--accent); }
.case, .fact{ padding:22px 0 0; margin-top:30px; }
.card h3 small, .fact .q{ text-transform:none; letter-spacing:0; font-size:15px; font-family:'Source Sans 3', Calibri, Arial, sans-serif; font-weight:600; color:var(--accent); }
.funnel .arrow path{ stroke-width:2.5; }
.menu-toggle, .menu-button{ display:none; }
@media (max-width:760px){
  .menu-button{ display:inline-block; margin-left:auto; padding:8px 14px; border:2px solid var(--accent); border-radius:8px; color:var(--accent); font-weight:600; cursor:pointer; }
  .brandrow{ width:auto; }
  nav.top .wrap{ flex-wrap:wrap; align-items:center; }
  nav.top ul{ display:none; width:100%; }
  .menu-toggle:checked ~ ul{ display:flex; flex-direction:column; gap:0; }
  .menu-toggle:focus-visible + .menu-button{ outline:2px solid var(--accent); outline-offset:3px; }
  .lookback, .lookback tbody{ display:block; min-width:0; }
  .lookback thead{ display:none; }
  .lookback tr{ display:flex; flex-direction:column; padding:16px 0; border-bottom:1px solid var(--line); }
  .lookback th[scope="row"], .lookback td{ display:block; border:none; padding:4px 0; width:auto; }
  .lookback td.res{ order:-1; }
  .lookback th[scope="row"]{ order:-2; }
  .lookback td::before{ content:attr(data-label); display:block; font-size:12.5px; color:var(--text); font-weight:600; }
  .lookback td.res::before{ content:none; }
  .table-scroll{ overflow:visible; }
}

.num{ font-size:28px; display:inline-block; margin-right:.35em; }
.num + p{ display:inline; margin-top:0; }
.grid.three{ grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); }
.funnel{ max-width:min(100%, 780px); }
.funnel .arrow{ width:clamp(30px, 3.4vw, 52px); }
.funnel .fig:last-of-type span{ margin-right:0; }
.funnel .fig:last-of-type span{ width:8em; }

.subhead{ margin-top:44px; font-size:21px; color:var(--heading); }
.grid.two{ grid-template-columns:repeat(2, 1fr); }
@media (max-width:760px){ .grid.two{ grid-template-columns:1fr; } }
