/* Home, What We Do and About (linked from their head-extra; uses the site.css tokens only).
   Blue = primary, orange = the only accent: var(--saffron) for small orange text, var(--accent) for orange graphics. */

/* ---------- Home: one-line SCALE pointer ---------- */
.scale-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 40px;align-items:center;padding-block:clamp(28px,3.5vw,40px);border-block:1px solid var(--rule-2)}
.scale-line p{font-weight:200;max-width:34em}
.scale-line strong{font-weight:400;color:var(--iris-hi)}
@media (max-width:760px){.scale-line{grid-template-columns:1fr}}

/* ---------- Home: two ICP cards with their scorecard as a small funnel ---------- */
.icp-cards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,32px);margin-top:clamp(48px,6vw,80px)}
@media (max-width:900px){.icp-cards{grid-template-columns:1fr}}
.icp-card{--t:var(--iris-hi);--g:var(--iris);display:flex;flex-direction:column;min-width:0;padding:clamp(24px,3.4vw,44px);border-radius:24px;background:var(--card);border:1px solid var(--card-line)}
.icp-card.ch{--t:var(--saffron);--g:var(--accent)}
.icp-card .caption{color:var(--t)}
.icp-card h3{margin-top:14px;font-size:clamp(30px,3.2vw,42px);line-height:1.08;letter-spacing:-.035em}
.icp-card .icp-who{margin-top:14px;color:var(--silver)}
.icp-card h4{margin:34px 0 0;font-size:clamp(21px,1.9vw,24px);line-height:1.25;letter-spacing:-.02em;font-weight:400}
.icp-card h4+p{margin-top:10px;color:var(--silver)}
.icp-card .calc-line{margin-top:18px;font-size:16px;color:var(--silver)}
.icp-card .ctas{margin-top:auto;padding-top:30px}
.mini-funnel{display:grid;gap:6px;margin-top:24px}
.mini-funnel li{display:flex;align-items:center;gap:12px;width:calc(100% - var(--i,0) * 4%);min-height:42px;padding:7px 14px;border-radius:4px 12px 12px 4px;background:var(--surface);box-shadow:inset 3px 0 0 var(--g);font-size:15px;line-height:1.3;color:var(--bone)}
.mini-funnel .sn{flex:none;min-width:1.2em;font-size:13px;font-weight:600;color:var(--t);font-variant-numeric:tabular-nums}
.checkup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 40px;align-items:center;margin-top:clamp(40px,5vw,56px);padding-top:clamp(28px,3.5vw,40px);border-top:1px solid var(--rule-2)}
.checkup h3{margin-top:10px;font-size:clamp(26px,2.5vw,32px);line-height:1.15;letter-spacing:-.03em}
.checkup p{margin-top:10px;color:var(--silver);max-width:34em}
@media (max-width:760px){.checkup{grid-template-columns:1fr}}

/* ---------- Home: Latest from Insights (cards come from the insights generator between the markers) ---------- */
.latest-links{display:flex;flex-wrap:wrap;gap:4px 28px;margin-top:22px}
.latest{margin-top:clamp(40px,5vw,64px)}
.latest:empty{display:none}

/* ---------- FAQ (Home, What We Do): plain visible questions, same text as the FAQPage JSON-LD ---------- */
.core-faq{border-top:1px solid var(--rule-2)}
.core-faq .core-qa{padding-block:clamp(24px,3vw,34px);border-bottom:1px solid var(--rule-2)}
.core-faq h3{font-size:clamp(21px,2vw,25px);line-height:1.28;letter-spacing:-.02em}
.core-faq p{margin-top:12px;color:var(--silver);max-width:38em}

/* ---------- What We Do: direct answer + funnel map ---------- */
.wwd-answer{font-weight:200}
.fmap{margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--rule-2)}
.fmap-head,.fmap-row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,5fr);gap:20px clamp(24px,3.5vw,48px)}
.fmap-head{padding-block:18px;border-bottom:1px solid var(--rule-2)}
.fmap-head .mt,.fmap .mt .col-label{color:var(--iris-hi)}
.fmap-head .ch,.fmap .ch .col-label{color:var(--saffron)}
.fmap-row{padding-block:clamp(28px,3.5vw,44px);border-bottom:1px solid var(--rule-2)}
.fmap-row h3{font-size:clamp(24px,2.3vw,30px);line-height:1.18;letter-spacing:-.03em}
.fmap-row .area p{margin-top:10px;font-size:16px;color:var(--silver)}
.fmap .col-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.fstages{display:grid;gap:16px}
.fstages li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:2px 8px}
.fstages .sn{grid-row:span 2;padding-top:3px;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.fmap .mt .sn{color:var(--iris-hi)}
.fmap .ch .sn{color:var(--saffron)}
.fstages b{font-weight:400;color:var(--bone)}
.fstages .sd{font-size:15px;line-height:1.45;color:var(--silver)}
.fmap-links{display:flex;flex-wrap:wrap;gap:4px 28px;margin-top:28px}
@media (max-width:900px){
  .fmap-head{display:none}
  .fmap-row{grid-template-columns:1fr;gap:24px}
  .fmap .col-label{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;margin-bottom:12px}
}

/* ---------- What We Do: SCALE step headings keep the full word; the first letter is coloured with CSS ---------- */
.steps .step .big::first-letter{color:var(--c)}

/* ---------- About ---------- */
.person .links{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:26px}
