/* ============================================================
   AIHG · Version 1.3 — brand typography (type:brand)
   ------------------------------------------------------------
   Both J and K run on type:brand, so this layer is required, not
   optional. Carried over unchanged from the 1.2 experiment, where it
   was authored as option-c.css. Every rule is gated on
   html[data-type="brand"]; nothing here touches layout, colour,
   diagrams or motion — only type, per final-aihg-branding.html section 6.
   ============================================================ */
html[data-type="brand"]{
  --font-display:"Inter",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --font-sans:"Archivo",Arial,Helvetica,sans-serif;
  --font-mono:"Archivo",Arial,Helvetica,sans-serif;
  --display:var(--font-display);
  --text:var(--font-sans);
  --mono:var(--font-sans);
}

/* ---------- page-level ---------- */
html[data-type="brand"] body{font-family:var(--font-sans);font-weight:400}
html[data-type="brand"] .display{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.04}
html[data-type="brand"] .hero h1{letter-spacing:-.025em;max-width:15ch;text-wrap:balance}
html[data-type="brand"] h2.display{text-wrap:balance}
html[data-type="brand"] .label{font-family:var(--font-sans);font-weight:600;letter-spacing:.18em}
html[data-type="brand"] .nav__links a,html[data-type="brand"] .nav__cta,html[data-type="brand"] .btn{font-family:var(--font-sans);font-weight:600}
html[data-type="brand"] .person h3,html[data-type="brand"] .adv-card .name,html[data-type="brand"] .press-item .headline{font-family:var(--font-display);font-weight:700;letter-spacing:-.015em}
html[data-type="brand"] .why__close strong{font-family:var(--font-display);font-weight:700}
html[data-type="brand"] section[id],html[data-type="brand"] #partner{scroll-margin-top:72px}

/* ---------- headers in B's components → Inter Bold, tightened ---------- */
html[data-type="brand"] .opb-h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.022em;line-height:1.04;font-size:clamp(28px,3.8vw,46px)}
html[data-type="brand"] .opb-h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.018em;line-height:1.12;font-size:clamp(21px,2.2vw,28px)}
html[data-type="brand"] .opb-trio h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.018em;line-height:1.15;font-size:clamp(20px,2vw,25px)}
html[data-type="brand"] .opb-behaviours b{font-family:var(--font-display);font-weight:700;letter-spacing:-.018em;line-height:1.15;font-size:clamp(18px,1.9vw,23px)}
html[data-type="brand"] .opb-media__cap b{font-family:var(--font-display);font-weight:700;letter-spacing:-.018em;line-height:1.12;font-size:clamp(20px,2.3vw,30px)}
html[data-type="brand"] .opb-media__cap--center b{font-size:clamp(32px,5vw,62px);letter-spacing:-.026em;line-height:1.02;max-width:15ch}
html[data-type="brand"] .opb-quote{font-family:var(--font-display);font-weight:700}
html[data-type="brand"] .opb-outcome__lines li{font-family:var(--font-display);font-weight:700;letter-spacing:-.022em;line-height:1.08;font-size:clamp(24px,3.3vw,40px)}
html[data-type="brand"] .opb-outcome__resolve b{font-family:var(--font-display);font-weight:700;letter-spacing:-.028em;line-height:1;font-size:clamp(32px,4.6vw,58px)}
html[data-type="brand"] .opb-outcome__quote strong{font-family:var(--font-display);font-weight:700;letter-spacing:-.012em;font-size:1.05em}

/* ---------- subheads → Inter Medium ---------- */
html[data-type="brand"] .opb-model .opb-model__take{font-family:var(--font-display);font-weight:500;letter-spacing:-.012em;line-height:1.35;font-size:clamp(18px,1.7vw,22px)}
html[data-type="brand"] .opb-card__t,html[data-type="brand"] .opb-node b,html[data-type="brand"] .opb-tx__layer b,html[data-type="brand"] .opb-tx__owner,html[data-type="brand"] .opb-tx__team b,html[data-type="brand"] .opb-cx__center,html[data-type="brand"] .opb-chain li,html[data-type="brand"] .opb-econ__points b{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em}

/* ---------- body, UI, captions → Archivo 400–600 ---------- */
html[data-type="brand"] .opb-nodes li,html[data-type="brand"] .opb-fns li,html[data-type="brand"] .opb-step b,html[data-type="brand"] .opb-stream__rows b,html[data-type="brand"] .opb-core__event b,html[data-type="brand"] .opb-node span,html[data-type="brand"] .opb-cx__node,html[data-type="brand"] .opb-loop__nodes li,html[data-type="brand"] .opb-tx__toggle button,html[data-type="brand"] .opb-tx__depts li,html[data-type="brand"] .opb-silos li,html[data-type="brand"] .opb-manager__cols li{font-family:var(--font-sans)}
html[data-type="brand"] .opb-nodes li,html[data-type="brand"] .opb-step b,html[data-type="brand"] .opb-stream__rows b,html[data-type="brand"] .opb-core__event b{font-weight:500}
html[data-type="brand"] .opb-fns li,html[data-type="brand"] .opb-cx__node,html[data-type="brand"] .opb-loop__nodes li,html[data-type="brand"] .opb-tx__toggle button,html[data-type="brand"] .opb-tx__depts li,html[data-type="brand"] .opb-silos li{font-weight:600}
html[data-type="brand"] .opb-clock,html[data-type="brand"] .opb-stream__meta time{font-weight:600}

/* ---------- stat figures → Archivo Extrabold ---------- */
html[data-type="brand"] .opb-bar__margin span{font-family:var(--font-sans);font-weight:800;letter-spacing:-.01em;font-size:clamp(18px,2vw,26px);line-height:1.1}
html[data-type="brand"] .opb-bar__margin span small{font-weight:600;letter-spacing:.06em}
html[data-type="brand"] .opb-bar__label{font-weight:600}
html[data-type="brand"] .opb-bar__cost span{font-weight:600}
@media(max-width:760px){html[data-type="brand"] .opb-bar__margin span{font-size:16px}}
