:root {
  --ink: #0f172a;
  --navy: #1a3353;
  --navy-2: #10263f;
  --cyan: #00c2c7;
  --cyan-deep: #007f86;
  --cyan-accessible: #006b71;
  --cyan-pale: #e2f8f7;
  --ice: #eff6f8;
  --paper: #f8fafb;
  --white: #fff;
  --slate-25: #fbfcfd;
  --slate-50: #f7f9fa;
  --slate-100: #edf1f4;
  --slate-200: #d9e1e6;
  --slate-300: #bcc8d0;
  --slate-500: #5f7180;
  --slate-700: #314555;
  --green: #08775c;
  --green-bg: #e7f7ef;
  --amber: #9a6500;
  --amber-bg: #fff3d6;
  --red: #a43b45;
  --red-bg: #fbeaec;
  --wrap: 1240px;
  --shadow: 0 28px 90px rgba(15, 23, 42, .14);
  --sans: Inter, Aptos, "Segoe UI", Helvetica, Arial, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--white); color: var(--ink); font: 16px/1.55 var(--sans); -webkit-font-smoothing: antialiased; }
body::selection { background: var(--cyan); color: var(--ink); }
button, input, textarea { font: inherit; }
a { color: inherit; }
svg { width: 1em; height: 1em; vertical-align: -.12em; }
.wrap { width: min(var(--wrap), calc(100% - 64px)); margin-inline: auto; }
.shell-grid { width: min(1380px, calc(100% - 64px)); margin-inline: auto; }
.skip-link { position: fixed; left: 18px; top: 18px; z-index: 100; padding: 12px 16px; background: var(--white); color: var(--ink); transform: translateY(-180%); }
.skip-link:focus { transform: none; }

.site-header { position: sticky; top: 0; z-index: 30; isolation: isolate; display: grid; grid-template-columns: 130px 1fr auto auto auto; gap: 24px; align-items: center; min-height: 84px; padding: 0 32px; border-bottom: 1px solid rgba(15, 23, 42, .1); background: rgba(255, 255, 255, .94); backdrop-filter: blur(18px); }
.site-header.is-scrolled { box-shadow: 0 12px 32px rgba(15,23,42,.07); }
.brand { display: flex; align-items: center; }
.brand img { display: block; width: 124px; height: auto; }
/* Nav type sits at or above the 14px floor. It was .79rem (12.6px), dropping
   to .72rem (11.5px) below 1200px, against a 16px body - legible, but visually
   lost in a 1400px header. */
.main-nav { display: flex; justify-content: center; align-items: stretch; gap: 34px; }
.main-nav > a, .nav-trigger { position: relative; display: grid; place-items: center; min-height: 83px; border: 0; background: transparent; color: var(--slate-500); font-size: .95rem; font-weight: 650; letter-spacing: -.01em; text-decoration: none; cursor: pointer; }
.main-nav > a::after, .nav-trigger::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 0; height: 3px; background: var(--cyan); transition: right .2s ease; }
.main-nav > a:hover, .main-nav > a:focus-visible, .main-nav > a[aria-current="page"], .nav-trigger:hover, .nav-trigger:focus-visible, .nav-trigger[data-current] { color: var(--ink); }
.main-nav > a:hover::after, .main-nav > a:focus-visible::after, .main-nav > a[aria-current="page"]::after, .nav-trigger:hover::after, .nav-trigger:focus-visible::after, .nav-trigger[data-current]::after { right: 0; }
.nav-group { position: relative; display: flex; }
.nav-trigger { display: flex; gap: 6px; padding: 0; }
.nav-trigger span { font-size: .9rem; transition: transform .2s ease; }
.nav-group:has(.nav-panel[data-open]) .nav-trigger span { transform: rotate(180deg); }
/* Two labelled groups, so the panel states the argument rather than listing
   five flat siblings: three solutions on the left, the outcome they produce on
   the right, overview across the foot. */
.nav-panel { position: absolute; top: calc(100% - 1px); left: 50%; z-index: 5; display: none; grid-template-columns: 1.1fr .9fr; width: min(660px, calc(100vw - 44px)); padding: 20px; border: 1px solid var(--slate-200); background: var(--white); box-shadow: 0 24px 65px rgba(15,23,42,.16); transform: translateX(-50%); }
.nav-panel__group { display: flex; min-width: 0; flex-direction: column; }
/* The outcome group is tinted rather than ruled: it is where the three
   solutions lead, and a bare divider left the column reading as empty space. */
.nav-panel__group + .nav-panel__group { margin-left: 20px; padding: 14px 8px; background: var(--cyan-pale); }
.nav-panel__group + .nav-panel__group .nav-panel__label { color: var(--cyan-deep); }
.nav-panel__group + .nav-panel__group a:hover, .nav-panel__group + .nav-panel__group a:focus-visible { background: var(--white); }
.nav-panel__label { margin: 0 0 4px; padding: 0 12px; color: var(--cyan-deep); font-size: .72rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.nav-panel__overview { grid-column: 1 / -1; margin-top: 14px; border-top: 1px solid var(--slate-200); padding-top: 8px; }
.nav-panel[data-open], .nav-group:hover .nav-panel, .nav-group:focus-within .nav-panel { display: grid; }
.nav-panel a { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; color: var(--slate-500); text-decoration: none; }
.nav-panel a:hover, .nav-panel a:focus-visible, .nav-panel a[aria-current="page"] { background: var(--cyan-pale); color: var(--ink); }
.nav-panel a strong { color: var(--ink); font-size: 1rem; }
.nav-panel a small { font-size: .875rem; line-height: 1.35; }
.locale { display: flex; padding: 3px; border: 1px solid var(--slate-200); border-radius: 999px; background: var(--slate-50); }
.locale a { min-width: 33px; padding: 5px 8px; border-radius: 999px; color: var(--slate-500); font-size: .69rem; font-weight: 800; text-align: center; text-decoration: none; }
.locale a[aria-current="true"] { background: var(--ink); color: var(--white); }
.header-second { display: none; align-items: center; padding: 0 4px; color: var(--slate-700); font-size: .84rem; font-weight: 700; letter-spacing: .01em; text-decoration: none; white-space: nowrap; }
.header-second:hover { color: var(--cyan-deep); }
@media (min-width: 1100px) { .header-second { display: inline-flex; } }
.header-cta { padding: 13px 20px; border: 1px solid var(--ink); background: var(--ink); color: var(--white); font-size: .875rem; font-weight: 800; text-decoration: none; }
.header-cta:hover { background: var(--navy); }
.menu-button { display: none; }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
h1 { margin-bottom: 27px; font-size: clamp(3.6rem, 6.5vw, 7.1rem); line-height: .92; letter-spacing: -.067em; font-weight: 700; }
h2 { margin-bottom: 22px; font-size: clamp(2.5rem, 4.7vw, 4.9rem); line-height: .99; letter-spacing: -.052em; }
h3 { margin-bottom: 10px; font-size: 1.35rem; line-height: 1.2; letter-spacing: -.025em; }
p { color: var(--slate-500); }
.eyebrow, .ui-kicker { display: block; color: var(--cyan-deep); font-size: .71rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow { margin-bottom: 18px; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 10px; padding: 12px 18px; border: 1px solid var(--ink); font-size: .86rem; font-weight: 800; text-decoration: none; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--primary { background: var(--ink); color: var(--white); }
.button--primary:hover { background: var(--navy); }
.button--secondary { background: transparent; }
.button--secondary:hover { background: var(--slate-50); }
.button--light { border-color: var(--white); background: var(--white); color: var(--ink); }
.button--on-dark { border-color: rgba(255,255,255,.62); color: var(--white); }
.button--on-dark:hover { border-color: var(--white); background: rgba(255,255,255,.09); }
.text-link { display: inline-flex; gap: 8px; align-items: center; color: var(--ink); font-size: .88rem; font-weight: 850; text-decoration-color: var(--cyan); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.text-link svg, .button svg, .solution-grid svg { transition: transform .2s ease; }
.text-link:hover svg, .button:hover svg, .solution-grid a:hover svg { transform: translateX(4px); }

.hero { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(520px, .98fr); gap: clamp(42px, 5vw, 72px); align-items: center; min-height: calc(100svh - 76px); overflow: clip; padding: 58px 0 70px; }
.hero__copy { max-width: 720px; }
.hero h1 { font-size: clamp(3.35rem, 4.45vw, 5.2rem); line-height: .95; }
.hero h1 .hero-line { display: block; color: var(--ink); }
.hero h1 .hero-line--accent { color: var(--cyan-deep); }
.hero-keep { white-space: nowrap; }
.hero__body { max-width: 670px; margin-bottom: 0; font-size: clamp(1.1rem, 1.7vw, 1.34rem); line-height: 1.55; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 32px 0 24px; }
.crm-line { display: flex; gap: 11px; align-items: center; font-size: .82rem; }
.crm-line span { color: var(--cyan); font-size: 1rem; }
.integration-line { max-width: 690px; margin: 8px 0 0; color: var(--slate-500); font-size: .72rem; line-height: 1.5; }
.hero__visual { position: relative; animation: hero-settle .9s cubic-bezier(.2,.8,.2,1) both; }
.hero__visual::before { content: ''; position: absolute; inset: -48px -24px -48px 70px; z-index: -1; background: radial-gradient(circle at 80% 10%, rgba(0,194,199,.23), transparent 35%), linear-gradient(135deg, #edf8f8, #f7f9fb); clip-path: polygon(8% 0, 92% 0, 100% 12%, 100% 100%, 0 100%, 0 8%); }

.deal-room { overflow: hidden; border: 1px solid var(--slate-200); background: var(--white); box-shadow: var(--shadow); transition: transform .35s ease, box-shadow .35s ease; }
.deal-room:hover { transform: translateY(-4px); box-shadow: 0 36px 110px rgba(15,23,42,.17); }
.deal-room__top, .scenario__top, .tm-head { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 20px 22px; border-bottom: 1px solid var(--slate-200); }
.deal-room__top > div, .scenario__top > div, .tm-head > div { display: flex; flex-direction: column; gap: 4px; }
.deal-room__top strong, .scenario__top strong, .tm-head strong { font-size: 1rem; }
.status { display: inline-flex; align-items: center; width: fit-content; padding: 5px 9px; border-radius: 999px; background: var(--cyan-pale); color: var(--cyan-accessible); font-size: .65rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.status--review { background: var(--amber-bg); color: var(--amber); }
.deal-room__meta { display: flex; gap: 0; padding: 0 22px; border-bottom: 1px solid var(--slate-200); background: var(--slate-50); }
.deal-room__meta span { padding: 10px 15px 10px 0; margin-right: 15px; color: var(--slate-500); border-right: 1px solid var(--slate-200); font-size: .69rem; font-weight: 650; }
.deal-room__meta span:last-child { border: 0; }
.deal-room__switch { display: flex; gap: 4px; padding: 10px 22px; border-bottom: 1px solid var(--slate-200); background: var(--white); }
.deal-room__switch button { padding: 7px 11px; border: 1px solid transparent; border-radius: 999px; background: transparent; color: var(--slate-500); font: inherit; font-size: .67rem; font-weight: 800; cursor: pointer; }
.deal-room__switch button[aria-pressed="true"] { border-color: var(--slate-200); background: var(--cyan-pale); color: var(--cyan-accessible); }
.deal-room__switch button:focus-visible { outline: 3px solid rgba(0,194,199,.48); outline-offset: 2px; }
.decision-tabs { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--slate-200); }
.decision-tab { display: flex; min-width: 0; flex-direction: column; gap: 4px; padding: 18px; border: 0; border-right: 1px solid var(--slate-200); background: var(--white); color: var(--ink); text-align: left; cursor: pointer; }
.decision-tab:last-child { border-right: 0; }
.decision-tab span, .decision-tab small { color: var(--slate-500); font-size: .67rem; }
.decision-tab strong { font-size: 1.05rem; }
.decision-tab.is-active { box-shadow: inset 0 -3px var(--cyan); background: var(--cyan-pale); }
.decision-tab:focus-visible, .scenario__controls button:focus-visible, .persona-tabs button:focus-visible { position: relative; z-index: 2; outline: 3px solid rgba(0,194,199,.48); outline-offset: -3px; }
.evidence-question { display: flex; gap: 20px; justify-content: space-between; align-items: start; padding: 25px 22px 18px; }
.evidence-question h2 { max-width: 410px; margin: 6px 0 0; font-size: 1.42rem; line-height: 1.2; letter-spacing: -.035em; }
.evidence-count { color: var(--slate-500); font-size: .69rem; font-weight: 750; }
.evidence-list { padding: 0 22px 14px; }
.evidence-list > div { display: grid; grid-template-columns: 8px 1fr auto; gap: 13px; align-items: center; padding: 12px 0; border-top: 1px solid var(--slate-100); }
.evidence-list p { display: flex; min-width: 0; flex-direction: column; gap: 1px; margin: 0; }
.evidence-list p strong { overflow: hidden; color: var(--ink); font-size: .79rem; text-overflow: ellipsis; white-space: nowrap; }
.evidence-list p small { font-size: .65rem; }
.evidence-list b { font-size: .64rem; }
.signal { width: 7px; height: 7px; border-radius: 50%; }
.signal--good { background: var(--green); }
.signal--risk { background: var(--red); }
.signal--open { background: var(--amber); }
.deal-room__foot { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 14px 22px; background: var(--ink); color: var(--white); font-size: .67rem; }
.deal-room__action { display: inline-flex; gap: 6px; align-items: center; font-weight: 750; }
.deal-room__foot a { color: var(--white); text-decoration: none; }
.decision-workflow { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--slate-200); gap: 1px; }
.decision-workflow article { display: flex; min-height: 132px; flex-direction: column; padding: 20px; background: var(--white); }
.deal-room--compare .decision-workflow article { position: relative; }
.deal-room--compare .decision-workflow article:not(:nth-child(3n))::after { content: '→'; position: absolute; top: 50%; right: -9px; z-index: 2; width: 17px; height: 17px; border: 1px solid var(--slate-200); border-radius: 50%; background: var(--white); color: var(--slate-500); font-size: .65rem; line-height: 15px; text-align: center; transform: translateY(-50%); }
.decision-workflow article > span { color: var(--cyan-deep); font-size: .61rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.decision-workflow article > strong { margin-top: auto; font-size: .95rem; line-height: 1.25; }
.decision-workflow article > small { margin-top: 6px; color: var(--slate-500); font-size: .65rem; }
.decision-workflow__claim { box-shadow: inset 0 3px 0 var(--cyan); background: #f7ffff !important; }
.decision-workflow__source { box-shadow: inset 0 3px 0 var(--amber); background: #fffbf3 !important; }
.decision-workflow__risk { box-shadow: inset 4px 0 0 var(--amber); }
.decision-workflow__outcome { background: var(--ink) !important; color: var(--white); }
.decision-workflow__outcome > span { color: var(--cyan) !important; }
.decision-workflow__outcome > small { color: #b9c7d2 !important; }
.crm-opportunity { padding: 26px 22px 22px; background: var(--slate-50); }
.crm-opportunity__head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.crm-opportunity__head span { color: var(--cyan-deep); font-size: .63rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.crm-opportunity__head strong { padding: 5px 9px; border-radius: 999px; background: var(--green-bg); color: var(--green); font-size: .64rem; }
.crm-opportunity dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border: 1px solid var(--slate-200); background: var(--slate-200); gap: 1px; }
.crm-opportunity dl div { min-width: 0; padding: 17px; background: var(--white); }
.crm-opportunity dt { color: var(--slate-500); font-size: .61rem; font-weight: 750; text-transform: uppercase; }
.crm-opportunity dd { margin: 6px 0 0; color: var(--ink); font-size: .86rem; font-weight: 800; }
.crm-opportunity > p { margin: 18px 0 0; color: var(--slate-500); font-size: .72rem; line-height: 1.5; }

.problem-frame { background: var(--ink); color: var(--white); }
.problem-frame__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(60px,9vw,150px); align-items: center; }
.problem-frame h2 { max-width: 760px; margin: 12px 0 0; color: var(--white); }
.problem-frame__copy { display: grid; gap: 18px; padding-left: 34px; border-left: 1px solid rgba(255,255,255,.24); }
.problem-frame__copy p { max-width: 630px; margin: 0; color: #d5e0e7; font-size: 1.08rem; }
.outcome-callout { grid-column: 1 / -1; display: grid; grid-template-columns: .35fr 1.1fr .8fr; gap: 28px; align-items: center; margin-top: 20px; padding: 28px 0 0; border-top: 1px solid rgba(255,255,255,.24); }
.outcome-callout span { color: var(--cyan); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.outcome-callout strong { font-size: clamp(1.65rem,3vw,2.7rem); line-height: 1.04; }
.outcome-callout p { margin: 0; color: #d5e0e7; }

.deal-cause-grid { display: grid; grid-template-columns: repeat(5, 1fr); overflow: hidden; border: 1px solid var(--slate-200); background: var(--slate-200); gap: 1px; box-shadow: 0 24px 70px rgba(15,23,42,.07); }
.deal-cause-grid article { display: flex; min-height: 230px; flex-direction: column; padding: 25px; background: var(--white); }
.deal-cause-grid span { color: var(--cyan-deep); font-size: .67rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.deal-cause-grid strong { margin-top: auto; font-size: 1.45rem; line-height: 1.1; }
.deal-cause-grid p { min-height: 3em; margin: 13px 0 0; color: var(--slate-500); font-size: .77rem; }
.product-figure { margin: 0; border-radius: 14px; }
.product-figure figcaption { color: var(--slate-500); font-size: .76rem; line-height: 1.55; }
.cause-routing { overflow: hidden; border: 1px solid var(--slate-200); border-radius: 14px; background: var(--white); box-shadow: 0 28px 80px rgba(15,23,42,.08); }
.cause-routing__deals, .cause-routing__owners { display: grid; grid-template-columns: repeat(5,1fr); }
.cause-routing__deals article, .cause-routing__owners article { min-width: 0; padding: 24px 22px; border-right: 1px solid var(--slate-200); }
.cause-routing__deals article:last-child, .cause-routing__owners article:last-child { border-right: 0; }
.cause-routing__deals article { min-height: 170px; background: linear-gradient(155deg,var(--white),var(--slate-50)); }
.cause-routing__deals span, .cause-routing__owners span { color: var(--cyan-deep); font-size: .64rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.cause-routing__deals strong { display: block; margin-top: 42px; font-size: 1.22rem; line-height: 1.12; }
.cause-routing__deals small { display: block; margin-top: 8px; color: var(--slate-500); font-size: .72rem; line-height: 1.45; }
.cause-heading { font-size: clamp(2.5rem,4.15vw,4.4rem); line-height: 1.04; text-wrap: initial; }
.cause-heading span { display: block; }
.cause-routing__junction { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 22px; padding: 17px 24px; border-block: 1px solid rgba(13,202,209,.34); background: var(--navy); color: var(--white); text-align: center; }
.cause-routing__junction span { color: var(--slate-300); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cause-routing__junction b { padding: 0 22px; border-inline: 1px solid var(--cyan); font-size: .84rem; letter-spacing: .04em; }
.cause-routing__owners article { min-height: 138px; background: var(--bone); }
.cause-routing__owners small { display: block; margin-bottom: 7px; color: var(--slate-500); font-size: .58rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.cause-routing__owners strong { display: block; margin-top: 28px; font-size: .87rem; line-height: 1.35; }
.cause-routing figcaption { padding: 14px 22px; border-top: 1px solid var(--slate-200); }
.loop-source > strong, .ai-authority-map__flow article:first-child p { font-family: var(--serif); font-weight: 500; }

.platform-spine { overflow: hidden; border: 1px solid var(--slate-200); border-radius: 14px; background: var(--white); box-shadow: 0 28px 80px rgba(15,23,42,.08); }
.platform-spine__sources, .platform-spine__outputs { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 25px; }
.platform-spine__sources { background: var(--bone); }
.platform-spine__outputs { background: var(--navy); color: var(--white); }
.platform-spine__sources > span, .platform-spine__outputs > span { font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.platform-spine__sources div, .platform-spine__outputs div { display: flex; flex-wrap: wrap; gap: 8px; }
.platform-spine__sources b, .platform-spine__outputs b { padding: 7px 10px; border-radius: 999px; font-size: .7rem; }
.platform-spine__sources b { border: 1px solid var(--slate-200); background: var(--white); }
.platform-spine__outputs b { border: 1px solid rgba(255,255,255,.2); color: var(--cyan); }
.platform-spine__track { display: grid; grid-template-columns: repeat(4,1fr); padding: 0 25px; background: linear-gradient(90deg,rgba(13,202,209,.04),rgba(13,202,209,.13)); }
.platform-spine__track article { position: relative; min-height: 245px; padding: 30px 25px; border-right: 1px solid var(--slate-200); }
.platform-spine__track article:last-child { border-right: 0; }
.platform-spine__track article::after { position: absolute; top: 38.5px; right: -8px; z-index: 2; width: 15px; height: 15px; border-top: 2px solid var(--cyan-deep); border-right: 2px solid var(--cyan-deep); content: ''; transform: rotate(45deg); }
.platform-spine__track article:last-child::after { display: none; }
.platform-spine__track article > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--navy); color: var(--cyan); font-size: .68rem; font-weight: 850; }
.platform-spine__track strong { display: block; margin-top: 64px; font-size: 1.4rem; }
.platform-spine__track p { margin: 10px 0 0; color: var(--slate-500); font-size: .78rem; }
.platform-spine__decision { background: var(--white); box-shadow: inset 0 4px 0 var(--cyan); }
.platform-spine figcaption { padding: 14px 25px; border-top: 1px solid var(--slate-200); }
.cause-close { max-width: 900px; margin: 28px 0 0 auto; padding-left: 24px; border-left: 3px solid var(--cyan); color: var(--slate-700); font-size: .9rem; }

.proof-bar { background: var(--cyan); }
.proof-bar__inner { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 24px; font-size: .71rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.proof-bar__inner strong { font-size: .82rem; }
.proof-bar__inner i { width: 38px; height: 1px; background: rgba(15,23,42,.35); }
.forecast-payoff > div > span, .loss-learning span, .integration-grid span, .implementation-phases span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
/* A section pays for its own breathing room once. Where one follows another the
   join used to cost both paddings, 152px at desktop, with nothing in it. The
   second section now pays half, so the seam is 89px and the page keeps its
   rhythm. A section after a hero, or first on the page, is unaffected. */
.section { padding-block: clamp(44px, 4.2vw, 68px); }
.section + .section { padding-top: clamp(22px, 2.1vw, 34px); }
.section--navy { background: var(--navy); color: var(--white); }
.section--ink { background: var(--ink); color: var(--white); }
.section--ice { background: var(--ice); }
.section--navy p, .section--ink p { color: #aebecb; }
.section--ink .eyebrow, .section--navy .eyebrow, .loop-source .ui-kicker, .section--ink .why-list article > span, .trust-boundary > div:last-child span { color: var(--cyan); }
.section--ice .eyebrow { color: var(--cyan-accessible); }
.section-head { max-width: 820px; margin-bottom: 38px; }
.section-head--split { max-width: none; display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: end; }
.section-head--split > p { max-width: 560px; margin: 0; font-size: 1.08rem; }

.revenue-loop { display: grid; grid-template-columns: 320px 90px 1fr; align-items: center; min-height: 430px; padding: 38px; border: 1px solid var(--slate-200); background: linear-gradient(135deg, #fff 0 30%, var(--slate-50)); }
.loop-source { display: flex; min-height: 250px; flex-direction: column; justify-content: space-between; padding: 27px; background: var(--ink); color: var(--white); box-shadow: 0 20px 40px rgba(15,23,42,.18); }
.loop-source strong { font-size: 1.3rem; line-height: 1.35; }
.loop-source small { color: #aebecb; }
.loop-track { display: flex; align-items: center; }
.loop-track span { position: relative; width: 100%; height: 2px; background: var(--cyan); }
.loop-track span::after { content: ''; position: absolute; right: -1px; top: -5px; width: 10px; height: 10px; border-top: 2px solid var(--cyan); border-right: 2px solid var(--cyan); transform: rotate(45deg); }
.loop-track span::before { content: ''; position: absolute; left: 0; top: -4px; width: 10px; height: 10px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 6px rgba(0,194,199,.12); animation: evidence-flow 3.2s cubic-bezier(.45,0,.55,1) infinite; }
.loop-outcomes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.loop-outcomes article { display: grid; grid-template-columns: 35px 1fr; gap: 12px; min-height: 145px; padding: 20px; border: 1px solid var(--slate-200); background: var(--white); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.loop-outcomes article:hover { transform: translateY(-3px); border-color: var(--cyan); box-shadow: 0 14px 32px rgba(15,23,42,.08); }
.loop-outcomes article > span, .why-list article > span, .principle-grid article > span { color: var(--cyan-deep); font-size: .71rem; font-weight: 850; }
.loop-outcomes small { display: block; color: var(--slate-500); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.loop-outcomes strong { display: block; margin: 12px 0 4px; }
.loop-outcomes p { margin: 0; font-size: .76rem; }
.buyer-proof { display: grid; grid-template-columns: .72fr 1.28fr; gap: 48px; align-items: center; margin-top: 22px; padding: 24px 28px; border: 1px solid var(--slate-200); background: var(--cyan-pale); }
.buyer-proof strong { display: block; margin-top: 8px; font-size: 1.08rem; }
.buyer-proof p { margin: 0; color: var(--slate-700); font-size: .86rem; }
.buyer-proof b { color: var(--ink); }

.solution-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.2); }
.solution-grid a { display: grid; grid-template-columns: 38px 1fr auto; gap: 18px; min-height: 205px; align-content: center; padding: 30px 28px; border-right: 1px solid rgba(255,255,255,.2); color: var(--white); text-decoration: none; transition: box-shadow .3s ease, transform .3s ease; }
.solution-grid a:hover { box-shadow: inset 0 4px 0 var(--cyan); transform: translateY(-4px); }
.solution-grid a:first-child { border-left: 1px solid rgba(255,255,255,.2); }
.solution-grid a > span { color: var(--cyan); font-size: .75rem; font-weight: 850; }
.solution-grid h3 { margin-bottom: 12px; font-size: 1.5rem; }
.solution-grid p { max-width: 290px; margin: 0; }
.solution-grid > a > svg { align-self: end; font-size: 1.2rem; }
.solution-grid--light { border-color: var(--slate-200); }
.solution-grid--light a { border-color: var(--slate-200); color: var(--ink); }
.solution-grid--light p { color: var(--slate-500); }
.solution-grid--light a > span { color: var(--cyan-deep); }
.solution-chooser { border: 1px solid var(--slate-200); background: var(--white); box-shadow: 0 24px 70px rgba(15,23,42,.07); }
.solution-system-map { display: grid; gap: 18px; padding: 34px; border: 1px solid var(--slate-200); background: linear-gradient(135deg,var(--white),var(--slate-50)); box-shadow: 0 28px 80px rgba(15,23,42,.09); }
.solution-system-map__source { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px 28px; align-items: end; padding: 28px 32px; border: 1px solid var(--slate-200); background: var(--white); }
.solution-system-map__source .ui-kicker { grid-column: 1 / -1; }
.solution-system-map__source strong { font-size: clamp(1.55rem,2.5vw,2rem); line-height: 1.1; }
.solution-system-map__source p { margin: 0; color: var(--slate-500); font-size: .84rem; }
.solution-system-map__flow { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 14px; align-items: center; }
.solution-system-map__flow i { width: 100%; height: 1px; background: var(--cyan); transform: scaleX(0); transition: transform .7s ease; }
.solution-system-map.is-visible .solution-system-map__flow i { transform: scaleX(1); }
.solution-system-map__flow b { color: var(--cyan-deep); font-size: .64rem; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.solution-system-map__solutions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.solution-system-map__solutions article { display: flex; min-width: 0; min-height: 150px; flex-direction: column; justify-content: center; gap: 9px; padding: 24px 28px; border: 1px solid var(--slate-200); background: var(--white); }
.solution-system-map__solutions .solution-system-map__entry { border-color: var(--cyan); background: var(--cyan-pale); }
.solution-system-map__solutions span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.solution-system-map__solutions strong { overflow-wrap: anywhere; font-size: clamp(1.25rem,2vw,1.55rem); line-height: 1.12; }
.solution-system-map__solutions p { margin: 0; color: var(--slate-500); font-size: .8rem; }
.solution-system-map > figcaption { margin-top: 0; }
.solution-problems { padding-top: 40px; background: var(--bone); }
.solution-problems__head { align-items: end; margin-bottom: 54px; }
.solution-problems__head h2 { max-width: 650px; }
.solution-problems__head > div:last-child { display: grid; gap: 12px; }
.solution-problems__head p { margin: 0; }
.problem-ledger { border-top: 1px solid var(--slate-300); }
.problem-ledger > a { display: grid; grid-template-columns: 118px minmax(240px,.78fr) minmax(320px,1.22fr) 34px; gap: 32px; align-items: center; min-height: 180px; padding: 28px 10px; border-bottom: 1px solid var(--slate-300); color: var(--ink); text-decoration: none; transition: background .2s ease, padding .2s ease; }
.problem-ledger > a:hover, .problem-ledger > a:focus-visible { padding-inline: 22px; background: var(--white); }
.problem-ledger__index { display: flex; min-height: 96px; flex-direction: column; justify-content: space-between; }
.problem-ledger__index span { color: var(--cyan-deep); font-size: 1.15rem; font-weight: 850; }
.problem-ledger__index small { color: var(--slate-500); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.problem-ledger h3 { margin: 0; font-size: clamp(1.55rem,2.2vw,2.45rem); line-height: 1.05; letter-spacing: -.035em; }
.problem-ledger p { max-width: 680px; margin: 0; color: var(--slate-600); font-size: .91rem; line-height: 1.65; }
.problem-ledger b { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--slate-300); border-radius: 50%; color: var(--cyan-deep); transition: border-color .2s ease, background .2s ease; }
.problem-ledger a:hover b, .problem-ledger a:focus-visible b { border-color: var(--cyan); background: var(--cyan-pale); }
.problem-ledger b svg { width: 14px; }
.problem-more { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(45px,8vw,120px); margin-top: 56px; padding: clamp(34px,5vw,64px); background: var(--navy); color: var(--white); }
.problem-more h3 { margin: 10px 0 0; color: var(--white); font-size: clamp(2.4rem,5vw,5rem); letter-spacing: -.05em; }
.problem-more ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0 34px; margin: 0; padding: 0; list-style: none; counter-reset: more-problems; }
.problem-more li { position: relative; min-height: 118px; padding: 22px 0 22px 42px; border-top: 1px solid rgba(255,255,255,.2); color: #d5e0e7; font-size: .86rem; line-height: 1.55; counter-increment: more-problems; }
.problem-more li::before { position: absolute; left: 0; color: var(--cyan); font-size: .68rem; font-weight: 850; content: counter(more-problems, decimal-leading-zero); }
.problem-close { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 36px 0 0; }
.problem-close p { max-width: 780px; margin: 0; color: var(--slate-700); font-size: 1.13rem; line-height: 1.55; }
.problem-close .button { flex: 0 0 auto; }
.solution-record { padding-top: 105px; }
.cause-more { margin: 24px 0 0 auto; text-align: right; }
.solution-chooser > article { display: grid; grid-template-columns: .9fr 1.4fr 1.25fr auto; gap: 34px; align-items: center; min-height: 245px; padding: 32px; border-bottom: 1px solid var(--slate-200); }
.solution-chooser > article:last-child { border-bottom: 0; }
.solution-chooser__question { display: flex; min-height: 150px; flex-direction: column; justify-content: space-between; }
.solution-chooser__question span, .solution-chooser dt { color: var(--cyan-deep); font-size: .67rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.solution-chooser__question strong { max-width: 240px; font-size: 1.2rem; line-height: 1.25; }
.solution-chooser__answer h2 { margin: 0 0 18px; font-size: 2rem; line-height: 1.08; }
.solution-chooser__answer p { margin: 0; font-size: .82rem; }
.solution-chooser__answer .solution-line { margin: 0 0 12px; color: var(--slate-800); font-size: 1rem; font-weight: 760; line-height: 1.35; }
.solution-chooser__answer .solution-benefit { margin: 0 0 9px; color: var(--cyan-deep); font-size: 1.13rem; font-weight: 820; line-height: 1.28; }
.solution-chooser dl { display: grid; gap: 16px; margin: 0; }
.solution-chooser dl > div { padding-top: 12px; border-top: 1px solid var(--slate-200); }
.solution-chooser dd { margin: 5px 0 0; color: var(--slate-500); font-size: .76rem; line-height: 1.45; }
.solution-chooser > article > .text-link { min-width: 120px; justify-self: end; }
.forecast-outcome { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; margin-top: 18px; padding: 40px 42px; border: 1px solid #79d5d7; background: var(--cyan-pale); color: var(--ink); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.forecast-outcome:hover { transform: translateY(-3px); box-shadow: 0 20px 55px rgba(15,23,42,.1); }
.forecast-outcome h2 { margin: 12px 0 0; font-size: 2.6rem; }
.forecast-outcome p { margin: 0 0 22px; }
.forecast-outcome strong { display: inline-flex; gap: 8px; align-items: center; font-size: .78rem; }
.forecast-outcome svg { transition: transform .2s ease; }
.forecast-outcome:hover svg { transform: translateX(4px); }
.solution-order-note { max-width: 860px; margin: 24px auto 0; color: var(--slate-500); font-size: .78rem; text-align: center; }
.forecast-payoff { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 48px; align-items: center; padding: 38px 40px; border: 1px solid var(--cyan); background: var(--cyan-pale); color: var(--ink); }
.forecast-payoff > div > span, .forecast-payoff > div > small { display: block; }
.forecast-payoff > div > small { margin-top: 10px; color: var(--slate-500); font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.forecast-payoff h3 { max-width: 760px; margin: 12px 0 10px; font-size: clamp(2rem,3.3vw,3.3rem); line-height: 1; letter-spacing: -.04em; }
.forecast-payoff p { max-width: 810px; margin: 0; color: var(--slate-700); }
.forecast-payoff .button { white-space: nowrap; }
.forecast-payoff__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }

.forecast-feature { display: grid; grid-template-columns: .82fr 1.18fr; gap: 90px; align-items: center; }
.forecast-feature__copy p:not(.eyebrow) { max-width: 540px; font-size: 1.08rem; }
.scenario { overflow: hidden; border: 1px solid var(--slate-200); background: var(--white); box-shadow: 0 24px 70px rgba(15,23,42,.11); }
.scenario__top > span { color: var(--slate-500); font-size: .66rem; }
.scenario__number { display: flex; flex-direction: column; padding: 28px 24px 16px; }
.scenario__number small { color: var(--slate-500); }
.scenario__number strong { font-size: 3.5rem; line-height: 1; letter-spacing: -.06em; }
.scenario__number span { margin-top: 5px; color: var(--cyan-deep); font-size: .71rem; font-weight: 800; }
.scenario__bars { display: flex; flex-direction: column; gap: 8px; padding: 12px 24px 24px; }
.scenario__bars i { position: relative; display: flex; justify-content: space-between; width: var(--value); min-width: 180px; padding: 9px 11px; background: var(--navy); color: var(--white); font-size: .68rem; font-style: normal; transition: width .55s cubic-bezier(.2,.8,.2,1), filter .25s ease; }
.scenario__bars i:hover { filter: brightness(1.12); }
.scenario__bars i:nth-child(2) { background: var(--cyan-deep); }
.scenario__bars .scenario__risk { background: var(--red); }
.scenario__controls { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--slate-200); }
.scenario__controls button { padding: 12px; border: 0; border-right: 1px solid var(--slate-200); background: var(--slate-50); color: var(--slate-500); font-size: .7rem; font-weight: 750; cursor: pointer; }
.scenario__controls button:last-child { border: 0; }
.scenario__controls button.is-active { background: var(--cyan-pale); color: var(--ink); box-shadow: inset 0 -3px var(--cyan); }
.scenario > figcaption { margin: 0; padding: 13px 24px; background: var(--ink); color: #b9c8d2; font-size: .68rem; }

.time-machine { overflow: hidden; border: 1px solid var(--slate-200); background: var(--white); box-shadow: 0 24px 70px rgba(15,23,42,.08); }
.tm-dates { display: grid; grid-template-columns: 1fr minmax(240px,.7fr) 1fr; align-items: stretch; padding: 28px; }
.tm-card { min-height: 250px; display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--slate-200); }
.tm-card > span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.tm-card > strong { margin: 16px 0 auto; font-size: clamp(3rem,6vw,5.3rem); line-height: 1; letter-spacing: -.06em; }
.tm-card p { margin: 0; }
.tm-card small { display: block; margin-top: 9px; color: var(--slate-500); font-size: .68rem; line-height: 1.45; }
.tm-gap { display: grid; grid-template-columns: 1fr; place-items: center; align-content: center; color: var(--slate-500); text-align: center; }
.tm-gap i { position: relative; display: block; width: 100%; height: 1px; overflow: hidden; background: rgba(0,194,199,.28); }
.tm-gap i::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, var(--cyan), transparent); transform: translateX(-100%); animation: timeline-scan 3.6s ease-in-out infinite; }
.tm-gap strong { margin: 12px 0; color: var(--ink); font-size: .75rem; text-transform: uppercase; }
.tm-gap span { padding: 8px; font-size: .66rem; font-weight: 800; }
.tm-evidence { display: grid; grid-template-columns: 1fr 80px 1fr; gap: 18px; align-items: stretch; padding: 0 28px 28px; }
.tm-evidence > div { display: flex; flex-direction: column; gap: 7px; padding: 18px; border: 1px solid var(--slate-200); background: var(--slate-50); }
.tm-evidence > div > span { margin-bottom: 8px; color: var(--cyan-deep); font-size: .65rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.tm-evidence b { font-size: .74rem; font-weight: 700; }
.tm-evidence > i { align-self: center; height: 2px; background: linear-gradient(90deg,var(--cyan),var(--red)); }
.tm-answer { display: grid; grid-template-columns: 42px 1fr; gap: 18px; align-items: center; padding: 20px 28px; background: var(--ink); }
.tm-answer__mark { color: var(--cyan); font-size: 1.5rem; }
.tm-answer p { margin: 0; color: #b9c8d2; font-size: .82rem; }
.tm-answer strong { color: var(--white); }
.time-machine > figcaption { padding: 13px 28px; border-top: 1px solid var(--slate-200); background: var(--bone); }
/* Five loops, each one a card on the page. The tablist that hid four of them is gone. */
.loop-card { margin: 0 0 26px; border: 1px solid var(--slate-200); border-radius: 14px; background: var(--white); overflow: hidden; }
.loop-card:last-of-type { margin-bottom: 0; }
.loop-card__body { display: grid; grid-template-columns: .8fr 1.2fr; gap: 55px; min-height: 350px; padding: 45px; }
.loop-card > figcaption { padding: 16px 24px; border-top: 1px solid var(--slate-200); background: var(--slate-50); }
.role-loops-head p { max-width: 62ch; margin-top: 14px; color: var(--slate-500); }
.role-also__grid--single { grid-template-columns: 1fr; }
/* The handoff the loops make to each other, which is the reason there are five. */
.role-chain { margin-top: 76px; }
.role-chain__grid { display: grid; grid-template-columns: 1fr 1fr; margin-top: 26px; border: 1px solid var(--slate-200); border-radius: 14px; background: var(--slate-200); gap: 1px; overflow: hidden; }
.role-chain__grid article { padding: 26px 30px; background: var(--white); }
.role-chain__grid span { display: block; margin-bottom: 9px; color: var(--cyan-deep); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.role-chain__grid p { margin: 0; color: var(--slate-700); line-height: 1.55; }
@media (max-width: 900px) { .loop-card__body { grid-template-columns: 1fr; gap: 30px; min-height: 0; padding: 28px 22px; } }
@media (max-width: 760px) { .role-chain__grid { grid-template-columns: 1fr; } .role-chain { margin-top: 48px; } }
.loop-panel__intro h3 { max-width: 440px; margin-top: 12px; font-size: 2.1rem; line-height: 1.12; }
.loop-panel__intro p { max-width: 440px; }
.loop-ring { display: block; width: 100%; max-width: 230px; height: auto; aspect-ratio: 1; margin-top: 26px; overflow: visible; }
.loop-track { fill: none; stroke: var(--slate-200); stroke-width: 1.5; }
.loop-comet { fill: none; stroke: var(--cyan-deep); stroke-width: 3.5; stroke-linecap: round; transform-origin: center; animation: loop-sweep linear infinite; }
@keyframes loop-sweep { to { stroke-dashoffset: calc(var(--circ) * -1px); } }
.loop-node { fill: var(--white); stroke: var(--slate-300); stroke-width: 1.5; }
.loop-node__index { fill: var(--cyan-deep); font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.loop-ring__role { fill: var(--ink); font-size: 1rem; font-weight: 850; letter-spacing: .04em; }
.loop-ring__tempo { fill: var(--slate-500); font-size: .68rem; font-weight: 600; }
.loop-steps { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 0; border: 1px solid var(--slate-200); background: var(--slate-200); gap: 1px; list-style: none; }
/* Seven manager steps and three buyer steps both left the container's own
   background showing as an empty cell. The last step spans when the count is odd. */
.loop-steps li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.loop-steps li { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; background: var(--white); }
.loop-steps span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .08em; }
.loop-steps strong { font-size: .97rem; }
.loop-steps em { color: var(--slate-700); font-family: var(--serif); font-size: .93rem; font-style: italic; line-height: 1.4; }
.loop-steps p { margin: 0; color: var(--slate-500); font-size: .8rem; line-height: 1.5; }

.loop-home__close { max-width: 840px; margin: 34px auto 0; font-size: 1.22rem; line-height: 1.45; text-align: center; }
.loop-home__more { margin-top: 18px; text-align: center; }
.loop-system { margin: 44px 0 0; }
.home-onward { display: flex; flex-wrap: wrap; gap: 12px 36px; margin: 30px 0 0; }
.loop-system__wide { display: block; width: 100%; height: auto; aspect-ratio: 820 / 320; overflow: visible; }
.loop-system__tall { display: none; width: 100%; max-width: 340px; height: auto; margin-inline: auto; aspect-ratio: 300 / 770; overflow: visible; }
@media (max-width: 640px) { .loop-system__wide { display: none; } .loop-system__tall { display: block; } }
.loop-channel { fill: none; stroke: var(--slate-300); stroke-width: 1.4; stroke-dasharray: 3 5; }
.loop-channel__label { fill: var(--slate-500); font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }

.role-also { margin-top: 76px; }
/* Three supporting roles, deliberately not loop cards: no ring, no step list. The
   ring is reserved for the three loops that run the decision cycle. */
/* The supporting loops keep every step. Hierarchy is carried by what they LACK:
   no ring, no numbered badges, no 350px white card. Full width rather than two
   across, because RevOps has six steps and the buyer has three. */
.support-loops { display: flex; flex-direction: column; gap: 18px; margin-top: 26px; }
.support-loop { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 2fr); gap: 34px; padding: 28px 30px; border: 1px solid var(--slate-200); border-radius: 14px; background: var(--slate-50); }
.support-loop__intro .eyebrow { margin-bottom: 9px; }
.support-loop__intro h3 { margin: 0 0 10px; font-size: 1.1rem; line-height: 1.32; }
.support-loop__intro p { margin: 0; color: var(--slate-700); font-size: .89rem; line-height: 1.55; }
.support-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; border: 1px solid var(--slate-200); background: var(--slate-200); gap: 1px; list-style: none; }
.support-steps li { display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; background: var(--white); }
.support-steps strong { font-size: .9rem; }
.support-steps em { color: var(--slate-700); font-family: var(--serif); font-size: .85rem; font-style: italic; line-height: 1.38; }
.support-steps p { margin: 0; color: var(--slate-500); font-size: .75rem; line-height: 1.45; }
.role-also__grid.role-also__grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.role-also__grid h3 { margin: 0 0 9px; font-size: 1.04rem; line-height: 1.34; }
.role-also__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 26px; border: 1px solid var(--slate-200); background: var(--slate-200); gap: 1px; }
.role-also__grid article { padding: 30px 32px; background: var(--white); }
.role-also__grid strong { display: block; margin-bottom: 8px; color: var(--cyan-deep); font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.role-also__grid p { margin: 0; color: var(--slate-700); }
.role-support { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.role-support a { display: grid; min-height: 170px; padding: 26px 28px; border: 1px solid var(--slate-200); background: var(--slate-50); color: var(--ink); text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.role-support a:hover { border-color: var(--cyan-deep); transform: translateY(-2px); }
.role-support span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.role-support strong { max-width: 520px; margin-top: 18px; font-size: 1.12rem; line-height: 1.3; }
.role-support small { align-self: end; display: inline-flex; gap: 7px; align-items: center; margin-top: 20px; color: var(--slate-500); font-weight: 750; }
.role-value { display: grid; margin-bottom: 76px; border: 1px solid var(--slate-200); background: var(--slate-200); gap: 1px; }
.role-value__head, .role-value article { display: grid; grid-template-columns: .5fr 1.25fr 1.25fr; gap: 1px; }
.role-value__head { background: var(--slate-200); }
.role-value__head span { padding: 14px 24px; background: var(--slate-50); color: var(--slate-500); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.role-value article > * { margin: 0; padding: 24px; background: var(--white); }
.role-value article > span { color: var(--cyan-deep); font-size: .95rem; font-weight: 850; }
.role-value article p { color: var(--slate-700); font-size: 1rem; line-height: 1.4; }
.role-loops-head { margin-top: 0; }

.why { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.why > div:first-child > p:not(.eyebrow) { max-width: 620px; font-size: 1.15rem; }
.why-list { border-top: 1px solid rgba(255,255,255,.18); }
.why-list article { display: grid; grid-template-columns: 36px 1fr 1fr; gap: 14px; align-items: center; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.why-list strong { color: var(--white); }
.why-list p { margin: 0; font-size: .8rem; }
.final-cta { max-width: 930px; text-align: center; }
.final-cta p { max-width: 700px; margin-inline: auto; font-size: 1.08rem; }
.final-cta .button { margin-top: 18px; }
.final-cta--dark { padding-block: 10px; }

.inner-hero { padding: 125px 0 24px; }
.inner-hero > p:last-child { margin-bottom: 0; }
.inner-hero h1 { max-width: 1000px; font-size: clamp(3.5rem,7vw,6.8rem); }
.inner-hero > p:last-child { max-width: 800px; font-size: 1.22rem; }
.inner-visual { padding-top: 32px; }
/* Outside evidence. The fact is testimony, so it is set in the serif; PROOF's
   reading of it is machine voice, so it is set in the sans and visibly separate. */
.cited-claim { max-width: 78ch; margin: 0; padding: 30px 34px; border: 1px solid var(--slate-200); border-left: 3px solid var(--cyan-deep); border-radius: 14px; background: var(--white); }
/* Win rate against how long the deal slipped. Bar lengths are classes, never inline
   styles, so the control that forbids inline styles on product figures still holds. */
/* Evidence decay, ordered most durable to least. The bar lengths are classes, not
   inline styles, and they show ordering rather than publishing the model's rates. */
.decay-figure { margin: 0; padding: 38px 40px; border: 1px solid var(--slate-200); border-radius: 14px; background: var(--white); }
.decay-figure__head { display: grid; grid-template-columns: 1.25fr 1fr; gap: 40px; align-items: end; margin-bottom: 30px; }
.decay-figure__head h2 { max-width: 22ch; margin: 12px 0 0; font-size: clamp(1.5rem, 2.3vw, 2rem); line-height: 1.15; }
.decay-figure__head p { margin: 0; color: var(--slate-500); line-height: 1.6; }
.decay-scale { display: grid; margin: 0; padding: 0; gap: 1px; background: var(--slate-200); border: 1px solid var(--slate-200); border-radius: 12px; overflow: hidden; list-style: none; }
.decay-scale li { display: grid; grid-template-columns: 15ch 132px 11ch 1fr; gap: 16px; align-items: center; padding: 14px 20px; background: var(--white); }
.decay-scale span { font-size: .92rem; font-weight: 700; }
.decay-scale i { height: 10px; border-radius: 999px; background: var(--cyan-deep); }
.decay-scale b { color: var(--slate-500); font-size: .66rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.decay-scale small { color: var(--slate-500); font-size: .84rem; line-height: 1.5; }
.decay-scale li:nth-child(1) i { width: 100%; }
.decay-scale li:nth-child(2) i { width: 78%; }
.decay-scale li:nth-child(3) i { width: 60%; }
.decay-scale li:nth-child(4) i { width: 48%; }
.decay-scale li:nth-child(5) i { width: 34%; }
.decay-scale li:nth-child(6) i { width: 22%; background: var(--amber); }
.decay-states { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 22px; border: 1px solid var(--slate-200); border-radius: 12px; background: var(--slate-200); overflow: hidden; }
.decay-states article { padding: 22px 24px; background: var(--slate-50); }
.decay-states span { display: block; margin-bottom: 8px; color: var(--cyan-deep); font-size: .7rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.decay-states p { margin: 0; color: var(--slate-700); font-size: .93rem; line-height: 1.6; }
.decay-figure > figcaption { margin-top: 20px; }
/* The label column narrows and the rest drops below it. The bar column stays,
   because the bar IS the claim; a flattened ladder says the opposite thing. */
@media (max-width: 900px) { .decay-figure { padding: 26px 22px; } .decay-figure__head { grid-template-columns: 1fr; gap: 18px; } .decay-scale li { grid-template-columns: 13ch 1fr; grid-template-areas: "label bar" "tag tag" "note note"; gap: 5px 14px; } .decay-scale span { grid-area: label; } .decay-scale i { grid-area: bar; } .decay-scale b { grid-area: tag; } .decay-scale b:empty { display: none; } .decay-scale small { grid-area: note; } .decay-states { grid-template-columns: 1fr; } }
.slip-curve { display: grid; margin: 22px 0 0; padding: 0; gap: 7px; list-style: none; }
.slip-curve li { display: grid; grid-template-columns: 12ch 1fr 4ch; gap: 12px; align-items: center; }
.slip-curve span { color: var(--slate-500); font-size: .76rem; font-weight: 600; }
.slip-curve i { height: 12px; border-radius: 999px; background: var(--cyan-deep); }
.slip-curve b { color: var(--ink); font-size: .84rem; font-weight: 850; text-align: right; }
.slip-curve li:nth-child(1) i { width: 100%; }
.slip-curve li:nth-child(2) i { width: 72%; }
.slip-curve li:nth-child(3) i { width: 44%; }
.slip-curve li:nth-child(4) i { width: 28%; }
.slip-curve li:nth-child(5) i { width: 17%; background: var(--amber); }
@media (max-width: 560px) { .slip-curve li { grid-template-columns: 10ch 1fr 4ch; gap: 8px; } .slip-curve span { font-size: .7rem; } }
.cited-claim blockquote { margin: 14px 0 0; }
.cited-claim blockquote p { margin: 0; color: var(--ink); font-family: var(--serif); font-size: clamp(1.18rem, 1.8vw, 1.55rem); line-height: 1.35; }
.cited-claim__source { margin: 14px 0 0; color: var(--slate-500); font-size: .82rem; line-height: 1.55; }
.cited-claim__source a { color: var(--cyan-deep); font-weight: 700; }
.cited-claim__reading { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--slate-200); color: var(--slate-700); font-size: 1rem; line-height: 1.6; }
@media (max-width: 640px) { .cited-claim { padding: 24px 22px; } }
.review-fit { display: grid; grid-template-columns: 1fr 1fr; margin-top: 26px; border: 1px solid var(--slate-200); border-radius: 14px; background: var(--slate-200); gap: 1px; overflow: hidden; }
.review-fit article { padding: 26px 30px; background: var(--white); }
.review-fit span { display: block; margin-bottom: 14px; color: var(--cyan-deep); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.review-fit ul { margin: 0; padding-left: 18px; color: var(--slate-700); line-height: 1.6; }
.review-fit li + li { margin-top: 9px; }
@media (max-width: 760px) { .review-fit { grid-template-columns: 1fr; } }
/* The offer at band size: enough to decide, with the detail one click away. */
.review-band { display: grid; grid-template-columns: 1.35fr 1fr; gap: 40px; align-items: start; }
.review-band h2 { max-width: 22ch; margin: 12px 0 14px; font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.15; }
.review-band > div > p { max-width: 54ch; margin: 0 0 16px; color: var(--slate-700); }
.review-band ul { margin: 0; padding-left: 18px; color: var(--slate-700); font-size: .95rem; line-height: 1.55; }
.review-band li + li { margin-top: 6px; }
.review-band__act { padding: 24px 26px; border: 1px solid var(--slate-200); border-radius: 14px; background: var(--white); }
.review-band__act p { margin: 0 0 18px; color: var(--slate-700); font-size: .95rem; line-height: 1.6; }
@media (max-width: 900px) { .review-band { grid-template-columns: 1fr; gap: 26px; } }
/* An index of the page, at the top, because there is no left column in this design. */
.page-rail { position: sticky; top: 0; z-index: 40; border-block: 1px solid var(--slate-200); background: rgba(245,243,238,.92); backdrop-filter: blur(8px); }
.page-rail .wrap { display: flex; align-items: center; gap: 18px; padding-block: 11px; }
.page-rail > .wrap > span { flex: none; color: var(--slate-500); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.page-rail ul { display: flex; overflow-x: auto; margin: 0; padding: 0; gap: 4px; list-style: none; scrollbar-width: none; }
.page-rail ul::-webkit-scrollbar { display: none; }
.page-rail a { display: block; padding: 6px 11px; border-radius: 999px; color: var(--slate-700); font-size: .82rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.page-rail a:hover { background: var(--white); color: var(--ink); }
.page-rail a.is-current { background: var(--ink); color: var(--white); }
main section[id] { scroll-margin-top: 78px; }
#contact-form { scroll-margin-top: 104px; }
@media (max-width: 760px) { .page-rail > .wrap > span { display: none; } .page-rail .wrap { padding-block: 8px; } }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
.figure-head { margin-bottom: 26px; }
.figure-head h2 { max-width: 20ch; }
.figure-head > p { color: var(--slate-500); }
.persona--page, .inner-visual > .time-machine, .inner-visual > .scenario, .inner-visual > .revenue-loop { margin-bottom: 20px; }
.evidence-trace { overflow: hidden; border: 1px solid var(--slate-200); background: var(--white); box-shadow: 0 28px 80px rgba(15,23,42,.08); }
.field-gap__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 1px; background: var(--slate-200); }
.field-gap__field { display: flex; flex-direction: column; gap: 10px; justify-content: center; padding: 34px; background: #fffbf3; box-shadow: inset 0 3px 0 var(--amber); }
.field-gap__field strong { font-size: 1.55rem; line-height: 1.15; }
.field-gap__field small { color: var(--slate-500); font-size: .74rem; }
.field-gap__asks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--slate-200); }
.field-gap__asks article { display: flex; min-height: 104px; flex-direction: column; gap: 10px; padding: 26px; background: var(--white); }
.field-gap__asks span { color: var(--cyan-deep); font-size: .61rem; font-weight: 850; letter-spacing: .08em; }
.field-gap__asks strong { margin-top: auto; font-size: 1.02rem; line-height: 1.25; }
.evidence-sources__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--slate-200); }
.evidence-sources__col { display: flex; flex-direction: column; gap: 14px; padding: 32px; background: var(--white); }
.evidence-sources__col ul { display: flex; flex-direction: column; gap: 9px; margin: 0; padding-left: 18px; font-size: .95rem; }
.evidence-sources__col small { color: var(--slate-500); font-size: .74rem; }
.evidence-sources__col--mid { background: #f7ffff; box-shadow: inset 0 3px 0 var(--cyan); }
.evidence-sources__col--mid strong { font-size: 1.16rem; line-height: 1.32; }
/* What PROOF attaches to every piece. These fill a centre column that held 85px
   of content in a 331px box, and they explain the metadata in the column beside. */
.evidence-sources__attach { display: flex; flex-direction: column; gap: 9px; margin: 2px 0 0; padding: 0; list-style: none; }
.evidence-sources__attach li { position: relative; padding-left: 20px; font-size: .9rem; }
.evidence-sources__attach li::before { position: absolute; top: .56em; left: 0; width: 11px; border-top: 1px solid var(--cyan-deep); content: ""; }
.evidence-sources__col--out article { display: flex; flex-direction: column; gap: 5px; padding: 15px 0; border-top: 1px solid var(--slate-200); }
.evidence-sources__col--out article:first-of-type { padding-top: 0; border-top: 0; }
.evidence-sources__col--out strong { font-size: 1rem; line-height: 1.25; }
@media (max-width: 900px) { .field-gap__grid, .evidence-sources__grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .field-gap__asks { grid-template-columns: 1fr; } }
.evidence-trace__head { display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px; align-items: end; padding: 42px; background: var(--slate-50); }
.evidence-trace__head h2 { max-width: 650px; margin: 0; font-size: clamp(2.1rem,4vw,3.5rem); }
.evidence-trace__head > p { max-width: 540px; margin: 0; font-size: .98rem; }
.evidence-trace__table { border-top: 1px solid var(--slate-200); }
.evidence-trace__row { display: grid; grid-template-columns: 1fr 1.65fr .7fr; align-items: center; min-height: 78px; border-bottom: 1px solid var(--slate-200); }
.evidence-trace__row:last-child { border-bottom: 0; }
.evidence-trace__row > * { min-width: 0; padding: 18px 24px; border-right: 1px solid var(--slate-100); font-size: .84rem; }
.evidence-trace__row > *:last-child { border-right: 0; }
.evidence-trace__row--head { min-height: 46px; background: var(--ink); color: var(--white); }
.evidence-trace__row--head span { color: var(--cyan); font-size: .66rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.trace-status { justify-self: start; margin-left: 24px; padding: 7px 11px; border: 1px solid currentColor; border-radius: 999px; font-size: .68rem; letter-spacing: .04em; }
.trace-status--good { color: #087553; background: #ecfdf5; }
.trace-status--stale { color: #9a5a00; background: #fff8e7; }
.trace-status--risk { color: #a9382d; background: #fff1ef; }
.trace-status--weak { color: #5b6574; background: var(--slate-50); }
.evidence-trace .visual-note { margin-bottom: 20px; }
.platform-process { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--slate-200); }
.platform-process article { display: flex; min-height: 280px; flex-direction: column; padding: 28px; border-right: 1px solid var(--slate-200); background: linear-gradient(155deg,var(--white),var(--slate-50)); }
.platform-process article:last-child { border: 0; }
.platform-process span, .platform-capabilities span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.platform-process h3 { margin: auto 0 11px; font-size: 1.42rem; line-height: 1.12; }
.platform-process p { margin: 0; font-size: .8rem; }
.platform-capabilities { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.18); }
.platform-capabilities a { display: flex; min-height: 285px; flex-direction: column; padding: 32px; background: var(--ink); color: var(--white); text-decoration: none; transition: background .25s ease, transform .25s ease; }
.platform-capabilities a:hover { z-index: 1; background: #11213a; transform: translateY(-3px); }
.platform-capabilities span { color: var(--cyan); }
.platform-capabilities h3 { margin: 50px 0 10px; font-size: 1.7rem; }
.platform-capabilities p { max-width: 500px; margin: 0 0 30px; }
.platform-capabilities .capability-line { margin: 0 0 12px; color: var(--white); font-size: 1rem; font-weight: 760; }
.platform-capabilities strong { display: inline-flex; gap: 8px; align-items: center; margin-top: auto; font-size: .76rem; }
.platform-capabilities svg { transition: transform .2s ease; }
.platform-capabilities a:hover svg { transform: translateX(4px); }
.platform-buyer { margin-top: 0; }
.method-visual { display: grid; grid-template-columns: 1fr 220px 1fr; gap: 50px; align-items: center; padding: 60px; border: 1px solid var(--slate-200); background: var(--slate-50); }
.method-visual > div { display: grid; gap: 10px; }
.method-visual span, .method-visual article { padding: 16px; border: 1px solid var(--slate-200); background: var(--white); font-weight: 750; }
.method-visual > strong { display: grid; min-height: 180px; place-items: center; background: var(--ink); color: var(--white); text-align: center; }
.intelligence-visual { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--slate-200); }
.intelligence-visual article { display: flex; min-height: 240px; flex-direction: column; padding: 28px; border-right: 1px solid var(--slate-200); }
.intelligence-visual article:last-child { border: 0; }
.intelligence-visual span { color: var(--cyan-deep); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.intelligence-visual strong { margin: auto 0 10px; font-size: 1.45rem; }
.intelligence-visual small { color: var(--slate-500); }
.loss-learning { display: grid; grid-template-columns: 1fr 60px 1fr 60px 1fr; align-items: center; margin-top: 22px; }
.loss-learning > div { display: flex; min-height: 150px; flex-direction: column; justify-content: space-between; padding: 25px; border: 1px solid var(--slate-200); background: var(--slate-50); }
.loss-learning > i { display: grid; place-items: center; color: var(--cyan-deep); font-size: 1.4rem; }
.visual-note { max-width: 840px; margin: 20px auto 0; color: var(--slate-500); font-size: .78rem; text-align: center; }
.bounded-feature, .admin-responsibilities { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; margin-top: 38px; padding: 42px; border: 1px solid var(--slate-200); background: var(--slate-50); }
.bounded-feature h2, .admin-responsibilities h2 { margin: 0; font-size: 2.35rem; }
.bounded-feature > p { margin: 0; font-size: 1rem; }
.admin-responsibilities { grid-template-columns: 1fr 1fr auto; align-items: center; }
.admin-responsibilities ul { margin: 0; padding: 0; list-style: none; }
.admin-responsibilities li { padding: 9px 0; border-top: 1px solid var(--slate-200); color: var(--slate-700); font-size: .82rem; }
.workspace-bar { display: flex; justify-content: space-between; gap: 28px; align-items: center; padding: 20px 24px; border-bottom: 1px solid var(--slate-200); background: var(--white); }
.workspace-bar > div { display: flex; flex-direction: column; gap: 3px; }
.workspace-bar strong { font-size: 1rem; }
.workspace-foot { display: flex; align-items: center; gap: 13px; min-height: 58px; padding: 14px 24px; background: var(--ink); color: var(--white); font-size: .72rem; }
.workspace-foot > span { color: var(--cyan); font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.workspace-foot i { width: 18px; height: 1px; background: var(--cyan); }
.workspace-foot > strong { margin-left: auto; color: #bfd0d9; font-weight: 550; }
.method-workspace, .intelligence-workspace, .partner-workspace, .implementation-board { overflow: hidden; border: 1px solid var(--slate-200); background: var(--white); box-shadow: 0 28px 80px rgba(15,23,42,.1); }
.method-lenses { display: flex; align-items: center; gap: 8px; padding: 12px 24px; border-bottom: 1px solid var(--slate-200); background: var(--slate-50); }
.method-lenses > span { padding: 8px 12px; color: var(--slate-500); font-size: .72rem; font-weight: 800; }
.method-lenses > span.is-active { background: var(--cyan-pale); color: var(--cyan-accessible); box-shadow: inset 0 -2px var(--cyan); }
.method-lenses small { margin-left: auto; color: var(--slate-500); }
.method-workspace__body { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 430px; }
.method-questions { padding: 22px; border-right: 1px solid var(--slate-200); background: var(--slate-50); }
.method-questions article { display: grid; grid-template-columns: 9px 1fr auto; gap: 13px; align-items: center; padding: 18px 14px; border-bottom: 1px solid var(--slate-200); }
.method-questions article.is-active { margin-inline: -1px; border: 1px solid var(--cyan); background: var(--white); box-shadow: 0 12px 30px rgba(15,23,42,.07); }
.method-questions article > div { display: flex; flex-direction: column; }
.method-questions small { color: var(--slate-500); }
.method-questions b { color: var(--slate-500); font-size: .68rem; }
.method-focus { display: flex; flex-direction: column; padding: 38px; }
/* Panel question inside the Method figure, not a document heading. Styles
   reproduce the previous h2 exactly. */
.method-focus__question { max-width: 650px; margin: 22px 0 34px; font-size: clamp(2rem,3.6vw,3.35rem); line-height: .99; letter-spacing: -.052em; font-weight: 700; text-wrap: balance; }
.method-evidence, .method-next { display: grid; grid-template-columns: 130px 1fr auto; gap: 18px; align-items: center; padding: 18px 0; border-top: 1px solid var(--slate-200); }
.method-evidence span, .method-next span { color: var(--cyan-deep); font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.method-evidence small, .method-next b { color: var(--slate-500); font-size: .67rem; }
.intelligence-summary { display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid var(--slate-200); }
.intelligence-summary article { display: flex; min-height: 125px; flex-direction: column; padding: 22px; border-right: 1px solid var(--slate-200); }
.intelligence-summary article:last-child { border: 0; }
.intelligence-summary span { color: var(--cyan-deep); font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.intelligence-summary strong { margin-top: auto; font-size: 1.4rem; }
.intelligence-summary small { color: var(--slate-500); }
.intelligence-workspace__body { display: grid; grid-template-columns: 1.35fr .65fr; min-height: 330px; }
.pattern-table { padding: 24px; border-right: 1px solid var(--slate-200); }
.pattern-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: center; min-height: 76px; border-bottom: 1px solid var(--slate-200); }
.pattern-row--head { min-height: 40px; color: var(--slate-500); font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.pattern-row > span { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; }
.pattern-row i { position: relative; display: block; height: 8px; overflow: hidden; background: var(--slate-100); }
.pattern-row i::after { content: ''; display: block; width: 0; height: 100%; background: var(--cyan); transition: width 1s cubic-bezier(.2,.8,.2,1); }
.intelligence-workspace.is-visible .pattern-row i::after { width: var(--bar); }
.pattern-row b { color: var(--slate-700); font-size: .68rem; white-space: nowrap; }
.intelligence-workspace__body aside { display: flex; flex-direction: column; padding: 32px; background: var(--cyan-pale); }
/* Panel title inside a demonstration figure, not a document heading: it must
   not appear in the page outline or in a screen reader's heading list. Styles
   reproduce the previous h3 exactly (base h3 rule plus the 2rem override). */
.intelligence-workspace__body aside .aside-title { margin: 45px 0 10px; font-size: 2rem; font-weight: 700; line-height: 1.2; letter-spacing: -.025em; text-wrap: balance; }
.intelligence-workspace__body aside > div { display: flex; flex-direction: column; margin-top: auto; padding-top: 18px; border-top: 1px solid rgba(0,127,134,.25); }
.intelligence-workspace__body aside > div span { color: var(--cyan-deep); font-size: .65rem; font-weight: 850; text-transform: uppercase; }
.intelligence-workspace__body aside > div small { color: var(--slate-500); }
.learning-chain { display: grid; grid-template-columns: auto 1fr 28px auto 1fr 28px auto 1fr 28px auto 1fr; gap: 10px; align-items: center; padding: 19px 24px; border-top: 1px solid var(--slate-200); background: var(--slate-50); }
.learning-chain span { color: var(--cyan-deep); font-size: .6rem; font-weight: 850; text-transform: uppercase; }
.learning-chain strong { font-size: .72rem; }
.learning-chain i { color: var(--cyan-deep); }
.partner-workspace__body { display: grid; grid-template-columns: .7fr 1.3fr; min-height: 420px; }
.partner-workspace__body > aside { display: flex; flex-direction: column; gap: 8px; padding: 34px; background: var(--ink); color: var(--white); }
.partner-workspace__body > aside span { margin-top: 22px; color: var(--cyan); font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.partner-workspace__body > aside span:first-child { margin-top: 0; }
.partner-workspace__body > aside strong { font-size: 1.3rem; }
.partner-workspace__body > aside small { color: #bfd0d9; }
.partner-workstream { position: relative; padding: 28px 34px; background: var(--slate-50); }
.partner-workstream::before { content: ''; position: absolute; top: 59px; bottom: 59px; left: 57px; width: 2px; background: var(--slate-200); }
.partner-workstream article { position: relative; z-index: 1; display: grid; grid-template-columns: 48px 1fr auto; gap: 16px; align-items: center; min-height: 88px; padding: 13px; border-bottom: 1px solid var(--slate-200); background: var(--slate-50); }
.partner-workstream article > span { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid var(--slate-300); background: var(--white); color: var(--slate-500); font-size: .65rem; font-weight: 850; }
.partner-workstream article.is-complete > span { border-color: var(--green); background: var(--green-bg); color: var(--green); }
.partner-workstream article.is-current { border: 1px solid var(--cyan); background: var(--white); box-shadow: 0 12px 32px rgba(15,23,42,.08); }
.partner-workstream article.is-current > span { border-color: var(--cyan); background: var(--cyan-pale); color: var(--cyan-accessible); }
.partner-workstream article > div { display: flex; flex-direction: column; }
.partner-workstream small { color: var(--slate-500); }
.partner-workstream article > b { color: var(--slate-500); font-size: .68rem; }
.partner-workstream article.is-current > b { color: var(--cyan-accessible); }
/* The connection picture: record on the left and two way, work tools one way in,
   the seller's own capture underneath. Stacks to one column on a phone. */
/* Page one: the chain, the gap, the six questions and state against timeline. */
.decision-chain { padding: 30px; border: 1px solid var(--slate-200); border-radius: 14px; background: var(--white); box-shadow: 0 24px 60px rgba(15,23,42,.07); }
.decision-chain__flow { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin: 0; padding: 0; list-style: none; background: var(--slate-200); border-radius: 14px; overflow: hidden; }
.decision-chain__flow li { display: flex; flex-direction: column; gap: 5px; padding: 20px; background: var(--white); }
.decision-chain__flow span { color: var(--cyan-deep); font-size: .68rem; font-weight: 800; letter-spacing: .08em; }
.decision-chain__flow strong { font-size: 1.02rem; line-height: 1.25; }
.decision-chain__flow small, .system-holds small { color: var(--slate-500); font-size: .78rem; line-height: 1.45; }
.decision-chain__return { margin: 18px 0 0; padding: 14px 18px; border-left: 3px solid var(--cyan); border-radius: 0 10px 10px 0; background: var(--cyan-pale); font-size: .92rem; }
.system-holds { padding: 30px; border: 1px solid var(--slate-200); border-radius: 14px; background: var(--white); }
/* The onward step: the question the next page answers, at the foot of this one. */
.page-handoff { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px 40px; padding-block: 34px; border-top: 1px solid var(--slate-200); }
.page-handoff > div { max-width: 62ch; }
.page-handoff__lead { margin: 0; font-size: clamp(1.18rem, 1.7vw, 1.5rem); font-weight: 600; line-height: 1.25; letter-spacing: -.01em; }
.page-handoff__follow { margin: 7px 0 0; color: var(--slate-500); font-size: 1rem; line-height: 1.6; }
@media (max-width: 640px) { .page-handoff { padding-block: 26px; } .page-handoff .button { width: 100%; justify-content: center; } }
.system-holds__head { display: grid; grid-template-columns: 1.05fr 1fr; gap: 14px 46px; align-items: end; margin-bottom: 24px; }
.system-holds__head h2 { margin: 6px 0 0; font-size: clamp(1.45rem, 2vw, 1.95rem); line-height: 1.18; }
.system-holds__head p { margin: 0; color: var(--slate-500); font-size: .92rem; line-height: 1.6; }
@media (max-width: 900px) { .system-holds__head { grid-template-columns: 1fr; align-items: start; margin-bottom: 18px; } }
.system-holds__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--slate-200); border-radius: 14px; overflow: hidden; }
.system-holds__grid article { display: flex; flex-direction: column; gap: 6px; padding: 22px; background: var(--white); }
.system-holds__grid strong { font-size: 1.05rem; line-height: 1.25; }
.system-holds__gap { margin: 18px 0 0; padding: 16px 18px; border-left: 3px solid var(--amber); border-radius: 0 10px 10px 0; background: var(--amber-bg); font-size: 1rem; }
.six-questions__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin: 0; padding: 0; list-style: none; background: var(--slate-200); border: 1px solid var(--slate-200); border-radius: 14px; overflow: hidden; }
.six-questions__grid li { display: flex; flex-direction: column; gap: 10px; min-height: 148px; padding: 24px; background: var(--white); }
.six-questions__grid span { color: var(--cyan-deep); font-size: .68rem; font-weight: 800; letter-spacing: .08em; }
.six-questions__grid p { margin: 0; font-size: 1.06rem; line-height: 1.35; }
.state-timeline__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--slate-200); border: 1px solid var(--slate-200); border-radius: 14px; overflow: hidden; }
.state-timeline__col { display: flex; flex-direction: column; gap: 12px; padding: 28px; background: var(--white); }
.state-timeline__col ul { display: flex; flex-direction: column; gap: 8px; margin: 0; padding-left: 18px; font-size: .95rem; }
.state-timeline__col p { margin: auto 0 0; color: var(--slate-500); font-size: .82rem; }
.state-timeline__col--proof { background: #f7ffff; box-shadow: inset 0 3px 0 var(--cyan); }
.why-now-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--slate-200); border: 1px solid var(--slate-200); border-radius: 14px; overflow: hidden; }
.why-now-grid article { display: flex; flex-direction: column; gap: 8px; padding: 26px; background: var(--white); }
.why-now-grid span { color: var(--cyan-deep); font-size: .68rem; font-weight: 800; letter-spacing: .08em; }
.why-now-grid h3 { margin: 0; font-size: 1.08rem; line-height: 1.28; }
.why-now-grid p { margin: 0; color: var(--slate-500); font-size: .88rem; line-height: 1.55; }
@media (max-width: 900px) {
  .decision-chain__flow, .system-holds__grid, .six-questions__grid, .why-now-grid { grid-template-columns: repeat(2,1fr); }
  .state-timeline__grid { grid-template-columns: 1fr; }
  .decision-chain, .system-holds { padding: 20px; }
}
@media (max-width: 560px) {
  .decision-chain__flow, .system-holds__grid, .six-questions__grid, .why-now-grid { grid-template-columns: 1fr; }
}
.system-map { padding: 30px; border: 1px solid var(--slate-200); background: radial-gradient(circle at 50% 38%,var(--cyan-pale),var(--slate-50) 52%,var(--white) 78%); box-shadow: 0 28px 80px rgba(15,23,42,.08); }
.system-map__head { display: grid; grid-template-columns: 1.05fr 1fr; gap: 14px 46px; align-items: end; margin-bottom: 26px; }
.system-map__head h2 { margin: 6px 0 0; font-size: clamp(1.5rem, 2.1vw, 2rem); line-height: 1.16; }
.system-map__head p { margin: 0; color: var(--slate-500); font-size: .92rem; line-height: 1.6; }
@media (max-width: 900px) { .system-map__head { grid-template-columns: 1fr; align-items: start; margin-bottom: 20px; } }
.system-map__grid { display: grid; grid-template-columns: 1fr 1.1fr 1fr; align-items: center; gap: 22px; }
.system-map__side { display: flex; flex-direction: column; gap: 10px; }
.system-map__side article { display: flex; flex-direction: column; gap: 3px; padding: 13px 15px; border: 1px solid var(--slate-200); border-radius: 14px; background: var(--white); }
.system-map__side strong { font-size: .97rem; line-height: 1.25; }
.system-map__side small, .system-map__capture small { color: var(--slate-500); font-size: .76rem; line-height: 1.45; }
.system-map__flow { margin: 2px 0 0; color: var(--slate-500); font-size: .76rem; line-height: 1.5; }
.system-map__flow b { color: var(--navy); }
.system-map__core { position: relative; display: flex; flex-direction: column; gap: 9px; padding: 28px 26px; border: 1px solid var(--cyan); border-radius: 14px; background: var(--white); box-shadow: 0 18px 44px rgba(0,194,199,.18); text-align: center; }
.system-map__core strong { font-size: 1.32rem; line-height: 1.2; }
.system-map__core p { margin: 0; color: var(--slate-500); font-size: .83rem; line-height: 1.5; }
.system-map__core .ui-kicker { color: var(--cyan-deep); }
.system-map__keys { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 3px; }
.system-map__keys b { padding: 4px 11px; border-radius: 999px; background: var(--slate-50); color: var(--slate-500); font-size: .7rem; font-weight: 600; }
.system-map__capture { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin-top: 22px; border-radius: 14px; background: var(--slate-200); overflow: hidden; }
.system-map__capture .ui-kicker { grid-column: 1 / -1; padding: 15px 18px 0; background: var(--white); }
.system-map__capture article { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px 20px; background: var(--white); }
.system-map__capture b { font-size: .95rem; }
@media (min-width: 901px) {
  .system-map__side:first-of-type article { box-shadow: inset 3px 0 0 var(--navy); }
  .system-map__side:last-of-type article { box-shadow: inset -3px 0 0 var(--cyan); }
}
@media (max-width: 900px) {
  .system-map { padding: 20px; }
  .system-map__grid { grid-template-columns: 1fr; }
  .system-map__core { order: -1; }
  .system-map__capture { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 480px) { .system-map__capture { grid-template-columns: 1fr; } }
.implementation-board__body { display: grid; grid-template-columns: .75fr 1.25fr; min-height: 390px; }
.readiness-meter { display: flex; flex-direction: column; padding: 36px; border-right: 1px solid var(--slate-200); background: var(--cyan-pale); }
.readiness-meter > div { display: flex; flex-direction: column; }
.readiness-meter span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.readiness-meter strong { margin-top: 55px; font-size: 2.4rem; line-height: 1.08; }
.readiness-meter > i { display: block; height: 10px; margin-top: auto; overflow: hidden; background: rgba(0,127,134,.15); }
.readiness-meter > i b { display: block; width: 0; height: 100%; background: var(--cyan-deep); transition: width 1s cubic-bezier(.2,.8,.2,1); }
.implementation-board.is-visible .readiness-meter > i b { width: var(--ready); }
.readiness-meter small { margin-top: 10px; color: var(--slate-500); }
.readiness-checks { display: grid; grid-template-columns: 1fr 1fr; }
.readiness-checks article { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-content: center; min-height: 130px; padding: 22px; border-right: 1px solid var(--slate-200); border-bottom: 1px solid var(--slate-200); }
.readiness-checks article > span { grid-column: 1/-1; color: var(--slate-500); font-size: .68rem; font-weight: 750; text-transform: uppercase; }
.readiness-checks article > b { display: grid; width: 25px; height: 25px; place-items: center; background: var(--green-bg); color: var(--green); font-size: .7rem; }
.readiness-checks article:nth-child(3) > b, .readiness-checks article:nth-child(5) > b { background: var(--amber-bg); color: var(--amber); }
.integration-grid, .implementation-phases { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--slate-200); }
.integration-grid article, .implementation-phases article { display: flex; min-height: 245px; flex-direction: column; padding: 28px; border-right: 1px solid var(--slate-200); background: linear-gradient(180deg,var(--white),var(--slate-50)); }
.integration-grid article:last-child, .implementation-phases article:last-child { border: 0; }
.integration-grid strong, .implementation-phases strong { margin: auto 0 10px; font-size: 1.3rem; line-height: 1.25; }
.integration-grid p, .implementation-phases p { margin: 0; font-size: .78rem; }
.implementation-phases { grid-template-columns: repeat(4,1fr); }
.connector-grid { display: grid; grid-template-columns: repeat(6,1fr); margin-top: 38px; border: 1px solid var(--slate-200); background: var(--slate-200); gap: 1px; }
.connector-grid article { display: flex; min-height: 245px; flex-direction: column; padding: 28px; background: linear-gradient(155deg,var(--white),var(--slate-50)); }
.connector-grid article:nth-child(-n+2) { grid-column: span 3; }
.connector-grid article:nth-child(n+3) { grid-column: span 2; }
.connector-grid span, .objection-list span { color: var(--cyan-deep); font-size: .67rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.connector-grid h3 { margin: auto 0 12px; font-size: 1.55rem; }
.connector-grid p { margin: 0; color: var(--slate-500); font-size: .8rem; }
.forecast-questions { display: grid; grid-template-columns: .72fr 1.28fr; overflow: hidden; border: 1px solid var(--slate-200); background: var(--white); box-shadow: 0 28px 80px rgba(15,23,42,.1); }
.forecast-questions__lead { display: flex; min-height: 430px; flex-direction: column; padding: 44px; background: var(--ink); color: var(--white); }
.forecast-questions__lead strong { margin-top: auto; font-size: clamp(2.25rem,4vw,3.7rem); line-height: .98; }
.forecast-questions__lead p { color: #bfd0d9; }
.forecast-questions__list { display: grid; grid-template-columns: 1fr 1fr; }
.forecast-questions__list article { display: flex; min-height: 210px; flex-direction: column; padding: 28px; border-right: 1px solid var(--slate-200); border-bottom: 1px solid var(--slate-200); }
.forecast-questions__list article:nth-child(even) { border-right: 0; }
.forecast-questions__list article:nth-last-child(-n+2) { border-bottom: 0; }
.forecast-questions__list span { color: var(--cyan-deep); font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.forecast-questions__list strong { margin-top: auto; font-size: 1.05rem; line-height: 1.35; }
.forecast-questions > figcaption { grid-column: 1 / -1; padding: 22px 28px; border-top: 1px solid var(--slate-200); background: var(--cyan-pale); color: var(--ink); font-size: .92rem; font-weight: 760; text-align: center; }
.objection-list { display: grid; grid-template-columns: 1fr 1fr; margin-top: 38px; border: 1px solid var(--slate-200); background: var(--slate-200); gap: 1px; }
.objection-list article { display: flex; min-height: 340px; flex-direction: column; padding: 34px; background: var(--white); }
.objection-list article:last-child, .objection-list__wide { grid-column: 1 / -1; min-height: 280px; }
.objection-list h3 { margin: 50px 0 14px; font-size: 1.75rem; }
.objection-list p { margin: 0 0 28px; color: var(--slate-500); }
.objection-list a { display: inline-flex; gap: 8px; align-items: center; margin-top: auto; color: var(--ink); font-size: .76rem; font-weight: 850; text-decoration: none; }
.objection-list__wide { display: grid !important; grid-template-columns: .42fr 1fr 1fr; column-gap: 44px; }
.objection-list__wide > span { grid-row: 1 / span 8; }
.objection-list__wide h3 { grid-column: 2 / -1; margin-top: 0; }
.objection-list__wide p, .objection-list__wide a { grid-column: 2 / -1; }
.principle-grid, .resource-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.principle-grid article, .resource-grid article { min-height: 230px; padding: 30px; border: 1px solid var(--slate-200); background: var(--slate-50); }
.principle-grid h3, .resource-grid h3 { max-width: 460px; margin-top: 55px; font-size: 1.65rem; }
.assurance-grid article { min-height: 285px; }
.assurance-grid span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.assurance-grid h3 { margin-top: 48px; }
.assurance-grid p { margin: 0; color: var(--slate-500); font-size: .82rem; }
.assurance-link { margin-top: 28px; }
.partner-journey { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 70px; border: 1px solid var(--slate-200); }
.partner-journey span { display: grid; width: 150px; height: 150px; place-items: center; background: var(--ink); color: var(--white); font-weight: 800; }
.partner-journey i { flex: 1; height: 1px; background: var(--cyan); }
.partner-growth { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid rgba(255,255,255,.18); }
.partner-growth article { display: flex; min-height: 245px; flex-direction: column; padding: 28px; border-right: 1px solid rgba(255,255,255,.18); }
.partner-growth article:last-child { border: 0; }
.partner-growth span { color: var(--cyan); font-size: .7rem; font-weight: 850; }
.partner-growth h3 { margin: 50px 0 10px; color: var(--white); font-size: 1.6rem; }
.partner-growth p { margin: auto 0 0; color: #bfd0d9; font-size: .8rem; }
.partner-threat { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: end; }
.partner-threat h2 { margin: 12px 0 0; color: var(--white); }
.partner-threat > p { max-width: 650px; margin: 0; color: #d5e0e7; font-size: 1.08rem; }
.partner-commercial { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 38px; border: 1px solid var(--slate-200); background: var(--slate-200); gap: 1px; }
.partner-commercial article { min-height: 250px; padding: 28px; background: var(--white); }
.partner-commercial span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.partner-commercial h3 { margin: 50px 0 12px; font-size: 1.55rem; }
.partner-commercial p { color: var(--slate-500); font-size: .8rem; }
.sales-dna-grid { display: grid; grid-template-columns: .8fr 1.2fr; border: 1px solid var(--slate-200); background: var(--slate-200); gap: 1px; }
.sales-dna-grid article { display: flex; min-height: 250px; flex-direction: column; padding: 30px; background: linear-gradient(150deg,var(--white),var(--slate-50)); }
.sales-dna-grid span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.sales-dna-grid strong { margin: 30px 0 13px; font-size: 1.55rem; line-height: 1.18; }
.sales-dna-grid p { margin: 0; color: var(--slate-500); }
.integrity-story, .partner-story { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(55px,9vw,135px); align-items: start; }
.integrity-story h2, .partner-story h2 { margin-top: 13px; }
.integrity-story > div:last-child, .partner-story > div:last-child { padding-top: 38px; }
.integrity-story p, .partner-story p { font-size: 1.02rem; }
.integrity-story blockquote { margin: 28px 0; padding: 22px 26px; border-left: 4px solid var(--cyan); background: var(--white); color: var(--ink); font-size: 1.3rem; font-weight: 780; line-height: 1.35; }
.cause-owner-grid { display: grid; grid-template-columns: repeat(5,1fr); border: 1px solid var(--slate-200); background: var(--slate-200); gap: 1px; }
.cause-owner-grid article { display: flex; min-height: 230px; flex-direction: column; padding: 24px; background: var(--white); }
.cause-owner-grid span { color: var(--slate-500); font-size: .67rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.cause-owner-grid strong { margin-top: auto; color: var(--cyan-deep); font-size: 1.35rem; }
.cause-owner-grid p { margin: 12px 0 0; color: var(--slate-500); font-size: .76rem; }
.partner-growth__terms { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 40px; margin-top: 30px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.18); }
.partner-growth__terms p { margin: 0; color: rgba(255,255,255,.76); font-size: 1rem; line-height: 1.6; }
.partner-growth__terms b { color: var(--white); }
@media (max-width: 760px) { .partner-growth__terms { grid-template-columns: 1fr; } }
.partner-commercial--streams article { background: var(--navy); color: var(--white); }
.partner-commercial--streams p { color: #bfd0d9; }
.partner-commercial--streams span { color: var(--cyan); }
.partner-close { display: flex; justify-content: space-between; gap: 60px; align-items: end; }
.partner-close > div { max-width: 760px; }
.partner-close .button { flex: 0 0 auto; }
.evidence-caveat { margin: 24px 0 0; padding: 18px 22px; border-left: 3px solid var(--cyan); background: var(--slate-50); color: var(--slate-500); font-size: .78rem; }
.ai-authority-map { overflow: hidden; border: 1px solid var(--slate-200); background: var(--white); box-shadow: 0 28px 80px rgba(15,23,42,.09); }
.ai-authority-map__head { display: flex; justify-content: space-between; gap: 30px; align-items: start; padding: 34px; border-bottom: 1px solid var(--slate-200); }
.ai-authority-map__head h2 { max-width: 720px; margin: 0; font-size: clamp(2rem, 4vw, 3.6rem); }
.ai-authority-map__flow { display: grid; grid-template-columns: 1fr 54px 1fr 78px 1fr; align-items: stretch; padding: 28px; background: var(--slate-50); }
.ai-authority-map__flow article { display: flex; min-height: 260px; flex-direction: column; padding: 26px; border: 1px solid var(--slate-200); background: var(--white); }
.ai-authority-map__flow article > span, .ai-authority-map__write span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ai-authority-map__flow article > strong { margin: 42px 0 10px; font-size: 1.45rem; }
.ai-authority-map__flow article p { margin-bottom: auto; }
.ai-authority-map__flow article small { color: var(--slate-500); }
.ai-authority-map__flow > i { display: flex; flex-direction: column; gap: 8px; align-items: center; justify-content: center; color: var(--cyan-deep); font-size: 1.35rem; }
.ai-authority-map__flow > i b { color: var(--amber); font-size: .61rem; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.ai-authority-map__assist { background: var(--cyan-pale) !important; }
.ai-authority-map__assist ul { margin: 0; padding-left: 18px; color: var(--slate-700); font-size: .78rem; }
.ai-authority-map__assist li { margin: 6px 0; }
.ai-authority-map__human { border-top: 4px solid var(--cyan) !important; background: var(--ink) !important; color: var(--white); }
.ai-authority-map__human p, .ai-authority-map__human small { color: #bfd0d9 !important; }
.ai-authority-map__human > span { color: var(--cyan) !important; }
.ai-authority-map__write { display: flex; justify-content: space-between; gap: 30px; align-items: center; margin: 0 28px; padding: 18px 22px; border: 1px solid var(--amber); background: var(--amber-bg); }
.ai-authority-map__write > div { display: flex; flex-direction: column; }
.ai-authority-map__write > b { max-width: 560px; color: var(--ink); font-size: .78rem; }
.ai-authority-map .visual-note { margin-bottom: 22px; }
.ai-boundary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ai-boundary-grid article { min-height: 320px; padding: 36px; border: 1px solid var(--slate-200); background: var(--slate-50); }
.ai-boundary-grid article:last-child { background: var(--ink); color: var(--white); }
.ai-boundary-grid span { color: var(--cyan-deep); font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ai-boundary-grid article:last-child span { color: var(--cyan); }
.ai-boundary-grid h3 { margin-top: 65px; font-size: 2rem; }
.ai-boundary-grid ul { padding-left: 20px; color: var(--slate-500); }
.ai-boundary-grid article:last-child ul { color: #bfd0d9; }
.ai-boundary-grid li { margin: 8px 0; }
.ai-principles { display: grid; grid-template-columns: repeat(5,1fr); border: 1px solid rgba(255,255,255,.18); }
.ai-principles article { display: flex; min-height: 180px; flex-direction: column; justify-content: space-between; padding: 24px; border-right: 1px solid rgba(255,255,255,.18); }
.ai-principles article:last-child { border: 0; }
.ai-principles span { color: var(--cyan); font-size: .7rem; font-weight: 850; }
.ai-principles strong { max-width: 170px; }
.ai-payoff { display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; border: 1px solid var(--slate-200); border-radius: 14px; background: var(--slate-200); gap: 1px; box-shadow: 0 24px 70px rgba(15,23,42,.07); }
.ai-payoff article { display: flex; min-height: 235px; flex-direction: column; padding: 28px; background: var(--white); }
.ai-payoff span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ai-payoff strong { margin-top: auto; font-size: 1.42rem; }
.ai-payoff p { margin: 12px 0 0; color: var(--slate-500); font-size: .78rem; }
.ai-payoff__close { max-width: 760px; margin: 22px 0 0; color: var(--ink); font-weight: 700; }
.ai-trust-handoff { display: flex; justify-content: space-between; gap: 35px; align-items: end; margin-top: 32px; padding: 36px; border: 1px solid var(--slate-200); background: var(--slate-50); }
.ai-trust-handoff h3 { font-size: 2rem; }
.ai-trust-handoff p { max-width: 720px; margin-bottom: 0; }
.trust-overview-head { margin-bottom: 26px; }
.trust-overview-head p { max-width: 60ch; margin-top: 12px; color: var(--slate-500); }
.trust-overview { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--slate-200); }
.trust-overview article { display: flex; min-height: 245px; flex-direction: column; padding: 30px; border-right: 1px solid var(--slate-200); background: linear-gradient(155deg,var(--white),var(--slate-50)); }
.trust-overview article:last-child { border: 0; }
.trust-overview span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.trust-overview strong { margin: auto 0 12px; font-size: 1.3rem; }
.trust-overview p { margin: 0; font-size: .8rem; }
.trust-boundary { display: grid; grid-template-columns: 1fr 80px 1fr; align-items: center; }
.trust-boundary > div { min-height: 240px; display: flex; flex-direction: column; justify-content: space-between; padding: 35px; border: 1px solid var(--slate-200); }
.trust-boundary > div:first-child { background: var(--cyan-pale); }
.trust-boundary > div:last-child { background: var(--ink); color: var(--white); }
.trust-boundary > div span { color: var(--cyan-deep); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.trust-boundary > div:first-child span { color: var(--cyan-accessible); }
.trust-boundary > i { display: grid; place-items: center; color: var(--cyan-deep); font-size: 1.5rem; }
.resource-grid { grid-template-columns: repeat(3,1fr); }
.resource-grid article { display: flex; min-height: 280px; flex-direction: column; }
.resource-grid article > span { color: var(--cyan-deep); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.resource-grid h3 { margin: 42px 0 auto; }
.resource-grid a { display: inline-flex; gap: 8px; align-items: center; font-weight: 750; }
.detail-section { padding-top: 32px; }
.detail-grid { display: grid; gap: 16px; }
.detail-grid--three { grid-template-columns: repeat(3, 1fr); }
.detail-grid--four { grid-template-columns: repeat(4, 1fr); }
.detail-grid article { display: flex; min-height: 250px; flex-direction: column; padding: 30px; border: 1px solid var(--slate-200); background: linear-gradient(155deg, var(--white), var(--slate-50)); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.detail-grid article:hover { transform: translateY(-3px); border-color: var(--cyan); box-shadow: 0 16px 40px rgba(15,23,42,.08); }
.detail-grid span, .comparison-panel span, .forecast-table .forecast-row--head span, .metric-ribbon span, .system-stack span, .readiness-list span, .topic-grid span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.detail-grid h3 { margin: auto 0 10px; font-size: 1.65rem; }
.detail-grid p { margin: 0; font-size: .83rem; }
.system-stack { display: grid; grid-template-columns: 1fr 62px 1fr 62px 1fr; align-items: center; }
.system-stack article { display: flex; min-height: 190px; flex-direction: column; justify-content: space-between; padding: 28px; border: 1px solid var(--slate-200); background: var(--white); }
.system-stack strong { max-width: 300px; font-size: 1.25rem; line-height: 1.3; }
.system-stack > i { display: grid; place-items: center; color: var(--cyan-deep); font-size: 1.25rem; }
.system-stack__proof { background: var(--ink) !important; color: var(--white); }
.system-stack__proof span { color: var(--cyan); }
.comparison-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.comparison-panel article { display: flex; min-height: 260px; flex-direction: column; justify-content: space-between; padding: 34px; border: 1px solid var(--slate-200); background: var(--slate-50); }
.comparison-panel strong { max-width: 470px; font-size: 2rem; line-height: 1.12; }
.comparison-panel p { margin: 0; }
.comparison-panel__proof { background: var(--ink) !important; color: var(--white); }
.comparison-panel__proof span { color: var(--cyan); }
.comparison-panel__proof p { color: #b9c8d2; }
.forecast-gap { background: #f6f2ea; }
.forecast-gap__opening { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(50px,8vw,120px); align-items: end; }
.forecast-gap__opening h2 { max-width: 760px; margin-bottom: 0; }
.forecast-gap__opening h2 span { display: block; }
.forecast-gap__opening h2 span + span { margin-top: 18px; color: var(--cyan-deep); }
.forecast-gap__opening > div:last-child p { max-width: 620px; font-size: 1.05rem; }
.forecast-gap__opening > div:last-child strong { color: var(--ink); font-size: 1.12rem; }
.forecast-positions { margin-top: 72px; overflow: hidden; border: 1px solid var(--slate-200); background: var(--white); box-shadow: var(--shadow); }
.forecast-positions__head, .forecast-waterfall__head { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 28px; border-bottom: 1px solid var(--slate-200); }
.forecast-positions__head > div { display: flex; flex-direction: column; gap: 5px; }
.forecast-positions__head strong, .forecast-waterfall__head strong { font-size: 1.35rem; }
.forecast-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.forecast-position-table, .forecast-object-table, .forecast-waterfall-table { width: 100%; border-collapse: collapse; color: var(--ink); text-align: left; }
.forecast-position-table { min-width: 820px; }
.forecast-object-table { min-width: 900px; }
.forecast-waterfall-table { min-width: 720px; }
.forecast-position-table th, .forecast-position-table td, .forecast-object-table th, .forecast-object-table td, .forecast-waterfall-table th, .forecast-waterfall-table td { padding: 18px 22px; border-bottom: 1px solid var(--slate-200); vertical-align: middle; }
.forecast-position-table thead th, .forecast-object-table thead th, .forecast-waterfall-table thead th { background: var(--ink); color: #d8e5ec; font-size: .67rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.forecast-position-table tbody th, .forecast-object-table tbody th, .forecast-waterfall-table tbody th { font-size: .88rem; }
.forecast-position-table tbody td, .forecast-object-table tbody td, .forecast-waterfall-table tbody td { color: var(--slate-600); font-size: .82rem; }
.forecast-position-table .forecast-value { color: var(--ink); font-size: 1.35rem; font-weight: 700; text-align: right; white-space: nowrap; }
.forecast-position-table .is-authored .forecast-value { font-family: var(--serif); font-size: 1.65rem; font-weight: 400; }
.forecast-position-table th:nth-child(3), .forecast-position-table td:nth-child(3), .forecast-waterfall-table th:last-child, .forecast-waterfall-table td:last-child { text-align: right; }
.forecast-position-table tr:last-child > *, .forecast-object-table tr:last-child > *, .forecast-waterfall-table tr:last-child > * { border-bottom: 0; }
.forecast-positions figcaption, .forecast-waterfall figcaption { padding: 18px 28px; border-top: 1px solid var(--slate-200); color: var(--slate-500); font-size: .76rem; }
.forecast-object { padding-top: 110px; }
.forecast-object-table tbody th { width: 23%; color: var(--ink); }
.forecast-object-table tbody td { width: 38.5%; }
.forecast-object-table tbody td:last-child { background: rgba(0,194,199,.055); color: var(--ink); }
.forecast-crm-limits .section-head p, .forecast-crm-limits .section-head h2 { color: var(--white); }
.forecast-limit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.18); }
.forecast-limit-grid article { min-height: 310px; padding: 34px; background: var(--navy); }
.forecast-limit-grid article > span { color: var(--cyan); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.forecast-limit-grid h3 { max-width: 520px; margin: 58px 0 14px; color: var(--white); font-size: clamp(1.6rem,2.4vw,2.5rem); }
.forecast-limit-grid p { max-width: 610px; margin: 0; color: #c6d5df; }
.forecast-limit-grid__structural { grid-column: 1 / -1; display: grid; grid-template-columns: .5fr 1fr 1fr; gap: 36px; align-items: center; min-height: 230px !important; background: var(--ink) !important; }
.forecast-limit-grid__structural h3 { margin: 0; }
.forecast-movement .section-head > div:last-child { display: grid; gap: 12px; }
.forecast-movement .section-head p { margin: 0; }
.forecast-movement .section-head strong { color: var(--ink); }
.forecast-waterfall { margin-top: 58px; overflow: hidden; border: 1px solid var(--slate-200); background: var(--white); box-shadow: 0 24px 70px rgba(15,23,42,.08); }
.forecast-waterfall__head { flex-wrap: wrap; background: var(--white); }
.forecast-waterfall-table .is-positive { color: var(--green); font-weight: 800; }
.forecast-waterfall-table .is-negative { color: var(--red); font-weight: 800; }
.forecast-waterfall-table .is-total > * { background: var(--slate-50); color: var(--ink); font-weight: 850; }
.forecast-waterfall-table .is-residual > * { border-top: 2px solid var(--cyan); background: var(--cyan-pale); color: var(--cyan-accessible); font-weight: 850; }
.forecast-six { background: var(--white); }
.forecast-six__grid { display: grid; grid-template-columns: repeat(3,1fr); margin: 52px 0 0; padding: 0; border: 1px solid var(--slate-200); background: var(--slate-200); gap: 1px; list-style: none; }
.forecast-six__grid li { display: flex; min-height: 190px; flex-direction: column; justify-content: space-between; padding: 26px; background: var(--white); }
.forecast-six__grid li:nth-child(1), .forecast-six__grid li:nth-child(4) { background: var(--ink); }
.forecast-six__grid li:nth-child(1) strong, .forecast-six__grid li:nth-child(4) strong { color: var(--white); }
.forecast-six__grid span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .1em; }
.forecast-six__grid li:nth-child(1) span, .forecast-six__grid li:nth-child(4) span { color: var(--cyan); }
.forecast-six__grid strong { max-width: 250px; font-size: 1.35rem; line-height: 1.18; }
.platform-source-states { padding-top: 88px; }
.source-state-grid { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 48px; border: 1px solid var(--slate-200); background: var(--white); }
.source-state-grid article { min-height: 185px; padding: 24px; border-right: 1px solid var(--slate-200); }
.source-state-grid article:last-child { border-right: 0; }
.source-state-grid span { display: block; margin-bottom: 52px; color: var(--cyan-deep); font-size: .75rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.source-state-grid p { margin: 0; font-size: .82rem; }
.forecast-table { overflow-x: auto; border: 1px solid var(--slate-200); background: var(--white); box-shadow: 0 24px 70px rgba(15,23,42,.08); }
.forecast-row { display: grid; grid-template-columns: 1.35fr repeat(4, minmax(105px, 1fr)) 1fr .8fr; min-width: 930px; border-bottom: 1px solid var(--slate-200); }
.forecast-row:last-child { border-bottom: 0; }
.forecast-row > * { min-width: 0; padding: 16px 14px; border-right: 1px solid var(--slate-100); font-size: .76rem; }
.forecast-row > *:last-child { border-right: 0; }
.forecast-row--head { background: var(--ink); color: var(--white); }
.forecast-table .forecast-row--head span { color: #c9f8f6; }
.forecast-row--risk { background: #fff8f2; }
.forecast-row--risk span:last-child { color: var(--red); font-weight: 800; }
.metric-ribbon { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 18px; border: 1px solid var(--slate-200); }
.metric-ribbon article { display: flex; min-height: 145px; flex-direction: column; justify-content: space-between; padding: 22px; border-right: 1px solid var(--slate-200); }
.metric-ribbon article:last-child { border: 0; }
.metric-ribbon strong { font-size: .95rem; line-height: 1.35; }
.forecast-review { display: grid; grid-template-columns: .88fr 1.12fr; gap: 80px; align-items: start; }
.forecast-review__intro h2 { max-width: 700px; margin: 14px 0 24px; font-size: clamp(2.45rem,4.8vw,5rem); line-height: .98; }
.forecast-review__intro p { max-width: 650px; }
.forecast-review__readout { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--slate-200); background: var(--white); box-shadow: 0 28px 80px rgba(15,23,42,.09); }
.forecast-review__readout > .ui-kicker { grid-column: 1 / -1; padding: 20px 24px; border-bottom: 1px solid var(--slate-200); }
.forecast-review__readout article { display: flex; min-height: 180px; flex-direction: column; padding: 24px; border-right: 1px solid var(--slate-200); border-bottom: 1px solid var(--slate-200); }
.forecast-review__readout article:nth-child(odd) { border-right: 0; }
.forecast-review__readout article:nth-last-child(-n+2) { border-bottom: 0; }
.forecast-review__readout article span, .forecast-review__columns article > span, .forecast-review__honest > span { color: var(--cyan-deep); font-size: .66rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.forecast-review__readout article strong { margin-top: auto; font-size: 1.08rem; }
.forecast-review__readout article small { margin-top: 6px; color: var(--slate-500); }
.forecast-review--offer { grid-template-columns: 1fr; gap: 48px; }
.forecast-review--offer .forecast-review__intro { display: grid; grid-template-columns: 1fr 1fr; column-gap: 80px; }
.forecast-review--offer .forecast-review__intro .eyebrow, .forecast-review--offer .forecast-review__intro h2 { grid-column: 1; }
.forecast-review--offer .forecast-review__intro p { grid-column: 2; }
.forecast-review--offer .forecast-review__intro p:first-of-type { align-self: end; }
.forecast-review__columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; border: 1px solid var(--slate-200); background: var(--slate-200); }
.forecast-review__columns article { padding: 34px; background: var(--white); }
.forecast-review__columns h3 { max-width: 520px; margin: 38px 0 22px; font-size: 1.75rem; }
.forecast-review__columns ul { margin: 0; padding-left: 20px; }
.forecast-review__columns li { margin: 12px 0; color: var(--slate-600); }
.forecast-review__honest { display: grid; grid-template-columns: .35fr 1fr 1fr; gap: 36px; padding: 38px; background: var(--ink); color: var(--white); }
.forecast-review__honest--summary { grid-column: 1 / -1; }
.forecast-review__honest > span { color: var(--cyan); }
.forecast-review__honest p { margin: 0; color: #bfd0d9; }
.forecast-review__honest strong { font-size: 1.16rem; line-height: 1.45; }
.forecast-review__action { display: grid; grid-template-columns: 1fr auto; gap: 64px; align-items: center; padding-top: 8px; }
.forecast-review__action h3 { margin-bottom: 8px; font-size: 1.45rem; }
.forecast-review__action p { max-width: 790px; margin: 0; }
.role-rail, .stewardship-rail { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--slate-200); }
.role-rail span { display: grid; min-height: 120px; place-items: center; padding: 20px; background: var(--white); font-size: .78rem; font-weight: 800; text-align: center; }
.role-rail i { display: none; }
.role-rail span + span { border-left: 1px solid var(--slate-200); }
.stewardship-rail article { display: flex; min-height: 150px; flex-direction: column; justify-content: space-between; padding: 22px; border-right: 1px solid var(--slate-200); }
.stewardship-rail article:last-child { border: 0; background: var(--ink); color: var(--white); }
.stewardship-rail span { color: var(--cyan-deep); font-size: .7rem; font-weight: 850; }
.stewardship-rail article:last-child span { color: var(--cyan); }
.refusal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--slate-200); border: 1px solid var(--slate-200); }
.refusal-grid article { display: flex; min-height: 150px; align-items: end; padding: 26px; background: var(--white); font-size: 1.05rem; font-weight: 750; line-height: 1.35; }
.refusal-grid article::before { content: '∎'; align-self: start; margin-right: auto; color: var(--cyan-deep); }
.readiness-list { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--slate-200); }
.readiness-list article { display: flex; min-height: 190px; flex-direction: column; justify-content: space-between; padding: 28px; border-right: 1px solid var(--slate-200); }
.readiness-list article:last-child { border: 0; }
.readiness-list strong { max-width: 330px; font-size: 1.15rem; line-height: 1.35; }
.topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.topic-grid--library { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.topic-grid a { display: flex; min-height: 210px; flex-direction: column; justify-content: space-between; padding: 28px; border: 1px solid var(--slate-200); background: var(--slate-50); text-decoration: none; transition: transform .25s ease, border-color .25s ease, background .25s ease; }
.topic-grid a:hover { transform: translateY(-3px); border-color: var(--cyan); background: var(--white); }
.topic-grid a > span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.topic-grid strong { max-width: 360px; font-size: 1.25rem; line-height: 1.3; }
.topic-grid a > p { max-width: 420px; margin: 0; color: var(--slate-600); font-size: .78rem; }
.topic-grid a > svg { align-self: end; }
.trust-absence-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; border: 1px solid var(--slate-200); background: var(--slate-200); }
.trust-absence-grid article { display: flex; min-height: 270px; flex-direction: column; padding: 28px; background: var(--white); }
.trust-absence-grid article::before { content: ''; width: 34px; height: 3px; margin-bottom: 48px; background: var(--cyan); }
.trust-absence-grid span, .trust-control-grid span, .trust-ops-grid span, .provider-row--head span, .residency-callout span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.trust-absence-grid h3, .trust-control-grid h3, .trust-ops-grid h3 { margin: auto 0 10px; font-size: 1.42rem; line-height: 1.12; }
.trust-absence-grid p, .trust-control-grid p, .trust-ops-grid p { margin: 0; font-size: .82rem; }
.residency-callout { display: grid; grid-template-columns: .55fr 1fr 1.3fr; gap: 24px; align-items: center; margin-bottom: 18px; padding: 26px 30px; border: 1px solid #9bdcdf; background: var(--cyan-pale); }
.residency-callout strong { font-size: 1.55rem; line-height: 1.1; }
.residency-callout p { margin: 0; }
.provider-table { overflow: hidden; border: 1px solid var(--slate-200); background: var(--white); }
.provider-row { display: grid; grid-template-columns: .65fr 1fr 1.3fr; }
.provider-row + .provider-row { border-top: 1px solid var(--slate-200); }
.provider-row > * { padding: 18px 20px; border-right: 1px solid var(--slate-200); font-size: .8rem; line-height: 1.45; }
.provider-row > *:last-child { border-right: 0; }
.provider-row--head { background: var(--ink); color: var(--white); }
.provider-row--head span { color: var(--cyan); }
.trust-note { max-width: 930px; margin: 18px 0 0; font-size: .74rem; }
.trust-control-grid, .trust-ops-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.trust-control-grid article, .trust-ops-grid article { display: flex; min-height: 235px; flex-direction: column; padding: 26px; border: 1px solid var(--slate-200); background: linear-gradient(155deg, var(--white), var(--slate-50)); }
.trust-stewardship { margin-top: 18px; }
.buyer-privacy { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; }
.buyer-privacy h2 { color: var(--white); }
.buyer-privacy ul { margin: 0; padding: 0; list-style: none; }
.buyer-privacy li { position: relative; padding: 16px 0 16px 28px; border-top: 1px solid rgba(255,255,255,.16); color: #c4d2dc; font-size: .88rem; }
.buyer-privacy li::before { content: '✓'; position: absolute; left: 0; color: var(--cyan); font-weight: 900; }
.buyer-privacy blockquote { grid-column: 1/-1; margin: 8px 0 0; padding: 30px 0 0; border-top: 1px solid rgba(255,255,255,.16); color: var(--white); font-family: var(--serif); font-size: clamp(1.65rem, 3vw, 2.7rem); line-height: 1.12; }
.trust-ops-grid { grid-template-columns: repeat(2, 1fr); }
.trust-ops-grid article { min-height: 250px; }
.trust-docs { display: grid; grid-template-columns: 1.25fr .75fr; gap: 90px; align-items: start; }
.trust-docs > div > p { max-width: 760px; }
.trust-docs aside { display: grid; gap: 10px; padding: 28px; border: 1px solid var(--slate-200); background: var(--white); }
.trust-docs aside strong + p { margin-top: 0; padding-bottom: 16px; border-bottom: 1px solid var(--slate-200); font-size: .76rem; }
.trust-docs aside p:last-child { border-bottom: 0; }
.document-status { padding: 18px 20px; border-left: 3px solid var(--cyan-deep); background: var(--white); font-size: .76rem; }
.trust-document-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.trust-document-card { display: flex; min-height: 245px; flex-direction: column; padding: 25px; border: 1px solid var(--slate-200); background: var(--white); color: var(--ink); text-decoration: none; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.trust-document-card:hover { transform: translateY(-3px); border-color: var(--cyan); box-shadow: 0 18px 42px rgba(15,23,42,.09); }
.trust-document-card span { color: var(--cyan-deep); font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.trust-document-card h3 { margin: 38px 0 9px; font-size: 1.28rem; line-height: 1.15; }
.trust-document-card p { margin: 0 0 24px; font-size: .78rem; }
.trust-document-card strong { display: inline-flex; gap: 8px; align-items: center; margin-top: auto; font-size: .75rem; }
.trust-document-card--featured { grid-column: span 2; background: var(--ink); color: var(--white); }
.trust-document-card--featured span { color: var(--cyan); }
.trust-document-card--featured p { color: #b9c8d2; }
.trust-document-card--caution { background: #fff8ec; border-color: #e5c590; }
.trust-document-card--caution span { color: #945100; }
.trust-document-footer { display: grid; grid-template-columns: 1.25fr .75fr; gap: 70px; margin-top: 50px; padding-top: 34px; border-top: 1px solid var(--slate-200); }
.trust-document-footer > div h3 { max-width: 690px; font-size: 1.7rem; }
.trust-document-footer aside { display: grid; gap: 9px; padding: 24px; border: 1px solid var(--slate-200); background: var(--white); }
.trust-document-footer aside p { margin: 0 0 12px; font-size: .75rem; }
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; }
.contact-grid ul { margin-top: 35px; padding: 0; list-style: none; }
.contact-grid li { padding: 14px 0; border-top: 1px solid var(--slate-200); }
.contact-grid form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 35px; border: 1px solid var(--slate-200); background: var(--slate-50); }
.contact-grid label { display: flex; flex-direction: column; gap: 7px; color: var(--slate-700); font-size: .72rem; font-weight: 800; }
.contact-grid .form-wide, .contact-grid form button { grid-column: 1/-1; }
.contact-grid input, .contact-grid textarea, .contact-grid select { width: 100%; padding: 12px; border: 1px solid var(--slate-300); background: var(--white); color: var(--ink); }
.contact-grid textarea { resize: vertical; }
.contact-grid input:focus, .contact-grid textarea:focus, .contact-grid select:focus { border-color: var(--cyan-deep); outline: 3px solid rgba(0,194,199,.16); }
.contact-grid button:disabled { cursor: wait; opacity: .62; }
.form-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-note { grid-column: 1/-1; margin: 0; font-size: .7rem; }
.contact-form__status { grid-column: 1/-1; min-height: 1.4em; margin: 0; color: var(--slate-700); font-size: .78rem; font-weight: 700; }
.contact-grid label > span { color: var(--slate-500); font-weight: 500; }
.walkthrough-days { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 26px; border: 1px solid var(--slate-200); border-radius: 14px; background: var(--slate-200); gap: 1px; overflow: hidden; }
.walkthrough-days article { padding: 28px 30px; background: var(--white); }
.walkthrough-days span { display: block; margin-bottom: 14px; color: var(--cyan-deep); font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.walkthrough-days h3 { margin: 0 0 10px; font-size: 1.15rem; line-height: 1.25; }
.walkthrough-days p { margin: 0; color: var(--slate-700); font-size: .95rem; line-height: 1.6; }
.walkthrough-days__note { margin: 22px 0 0; color: var(--slate-500); font-family: var(--serif); font-size: 1.05rem; font-style: italic; }
@media (max-width: 900px) { .walkthrough-days { grid-template-columns: 1fr; } }
.walkthrough-steps { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--slate-200); background: var(--slate-200); gap: 1px; }
.walkthrough-steps article { display: flex; min-height: 245px; flex-direction: column; padding: 30px; background: var(--white); }
.walkthrough-steps span { color: var(--cyan-deep); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.walkthrough-steps h3 { margin: auto 0 12px; font-size: 1.55rem; }
.walkthrough-steps p { margin: 0; font-size: .83rem; }
.evaluation-plan { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: start; }
.evaluation-plan ol { display: grid; gap: 1px; margin: 0; padding: 1px; background: var(--slate-200); list-style-position: inside; }
.evaluation-plan li { padding: 18px 22px; background: var(--white); color: var(--ink); font-weight: 700; }
.implementation-scope, .topic-next { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.topic-next .button { justify-self: end; }
.topic-article { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 32px 90px; }
.topic-opening { grid-row: span 2; }
.topic-article > section { padding-bottom: 24px; border-bottom: 1px solid var(--slate-200); }
.topic-article > section h2 { font-size: clamp(1.7rem, 3vw, 2.7rem); }
.topic-article > section p { max-width: 760px; font-size: 1.02rem; }
.topic-article aside { grid-column: 2; padding: 28px; border: 1px solid var(--slate-200); background: var(--slate-50); }
.topic-article aside ul { margin: 18px 0 0; padding-left: 20px; }
.topic-article aside li + li { margin-top: 10px; }
/* Past three sections, auto-placement zig-zags across both columns and the
   reading order breaks. Pin the question and run the argument down one column. */
.topic-article--long > section, .topic-article--long > aside { grid-column: 2; }
.topic-article--long .topic-opening { grid-row: 1 / -1; align-self: start; position: sticky; top: 104px; }
.topic-article--long .topic-opening h2 { font-size: clamp(1.9rem, 2.6vw, 2.6rem); }
.topic-proof { grid-column: 2; overflow: hidden; margin: 0; border: 1px solid var(--slate-200); border-radius: 16px; background: var(--white); box-shadow: 0 18px 55px rgba(15,23,42,.08); }
.topic-proof figcaption { padding: 18px 22px; border-bottom: 1px solid var(--slate-200); color: var(--cyan-deep); font-size: .7rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.topic-proof__split, .topic-proof__flow, .topic-proof__loss, .topic-timeline { display: grid; margin: 0; padding: 0; list-style: none; }
.topic-proof__split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.topic-proof__flow, .topic-proof__loss, .topic-timeline { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.topic-timeline { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.topic-proof article, .topic-timeline li { position: relative; display: flex; min-height: 190px; flex-direction: column; padding: 24px; border-right: 1px solid var(--slate-200); background: linear-gradient(155deg, var(--white), var(--slate-50)); }
.topic-proof article:last-child, .topic-timeline li:last-child { border-right: 0; }
.topic-proof__flow article:not(:last-child)::after, .topic-proof__loss article:not(:last-child)::after, .topic-timeline li:not(:last-child)::after { content: '→'; position: absolute; z-index: 1; top: 50%; right: -13px; display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid var(--slate-200); border-radius: 50%; background: var(--white); color: var(--cyan-deep); font-weight: 900; transform: translateY(-50%); }
.topic-proof span, .topic-timeline span { display: block; margin-bottom: auto; color: var(--cyan-deep); font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.topic-proof strong, .topic-timeline strong { display: block; margin-top: 32px; font-size: 1.03rem; line-height: 1.25; }
.topic-proof p { margin: 10px 0 0; color: var(--ink); font-family: var(--serif); font-size: 1.18rem; }
.topic-proof small, .topic-timeline small { display: block; margin-top: 10px; color: var(--slate-600); font-size: .68rem; line-height: 1.4; }
.topic-proof--evidence .topic-proof__split article:last-child, .topic-proof--authority .topic-proof__flow article:nth-child(3), .topic-proof--loss .topic-proof__loss article:last-child { background: var(--ink); color: var(--white); }
.topic-proof--evidence .topic-proof__split article:last-child span, .topic-proof--evidence .topic-proof__split article:last-child small, .topic-proof--authority .topic-proof__flow article:nth-child(3) span, .topic-proof--loss .topic-proof__loss article:last-child span { color: var(--cyan); }
.topic-proof--evidence .topic-proof__split article:last-child p { color: var(--white); }
.not-found { display: grid; min-height: 100svh; align-content: center; width: min(820px,calc(100% - 48px)); margin-inline: auto; }
.not-found img { width: 150px; margin-bottom: 80px; }
.not-found h1 { max-width: 780px; font-size: clamp(3.4rem,8vw,7rem); }
.not-found > p:not(.eyebrow) { font-size: 1.1rem; }

footer { padding: 72px 0 22px; background: var(--navy-2); color: var(--white); }
.footer-grid { display: grid; grid-template-columns: 1fr 220px 220px; gap: 70px; }
.footer-grid img { width: 135px; }
.footer-grid p { color: #aebecb; }
.footer-grid small { max-width: 360px; color: #8fa4b3; font-size: .76rem; line-height: 1.55; }
.footer-grid > div { display: flex; flex-direction: column; gap: 10px; }
.footer-grid a { color: #b9c8d2; font-size: .82rem; text-decoration: none; }
.footer-grid a:hover { color: var(--white); }
.footer-base { display: flex; justify-content: space-between; gap: 20px; margin-top: 60px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.16); color: #91a4b2; font-size: .7rem; }

[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
[data-reveal].is-visible { opacity: 1; transform: none; }

.evidence-list.is-updating > div { animation: content-swap .36s ease both; }
.evidence-list.is-updating > div:nth-child(2) { animation-delay: .04s; }
.evidence-list.is-updating > div:nth-child(3) { animation-delay: .08s; }
.scenario.is-updating .scenario__number { animation: content-swap .4s ease both; }

@keyframes hero-settle {
  from { opacity: 0; transform: translateY(20px) scale(.985); }
  to { opacity: 1; transform: none; }
}
@keyframes evidence-flow {
  0%, 12% { left: 0; opacity: 0; }
  22%, 75% { opacity: 1; }
  88%, 100% { left: calc(100% - 10px); opacity: 0; }
}
@keyframes timeline-scan {
  0%, 15% { transform: translateX(-100%); }
  70%, 100% { transform: translateX(100%); }
}
@keyframes content-swap {
  from { opacity: .28; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}
  to { left: calc(100% - 7px); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  [data-reveal] { opacity: 1; transform: none; }
}

@media (max-width: 1120px) {
  .site-header { grid-template-columns: 120px 1fr auto auto auto; gap: 16px; padding-inline: 22px; }
  .main-nav { gap: 22px; }
  .main-nav > a, .nav-trigger { font-size: .875rem; }
  .hero { grid-template-columns: 1fr; min-height: 0; padding-top: 100px; }
  .hero__copy { max-width: 900px; }
  .hero__visual { width: min(760px,100%); }
  .revenue-loop { grid-template-columns: 280px 65px 1fr; padding: 25px; }
  .forecast-feature { gap: 50px; }
}

@media (max-width: 900px) {
  .wrap, .shell-grid { width: min(100% - 36px, var(--wrap)); }
  .site-header { grid-template-columns: 1fr auto auto; min-height: 68px; }
  .main-nav { position: absolute; inset: 68px 0 auto; z-index: 1; display: none; max-height: calc(100svh - 68px); overflow-y: auto; overscroll-behavior: contain; padding: 12px 22px 24px; border-bottom: 1px solid var(--slate-200); background: var(--white); box-shadow: 0 18px 40px rgba(15,23,42,.12); }
  .main-nav[data-open] { display: grid; }
  .main-nav > a, .nav-trigger { width: 100%; min-height: 46px; justify-items: start; justify-content: start; }
  .nav-group { display: block; }
  .nav-panel { position: static; grid-template-columns: 1fr; width: 100%; padding: 0 0 8px 14px; border: 0; border-left: 2px solid var(--cyan); box-shadow: none; transform: none; }
  .nav-panel__group + .nav-panel__group { margin: 12px 0 0; padding: 10px 0; background: var(--cyan-pale); }
  .nav-panel__overview { margin-top: 12px; padding-top: 10px; }
  .nav-panel a { min-height: 0; padding: 10px 14px; }
  .menu-button { display: inline-flex; min-height: 44px; align-items: center; grid-column: 2; grid-row: 1; padding: 8px 10px; border: 1px solid var(--slate-200); background: var(--white); font-size: .72rem; font-weight: 800; }
  .locale { grid-column: 3; grid-row: 1; }
  .header-cta { display: none; }
  .hero { padding-top: 80px; }
  .proof-bar__inner { flex-wrap: wrap; justify-content: center; padding-block: 16px; }
  .proof-bar__inner strong { width: 100%; text-align: center; }
  .problem-frame__grid { grid-template-columns: 1fr; gap: 38px; }
  .problem-frame__copy { padding-left: 0; padding-top: 26px; border-left: 0; border-top: 1px solid rgba(255,255,255,.24); }
  .outcome-callout { grid-template-columns: 1fr 1fr; }
  .outcome-callout span { grid-column: 1 / -1; }
  .section-head--split, .forecast-feature, .forecast-review, .forecast-review--offer .forecast-review__intro, .forecast-review__columns, .why, .contact-grid, .buyer-privacy, .trust-docs, .trust-document-footer, .integrity-story, .partner-story { grid-template-columns: 1fr; gap: 36px; }
  .walkthrough-steps { grid-template-columns: repeat(2, 1fr); }
  .evaluation-plan, .implementation-scope, .topic-next, .topic-article { grid-template-columns: 1fr; gap: 36px; }
  .topic-opening { grid-row: auto; }
  .topic-article aside { grid-column: 1; }
  .topic-article--long > section, .topic-article--long > aside { grid-column: 1; }
  .topic-article--long .topic-opening { grid-row: auto; position: static; }
  .topic-proof { grid-column: 1; }
  .topic-proof__flow, .topic-proof__loss { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topic-proof__flow article:nth-child(2), .topic-proof__loss article:nth-child(2) { border-right: 0; }
  .topic-proof__flow article:nth-child(-n+2), .topic-proof__loss article:nth-child(-n+2) { border-bottom: 1px solid var(--slate-200); }
  .topic-proof__flow article:nth-child(2)::after, .topic-proof__loss article:nth-child(2)::after { display: none; }
  .topic-next .button { justify-self: start; }
  .forecast-gap__opening { grid-template-columns: 1fr; gap: 34px; }
  .forecast-limit-grid__structural { grid-template-columns: 1fr 1fr; }
  .forecast-limit-grid__structural > span { grid-column: 1 / -1; }
  .source-state-grid { grid-template-columns: repeat(3,1fr); }
  .source-state-grid article { border-bottom: 1px solid var(--slate-200); }
  .forecast-review--offer .forecast-review__intro .eyebrow, .forecast-review--offer .forecast-review__intro h2, .forecast-review--offer .forecast-review__intro p { grid-column: 1; }
  .forecast-review__honest { grid-template-columns: 1fr 1fr; }
  .forecast-review__honest > span { grid-column: 1 / -1; }
  .forecast-review__action { grid-template-columns: 1fr; gap: 28px; }
  .integrity-story > div:last-child, .partner-story > div:last-child { padding-top: 0; }
  .deal-cause-grid, .cause-owner-grid { grid-template-columns: repeat(2,1fr); }
  .deal-cause-grid article:last-child, .cause-owner-grid article:last-child { grid-column: 1 / -1; }
  .cause-routing__deals, .cause-routing__owners { grid-template-columns: repeat(2,1fr); }
  .cause-routing__deals article, .cause-routing__owners article { border-bottom: 1px solid var(--slate-200); }
  .cause-routing__deals article:last-child, .cause-routing__owners article:last-child { grid-column: 1 / -1; }
  .platform-spine__track { grid-template-columns: 1fr 1fr; }
  .platform-spine__track article { border-bottom: 1px solid var(--slate-200); }
  .platform-spine__track article:nth-child(2)::after { display: none; }
  .tm-evidence { grid-template-columns: 1fr; }
  .tm-evidence > i { width: 2px; height: 45px; justify-self: center; }
  .sales-dna-grid { grid-template-columns: 1fr; }
  .revenue-loop { grid-template-columns: 1fr; gap: 20px; }
  .buyer-proof { grid-template-columns: 1fr; gap: 16px; }
  .loop-source { min-height: 210px; }
  .loop-track { display: none; }
  .solution-grid { grid-template-columns: minmax(0, 1fr); }
  .solution-grid a { grid-template-columns: 38px minmax(0, 1fr) auto; }
  .solution-grid a { min-height: 165px; border-left: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
  .solution-grid--light a { border-color: var(--slate-200); }
  .solution-chooser > article { grid-template-columns: .8fr 1.2fr; }
  .problem-ledger > a { grid-template-columns: 88px 1fr 32px; gap: 22px; }
  .problem-ledger p { grid-column: 2 / -1; }
  .problem-more { grid-template-columns: 1fr; }
  .problem-close { align-items: flex-start; flex-direction: column; }
  .solution-system-map__source { grid-template-columns: 1fr; }
  .solution-system-map__source .ui-kicker { grid-column: 1; }
  .solution-chooser dl { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .solution-chooser > article > .text-link { grid-column: 1 / -1; justify-self: start; }
  .forecast-outcome { grid-template-columns: 1fr; gap: 28px; }
  .tm-dates { grid-template-columns: 1fr; gap: 12px; }
  .tm-gap { min-height: 130px; }
  .tm-card { min-height: 220px; }
  .loop-ring { margin-inline: auto; }
  .role-support { grid-template-columns: 1fr; }
  .method-visual { grid-template-columns: 1fr; }
  .evidence-trace__head { grid-template-columns: 1fr; gap: 16px; }
  .platform-process { grid-template-columns: 1fr 1fr; }
  .platform-process article { border-bottom: 1px solid var(--slate-200); }
  .intelligence-visual, .resource-grid { grid-template-columns: 1fr; }
  .loss-learning { grid-template-columns: 1fr; gap: 12px; }
  .loss-learning > i { transform: rotate(90deg); }
  .bounded-feature, .admin-responsibilities { grid-template-columns: 1fr; gap: 25px; }
  .method-workspace__body, .intelligence-workspace__body, .partner-workspace__body, .implementation-board__body { grid-template-columns: 1fr; }
  .method-questions, .pattern-table, .readiness-meter { border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .learning-chain { grid-template-columns: auto 1fr 24px auto 1fr; }
  .learning-chain > :nth-child(n+6) { display: none; }
  .integration-grid, .implementation-phases { grid-template-columns: 1fr 1fr; }
  .connector-grid { grid-template-columns: 1fr 1fr; }
  .connector-grid article:nth-child(n) { grid-column: auto; }
  .connector-grid article:last-child { grid-column: 1 / -1; }
  .forecast-questions { grid-template-columns: 1fr; }
  .forecast-questions > * { min-width: 0; }
  .forecast-questions__lead { min-height: 300px; }
  .integration-grid article, .implementation-phases article { border-bottom: 1px solid var(--slate-200); }
  .intelligence-visual article { border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .trust-boundary { grid-template-columns: 1fr; gap: 16px; }
  .trust-boundary > i { transform: rotate(90deg); }
  .ai-authority-map__flow { grid-template-columns: 1fr; gap: 12px; }
  .ai-authority-map__flow > i { min-height: 50px; transform: rotate(90deg); }
  .ai-authority-map__gate b { display: none; }
  .ai-boundary-grid { grid-template-columns: 1fr; }
  .ai-principles { grid-template-columns: repeat(3,1fr); }
  .ai-principles article { border-bottom: 1px solid rgba(255,255,255,.18); }
  .ai-payoff { grid-template-columns: 1fr; }
  .ai-payoff article { min-height: 190px; }
  .trust-overview { grid-template-columns: 1fr; }
  .trust-overview article { border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .ai-trust-handoff { align-items: start; flex-direction: column; }
  .partner-journey { padding: 30px; }
  .partner-journey span { width: 110px; height: 110px; }
  .partner-growth { grid-template-columns: 1fr 1fr; }
  .partner-growth article { border-bottom: 1px solid rgba(255,255,255,.18); }
  .partner-threat { grid-template-columns: 1fr; gap: 28px; }
  .partner-commercial { grid-template-columns: 1fr 1fr; }
  .partner-close { align-items: start; flex-direction: column; }
  .detail-grid--three, .detail-grid--four, .topic-grid, .refusal-grid, .trust-absence-grid, .trust-control-grid, .trust-document-grid { grid-template-columns: 1fr 1fr; }
  .provider-row, .residency-callout { grid-template-columns: .7fr 1fr 1fr; }
  .system-stack { grid-template-columns: 1fr; gap: 14px; }
  .system-stack > i { transform: rotate(90deg); }
  .metric-ribbon, .role-rail, .stewardship-rail { grid-template-columns: 1fr 1fr; }
  .role-rail span + span { border-left: 0; border-top: 1px solid var(--slate-200); }
  .stewardship-rail article { border-bottom: 1px solid var(--slate-200); }
  .readiness-list { grid-template-columns: 1fr; }
  .readiness-list article { min-height: 140px; border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1/-1; }
}

@media (max-width: 640px) {
  h1 { font-size: clamp(3.1rem,16vw,5rem); }
  h2 { font-size: clamp(2.3rem,12vw,3.7rem); }
  /* .hero/.inner-hero/.not-found h1 outrank the bare h1 above, so they need the ramp explicitly */
  .hero h1, .inner-hero h1, .not-found h1 { font-size: clamp(2.7rem,11vw,3.6rem); }
  .hero__body { font-size: 1.02rem; }
  .hero .actions { gap: 10px; }
  .site-header { padding-inline: 18px; }
  .brand img { width: 105px; }
  .hero { padding: 62px 0 70px; }
  .hero__visual::before { inset: -24px -12px -24px 30px; }
  .forecast-payoff { grid-template-columns: minmax(0,1fr); gap: 26px; padding: 28px; }
  .forecast-payoff .button { justify-self: start; }
  .forecast-payoff__actions { justify-content: flex-start; }
  .deal-room__meta { overflow-x: auto; }
  .decision-workflow, .walkthrough-steps { grid-template-columns: 1fr; }
  .role-value__head { display: none; }
  .role-value article { grid-template-columns: 1fr; }
  .role-also__grid, .role-also__grid.role-also__grid--three { grid-template-columns: minmax(0, 1fr); }
  .support-loop { grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 24px 20px; }
  .support-steps { grid-template-columns: minmax(0, 1fr); }
  .deal-room--compare .decision-workflow article::after { display: none; }
  .decision-workflow article { min-height: 112px; }
  .crm-opportunity dl { grid-template-columns: 1fr 1fr; }
  .walkthrough-steps article { min-height: 180px; }
  .decision-tabs { grid-template-columns: 1fr; }
  .decision-tab { border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .evidence-list p strong { white-space: normal; }
  .deal-room__foot { align-items: start; flex-direction: column; }
  .proof-bar__inner i { display: none; }
  .proof-bar__inner span { flex: 1 0 40%; text-align: center; }
  .solution-problems { padding-top: 22px; }
  .solution-problems__head { margin-bottom: 36px; }
  .problem-ledger > a { grid-template-columns: 1fr 32px; min-height: 0; padding: 28px 0; }
  .problem-ledger__index { grid-column: 1; min-height: 0; flex-direction: row; justify-content: flex-start; gap: 14px; }
  .problem-ledger h3 { grid-column: 1; }
  .problem-ledger p { grid-column: 1 / -1; }
  .problem-ledger b { grid-column: 2; grid-row: 1; }
  .problem-more { margin-top: 38px; padding: 28px 22px; }
  .problem-more ul { grid-template-columns: 1fr; }
  .problem-more li { min-height: 0; }
  .solution-record { padding-top: 76px; }
  .cause-more { text-align: left; }
  .solution-chooser > article { grid-template-columns: 1fr; gap: 22px; padding: 26px; }
  .solution-system-map { padding: 18px; }
  .solution-system-map__source { padding: 24px; }
  .solution-system-map__solutions { grid-template-columns: 1fr; }
  .solution-system-map__solutions article { min-height: 126px; padding: 22px 24px; }
  .solution-chooser__question { min-height: 110px; }
  .solution-chooser dl { grid-column: 1; grid-template-columns: 1fr; }
  .solution-chooser > article > .text-link { grid-column: 1; }
  .forecast-outcome { padding: 28px; }
  .forecast-outcome h2 { font-size: 2.1rem; }
  .section { padding-block: 48px; }
  .loop-outcomes { grid-template-columns: 1fr; }
  .scenario__number strong { font-size: 2.8rem; }
  .tm-head { align-items: start; flex-direction: column; }
  .tm-card > strong { font-size: 3.7rem; }
  .loop-steps { grid-template-columns: 1fr; }
  .why-list article { grid-template-columns: 30px 1fr; }
  .why-list p { grid-column: 2; }
  .inner-hero { padding-top: 90px; }
  .evidence-trace__head { padding: 28px; }
  .evidence-trace__row { grid-template-columns: 1fr; padding: 16px 0; }
  .evidence-trace__row--head { display: none; }
  .evidence-trace__row > * { padding: 5px 20px; border-right: 0; }
  .trace-status { margin: 8px 20px 0; }
  .platform-process, .platform-capabilities { grid-template-columns: 1fr; }
  .platform-process article { min-height: 220px; border-right: 0; }
  .platform-capabilities a { min-height: 235px; }
  .principle-grid { grid-template-columns: 1fr; }
  .integration-grid, .implementation-phases { grid-template-columns: 1fr; }
  .connector-grid, .forecast-questions__list, .objection-list, .objection-list__wide { grid-template-columns: 1fr; }
  .connector-grid article:last-child, .objection-list article:last-child, .objection-list__wide { grid-column: auto; }
  .forecast-questions__lead { min-height: 260px; padding: 30px; }
  .forecast-questions__list article { min-height: 170px; border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .forecast-questions__list article:nth-last-child(-n+2) { border-bottom: 1px solid var(--slate-200); }
  .forecast-questions__list article:last-child { border-bottom: 0; }
  .objection-list article, .objection-list article:last-child { min-height: 280px; padding: 28px; }
  .objection-list__wide > span { grid-row: auto; }
  .objection-list__wide h3, .objection-list__wide p, .objection-list__wide a { grid-column: 1; }
  .forecast-review__readout, .forecast-review__honest { grid-template-columns: 1fr; }
  .forecast-positions { margin-top: 46px; }
  .forecast-positions__head, .forecast-waterfall__head { align-items: flex-start; flex-direction: column; padding: 22px; }
  .forecast-object { padding-top: 78px; }
  .forecast-position-table th, .forecast-position-table td, .forecast-object-table th, .forecast-object-table td, .forecast-waterfall-table th, .forecast-waterfall-table td { padding: 15px 16px; }
  .forecast-limit-grid, .forecast-limit-grid__structural { grid-template-columns: 1fr; }
  .forecast-limit-grid__structural > span { grid-column: 1; }
  .forecast-limit-grid article { min-height: 235px; padding: 28px; }
  .forecast-limit-grid h3 { margin-top: 42px; }
  .forecast-six__grid { grid-template-columns: 1fr 1fr; }
  .forecast-six__grid li { min-height: 160px; padding: 22px; }
  .source-state-grid { grid-template-columns: 1fr; }
  .source-state-grid article { min-height: 140px; border-right: 0; }
  .source-state-grid span { margin-bottom: 30px; }
  .forecast-review__readout > .ui-kicker, .forecast-review__honest > span { grid-column: 1; }
  .forecast-review__readout article { min-height: 150px; border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .forecast-review__readout article:nth-last-child(-n+2) { border-bottom: 1px solid var(--slate-200); }
  .forecast-review__readout article:last-child { border-bottom: 0; }
  .forecast-review__honest { gap: 22px; padding: 28px; }
  .partner-journey { align-items: stretch; flex-direction: column; }
  .partner-journey span { width: 100%; height: 90px; }
  .partner-journey i { width: 1px; min-height: 30px; align-self: center; }
  .partner-growth { grid-template-columns: 1fr; }
  .partner-growth article { min-height: 200px; border-right: 0; }
  .partner-commercial, .outcome-callout, .deal-cause-grid, .cause-owner-grid { grid-template-columns: 1fr; }
  .deal-cause-grid article:last-child, .cause-owner-grid article:last-child { grid-column: auto; }
  .cause-routing__deals, .cause-routing__owners { grid-template-columns: 1fr; }
  .cause-routing__deals article:last-child, .cause-routing__owners article:last-child { grid-column: auto; }
  .cause-routing__deals article, .cause-routing__owners article { min-height: 130px; border-right: 0; }
  .cause-routing__deals strong, .cause-routing__owners strong { margin-top: 24px; }
  .cause-routing__junction { grid-template-columns: 1fr; gap: 8px; padding: 22px; }
  .platform-spine__sources, .platform-spine__outputs { align-items: start; flex-direction: column; }
  .platform-spine__track { grid-template-columns: 1fr; padding: 0 20px; }
  .platform-spine__track article { min-height: 190px; border-right: 0; }
  .platform-spine__track article::after { top: auto; right: 50%; bottom: -7px; transform: rotate(135deg); }
  .platform-spine__track article:nth-child(2)::after { display: block; }
  .outcome-callout span { grid-column: 1; }
  .partner-commercial article { min-height: 220px; }
  .workspace-bar { align-items: start; flex-direction: column; }
  .method-lenses { flex-wrap: wrap; }
  .method-lenses small { width: 100%; margin-left: 0; }
  .method-evidence, .method-next { grid-template-columns: 1fr; gap: 8px; }
  .method-focus { padding: 26px; }
  .method-focus__question { font-size: 2.35rem; }
  .intelligence-summary { grid-template-columns: 1fr; }
  .intelligence-summary article { min-height: 100px; border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .pattern-row { grid-template-columns: 1fr; gap: 7px; padding-block: 13px; }
  .pattern-row--head { display: none; }
  .partner-workspace__body > aside { min-height: 280px; }
  .partner-workstream { padding: 20px; }
  .partner-workstream::before { left: 43px; }
  .partner-workstream article { grid-template-columns: 38px 1fr; }
  .partner-workstream article > b { grid-column: 2; }
  .workspace-foot { flex-wrap: wrap; }
  .workspace-foot > strong { width: 100%; margin-left: 0; }
  .readiness-meter { min-height: 300px; }
  .readiness-checks { grid-template-columns: 1fr; }
  .readiness-checks article { min-height: 105px; border-right: 0; }
  .detail-grid--three, .detail-grid--four, .topic-grid, .refusal-grid, .comparison-panel, .metric-ribbon, .role-rail, .stewardship-rail, .trust-absence-grid, .trust-control-grid, .trust-ops-grid, .trust-document-grid { grid-template-columns: 1fr; }
  .trust-document-card--featured { grid-column: auto; }
  .residency-callout { grid-template-columns: 1fr; }
  .provider-row { grid-template-columns: 1fr; }
  .provider-row--head { display: none; }
  .provider-row > * { border-right: 0; }
  .provider-row > * + * { padding-top: 0; }
  .ai-authority-map__head { align-items: start; flex-direction: column; padding: 25px; }
  .ai-authority-map__flow { padding: 18px; }
  .ai-authority-map__flow article { min-height: 220px; }
  .ai-authority-map__write { align-items: start; flex-direction: column; margin: 0 18px; }
  .ai-principles { grid-template-columns: 1fr; }
  .ai-principles article { min-height: 125px; border-right: 0; }
  .trust-absence-grid article, .trust-control-grid article, .trust-ops-grid article { min-height: 210px; }
  .detail-grid article, .topic-grid a { min-height: 190px; }
  .topic-grid--library, .topic-proof__split, .topic-proof__flow, .topic-proof__loss, .topic-timeline { grid-template-columns: 1fr; }
  .topic-proof article, .topic-timeline li { min-height: 155px; border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .topic-proof article:last-child, .topic-timeline li:last-child { border-bottom: 0; }
  .topic-proof__flow article:not(:last-child)::after, .topic-proof__loss article:not(:last-child)::after, .topic-timeline li:not(:last-child)::after { top: auto; right: 50%; bottom: -13px; transform: translateX(50%) rotate(90deg); }
  .topic-proof__flow article:nth-child(2)::after, .topic-proof__loss article:nth-child(2)::after { display: grid; }
  .comparison-panel article { min-height: 220px; }
  .metric-ribbon article, .stewardship-rail article { min-height: 125px; border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .contact-grid form { grid-template-columns: 1fr; padding: 22px; }
  .contact-grid label, .contact-grid form button { grid-column: 1 !important; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:first-child { grid-column: 1; }
  .footer-base { flex-direction: column; }
}

@media (max-width: 480px) {
  .hero-keep { white-space: normal; }
}

@media (prefers-reduced-motion: reduce) { .loop-comet { animation: none; } }

/* Below 560px the number moves to its own row so the heading keeps the full card
   width. Without this the 1.75rem heading sets a min-content floor the container
   cannot honour, and the card breaks out of its own wrapper. */
@media (max-width: 560px) {
  .solution-grid a { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 14px; padding: 26px 20px; }
  .solution-grid a > span { grid-column: 1 / -1; }
  .solution-grid h3, .solution-grid p { overflow-wrap: break-word; }
}

/* Four across needs about 1240px before the headings are squeezed: at 940px each
   card is 215px and Process Intelligence has 66px to sit in. Between the stacked
   layout and the full row the four go two by two. */
@media (max-width: 1239px) and (min-width: 901px) {
  .solution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .solution-grid a { border-left: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
  .solution-grid--light a { border-color: var(--slate-200); }
}
