/* ==========================================================================
   WONE Type System v14 — final typography & spacing layer
   Enqueue LAST (after wone-institutional-v2.css). Overrides only.

   Built from a full read of wone-universe v13.6.0: 28 stylesheets, ~100 templates.
   Why !important: 1,300+ of the heading rules this replaces already use it, so
   a later rule needs !important plus equal specificity to win.

   Font roles
     Newsreader  — page titles (H1) and section titles (H2) only
     Inter Tight — every sub-heading and card title (H3/H4, card H2s)
     Inter       — body, ledes, labels, buttons
   Scale (desktop max): 84 display · 64 H1 · 44 H2 · 24 sub · 19 card · 17 body · 11.5 label
   Nothing renders above 88px.
   ========================================================================== */

/* ---------- 1. Tokens (the theme's own variables, retuned) ---------- */
:root{
  --wone-display: clamp(40px, 5.6vw, 84px);
  --wone-display-small: clamp(34px, 4.4vw, 64px);
  --wone-h1: clamp(34px, 4.4vw, 64px);
  --wone-h2: clamp(28px, 3vw, 44px);
  --wone-h2-small: clamp(24px, 2.3vw, 34px);
  --wone-h3: clamp(20px, 1.65vw, 24px);
  --wone-card-title: 19px;
  --wone-body: 17px;
  --wone-body-lg: clamp(18px, 1.4vw, 21px);
  --wone-card-copy: 15px;
  --wone-meta: 14px;
  --wone-label: 11.5px;

  --wone-lh-display: 1.04;
  --wone-lh-h1: 1.06;
  --wone-lh-h2: 1.12;
  --wone-lh-h3: 1.28;
  --wone-lh-card: 1.32;

  --wone-ls-display: -0.025em;
  --wone-ls-h1: -0.022em;
  --wone-ls-h2: -0.018em;
  --wone-ls-sub: -0.01em;
  --wone-ls-label: 0.12em;

  /* air */
  --wone-section: clamp(96px, 9vw, 152px);
  --wone-hero-pad: clamp(88px, 9vw, 148px);
  --wone-reading: 720px;

  --wone-serif-stack: "Newsreader", Georgia, "Times New Roman", serif;
  --wone-tight-stack: "Inter Tight", "Inter", Arial, sans-serif;
  --wone-sans-stack: "Inter", Arial, sans-serif;
}
@media (max-width: 1080px){ :root{ --wone-section: clamp(72px, 9vw, 104px); } }
@media (max-width: 700px){ :root{ --wone-section: 64px; --wone-hero-pad: 64px; --wone-body: 16px; } }

body{ font-size: var(--wone-body) !important; line-height: 1.66 !important; }

/* ---------- 2. Home hero (only display-size type on the site) ---------- */
.hero h1{
  font-family: var(--wone-serif-stack) !important;
  font-weight: 400 !important;
  font-size: var(--wone-display) !important;
  line-height: var(--wone-lh-display) !important;
  letter-spacing: var(--wone-ls-display) !important;
  max-width: 16ch !important;
}

/* ---------- 3. Page titles (H1) — was 92–112px at 0.84–0.91 line-height ---------- */
.wx-hero-full h1,
.wx-hero h1,
.wx-hero-full.wx-hero-people h1,
.w135-fixed-hero h1,
.ws10-hero h1,
.wen8-hero h1,
.wen8-hero.compact h1,
.we7-hero h1,
.ww-hero h1,
.wtc-hero h1,
.wc9-graph-hero h1,
.wl-hero h1,
.w135-legal-hero h1,
.display.small,
.w139-podcast-hero h1,
.w139-cap-index-hero h1,
.wte-hero h1,
.w139-posts-hero h1,
.wc9-upgrade h1,
.wl-compare-hero h1,
.w138-ask-copy h1,
.w137-firm-hero h1,
.w139-profile-intro h1,
.w135-moment-copy h1,
.w135-error-grid h1,
.wc9-hero h1,
.w139-intel-hero-left h1,
.w139-intel-hero h1,
.w139-market-index-intro h1,
.w139-cinema-title,
.w139-post-title,
.w139-update-title,
.w139-update-heading,
.wone-report-hero h1,
.wone-auth-page-copy h1,
.wone-eb-console-title,
.du-h1{
  font-family: var(--wone-serif-stack) !important;
  font-weight: 400 !important;
  font-size: var(--wone-h1) !important;
  line-height: var(--wone-lh-h1) !important;
  letter-spacing: var(--wone-ls-h1) !important;
  max-width: 18ch !important;
  text-wrap: balance !important;
}

/* ---------- 4. Section titles (H2) — was 68–72px, nearly as big as H1 ---------- */
.wx-head h2,
.w135-head h2,
.wl-section-head h2,
.w13-section-head h2,
.ws10-section h2,
.wtc-head h2,
.wen8-head h2,
.ww-head h2,
.wone-oxide-transition h2,
.wgc2-title,
.wc9-intro h2,
.w133-bridge-name{
  font-family: var(--wone-serif-stack) !important;
  font-weight: 400 !important;
  font-size: var(--wone-h2) !important;
  line-height: var(--wone-lh-h2) !important;
  letter-spacing: var(--wone-ls-h2) !important;
  max-width: 22ch !important;
  text-wrap: balance !important;
}
.w139-profile-contact h2,
.w134-auth-stage .wone-auth-panel-head h2,
.w139-intel-feature-copy h2,
.w135-footer .wgc2-statement{
  font-family: var(--wone-serif-stack) !important;
  font-weight: 400 !important;
  font-size: var(--wone-h2-small) !important;
  line-height: 1.15 !important;
  letter-spacing: var(--wone-ls-h2) !important;
}

/* ---------- 5. Inner sub-headings — was 15 sizes from 21–38px ---------- */
.wgc2-feature h3,
.wx-feature-copy h3,
.w135-two-col h3,
.w360-mode-card h3,
.w133-watch-grid h3,
.wl-question-grid h3,
.w135-entry-grid h3,
.w135-principles h3,
.w137-industry-grid>a h3,
.wtc-change h3,
.wl-empty h3,
.w13-resolver h3,
.wte-states h3,
.w137-empty h3,
.w139-corridor-card-body h3,
.w139-dest-group-head h3,
.wx-story h3,
.ws10-grid3>a h3,
.w139-article-prose h3{
  font-family: var(--wone-tight-stack) !important;
  font-weight: 500 !important;
  font-size: var(--wone-h3) !important;
  line-height: var(--wone-lh-h3) !important;
  letter-spacing: var(--wone-ls-sub) !important;
  text-transform: none !important;
}

/* ---------- 6. Card titles — one size, Inter Tight (incl. former serif card titles) ---------- */
.wx-section.wx-dark .wx-matrix .wx-cell h2,
.wx-matrix .wx-cell h2,
.wx-section.wx-dark .wx-matrix .wx-cell h3,
.wx-matrix .wx-cell h3,
.wx-section.wx-dark .wx-matrix .wx-cell h4,
.wx-matrix .wx-cell h4,
.wx-person h3,
.wx-person-copy h3,
.wen8-side h3,
.wone-eb-seq-card h3,
.wx-ledger-row h3,
.wc9-principles h3,
.w135-question-grid h3,
.wc9-change-list h3,
.wen8-member-list h3,
.ws10-radar h3,
.we7-work-head h3,
.wc9-upgrade-plans h3,
.ws10-gap h3,
.w139-podcast-card-copy h2,
.w139-post-card-copy h2,
.w139-market-ledger>a>div:first-of-type h3,
.w139-sector-grid h3,
.wone-dim-title,
.w360-sequence article h3,
.w139-signal-body h3,
.wone-board-view-box h3,
.wone-seq-name,
.wone-watchpoint-title,
.wone-dest-decision-card h4,
.wone-corridor-move-card h4,
.wone-firm-layer-box h4,
.wone-mistakes-band h4,
.w139-region-grid h3,
.w139-market-ledger h3{
  font-family: var(--wone-tight-stack) !important;
  font-weight: 500 !important;
  font-size: var(--wone-card-title) !important;
  line-height: var(--wone-lh-card) !important;
  letter-spacing: var(--wone-ls-sub) !important;
  text-transform: none !important;
}

/* ---------- 7. Decorative hero words (WORK. / WHO. / BRING.) — were 110–280px ----------
   They sit directly above the H1 and out-shout it. Hidden here.
   To keep them instead, delete display:none and use the commented block. */
.wx-hero-word,
.wx-hero-full.wx-hero-people .wx-hero-word,
.wx-hero-word-who,
.w135-fixed-word,
.w135-moment-word,
.wone-auth-word,
.w139-update-word,
.du-word{
  display: none !important;
}
/*
.wx-hero-word,
.wx-hero-full.wx-hero-people .wx-hero-word,
.wx-hero-word-who,
.w135-fixed-word,
.w135-moment-word,
.wone-auth-word,
.w139-update-word,
.du-word{
  display: block !important;
  font-size: clamp(48px, 5.6vw, 84px) !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
  opacity: .12 !important;
}
*/

/* ---------- 8. Footer column headings — were 9px ---------- */
.w135-footer .wgc2-col h4{
  font-family: var(--wone-sans-stack) !important;
  font-size: var(--wone-label) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: var(--wone-ls-label) !important;
}

/* ---------- 9. Labels, tags, nav, meta — 122 rules were 7.5–10.5px; floor is 11px ---------- */
.utility-bar,
.nav-actions,
.eyebrow,
.hero-art-label,
.card .kicker,
.stat span,
.person-card a,
.demo-badge,
.story-feature .story-type,
.case-metrics span,
label,
.breadcrumb,
.footer-bottom,
.prototype-strip,
.wgc2-utility-brand,
.wgc2-utility-links,
.wgc2-feature a,
.wgc2-feature a:link,
.wgc2-feature a:visited,
.wgc2-pre-actions a,
.wgc2-path span,
.wgc2-legal,
.wgc2-bottom,
.wone-f6-statement>span,
.wone-f6-identity b,
.wone-f6-col h4,
.wone-f6-col>a,
.wone-f6-col .wone-f6-start,
.wone-f6-path strong,
.wone-f6-path span,
.wone-f6-bottom,
.cmd-local a,
.cmd-reading span,
.cmd-fact span,
.cmd-step span,
.cmd-step a,
.cmd-action span,
.cmd-action a,
.cmd-person span,
.cmd-person a,
.cmd-refine label,
.cmd-refine-note,
.cmd-result-band span,
.wx-fact small,
.wx-route-step span,
.w360-flags span,
.wone-auth-modal-head .eyebrow,
.w135-reason,
.w138-proof span,
.w138-mode-switch button,
.w138-mode-switch a,
.w138-command-head>span,
.w138-console-label,
.w138-command-foot span,
.w138-command-foot b,
.w138-universe-rail a,
.w138-rail-label,
.w138-ask-topline,
.w138-prof-grid span,
.w138-prof-grid b,
.w138-panel-head span,
.w139-update-clock,
.w139-corridor-themes span,
.w139-practice-links a,
.w139-specialism-strip a,
.wtc-evidence-stamp>small,
.ww-metric span,
.ww-change-score span,
.ww-meta span,
.ww-reasons span,
.ww-review-line b,
.ww-change aside span,
.ww-change aside a,
.ww-decision>span,
.ww-decision>div,
.ww-footprint-form label,
.ww-pref-form label,
.ww-final span,
.ww-card-tag,
.ww-counter-badge,
.wone-eb-stamp-badge,
.wgc2-utility a,
.wgc2-utility button,
legend,
.w133-industry-map-grid .core small,
.w133-industry-map-grid a small,
.wone-card-badge,
.wone-section-kicker,
.wgc2-navbtn,
.w135-footer .wgc2-tagline,
.w135-footer .institution,
.wgc2-brand .institution,
.w1352-reality-grid span,
.wx-cell .k,
.wx-cell .wx-rank,
.wx-matrix .wx-cell .k,
.w13-section.dark .wx-matrix .wx-cell .k,
.wx-section.wx-dark .wx-matrix .wx-cell .k,
.wx-dark .wx-cell .k,
a.wx-cell .k,
.wx-cell span,
.wx-matrix .wx-cell span,
.w13-section.dark .wx-matrix .wx-cell span,
.wx-section.wx-dark .wx-matrix .wx-cell span,
.wx-dark .wx-cell span,
a.wx-cell span,
.wx-cell a,
.wx-matrix .wx-cell a,
.wx-mini-tags span,
.wone-cap-chip .wone-appointed-tag,
.w135-footer .w135-footer-trust b,
.ask-section .ask-foot>span,
#main .ask-section .ask-foot>span,
.wone-v2-homepage .ask-foot>span,
.mandate-core small,
.mandate-note,
.wone-qtime,
.wx-person-exact,
.wx-why,
.wone-relevance-chip,
.kicker,
.w139-intel-hero .w139-editorial-kicker{
  font-size: max(11px, var(--wone-label)) !important;
}

/* ---------- 10. Card and grid copy — 83 rules were 12.5–14.5px ---------- */
.card p,
.index-row p,
.wgc2-brand p,
.wone-du .du-family-card p,
.wone-du .du-moment p,
.wone-du .du-step p,
.wx-ledger-row p,
.w360-mode-card p,
.w360-ai-two li,
.w360-stat-grid p,
.w360-risk-grid p,
.w360-workstreams p,
.w13-market-feature-copy p,
.w13-section-head p,
.wone-auth-modal-visual-copy p,
.wone-auth-panel-head p,
.w135-principles p,
.w135-two-col li,
.w135-entry-grid p,
.w135-expect-grid p,
.w135-legal-note p,
.w135-workstream-grid p,
.w135-corridor-grid p,
.w137-contact-grid p,
.w138-command-head p,
.w138-prof-grid p,
.w139-content-copy p,
.w139-practice-grid p,
.w139-record-grid p,
.w139-region-grid p,
.w139-sector-grid p,
.w139-corridor-grid p,
.w139-capability-grid p,
.w139-home-channel-grid p,
.w139-industry-grid p,
.wte-states p,
.ww-hero aside p,
.ww-metric p,
.ww-decision p,
.wen8-hero aside p,
.wc9-plans li,
.wc9-principles p,
.wc9-graph-hero aside p,
.wc9-change-list p,
.w139-post-card-copy p,
.w139-podcast-card-copy p,
.w139-framework-card p,
.w139-industry-card-body p,
.w139-corridor-intro,
.w139-side-card p,
.w133-bridge-lanes p,
.w133-watch-grid p,
.wone-req-step-item p,
.wone-confidential-card p,
.wone-rule-item p,
.wone-thankyou-header p,
.wone-step-card p,
.wone-thankyou-notice p,
.w135-footer .wgc2-brand p,
.w1352-reality-grid p,
.wx-cell p,
.wx-matrix .wx-cell p,
.w13-section.dark .wx-matrix .wx-cell p,
.wx-section.wx-dark .wx-matrix .wx-cell p,
.wx-dark .wx-cell p,
a.wx-cell p,
.w133-lane-desc,
.w139-market-ledger>a>div:first-of-type p,
.w139-update-hero-card p,
.institution-copy>p:not(.lead),
.ask-intro p,
.section-head>p,
.reality-title p,
.world-panel>p,
.industry-copy>p,
.people-copy p,
.circuit-in p,
.close-in p,
.ask-stream-count-info p,
.w360-sequence article li,
.w360-sequence li,
.wc9-plans p,
.wc9-current p{
  font-size: var(--wone-card-copy) !important;
  line-height: 1.6 !important;
}

/* Captions & fine print — 57 rules were under 12.5px */
.microcopy,
.mosaic p,
.number-item p,
.person-card p,
.story-small p,
.wgc2-copy,
.wgc2-feature p,
.wgc2-brand-right p,
.wone-f6-identity p,
.wone-f6-col>p,
.wone-f6-responsibility p,
.cmd-reading p,
.cmd-step p,
.cmd-action p,
.cmd-person p,
.cmd-result-band p,
.wx-cell p,
.wx-feature-copy p,
.wx-person p,
.wx-story p,
.wx-route-step p,
.wx-priority p,
.wx-next p,
.w360-signal p,
.w360-sub li,
.w360-sequence li,
.w360-source-head p,
.w13-hero-console p,
.w13-window p,
.w13-market-link p,
.w13-resolver p,
.w13-board-lead-copy p,
.w13-board-item p,
.w13-corridor p,
.wone-auth-benefits p,
.w135-number-grid p,
.w135-process p,
.w135-example-grid p,
.w137-practice-row p,
.wen8-security-note p,
.ws10-gap p,
.wb10-subscriptions p,
.wone-phase-card p,
.wone-eoi-confidential-box p,
.w135-footer-trust p,
.w135-footer .w135-footer-trust p,
.ask-result-col p,
.ask-result-col li,
.ask-result-foot p,
.life-item p,
.cap-callout p,
.step p,
.intel-card p,
.op-card p,
.bridge-points p,
.wone-report-filebox dd,
.wc9-plans li:before{
  font-size: var(--wone-meta) !important;
  line-height: 1.55 !important;
}

/* ---------- 11. Air between heading and copy; reading width ---------- */
.wx-head p, .w135-head p, .wl-section-head p, .w13-section-head p,
.wx-hero p, .wx-hero-full p, .w135-fixed-hero p{
  max-width: 60ch !important;
  font-size: var(--wone-body-lg) !important;
  line-height: 1.55 !important;
}
.wx-head, .w135-head, .wl-section-head, .w13-section-head, .wtc-head, .wen8-head, .ww-head{
  margin-bottom: clamp(48px, 5vw, 80px) !important;
}

/* ---------- 12. Section Spacing & Padding Fix (50px padding across all pages) ---------- */
.section-space,
.corridors,
.delivery,
.capabilities,
.lifecycle,
.intelligence {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
  box-sizing: border-box !important;
}

/* ---------- 13. CTA Decision Bridge Buttons Fix (Identical Size with Footer) ---------- */
.wone-find-page .wx-cta .wone-oxide-transition-actions .button,
.wone-oxide-transition-actions .button {
  min-height: 52px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-family: var(--wone-sans-stack) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  transition: all 0.2s ease !important;
}
.wone-find-page .wx-cta .button-oxide {
  background: #a94b38 !important;
  color: #ffffff !important;
  border: 1.5px solid #a94b38 !important;
}
.wone-find-page .wx-cta .button-oxide:hover {
  background: #8d3d2e !important;
  border-color: #8d3d2e !important;
  transform: translateY(-2px) !important;
}
.wone-find-page .wx-cta .wone-oxide-outline {
  background: transparent !important;
  color: #ffffff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.85) !important;
}
.wone-find-page .wx-cta .wone-oxide-outline:hover {
  background: #ffffff !important;
  color: #172126 !important;
  border-color: #ffffff !important;
  transform: translateY(-2px) !important;
}

/* ---------- 14. Matrix Cell Text Contrast Fix ---------- */
.wx-cell p strong,
.wx-matrix .wx-cell p strong,
.w13-section.dark .wx-matrix .wx-cell p strong,
.wx-section.wx-dark .wx-matrix .wx-cell p strong,
.wx-dark .wx-cell p strong,
a.wx-cell p strong {
  color: #172126 !important;
  font-weight: 700 !important;
}

/* ---------- 15. Dark Hero Outline Buttons Fix ---------- */
.button-outline-light,
.wx-hero-full .hero-actions .button-outline,
.wx-hero-full .hero-actions .button-outline-light,
.wx-hero .hero-actions .button-outline-light,
.wx-hero-full .button-outline,
.wx-hero-full .button-outline-light {
  background: transparent !important;
  color: #ffffff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.85) !important;
  transition: all 0.2s ease !important;
}

.button-outline-light:hover,
.wx-hero-full .hero-actions .button-outline:hover,
.wx-hero-full .hero-actions .button-outline-light:hover,
.wx-hero .hero-actions .button-outline-light:hover,
.wx-hero-full .button-outline:hover,
.wx-hero-full .button-outline-light:hover {
  background: #ffffff !important;
  color: #172126 !important;
  border-color: #ffffff !important;
  transform: translateY(-2px) !important;
}
