:root {
  --ink: #171614;
  --ink-soft: #2a2824;
  --warm-white: #f7f4ee;
  --paper: #fffdf9;
  --gold: #b18a48;
  --gold-deep: #8c6932;
  --stone: #d8d1c5;
  --stone-dark: #a9a094;
  --green: #2f5b51;
  --red: #8a4b43;
  --blue: #496474;
  --muted: #68625a;
  --max: 1240px;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Arial, Helvetica, sans-serif;
  --shadow: 0 28px 70px rgba(23, 22, 20, .10);
  --ease: cubic-bezier(.2,.75,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--warm-white);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover { color: var(--gold-deep); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid rgba(177,138,72,.55); outline-offset: 4px; }
::selection { background: rgba(177,138,72,.24); }

.container { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.narrow { width: min(calc(100% - 48px), 820px); margin-inline: auto; }
.grid { display: grid; gap: 32px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stack { display: grid; gap: 24px; }
.section { padding: 124px 0; position: relative; }
.section-sm { padding: 82px 0; }
.section-dark { background: var(--ink); color: var(--warm-white); }
.section-paper { background: var(--paper); }
.section-stone { background: #ece7de; }
.section-border { border-block: 1px solid var(--stone); }
.eyebrow {
  margin: 0 0 18px;
  color: var(--gold-deep);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1.4;
  text-transform: uppercase;
}
.section-dark .eyebrow { color: #d1ad6d; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 500; letter-spacing: -.035em; line-height: 1.03; }
h1 { font-size: clamp(3.3rem, 7vw, 6.5rem); margin-bottom: 28px; }
h2 { font-size: clamp(2.5rem, 4.8vw, 4.7rem); margin-bottom: 28px; }
h3 { font-size: clamp(1.55rem, 2.2vw, 2.2rem); margin-bottom: 14px; }
h4 { font-size: 1rem; line-height: 1.35; margin-bottom: 10px; }
.lead { font-size: clamp(1.15rem, 1.8vw, 1.38rem); line-height: 1.55; color: var(--muted); max-width: 760px; }
.section-dark .lead { color: #d7d1c7; }
.prose { max-width: 740px; }
.prose p { margin-bottom: 1.25em; }
.meta { color: var(--muted); font-size: .86rem; }
.rule { height: 1px; background: var(--stone); width: 100%; }
.gold-rule { height: 2px; background: var(--gold); width: 72px; margin: 24px 0; }

.skip-link { position: fixed; top: 10px; left: 10px; transform: translateY(-160%); z-index: 9999; background: var(--paper); padding: 10px 14px; border: 1px solid var(--ink); }
.skip-link:focus { transform: none; }
.site-header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(247,244,238,.94);
  border-bottom: 1px solid rgba(216,209,197,.75);
  backdrop-filter: blur(12px);
}
.header-inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; min-width: 230px; }
.brand-mark { width: 48px; height: 48px; border: 1px solid var(--gold); display: grid; place-items: center; font-family: var(--serif); font-size: 1.12rem; letter-spacing: -.08em; }
.brand-copy { display: grid; line-height: 1.1; }
.brand-copy strong { font-size: .86rem; letter-spacing: .09em; text-transform: uppercase; }
.brand-copy span { color: var(--muted); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; margin-top: 6px; }
.site-nav { display: flex; align-items: center; gap: 24px; }
.site-nav a { text-decoration: none; font-size: .82rem; font-weight: 700; letter-spacing: .03em; }
.site-nav a[aria-current='page'] { color: var(--gold-deep); }
.header-cta { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 18px; background: var(--ink); color: var(--warm-white) !important; border: 1px solid var(--ink); }
.header-cta:hover { background: var(--gold-deep); border-color: var(--gold-deep); }
.menu-toggle { display: none; border: 0; background: transparent; width: 48px; height: 48px; padding: 10px; }
.menu-toggle span { display: block; width: 100%; height: 1px; background: var(--ink); margin: 6px 0; transition: .25s ease; }

.btn-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.btn { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 22px; border: 1px solid var(--ink); text-decoration: none; font-size: .82rem; font-weight: 700; letter-spacing: .035em; transition: .25s var(--ease); }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--ink); color: var(--warm-white); }
.btn-primary:hover { background: var(--gold-deep); border-color: var(--gold-deep); color: white; }
.btn-outline { background: transparent; }
.btn-light { border-color: rgba(247,244,238,.72); color: var(--warm-white); }
.btn-light:hover { background: var(--warm-white); color: var(--ink); }
.btn-gold { background: var(--gold); border-color: var(--gold); color: var(--ink); }
.text-link { display: inline-flex; gap: 10px; align-items: center; font-size: .85rem; font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 3px; }
.text-link::after { content: '↗'; }

.hero { padding: 92px 0 52px; min-height: calc(100vh - 86px); display: grid; align-items: center; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 72px; }
.hero-copy { max-width: 700px; }
.hero-copy h1 span { display: block; color: var(--gold-deep); }
.hero-note { max-width: 560px; color: var(--muted); font-size: 1.12rem; }
.hero-kicker { display: inline-flex; gap: 12px; align-items: center; margin-bottom: 26px; font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.hero-kicker::before { content: ''; width: 42px; height: 1px; background: var(--gold); }
.instrument-wrap { position: relative; min-height: 620px; display: grid; place-items: center; }
.instrument-halo { position: absolute; inset: 6% 4%; border-radius: 50%; background: radial-gradient(circle, rgba(177,138,72,.13), rgba(177,138,72,0) 64%); }
.instrument {
  width: min(100%, 570px); aspect-ratio: 1; position: relative; border-radius: 50%;
  background:
    repeating-radial-gradient(circle, rgba(23,22,20,.10) 0 1px, transparent 1px 66px),
    repeating-conic-gradient(from -12deg, rgba(23,22,20,.08) 0deg .45deg, transparent .45deg 25.714deg),
    var(--paper);
  border: 1px solid var(--stone);
  box-shadow: var(--shadow);
}
.instrument::before { content: ''; position: absolute; inset: 8%; border: 1px solid rgba(177,138,72,.55); border-radius: 50%; }
.instrument::after { content: ''; position: absolute; inset: 24%; border: 1px dashed rgba(23,22,20,.25); border-radius: 50%; }
.instrument-center { position: absolute; inset: 34%; border-radius: 50%; background: var(--ink); color: var(--warm-white); display: grid; place-items: center; text-align: center; z-index: 3; box-shadow: 0 18px 40px rgba(23,22,20,.2); }
.instrument-center strong { display: block; font-family: var(--serif); font-size: clamp(1.2rem, 2vw, 1.8rem); font-weight: 500; line-height: 1.05; }
.instrument-center span { display: block; font-size: .62rem; letter-spacing: .15em; text-transform: uppercase; color: #c8b998; margin-top: 8px; }
.instrument-node { position: absolute; width: 86px; text-align: center; transform: translate(-50%,-50%); z-index: 2; }
.instrument-node i { width: 13px; height: 13px; display: block; margin: 0 auto 8px; background: var(--gold); border: 3px solid var(--paper); box-shadow: 0 0 0 1px var(--gold); border-radius: 50%; }
.instrument-node span { font-size: .63rem; line-height: 1.2; font-weight: 700; letter-spacing: .02em; }
.node-1 { left: 50%; top: 8%; }
.node-2 { left: 83%; top: 27%; }
.node-3 { left: 91%; top: 63%; }
.node-4 { left: 69%; top: 90%; }
.node-5 { left: 31%; top: 90%; }
.node-6 { left: 9%; top: 63%; }
.node-7 { left: 17%; top: 27%; }
.instrument-index { position: absolute; right: 4%; bottom: 4%; width: 128px; min-height: 96px; background: var(--paper); border: 1px solid var(--stone); padding: 14px; z-index: 5; }
.instrument-index small { display: block; color: var(--muted); font-size: .62rem; letter-spacing: .11em; text-transform: uppercase; }
.instrument-index strong { display: block; font-family: var(--serif); font-size: 2rem; line-height: 1; margin: 8px 0; }
.instrument-index span { font-size: .7rem; color: var(--green); font-weight: 700; }

.credibility { border-top: 1px solid var(--stone); border-bottom: 1px solid var(--stone); }
.credibility-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.credibility-item { padding: 30px 30px 28px 0; }
.credibility-item + .credibility-item { padding-left: 30px; border-left: 1px solid var(--stone); }
.credibility-item strong { display: block; font-family: var(--serif); font-size: 1.35rem; font-weight: 500; }
.credibility-item span { color: var(--muted); font-size: .77rem; }

.problem-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 86px; align-items: start; }
.problem-statement { font-family: var(--serif); font-size: clamp(2rem, 4vw, 4rem); letter-spacing: -.035em; line-height: 1.13; }
.problem-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--stone); }
.problem-list li { display: grid; grid-template-columns: 55px 1fr; gap: 14px; padding: 24px 0; border-bottom: 1px solid var(--stone); }
.problem-list b { color: var(--gold-deep); font-family: var(--serif); font-size: 1.1rem; font-weight: 500; }
.problem-list span { color: var(--muted); }

.compass-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: center; }
.lens-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 20px; }
.lens-tab { border: 1px solid var(--stone-dark); background: transparent; padding: 10px 13px; font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.lens-tab[aria-selected='true'] { background: var(--ink); color: var(--warm-white); border-color: var(--ink); }
.lens-panel { min-height: 100px; padding-left: 20px; border-left: 2px solid var(--gold); }
.lens-panel strong { display: block; font-family: var(--serif); font-size: 1.55rem; font-weight: 500; margin-bottom: 4px; }
.lens-panel p { color: var(--muted); margin: 0; }
.domain-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 34px; margin: 34px 0; padding: 0; list-style: none; border-top: 1px solid var(--stone); }
.domain-list li { padding: 16px 0; border-bottom: 1px solid var(--stone); font-size: .88rem; display: flex; gap: 12px; align-items: flex-start; }
.domain-list li::before { content: ''; width: 7px; height: 7px; background: var(--gold); border-radius: 50%; margin-top: 9px; flex: 0 0 auto; }

.assessment-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 72px; align-items: center; }
.report-stack { position: relative; min-height: 570px; }
.report-page { position: absolute; width: 78%; min-height: 490px; background: var(--paper); border: 1px solid var(--stone); box-shadow: 0 30px 70px rgba(23,22,20,.13); padding: 30px; }
.report-page.back { left: 20%; top: 10%; transform: rotate(4deg); background: #eee8dd; }
.report-page.front { left: 5%; top: 0; transform: rotate(-2deg); }
.report-head { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; padding-bottom: 20px; border-bottom: 1px solid var(--stone); }
.report-head .mini-brand { font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; }
.report-head .report-version { color: var(--muted); font-size: .58rem; }
.report-score { display: grid; grid-template-columns: 110px 1fr; gap: 20px; align-items: center; margin: 28px 0; }
.score-ring { width: 104px; aspect-ratio: 1; border-radius: 50%; background: conic-gradient(var(--gold) 0 72%, var(--stone) 72%); display: grid; place-items: center; }
.score-ring::before { content: '72'; width: 76%; aspect-ratio: 1; border-radius: 50%; background: var(--paper); display: grid; place-items: center; font-family: var(--serif); font-size: 2rem; }
.report-score strong { font-family: var(--serif); font-size: 1.35rem; font-weight: 500; }
.report-score p { color: var(--muted); font-size: .74rem; line-height: 1.4; margin: 8px 0 0; }
.mini-bars { display: grid; gap: 11px; }
.mini-bar { display: grid; grid-template-columns: 1fr 110px 28px; align-items: center; gap: 10px; font-size: .63rem; }
.mini-bar span:nth-child(2) { height: 5px; background: var(--stone); position: relative; }
.mini-bar span:nth-child(2)::before { content: ''; position: absolute; inset: 0 auto 0 0; width: var(--w, 70%); background: var(--gold); }
.mini-bar b { font-size: .64rem; }
.deliverables { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin-top: 34px; }
.deliverable { border-top: 1px solid var(--stone-dark); padding-top: 15px; }
.deliverable strong { display: block; font-family: var(--serif); font-weight: 500; font-size: 1.04rem; }
.deliverable span { display: block; color: var(--muted); font-size: .78rem; margin-top: 5px; }

.journey { counter-reset: journey; border-top: 1px solid rgba(247,244,238,.24); }
.journey-step { counter-increment: journey; display: grid; grid-template-columns: 90px 1fr 1.1fr; gap: 26px; padding: 30px 0; border-bottom: 1px solid rgba(247,244,238,.24); align-items: baseline; }
.journey-step::before { content: '0' counter(journey); color: #c7a461; font-family: var(--serif); font-size: 1.45rem; }
.journey-step h3 { margin: 0; }
.journey-step p { margin: 0; color: #cfc8bd; }

.work-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 28px; }
.work-card { background: var(--paper); border: 1px solid var(--stone); overflow: hidden; }
.work-card.large { grid-row: span 2; }
.work-card-copy { padding: 24px; border-top: 1px solid var(--stone); }
.work-card-copy h3 { font-size: 1.55rem; }
.work-card-copy p { color: var(--muted); font-size: .86rem; margin-bottom: 0; }
.dashboard { min-height: 400px; background: #f0ece4; padding: 24px; display: grid; gap: 18px; }
.dashboard-top { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.kpi { background: var(--paper); border: 1px solid var(--stone); padding: 15px; }
.kpi small { color: var(--muted); font-size: .58rem; text-transform: uppercase; letter-spacing: .1em; }
.kpi strong { display: block; font-family: var(--serif); font-size: 1.65rem; line-height: 1.2; margin-top: 8px; }
.chart { background: var(--paper); border: 1px solid var(--stone); min-height: 240px; position: relative; overflow: hidden; }
.chart::before { content: ''; position: absolute; inset: 20px; background: repeating-linear-gradient(to bottom, transparent 0 42px, rgba(23,22,20,.09) 42px 43px); }
.chart-line { position: absolute; left: 7%; right: 7%; bottom: 22%; height: 48%; border-bottom: 3px solid var(--green); transform: skewY(-7deg); border-radius: 50%; }
.chart-line.gold { border-color: var(--gold); bottom: 31%; height: 38%; transform: skewY(5deg); }
.scorecard-mini { min-height: 250px; padding: 24px; background: var(--ink); color: var(--warm-white); display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: center; }
.scorecard-mini .score-ring::before { background: var(--ink); color: var(--warm-white); content: '68'; }
.scorecard-mini ul { list-style: none; margin: 0; padding: 0; }
.scorecard-mini li { padding: 8px 0; border-bottom: 1px solid rgba(247,244,238,.2); font-size: .7rem; display: flex; justify-content: space-between; }
.board-mini { min-height: 250px; background: #ece7de; padding: 24px; display: grid; gap: 12px; }
.board-mini .line { height: 9px; background: var(--paper); width: 90%; }
.board-mini .line.short { width: 52%; }
.board-mini .tiles { display: grid; grid-template-columns: 1.1fr .9fr; gap: 12px; min-height: 140px; }
.board-mini .tile { background: var(--paper); border: 1px solid var(--stone); position: relative; }
.board-mini .tile::before { content: ''; position: absolute; inset: 18px; background: repeating-linear-gradient(to bottom, var(--stone) 0 1px, transparent 1px 22px); }

.cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--stone); }
.card { padding: 34px 30px 36px 0; min-height: 330px; display: flex; flex-direction: column; }
.card + .card { padding-left: 30px; border-left: 1px solid var(--stone); }
.card-number { color: var(--gold-deep); font-family: var(--serif); margin-bottom: 48px; }
.card p { color: var(--muted); font-size: .9rem; }
.card .text-link { margin-top: auto; align-self: flex-start; }

.atlas-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.atlas-visual { aspect-ratio: 1.15; position: relative; border: 1px solid rgba(247,244,238,.2); overflow: hidden; background: linear-gradient(135deg, rgba(177,138,72,.05), transparent); }
.atlas-visual::before { content: ''; position: absolute; inset: 0; background: linear-gradient(rgba(247,244,238,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(247,244,238,.07) 1px, transparent 1px); background-size: 42px 42px; }
.atlas-arc { position: absolute; border: 1px solid rgba(209,173,109,.65); border-radius: 50%; }
.atlas-arc.a { inset: 11%; }
.atlas-arc.b { inset: 25%; }
.atlas-arc.c { inset: 39%; }
.atlas-cross::before, .atlas-cross::after { content: ''; position: absolute; background: rgba(247,244,238,.25); }
.atlas-cross::before { width: 1px; top: 6%; bottom: 6%; left: 50%; }
.atlas-cross::after { height: 1px; left: 6%; right: 6%; top: 50%; }
.atlas-label { position: absolute; left: 24px; bottom: 22px; font-size: .65rem; letter-spacing: .13em; text-transform: uppercase; color: #d7d1c7; }
.atlas-coordinate { position: absolute; right: 22px; top: 20px; font-family: monospace; color: #baa980; font-size: .67rem; }

.insights-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.insight-card { border-top: 1px solid var(--ink); padding-top: 18px; min-height: 350px; display: flex; flex-direction: column; }
.insight-card .tag { color: var(--gold-deep); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.insight-card h3 { margin-top: 42px; }
.insight-card p { color: var(--muted); font-size: .88rem; }
.insight-card .text-link { margin-top: auto; align-self: flex-start; }

.final-cta { text-align: center; }
.final-cta h2 { max-width: 930px; margin-inline: auto; }
.final-cta .lead { margin-inline: auto; }
.final-cta .btn-row { justify-content: center; }

.page-hero { padding: 106px 0 90px; border-bottom: 1px solid var(--stone); }
.page-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: end; }
.page-hero h1 { font-size: clamp(3.2rem, 6.5vw, 6.2rem); }
.page-hero-aside { border-left: 1px solid var(--stone); padding-left: 28px; }
.page-hero-aside strong { font-family: var(--serif); font-size: 1.25rem; font-weight: 500; }
.page-hero-aside p { color: var(--muted); font-size: .86rem; }

.domain-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--stone); }
.domain-card { padding: 34px 32px 34px 0; min-height: 250px; border-bottom: 1px solid var(--stone); }
.domain-card:nth-child(even) { padding-left: 32px; border-left: 1px solid var(--stone); }
.domain-card .index { color: var(--gold-deep); font-family: var(--serif); font-size: 1.15rem; }
.domain-card p { color: var(--muted); }

.metrics-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.metric-card { padding: 26px; min-height: 260px; border: 1px solid var(--stone); background: var(--paper); }
.metric-card::before { content: ''; width: 13px; height: 13px; border-radius: 50%; display: block; margin-bottom: 42px; background: var(--gold); }
.metric-card.risk::before { background: var(--red); }
.metric-card.confidence::before { background: var(--blue); }
.metric-card.maturity::before { background: var(--green); }
.metric-card p { color: var(--muted); font-size: .86rem; }

.boundary { border: 1px solid var(--stone); padding: 38px; display: grid; grid-template-columns: .75fr 1.25fr; gap: 48px; background: var(--paper); }
.boundary h3 { margin: 0; }
.boundary ul { margin: 0; padding-left: 18px; color: var(--muted); }
.boundary li + li { margin-top: 9px; }

.timeline { border-top: 1px solid var(--stone); }
.timeline-item { display: grid; grid-template-columns: 210px 1fr; gap: 34px; padding: 28px 0; border-bottom: 1px solid var(--stone); }
.timeline-item time { color: var(--gold-deep); font-family: var(--serif); }
.timeline-item p { color: var(--muted); margin-bottom: 0; }

.quote { font-family: var(--serif); font-size: clamp(2rem,4vw,3.8rem); line-height: 1.2; letter-spacing: -.03em; max-width: 1000px; }
.quote::before { content: '“'; color: var(--gold); }
.quote::after { content: '”'; color: var(--gold); }

.contact-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 90px; align-items: start; }
.contact-details { position: sticky; top: 120px; }
.contact-details dl { margin-top: 38px; }
.contact-details dt { color: var(--muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; margin-top: 22px; }
.contact-details dd { margin: 5px 0 0; }
.form-card { background: var(--paper); border: 1px solid var(--stone); padding: 40px; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.field { display: grid; gap: 8px; }
.field.full { grid-column: 1 / -1; }
label { font-size: .78rem; font-weight: 700; }
input, select, textarea { width: 100%; border: 1px solid var(--stone-dark); background: var(--warm-white); color: var(--ink); padding: 13px 14px; border-radius: 0; }
input, select { min-height: 50px; }
textarea { min-height: 155px; resize: vertical; }
.form-note { color: var(--muted); font-size: .74rem; }
.hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }

.article-list { border-top: 1px solid var(--stone); }
.article-row { display: grid; grid-template-columns: 180px 1fr 110px; gap: 34px; padding: 32px 0; border-bottom: 1px solid var(--stone); align-items: baseline; text-decoration: none; }
.article-row .tag { color: var(--gold-deep); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.article-row h3 { margin: 0; font-size: 2rem; }
.article-row .read { color: var(--muted); font-size: .75rem; text-align: right; }
.article-row:hover h3 { color: var(--gold-deep); }

.faq { border-top: 1px solid var(--stone); }
details { border-bottom: 1px solid var(--stone); }
summary { list-style: none; padding: 24px 48px 24px 0; font-family: var(--serif); font-size: 1.35rem; cursor: pointer; position: relative; }
summary::-webkit-details-marker { display: none; }
summary::after { content: '+'; position: absolute; right: 8px; color: var(--gold-deep); }
details[open] summary::after { content: '−'; }
details p { color: var(--muted); max-width: 760px; padding-bottom: 24px; }

.site-footer { background: var(--ink); color: var(--warm-white); padding: 74px 0 24px; }
.footer-grid { display: grid; grid-template-columns: 1.35fr .65fr .65fr; gap: 56px; padding-bottom: 60px; }
.footer-brand h3 { font-size: 2.4rem; max-width: 500px; }
.footer-brand p { color: #beb6aa; max-width: 500px; }
.footer-nav { display: grid; align-content: start; gap: 12px; }
.footer-nav strong { color: #d1ad6d; font-size: .68rem; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 8px; }
.footer-nav a { color: #d8d1c7; text-decoration: none; font-size: .82rem; }
.footer-bottom { border-top: 1px solid rgba(247,244,238,.18); padding-top: 22px; display: flex; justify-content: space-between; gap: 20px; color: #aaa196; font-size: .7rem; }

.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(20px); transition: opacity .65s var(--ease), transform .65s var(--ease); }
.js .reveal.in-view { opacity: 1; transform: none; }

@media (max-width: 1100px) {
  .site-nav { gap: 15px; }
  .site-nav a { font-size: .75rem; }
  .header-cta { padding-inline: 13px; }
  .hero-grid, .compass-intro, .assessment-grid, .atlas-grid, .page-hero-grid, .contact-grid { gap: 46px; }
  .instrument-wrap { min-height: 540px; }
  .metrics-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 920px) {
  .container, .narrow { width: min(calc(100% - 40px), var(--max)); }
  .section { padding: 88px 0; }
  .site-nav { position: fixed; inset: 86px 0 0; background: var(--warm-white); padding: 38px 20px; display: none; align-content: start; gap: 0; overflow-y: auto; }
  .site-nav.open { display: grid; }
  .site-nav a { font-family: var(--serif); font-size: 1.8rem; font-weight: 500; border-bottom: 1px solid var(--stone); padding: 18px 6px; }
  .site-nav .header-cta { margin-top: 26px; font-family: var(--sans); font-size: .82rem; }
  .menu-toggle { display: block; }
  .hero { min-height: auto; padding-top: 70px; }
  .hero-grid, .compass-intro, .assessment-grid, .atlas-grid, .page-hero-grid, .problem-grid, .contact-grid { grid-template-columns: 1fr; }
  .hero-grid { gap: 20px; }
  .instrument-wrap { min-height: 560px; }
  .credibility-grid { grid-template-columns: repeat(2,1fr); }
  .credibility-item:nth-child(3) { border-left: 0; }
  .credibility-item:nth-child(n+3) { border-top: 1px solid var(--stone); }
  .work-grid { grid-template-columns: 1fr; }
  .work-card.large { grid-row: auto; }
  .cards, .insights-grid { grid-template-columns: 1fr; }
  .card { min-height: auto; padding: 28px 0; }
  .card + .card { padding-left: 0; border-left: 0; border-top: 1px solid var(--stone); }
  .card-number { margin-bottom: 18px; }
  .journey-step { grid-template-columns: 70px 1fr; }
  .journey-step p { grid-column: 2; }
  .page-hero-aside { border-left: 0; border-top: 1px solid var(--stone); padding: 24px 0 0; }
  .footer-grid { grid-template-columns: 1.4fr .6fr; }
  .footer-brand { grid-column: 1 / -1; }
  .contact-details { position: static; }
}

@media (max-width: 640px) {
  body { font-size: 16px; }
  .container, .narrow { width: min(calc(100% - 32px), var(--max)); }
  .header-inner { min-height: 76px; }
  .brand { min-width: 0; }
  .brand-mark { width: 42px; height: 42px; }
  .brand-copy strong { font-size: .74rem; }
  .brand-copy span { display: none; }
  .hero { padding-top: 52px; }
  h1 { font-size: clamp(3rem, 15vw, 4.4rem); }
  h2 { font-size: clamp(2.3rem, 11vw, 3.3rem); }
  .instrument-wrap { min-height: 440px; margin-inline: 0; }
  .instrument { width: 100%; max-width: 420px; }
  .instrument-node { width: 65px; }
  .instrument-node span { font-size: .52rem; }
  .instrument-index { right: 4%; bottom: -1%; width: 112px; }
  .credibility-grid { grid-template-columns: 1fr; }
  .credibility-item, .credibility-item + .credibility-item { padding: 20px 0; border-left: 0; border-top: 1px solid var(--stone); }
  .credibility-item:first-child { border-top: 0; }
  .domain-list, .deliverables, .domain-grid, .form-grid { grid-template-columns: 1fr; }
  .domain-card:nth-child(even) { padding-left: 0; border-left: 0; }
  .metrics-grid { grid-template-columns: 1fr; }
  .metric-card { min-height: 210px; }
  .report-stack { min-height: 470px; overflow: hidden; }
  .report-page { width: 88%; min-height: 430px; padding: 20px; }
  .report-score { grid-template-columns: 82px 1fr; }
  .score-ring { width: 80px; }
  .mini-bar { grid-template-columns: 1fr 80px 24px; }
  .journey-step { grid-template-columns: 44px 1fr; gap: 14px; }
  .dashboard-top { grid-template-columns: 1fr; }
  .dashboard { min-height: 520px; }
  .scorecard-mini { grid-template-columns: 1fr; }
  .boundary { grid-template-columns: 1fr; padding: 26px; }
  .timeline-item { grid-template-columns: 1fr; gap: 4px; }
  .article-row { grid-template-columns: 1fr; gap: 10px; }
  .article-row .read { text-align: left; }
  .form-card { padding: 24px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
}

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

/* V1.1 mobile navigation and responsive-layout corrections */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}
h1, h2, h3, .brand-copy strong, .contact-details dd, .footer-nav a {
  overflow-wrap: anywhere;
}
.site-header { isolation: isolate; }

@media (max-width: 920px) {
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }

  .site-header {
    background: var(--warm-white);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .site-nav {
    position: absolute;
    inset: auto 0 auto 0;
    top: 100%;
    z-index: 1100;
    width: 100%;
    height: calc(100vh - 86px);
    height: calc(100dvh - 86px);
    max-height: calc(100vh - 86px);
    max-height: calc(100dvh - 86px);
    padding: 28px 20px 40px;
    background: var(--warm-white);
    box-shadow: 0 28px 60px rgba(23,22,20,.16);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .site-nav.open {
    display: grid;
    grid-auto-rows: min-content;
    align-content: start;
  }
  .menu-toggle span { transform-origin: center; }
  .menu-toggle[aria-expanded='true'] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded='true'] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded='true'] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}

@media (max-width: 640px) {
  .section { padding: 76px 0; }
  .section-sm { padding: 58px 0; }
  .page-hero { padding: 68px 0 58px; }
  .page-hero h1 { font-size: clamp(2.75rem, 13vw, 3.45rem); }

  .site-nav {
    height: calc(100vh - 76px);
    height: calc(100dvh - 76px);
    max-height: calc(100vh - 76px);
    max-height: calc(100dvh - 76px);
    padding: 20px 16px 32px;
  }
  .site-nav a { font-size: 1.55rem; padding: 15px 6px; }
  .site-nav .header-cta { width: 100%; min-height: 52px; }

  .btn-row {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .btn { width: 100%; padding-inline: 16px; text-align: center; }

  .lens-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lens-tab { width: 100%; min-height: 44px; }

  /* The desktop compass becomes a legible mobile diagnostic card. */
  .instrument-wrap { min-height: 0; margin-inline: 0; }
  .instrument-halo { display: none; }
  .instrument {
    width: 100%;
    max-width: none;
    aspect-ratio: auto;
    border-radius: 0;
    padding: 16px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    background: var(--paper);
  }
  .instrument::before, .instrument::after { display: none; }
  .instrument-center {
    position: static;
    inset: auto;
    grid-column: 1 / -1;
    min-height: 118px;
    border-radius: 0;
    padding: 20px;
  }
  .instrument-center strong { font-size: 1.7rem; }
  .instrument-node,
  .node-1, .node-2, .node-3, .node-4, .node-5, .node-6, .node-7 {
    position: static;
    inset: auto;
    left: auto;
    top: auto;
    width: auto;
    min-height: 78px;
    transform: none;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 13px 10px;
    text-align: left;
    border: 1px solid var(--stone);
    background: var(--warm-white);
  }
  .instrument-node i {
    flex: 0 0 auto;
    margin: 4px 0 0;
  }
  .instrument-node span {
    font-size: .72rem;
    line-height: 1.35;
  }
  .instrument-index {
    position: static;
    inset: auto;
    grid-column: 1 / -1;
    width: auto;
    min-height: 0;
    padding: 15px 16px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    column-gap: 16px;
  }
  .instrument-index small { grid-column: 1; }
  .instrument-index strong {
    grid-column: 2;
    grid-row: 1 / 3;
    margin: 0;
    font-size: 2.35rem;
  }
  .instrument-index span { grid-column: 1; }

  .domain-card { min-height: 0; padding: 28px 0; }
  .metric-card { min-height: 0; padding: 24px; }

  /* Simplify report mockups on narrow screens rather than clipping rotated pages. */
  .report-stack { min-height: 0; overflow: visible; }
  .report-page.back { display: none; }
  .report-page.front {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    min-height: 0;
    transform: none;
    padding: 20px;
  }
  .report-head { gap: 10px; }
  .report-score { grid-template-columns: 72px 1fr; gap: 14px; margin: 22px 0; }
  .score-ring { width: 72px; }
  .score-ring::before { font-size: 1.5rem; }
  .mini-bar { grid-template-columns: minmax(100px,1fr) 64px 22px; gap: 8px; }

  .footer-brand h3 { font-size: 2rem; }
}

@media (max-width: 380px) {
  .header-inner { min-height: 72px; }
  .brand { gap: 10px; }
  .brand-mark { width: 38px; height: 38px; }
  .brand-copy strong { font-size: .67rem; letter-spacing: .065em; }
  .site-nav {
    height: calc(100vh - 72px);
    height: calc(100dvh - 72px);
    max-height: calc(100vh - 72px);
    max-height: calc(100dvh - 72px);
  }
  .instrument { grid-template-columns: 1fr; }
  .instrument-center, .instrument-index { grid-column: 1; }
}


/* V1.2 mobile visibility, typography and rendering hardening */
@media (max-width: 920px) {
  /* Mobile content must never depend on scroll-animation support. */
  .js .reveal,
  .js .reveal.in-view,
  .reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  /* Avoid mobile Chromium/Samsung compositing artefacts on large serif text. */
  body { text-rendering: auto; }
  .page-hero { overflow: visible; }
  .page-hero h1 {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
}

@media (max-width: 640px) {
  .page-hero { padding: 48px 0 52px; }
  .page-hero h1 {
    font-size: clamp(2.55rem, 11.4vw, 3.05rem);
    line-height: 1.02;
    letter-spacing: -.04em;
    margin-bottom: 24px;
  }
  .page-hero .lead {
    font-size: 1.08rem;
    line-height: 1.55;
  }
  .page-hero-grid { gap: 34px; }
}

@media (max-width: 380px) {
  .page-hero h1 { font-size: clamp(2.4rem, 11.2vw, 2.85rem); }
}


/* Executive Compass centrepiece — V1.3 */
.ecx-section{position:relative;padding:110px 0 96px;background:radial-gradient(circle at 18% 16%,rgba(47,111,104,.10),transparent 28rem),radial-gradient(circle at 82% 8%,rgba(115,80,111,.09),transparent 26rem),linear-gradient(180deg,#fbf8f2 0%,#efe8dc 100%);overflow:hidden;--ecx-active:#2f6f68}
.ecx-intro{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:end;margin-bottom:36px}.ecx-intro h2{max-width:760px}.ecx-intro .lead{margin:0}
.ecx-shell{position:relative}.ecx-stage{position:relative;min-height:760px;display:grid;place-items:center;isolation:isolate}.ecx-stage:before{content:"";position:absolute;width:800px;height:800px;border-radius:50%;background:radial-gradient(circle at 42% 42%,rgba(255,255,255,.88),transparent 18%),radial-gradient(circle,rgba(221,194,134,.38),rgba(47,111,104,.10) 38%,rgba(115,80,111,.06) 56%,transparent 70%);filter:blur(7px);z-index:-2}.ecx-ambient{position:absolute;width:640px;height:640px;border-radius:50%;background:conic-gradient(from 0deg,rgba(167,122,43,.18),rgba(47,111,104,.10) 14%,transparent 24%,rgba(75,98,143,.10) 37%,transparent 49%,rgba(115,80,111,.10) 62%,transparent 75%,rgba(161,95,59,.10) 88%,rgba(167,122,43,.15));filter:blur(2px);animation:ecx-spin 34s linear infinite;z-index:-1}@keyframes ecx-spin{to{transform:rotate(360deg)}}
.ecx-wheel{width:min(720px,94vw);height:auto;overflow:visible;filter:drop-shadow(0 32px 40px rgba(46,33,15,.16))}.ecx-halo{fill:none;stroke:rgba(167,122,43,.12);stroke-width:28}.ecx-ring{fill:none;stroke:rgba(75,61,40,.19);stroke-width:1}.ecx-ring-gold{stroke:rgba(167,122,43,.55)}.ecx-ring-dash{stroke-dasharray:4 8}.ecx-segment{cursor:pointer;fill:var(--ecx-soft,rgba(255,255,255,.34));stroke:var(--ecx-color,#a77a2b);stroke-opacity:.42;stroke-width:1.1;transition:.45s cubic-bezier(.22,.8,.22,1);outline:none}.ecx-segment:hover,.ecx-segment:focus,.ecx-segment.active{fill:var(--ecx-strong,rgba(167,122,43,.26));stroke-opacity:1;filter:drop-shadow(0 16px 20px rgba(40,31,18,.20))}.ecx-domain-label{font-size:15px;font-weight:760;fill:#171614;text-anchor:middle;pointer-events:none}.ecx-domain-score{font-size:11px;font-weight:850;fill:var(--ecx-color,#a77a2b);text-anchor:middle;pointer-events:none}.ecx-node-ring{fill:#fbf8f2;stroke:var(--ecx-color,#a77a2b);stroke-width:2.2;pointer-events:none}.ecx-node-core{fill:var(--ecx-color,#a77a2b);pointer-events:none}.ecx-center-aura{fill:rgba(167,122,43,.07);stroke:rgba(167,122,43,.18);stroke-width:1;transform-origin:center;animation:ecx-breathe 4s ease-in-out infinite}@keyframes ecx-breathe{0%,100%{transform:scale(.94);opacity:.55}50%{transform:scale(1.03);opacity:1}}.ecx-center-disc{fill:url(#ecxCenterFill);stroke:rgba(255,255,255,.08);filter:drop-shadow(0 18px 26px rgba(0,0,0,.22))}.ecx-center-kicker{fill:#d8bc7a;font-size:10px;letter-spacing:.25em;text-anchor:middle}.ecx-center-title{fill:#fff;font:29px var(--serif);text-anchor:middle}.ecx-center-score{fill:#fff;font:72px var(--serif);text-anchor:middle}.ecx-center-caption{fill:rgba(255,255,255,.56);font-size:10px;letter-spacing:.18em;text-anchor:middle}
.ecx-float{position:absolute;right:max(0px,calc(50% - 470px));bottom:90px;width:270px;background:linear-gradient(160deg,rgba(255,255,255,.97),rgba(247,239,224,.93));backdrop-filter:blur(18px);border:1px solid var(--ecx-active);box-shadow:0 20px 60px rgba(43,31,15,.18);padding:23px;z-index:4;transition:.4s}.ecx-float:before{content:"";position:absolute;left:-32px;top:44%;width:32px;height:2px;background:var(--ecx-active)}.ecx-float small{display:block;color:var(--ecx-active);font-weight:850;letter-spacing:.18em;text-transform:uppercase;font-size:.62rem}.ecx-float h3{font-size:2.15rem;margin:12px 0 10px}.ecx-float p{margin:0;color:var(--muted);line-height:1.45;font-size:.82rem}.ecx-float-score{display:flex;align-items:flex-end;gap:10px;margin-top:18px}.ecx-float-score strong{font:72px/.8 var(--serif)}.ecx-float-score span{padding-bottom:7px;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ecx-active)}
.ecx-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:-18px;position:relative;z-index:5}.ecx-preset{border:1px solid var(--stone);background:rgba(255,255,255,.45);padding:13px 17px;cursor:pointer;transition:.3s;color:var(--ink)}.ecx-preset:hover,.ecx-preset.active{background:var(--ink);color:#fff;transform:translateY(-3px);box-shadow:0 12px 30px rgba(22,19,15,.13)}.ecx-legend{display:flex;justify-content:center;gap:10px 18px;flex-wrap:wrap;margin:25px auto 54px;max-width:1180px}.ecx-legend-item{display:flex;align-items:center;gap:8px;border:0;background:none;padding:4px;color:var(--muted);font-size:.72rem;cursor:pointer;transition:.25s}.ecx-legend-item:hover,.ecx-legend-item.active{color:var(--ink);transform:translateY(-2px)}.ecx-swatch{width:11px;height:11px;border-radius:50%;background:var(--ecx-swatch);box-shadow:0 0 0 4px rgba(20,20,20,.04)}
.ecx-detail{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);border:1px solid var(--stone);box-shadow:0 28px 90px rgba(51,38,17,.16);overflow:hidden;background:rgba(255,255,255,.50)}.ecx-detail-main{padding:50px 52px;position:relative;min-height:500px;background:linear-gradient(135deg,color-mix(in srgb,var(--ecx-active) 10%,transparent),transparent 42%),rgba(255,255,255,.55)}.ecx-detail-main:after{content:"";position:absolute;right:-120px;bottom:-160px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(167,122,43,.13);box-shadow:0 0 0 56px rgba(167,122,43,.045),0 0 0 112px rgba(167,122,43,.025)}.ecx-detail-main h3{font-size:clamp(3rem,5vw,5rem);line-height:.95;margin:0 0 20px;max-width:780px}.ecx-detail-copy{font-size:1.18rem;line-height:1.65;color:var(--muted);max-width:780px}.ecx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px;position:relative;z-index:2}.ecx-stats>div{border-top:1px solid var(--stone);padding-top:14px}.ecx-stats small,.ecx-side-item small{display:block;color:var(--muted);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px}.ecx-stats strong{font:1.45rem/1.15 var(--serif)}.ecx-detail-side{background:radial-gradient(circle at 85% 15%,color-mix(in srgb,var(--ecx-active) 34%,transparent),transparent 36%),linear-gradient(180deg,#171511,#0f0e0c);color:#fff;padding:45px 39px;display:flex;flex-direction:column;position:relative}.ecx-side-kicker{color:#d8bc7a;letter-spacing:.19em;text-transform:uppercase;font-size:.62rem}.ecx-score-line{display:flex;align-items:flex-end;gap:14px;margin:28px 0 18px}.ecx-score-line strong{font:96px/.8 var(--serif)}.ecx-score-line span{padding-bottom:9px;color:rgba(255,255,255,.55);font-size:.65rem;letter-spacing:.13em;text-transform:uppercase}.ecx-meter{height:6px;background:rgba(255,255,255,.12);overflow:hidden;margin-bottom:28px}.ecx-meter i{display:block;height:100%;width:72%;background:linear-gradient(90deg,var(--ecx-active),#ead6ab);box-shadow:0 0 18px color-mix(in srgb,var(--ecx-active) 45%,transparent);transition:width .7s}.ecx-side-item{padding:16px 0;border-top:1px solid rgba(255,255,255,.12)}.ecx-side-item small{color:rgba(255,255,255,.42)}.ecx-side-item strong{font-size:1rem;line-height:1.4}.ecx-dots{display:flex;gap:9px;margin-top:auto;padding-top:26px}.ecx-dot{width:8px;height:8px;border:0;border-radius:50%;background:rgba(255,255,255,.23);padding:0;cursor:pointer}.ecx-dot.active{background:#d8bc7a;box-shadow:0 0 0 5px rgba(216,188,122,.11)}
@media(max-width:1100px){.ecx-intro{grid-template-columns:1fr}.ecx-stage{min-height:700px}.ecx-float{right:20px;bottom:65px}.ecx-detail{grid-template-columns:1fr}}
@media(max-width:700px){.ecx-section{padding:78px 0}.ecx-stage{min-height:550px}.ecx-stage:before{width:590px;height:590px}.ecx-ambient{width:500px;height:500px}.ecx-wheel{width:112%;margin-left:-6%}.ecx-domain-label{font-size:11px}.ecx-domain-score{font-size:9px}.ecx-center-title{font-size:24px}.ecx-center-score{font-size:58px}.ecx-float{right:0;bottom:18px;width:210px;padding:17px}.ecx-float:before{display:none}.ecx-float h3{font-size:1.65rem}.ecx-float-score strong{font-size:58px}.ecx-controls{margin-top:8px;display:grid}.ecx-preset{width:100%}.ecx-legend{justify-content:flex-start;margin-bottom:36px}.ecx-detail-main,.ecx-detail-side{padding:34px 24px}.ecx-detail-main{min-height:0}.ecx-detail-copy{font-size:1rem}.ecx-stats{grid-template-columns:1fr}.ecx-score-line strong{font-size:78px}}
@media(prefers-reduced-motion:reduce){.ecx-ambient,.ecx-center-aura{animation:none}}


/* V1.4 homepage interactive centrepiece */
.hero-compass{position:relative;min-width:0;--ecx-active:#2f6f68}
.hero-ecx-stage{min-height:640px;padding:0;overflow:visible}
.hero-ecx-stage .ecx-wheel{width:min(680px,100%);filter:drop-shadow(0 34px 44px rgba(51,38,17,.18))}
.hero-ecx-stage:before{content:"";position:absolute;width:92%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.94),rgba(216,188,122,.18) 28%,rgba(47,111,104,.08) 48%,transparent 70%);filter:blur(5px)}
.hero-ecx-float{right:-6px;bottom:52px;width:235px;background:linear-gradient(155deg,rgba(255,255,255,.97),rgba(246,237,219,.94));border-color:color-mix(in srgb,var(--ecx-active) 48%,transparent);box-shadow:0 24px 64px rgba(45,31,12,.20)}
.hero-ecx-float:before{background:var(--ecx-active)}
.hero-ecx-float small{color:var(--ecx-active)}
.hero-ecx-controls{margin-top:-34px;position:relative;z-index:4;gap:7px}
.hero-ecx-controls .ecx-preset{padding:10px 12px;font-size:11px;letter-spacing:.02em}
.hero-ecx-legend{display:none}
.hero-ecx-dots{display:flex;justify-content:center;gap:8px;margin-top:16px}
.hero-ecx-dots .ecx-dot{background:rgba(33,29,23,.22)}
.hero-ecx-dots .ecx-dot.active{background:var(--ecx-active);box-shadow:0 0 0 5px color-mix(in srgb,var(--ecx-active) 14%,transparent)}
@media(max-width:1100px){
 .hero-ecx-stage{min-height:660px}
 .hero-ecx-stage .ecx-wheel{width:min(700px,96vw)}
 .hero-ecx-float{right:7%;bottom:54px}
}
@media(max-width:700px){
 .hero-compass{margin-top:18px}
 .hero-ecx-stage{min-height:540px;margin-inline:-12px}
 .hero-ecx-stage .ecx-wheel{width:112%;max-width:none}
 .hero-ecx-float{right:10px;bottom:16px;width:205px;padding:16px}
 .hero-ecx-float h3{font-size:27px}
 .hero-ecx-float p{font-size:12px}
 .hero-ecx-float .ecx-float-score strong{font-size:55px}
 .hero-ecx-controls{margin-top:4px;display:grid;grid-template-columns:repeat(3,1fr)}
 .hero-ecx-controls .ecx-preset{padding:10px 5px;font-size:10px}
}


/* V1.5 — give the homepage Active Domain panel its own dedicated space */
.hero-ecx-stage{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  min-height:0;
  padding-top:8px;
}
.hero-ecx-stage .ecx-wheel{
  flex:0 0 auto;
  width:min(620px,100%);
}
.hero-ecx-float{
  position:relative;
  inset:auto;
  width:min(650px,96%);
  margin:-18px auto 0;
  padding:20px 22px;
  display:grid;
  grid-template-columns:minmax(150px,.9fr) minmax(210px,1.35fr) auto;
  grid-template-areas:
    "label copy score"
    "title copy score";
  align-items:center;
  column-gap:24px;
  row-gap:5px;
  z-index:5;
}
.hero-ecx-float:before{
  display:none;
}
.hero-ecx-float small{
  grid-area:label;
  align-self:end;
}
.hero-ecx-float h3{
  grid-area:title;
  margin:0;
  align-self:start;
  font-size:1.85rem;
  line-height:1.02;
}
.hero-ecx-float p{
  grid-area:copy;
  padding-left:22px;
  border-left:1px solid color-mix(in srgb,var(--ecx-active) 35%,transparent);
  font-size:.8rem;
}
.hero-ecx-float .ecx-float-score{
  grid-area:score;
  margin:0;
  min-width:120px;
}
.hero-ecx-float .ecx-float-score strong{
  font-size:62px;
}
.hero-ecx-controls{
  margin-top:14px;
}
@media(max-width:1100px){
  .hero-ecx-stage{min-height:0}
  .hero-ecx-stage .ecx-wheel{width:min(650px,96vw)}
  .hero-ecx-float{inset:auto;width:min(650px,92%)}
}
@media(max-width:700px){
  .hero-ecx-stage{min-height:0;margin-inline:-12px}
  .hero-ecx-stage .ecx-wheel{width:108%;max-width:none}
  .hero-ecx-float{
    inset:auto;
    width:calc(100% - 24px);
    margin:-8px 12px 0;
    padding:18px;
    grid-template-columns:1fr auto;
    grid-template-areas:
      "label score"
      "title score"
      "copy copy";
    column-gap:16px;
  }
  .hero-ecx-float h3{font-size:1.55rem}
  .hero-ecx-float p{
    padding:14px 0 0;
    margin-top:8px;
    border-left:0;
    border-top:1px solid color-mix(in srgb,var(--ecx-active) 35%,transparent);
    font-size:.78rem;
  }
  .hero-ecx-float .ecx-float-score{min-width:96px}
  .hero-ecx-float .ecx-float-score strong{font-size:52px}
  .hero-ecx-controls{margin-top:12px}
}


/* =========================================================
   V1.6 — Public Financial Health Check + Research Pretesting
   ========================================================= */
.pilot-offer{
  position:relative;
  overflow:hidden;
  border-top:1px solid var(--stone);
  border-bottom:1px solid var(--stone);
  background:
    radial-gradient(circle at 88% 12%,rgba(47,111,104,.14),transparent 26rem),
    radial-gradient(circle at 12% 88%,rgba(167,122,43,.14),transparent 28rem),
    linear-gradient(135deg,#f8f4ec,#eee5d6);
}
.pilot-offer:before{
  content:"FOUNDING PILOT";
  position:absolute;
  right:-35px;top:55px;
  transform:rotate(90deg);
  font:700 .65rem/1 var(--sans);
  letter-spacing:.34em;
  color:rgba(23,22,20,.22);
}
.pilot-offer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:64px;
  align-items:center;
}
.pilot-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:9px 13px;
  border:1px solid rgba(167,122,43,.42);
  background:rgba(255,255,255,.5);
  color:#805c20;
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:22px;
}
.pilot-badge:before{
  content:"";
  width:8px;height:8px;border-radius:50%;
  background:#a77a2b;
  box-shadow:0 0 0 5px rgba(167,122,43,.12);
}
.pilot-offer h2{max-width:900px}
.pilot-offer-card{
  border:1px solid rgba(23,22,20,.16);
  background:rgba(255,255,255,.62);
  padding:34px;
  box-shadow:0 24px 60px rgba(48,34,15,.12);
}
.pilot-offer-card h3{font-size:2rem;margin-bottom:14px}
.pilot-offer-card ul{list-style:none;padding:0;margin:22px 0}
.pilot-offer-card li{
  padding:11px 0 11px 25px;
  border-top:1px solid rgba(23,22,20,.1);
  position:relative;
  color:var(--muted);
}
.pilot-offer-card li:before{
  content:"";
  position:absolute;left:1px;top:17px;
  width:9px;height:9px;border-radius:50%;
  border:2px solid #2f6f68;
}

/* Diagnostic page */
.diagnostic-hero{
  background:
    radial-gradient(circle at 80% 20%,rgba(47,111,104,.15),transparent 28rem),
    linear-gradient(180deg,#f8f5ee,#f0e9dd);
}
.diagnostic-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(310px,.82fr);
  gap:64px;
  align-items:end;
}
.diagnostic-hero h1{max-width:980px}
.diagnostic-boundary{
  border:1px solid var(--stone);
  background:rgba(255,255,255,.56);
  padding:28px;
}
.diagnostic-boundary strong{
  display:block;
  color:#805c20;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  margin-bottom:12px;
}
.diagnostic-boundary p{margin:0;color:var(--muted);line-height:1.6}

.health-check-shell{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:34px;
  align-items:start;
}
.health-sidebar{
  position:sticky;
  top:104px;
  border:1px solid var(--stone);
  background:#f8f4ec;
  padding:24px;
}
.health-sidebar h3{font-size:1.4rem;margin-bottom:12px}
.health-sidebar p{font-size:.82rem;color:var(--muted)}
.health-progress{
  height:6px;
  background:#ded6c9;
  overflow:hidden;
  margin:20px 0 12px;
}
.health-progress span{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,#2f6f68,#a77a2b);
  transition:width .35s var(--ease);
}
.health-progress-copy{
  display:flex;justify-content:space-between;
  font-size:.68rem;color:var(--muted);
}
.health-theme-list{
  list-style:none;padding:0;margin:24px 0 0;
}
.health-theme-list li{
  display:flex;align-items:center;gap:9px;
  padding:8px 0;
  color:var(--muted);
  font-size:.74rem;
}
.health-theme-list i{
  width:9px;height:9px;border-radius:50%;
  background:var(--theme-color,#a77a2b);
  opacity:.42;
}
.health-theme-list li.active{color:var(--ink);font-weight:700}
.health-theme-list li.active i{opacity:1;box-shadow:0 0 0 4px color-mix(in srgb,var(--theme-color) 14%,transparent)}

.health-form{
  border:1px solid var(--stone);
  background:rgba(255,255,255,.62);
  box-shadow:0 30px 80px rgba(50,36,14,.11);
}
.health-intro-panel,.health-step,.health-details,.health-consent,.health-result{
  padding:42px 46px;
}
.health-step{
  display:none;
  min-height:570px;
}
.health-step.active{display:block}
.health-step-head{
  display:grid;
  grid-template-columns:1fr auto;
  gap:22px;
  align-items:start;
  padding-bottom:24px;
  border-bottom:1px solid var(--stone);
  margin-bottom:8px;
}
.health-step-head h2{font-size:clamp(2.2rem,4vw,4.3rem);margin:0}
.health-step-number{
  font:4rem/.85 var(--serif);
  color:rgba(167,122,43,.38);
}
.health-step-intro{
  color:var(--muted);
  line-height:1.6;
  max-width:760px;
}
.health-question{
  padding:24px 0;
  border-top:1px solid var(--stone);
}
.health-question:first-of-type{border-top:0}
.health-question legend{
  font:1.22rem/1.35 var(--serif);
  margin-bottom:15px;
  padding:0;
}
.health-options{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
}
.health-option{
  position:relative;
}
.health-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.health-option label{
  display:flex;
  min-height:68px;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:10px 8px;
  border:1px solid var(--stone);
  background:#faf7f1;
  color:var(--muted);
  font-size:.69rem;
  line-height:1.3;
  cursor:pointer;
  transition:.22s var(--ease);
}
.health-option label:hover{
  border-color:#a77a2b;
  color:var(--ink);
  transform:translateY(-2px);
}
.health-option input:checked + label{
  color:#fff;
  border-color:#171614;
  background:#171614;
  box-shadow:0 10px 24px rgba(23,22,20,.13);
}
.health-navigation{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:24px 46px;
  border-top:1px solid var(--stone);
  background:#f3ede2;
}
.health-navigation .btn[disabled]{
  opacity:.35;
  pointer-events:none;
}
.health-error{
  display:none;
  color:#8e3f29;
  font-size:.76rem;
  margin-top:14px;
}
.health-error.visible{display:block}

.health-details,.health-consent{display:none}
.health-details.active,.health-consent.active{display:block}
.health-details h2,.health-consent h2{font-size:clamp(2.5rem,4vw,4.6rem)}
.health-details .form-grid{margin-top:28px}
.check-row{
  display:grid;
  grid-template-columns:22px 1fr;
  gap:12px;
  align-items:start;
  padding:15px 0;
  border-top:1px solid var(--stone);
}
.check-row input{margin-top:4px}
.check-row label{font-size:.85rem;line-height:1.55;color:var(--muted)}
.check-row strong{color:var(--ink)}
.consent-boundary{
  background:#f5eee2;
  border-left:3px solid #a77a2b;
  padding:18px;
  margin:22px 0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.6;
}

.health-result{
  display:none;
  background:
    radial-gradient(circle at 90% 10%,rgba(47,111,104,.12),transparent 24rem),
    #f8f4ec;
}
.health-result.active{display:block}
.result-header{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);
  gap:34px;
  align-items:end;
  border-bottom:1px solid var(--stone);
  padding-bottom:32px;
  margin-bottom:32px;
}
.result-header h2{font-size:clamp(3rem,6vw,6.3rem);line-height:.9}
.result-classification{
  padding:24px;
  border:1px solid var(--stone);
  background:rgba(255,255,255,.62);
}
.result-classification small{
  display:block;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.63rem;
  margin-bottom:9px;
}
.result-classification strong{
  display:block;
  font:2rem/1.05 var(--serif);
}
.result-note{
  color:var(--muted);
  line-height:1.6;
}
.result-profile{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:32px 0 42px;
}
.result-domain{
  padding:18px;
  border:1px solid var(--stone);
  background:rgba(255,255,255,.6);
  min-height:124px;
}
.result-domain span{
  display:block;
  font-size:.66rem;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:10px;
}
.result-domain strong{
  font:1.35rem/1.08 var(--serif);
}
.result-band{
  height:5px;
  background:#ded6c9;
  margin-top:16px;
  overflow:hidden;
}
.result-band i{
  display:block;height:100%;
  width:var(--result-width,50%);
  background:var(--result-color,#a77a2b);
}
.result-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.result-list{
  border-top:1px solid var(--stone);
  padding-top:20px;
}
.result-list h3{font-size:2rem}
.result-list ul{
  list-style:none;
  padding:0;
  margin:18px 0 0;
}
.result-list li{
  padding:13px 0 13px 23px;
  border-top:1px solid var(--stone);
  position:relative;
  color:var(--muted);
  line-height:1.5;
}
.result-list li:before{
  content:"";
  position:absolute;left:1px;top:20px;
  width:8px;height:8px;border-radius:50%;
  background:var(--bullet,#a77a2b);
}
.result-questions{
  margin-top:38px;
  border:1px solid var(--stone);
  background:#fff;
  padding:28px;
}
.result-questions ol{
  margin:18px 0 0;
  padding-left:22px;
}
.result-questions li{
  padding:8px 0;
  color:var(--muted);
  line-height:1.5;
}
.result-cta{
  margin-top:34px;
  padding:30px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 12%,rgba(167,122,43,.32),transparent 23rem),
    #171614;
}
.result-cta h3{font-size:2.4rem}
.result-cta p{color:rgba(255,255,255,.68);max-width:760px}
.result-cta .btn-row{margin-top:22px}

/* Research participation */
.research-pilot-hero{
  background:
    radial-gradient(circle at 80% 20%,rgba(115,80,111,.14),transparent 28rem),
    linear-gradient(180deg,#f7f3ec,#ede6da);
}
.research-role-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:32px;
}
.research-role{
  border:1px solid var(--stone);
  background:rgba(255,255,255,.58);
  padding:24px;
}
.research-role span{
  display:block;
  color:#73506f;
  font-size:.64rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.research-role h3{font-size:1.45rem}
.research-role p{font-size:.82rem;color:var(--muted);line-height:1.55}
.contamination-panel{
  border:1px solid var(--stone);
  background:#f3ede2;
  padding:28px;
}
.contamination-panel h3{font-size:2rem}
.contamination-panel p{color:var(--muted);line-height:1.6}
.research-form-grid{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(440px,1.2fr);
  gap:42px;
  align-items:start;
}
.screening-group{
  margin-top:26px;
  border-top:1px solid var(--stone);
}
.screening-item{
  padding:20px 0;
  border-bottom:1px solid var(--stone);
}
.screening-item fieldset{border:0;padding:0;margin:0}
.screening-item legend{
  font:1.06rem/1.4 var(--serif);
  padding:0;margin-bottom:12px;
}
.screening-options{display:flex;gap:8px;flex-wrap:wrap}
.screening-options label{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 12px;border:1px solid var(--stone);
  background:#faf7f1;font-size:.75rem;cursor:pointer;
}
.screening-options input{accent-color:#171614}
.research-disclaimer{
  padding:18px;
  background:#f5eee2;
  border-left:3px solid #73506f;
  color:var(--muted);
  line-height:1.6;
  font-size:.8rem;
  margin-bottom:24px;
}

@media(max-width:1000px){
  .pilot-offer-grid,.diagnostic-hero-grid,.research-form-grid{grid-template-columns:1fr}
  .health-check-shell{grid-template-columns:1fr}
  .health-sidebar{position:relative;top:auto}
  .health-theme-list{display:grid;grid-template-columns:repeat(3,1fr)}
  .research-role-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .pilot-offer-card{padding:24px}
  .health-intro-panel,.health-step,.health-details,.health-consent,.health-result{padding:28px 20px}
  .health-navigation{padding:20px}
  .health-step{min-height:0}
  .health-options{grid-template-columns:1fr}
  .health-option label{min-height:48px;justify-content:flex-start;text-align:left;padding:12px 14px}
  .health-theme-list{grid-template-columns:1fr 1fr}
  .result-header,.result-columns{grid-template-columns:1fr}
  .result-profile{grid-template-columns:1fr}
  .result-classification{max-width:330px}
  .screening-options{display:grid;grid-template-columns:repeat(3,1fr)}
  .screening-options label{justify-content:center}
}


/* =========================================================
   V1.7 — Financial Health Check visual and result hardening
   ========================================================= */

/* The diagnostic headline must lead, not consume the entire viewport. */
.diagnostic-hero{
  overflow:hidden;
}
.diagnostic-hero-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  align-items:center;
}
.diagnostic-hero h1{
  max-width:880px;
  font-size:clamp(3.35rem,5.2vw,5.35rem);
  line-height:.94;
  letter-spacing:-.048em;
  text-wrap:balance;
}
.diagnostic-hero .lead{
  max-width:790px;
  font-size:clamp(1.08rem,1.6vw,1.35rem);
}
.diagnostic-boundary{
  max-width:430px;
  justify-self:end;
}

/* When the result is active, reclaim the full container width. */
.health-check-shell:has(.health-result.active){
  grid-template-columns:minmax(0,1fr);
}
.health-check-shell:has(.health-result.active) .health-sidebar{
  display:none !important;
}
.health-check-shell:has(.health-result.active) .health-form{
  grid-column:1 / -1;
  width:100%;
}
.health-check-shell:has(.health-result.active) form{
  display:none;
}

/* Result page: clear hierarchy, stable card dimensions and no overlap. */
.health-result{
  width:100%;
  padding:clamp(30px,5vw,64px);
  overflow:hidden;
}
.result-header{
  grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  gap:clamp(28px,5vw,72px);
  align-items:center;
}
.result-header > div:first-child{
  min-width:0;
}
.result-header h2{
  max-width:800px;
  font-size:clamp(3rem,5.2vw,5.5rem);
  line-height:.92;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.result-note{
  max-width:720px;
  font-size:1rem;
}
.result-classification{
  width:100%;
  min-width:0;
  padding:28px;
  align-self:center;
  box-shadow:0 18px 50px rgba(45,32,14,.08);
}
.result-classification strong{
  font-size:clamp(1.75rem,2.5vw,2.5rem);
  line-height:1.04;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
.result-profile{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.result-domain{
  min-width:0;
  min-height:150px;
  padding:22px;
  display:flex;
  flex-direction:column;
}
.result-domain strong{
  font-size:clamp(1.25rem,1.8vw,1.65rem);
  overflow-wrap:anywhere;
}
.result-band{
  margin-top:auto;
}
.result-columns{
  gap:clamp(24px,4vw,52px);
}
.result-list h3{
  max-width:560px;
}
.result-list li{
  padding-right:8px;
}
.result-questions{
  padding:clamp(24px,4vw,40px);
}
.result-cta{
  padding:clamp(26px,4vw,42px);
}

/* Slightly more polished assessment canvas. */
.health-form{
  min-width:0;
}
.health-step-head h2{
  text-wrap:balance;
}
.health-question legend{
  max-width:920px;
}
.health-option label{
  hyphens:none;
  overflow-wrap:normal;
}

/* Tablet */
@media(max-width:1100px){
  .diagnostic-hero-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  .diagnostic-boundary{
    max-width:760px;
    justify-self:start;
  }
  .diagnostic-hero h1{
    max-width:920px;
    font-size:clamp(3.1rem,7vw,5rem);
  }
  .result-profile{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Mobile */
@media(max-width:760px){
  .diagnostic-hero{
    padding-top:48px;
  }
  .diagnostic-hero h1{
    font-size:clamp(2.65rem,11vw,3.45rem);
    line-height:.98;
    letter-spacing:-.04em;
  }
  .diagnostic-boundary{
    padding:22px;
  }
  .health-result{
    padding:26px 18px;
  }
  .result-header{
    grid-template-columns:1fr;
    gap:24px;
  }
  .result-header h2{
    font-size:clamp(2.65rem,11vw,3.75rem);
    line-height:.96;
  }
  .result-classification{
    max-width:none;
    padding:22px;
  }
  .result-profile{
    grid-template-columns:1fr;
  }
  .result-columns{
    grid-template-columns:1fr;
  }
  .result-domain{
    min-height:126px;
  }
}

.health-check-shell.result-mode{
  grid-template-columns:minmax(0,1fr);
}
.health-check-shell.result-mode .health-sidebar{
  display:none !important;
}
.health-check-shell.result-mode .health-form{
  grid-column:1 / -1;
  width:100%;
}
.health-check-shell.result-mode form{
  display:none;
}

.article-hero{background:radial-gradient(circle at 82% 15%,rgba(47,111,104,.12),transparent 28rem),linear-gradient(180deg,#f8f5ee,#eee7da)}
.article-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;margin-top:22px}
.article-body{max-width:820px;margin:auto}
.article-body .standfirst{font:clamp(1.45rem,2.6vw,2.2rem)/1.35 var(--serif);color:#3d3932;margin-bottom:42px}
.article-body h2{margin-top:50px;font-size:clamp(2rem,4vw,3.4rem)}
.article-body p{font-size:1.06rem;line-height:1.82;color:var(--muted)}
.article-end{margin-top:54px;padding:30px;border:1px solid var(--stone);background:#f6f0e5}

/* =========================================================
   V2.1 — ATLAS flagship research visual
   ========================================================= */
.atlas-flagship{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 16% 14%,rgba(47,111,104,.16),transparent 26rem),
    radial-gradient(circle at 84% 10%,rgba(115,80,111,.15),transparent 24rem),
    radial-gradient(circle at 52% 86%,rgba(167,122,43,.15),transparent 30rem),
    #151411;
  border:0;
}
.atlas-flagship:before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(to bottom,black,transparent 88%);
  pointer-events:none;
}
.atlas-flagship .page-hero-grid{align-items:center}
.atlas-flagship .page-hero-aside{
  border-color:rgba(247,244,238,.18)!important;
  background:rgba(255,255,255,.035);
  padding:28px;
  backdrop-filter:blur(10px);
}
.atlas-flagship .page-hero-aside p{color:rgba(247,244,238,.62)}
.atlas-status-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.atlas-status{
  display:inline-flex;align-items:center;gap:9px;
  padding:9px 12px;border:1px solid rgba(247,244,238,.14);
  color:rgba(247,244,238,.68);
  font-size:.65rem;letter-spacing:.11em;text-transform:uppercase;
}
.atlas-status i{
  width:8px;height:8px;border-radius:50%;
  background:var(--status,#b58a3a);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--status,#b58a3a) 15%,transparent);
}

.atlas-stage-section{background:#151411;padding-top:20px}
.atlas-stage-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);
  gap:70px;
  align-items:center;
}
.atlas-system{
  position:relative;
  min-height:680px;
  border:1px solid rgba(247,244,238,.18);
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 50%,rgba(181,138,58,.12),transparent 22rem),
    linear-gradient(135deg,rgba(47,111,104,.07),transparent 34%),
    linear-gradient(315deg,rgba(115,80,111,.07),transparent 34%),
    #191713;
  box-shadow:0 30px 80px rgba(0,0,0,.22);
  isolation:isolate;
}
.atlas-system:before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(rgba(247,244,238,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(247,244,238,.055) 1px,transparent 1px);
  background-size:52px 52px;
  opacity:.62;
}
.atlas-system:after{
  content:"";
  position:absolute;inset:-35%;
  background:conic-gradient(from 0deg,transparent 0 46%,rgba(181,138,58,.10) 49%,rgba(181,138,58,.32) 50%,transparent 51% 100%);
  animation:atlasScan 12s linear infinite;
  transform-origin:50% 50%;
  z-index:1;
  pointer-events:none;
}
@keyframes atlasScan{to{transform:rotate(360deg)}}
.atlas-orbit{
  position:absolute;left:50%;top:50%;
  border:1px solid rgba(202,162,88,.58);
  border-radius:50%;
  transform:translate(-50%,-50%);
  z-index:2;
}
.atlas-orbit.one{width:78%;aspect-ratio:1}
.atlas-orbit.two{width:57%;aspect-ratio:1;border-color:rgba(47,111,104,.55)}
.atlas-orbit.three{width:36%;aspect-ratio:1;border-color:rgba(115,80,111,.58)}
.atlas-orbit.one:before,.atlas-orbit.two:before,.atlas-orbit.three:before{
  content:"";
  position:absolute;inset:-7px;border-radius:50%;
  border:1px dashed rgba(247,244,238,.08);
}
.atlas-axis-x,.atlas-axis-y{position:absolute;z-index:2;background:rgba(247,244,238,.16)}
.atlas-axis-x{height:1px;left:6%;right:6%;top:50%}
.atlas-axis-y{width:1px;top:6%;bottom:6%;left:50%}
.atlas-core{
  position:absolute;left:50%;top:50%;
  width:180px;height:180px;border-radius:50%;
  transform:translate(-50%,-50%);
  display:grid;place-items:center;text-align:center;
  background:
    radial-gradient(circle at 38% 32%,rgba(255,255,255,.08),transparent 22%),
    linear-gradient(145deg,#262119,#0e0d0b);
  border:1px solid rgba(202,162,88,.48);
  box-shadow:0 0 0 20px rgba(181,138,58,.035),0 18px 45px rgba(0,0,0,.34);
  z-index:5;
}
.atlas-core:before{
  content:"";
  position:absolute;inset:16px;border-radius:50%;
  border:1px dashed rgba(247,244,238,.13);
  animation:atlasCoreSpin 22s linear infinite reverse;
}
@keyframes atlasCoreSpin{to{transform:rotate(360deg)}}
.atlas-core div{position:relative;z-index:2}
.atlas-core small{
  display:block;color:#c49a4f;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;margin-bottom:8px
}
.atlas-core strong{display:block;color:#fff;font:2.25rem/.9 var(--serif);font-weight:500}
.atlas-core span{
  display:block;margin-top:9px;color:rgba(247,244,238,.52);font-size:.57rem;letter-spacing:.14em;text-transform:uppercase
}
.atlas-node{
  --node:#b58a3a;
  position:absolute;z-index:7;
  width:18px;height:18px;border-radius:50%;
  border:2px solid var(--node);
  background:#f7f2e9;
  box-shadow:0 0 0 7px color-mix(in srgb,var(--node) 14%,transparent),0 0 24px color-mix(in srgb,var(--node) 38%,transparent);
  cursor:pointer;
  transition:.28s var(--ease);
}
.atlas-node:hover,.atlas-node:focus,.atlas-node.active{
  transform:scale(1.35);
  background:var(--node);
  outline:none;
}
.atlas-node:after{
  content:attr(data-code);
  position:absolute;
  white-space:nowrap;
  color:rgba(247,244,238,.76);
  font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;
}
.atlas-node.n1{left:49%;top:9%;--node:#b58a3a}
.atlas-node.n1:after{left:28px;top:1px}
.atlas-node.n2{right:11%;top:31%;--node:#2f6f68}
.atlas-node.n2:after{right:28px;top:1px}
.atlas-node.n3{right:20%;bottom:16%;--node:#73506f}
.atlas-node.n3:after{right:28px;top:1px}
.atlas-node.n4{left:47%;bottom:9%;--node:#a15f3b}
.atlas-node.n4:after{left:28px;top:1px}
.atlas-node.n5{left:12%;bottom:31%;--node:#6f7a42}
.atlas-node.n5:after{left:28px;top:1px}
.atlas-node.n6{left:18%;top:18%;--node:#4b628f}
.atlas-node.n6:after{left:28px;top:1px}
.atlas-signal{
  position:absolute;z-index:4;border-radius:50%;
  border:1px solid rgba(181,138,58,.34);
  animation:atlasPulse 4.2s ease-out infinite;
}
.atlas-signal.s1,.atlas-signal.s2,.atlas-signal.s3{
  width:260px;height:260px;left:50%;top:50%;transform:translate(-50%,-50%)
}
.atlas-signal.s2{animation-delay:1.4s}
.atlas-signal.s3{animation-delay:2.8s}
@keyframes atlasPulse{
  0%{opacity:.6;transform:translate(-50%,-50%) scale(.7)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(2.3)}
}
.atlas-system-label{
  position:absolute;z-index:8;left:24px;top:22px;
  color:#c8a96c;font:600 .63rem/1 monospace;letter-spacing:.14em;text-transform:uppercase
}
.atlas-system-version{
  position:absolute;z-index:8;right:24px;top:22px;
  color:rgba(247,244,238,.42);font:.6rem/1 monospace;letter-spacing:.12em
}
.atlas-system-foot{
  position:absolute;z-index:8;left:24px;bottom:22px;
  color:rgba(247,244,238,.58);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase
}
.atlas-detail{
  min-height:430px;
  padding:34px;
  border:1px solid rgba(247,244,238,.16);
  background:
    radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--atlas-active,#b58a3a) 28%,transparent),transparent 17rem),
    rgba(255,255,255,.035);
  backdrop-filter:blur(12px);
  transition:.35s var(--ease);
}
.atlas-detail .atlas-detail-code{
  color:var(--atlas-active,#b58a3a);
  font:700 .64rem/1 monospace;
  letter-spacing:.16em;text-transform:uppercase
}
.atlas-detail h3{
  font-size:clamp(2.6rem,4.5vw,4.8rem);
  line-height:.92;
  margin:24px 0 18px;
  color:#fff;
}
.atlas-detail p{color:rgba(247,244,238,.64);line-height:1.68}
.atlas-detail dl{margin:30px 0 0}
.atlas-detail dl div{
  display:grid;grid-template-columns:105px 1fr;gap:18px;
  padding:14px 0;border-top:1px solid rgba(247,244,238,.12)
}
.atlas-detail dt{color:rgba(247,244,238,.38);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}
.atlas-detail dd{margin:0;color:#fff;font-size:.82rem;line-height:1.45}
.atlas-detail-dots{display:flex;gap:9px;margin-top:28px}
.atlas-detail-dot{
  width:8px;height:8px;border-radius:50%;border:0;padding:0;
  background:rgba(247,244,238,.2);cursor:pointer
}
.atlas-detail-dot.active{
  background:var(--atlas-active,#b58a3a);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--atlas-active,#b58a3a) 15%,transparent)
}
.atlas-manifesto{
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:70px;align-items:end
}
.atlas-manifesto-number{
  font:clamp(8rem,18vw,17rem)/.65 var(--serif);
  color:rgba(181,138,58,.14);
  letter-spacing:-.08em;
}
.atlas-manifesto blockquote{
  margin:0;
  font:clamp(2.2rem,4.7vw,5rem)/1.02 var(--serif);
  color:var(--ink)
}
.atlas-manifesto blockquote span{color:#8a6426}
.atlas-research-cta{
  display:flex;justify-content:space-between;align-items:center;gap:30px;
  padding:28px 0;border-top:1px solid rgba(247,244,238,.15);
  margin-top:38px
}
.atlas-research-cta p{margin:0;color:rgba(247,244,238,.58);max-width:650px}
@media(max-width:1050px){
  .atlas-stage-grid{grid-template-columns:1fr}
  .atlas-detail{min-height:auto}
  .atlas-manifesto{grid-template-columns:1fr}
}
@media(max-width:720px){
  .atlas-flagship .page-hero-aside{padding:22px}
  .atlas-system{min-height:520px;margin-inline:-10px}
  .atlas-core{width:140px;height:140px}
  .atlas-core strong{font-size:1.8rem}
  .atlas-node:after{display:none}
  .atlas-detail{padding:26px 22px}
  .atlas-detail dl div{grid-template-columns:1fr;gap:6px}
  .atlas-research-cta{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  .atlas-system:after,.atlas-core:before,.atlas-signal{animation:none!important}
}

/* =========================================================
   V2.4 — Complete showcase visuals and collision-free panels
   ========================================================= */

/* Executive KPI dashboard: a complete miniature decision interface. */
.decision-dashboard{
  min-height:420px;
  background:
    radial-gradient(circle at 90% 5%,rgba(47,111,104,.10),transparent 18rem),
    #eae4d9;
  padding:18px;
  display:grid;
  grid-template-rows:auto auto minmax(190px,1fr) auto;
  gap:12px;
}
.decision-dashboard-head{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:4px 2px 9px;border-bottom:1px solid rgba(23,22,20,.14)
}
.decision-dashboard-head div span,
.decision-dashboard-head small{
  display:block;color:var(--muted);font-size:.54rem;letter-spacing:.11em;text-transform:uppercase
}
.decision-dashboard-head div strong{
  display:block;font:1.2rem/1.1 var(--serif);margin-top:4px
}
.decision-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.decision-kpi{
  position:relative;overflow:hidden;background:#fbf8f2;border:1px solid var(--stone);
  padding:12px 13px 13px
}
.decision-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--kpi,#a77a2b)}
.decision-kpi.cash{--kpi:#2f6f68}.decision-kpi.margin{--kpi:#a15f3b}.decision-kpi.forecast{--kpi:#4b628f}
.decision-kpi span{display:block;color:var(--muted);font-size:.53rem;text-transform:uppercase;letter-spacing:.08em}
.decision-kpi strong{display:block;font:1.55rem/1 var(--serif);margin:8px 0 6px}
.decision-kpi small{display:block;color:var(--kpi);font-size:.55rem}
.decision-dashboard-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(145px,.65fr);gap:10px;min-height:0}
.decision-chart,.decision-priorities{background:#fbf8f2;border:1px solid var(--stone);min-width:0}
.decision-chart{padding:12px}
.decision-chart-title{display:flex;justify-content:space-between;gap:12px;align-items:center}
.decision-chart-title span{font-size:.68rem;font-weight:700}
.decision-chart-title small{font-size:.48rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.decision-chart svg{display:block;width:100%;height:calc(100% - 22px);min-height:150px}
.decision-grid-lines line{stroke:rgba(23,22,20,.09);stroke-width:1}
.decision-area{fill:url(#cashArea)}
.decision-line{fill:none;stroke-width:4;stroke-linecap:round}
.decision-line.actual{stroke:#2f6f68}
.decision-line.forecast-line{stroke:#a77a2b;stroke-dasharray:9 7}
.decision-line.downside{stroke:#a15f3b;stroke-width:2.5;stroke-dasharray:4 6}
.decision-marker{fill:#fbf8f2;stroke:#2f6f68;stroke-width:4}
.decision-priorities{padding:13px}
.decision-priorities-label{display:block;font-size:.54rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}
.decision-priorities>div{display:grid;grid-template-columns:8px 1fr;gap:8px;padding:9px 0;border-top:1px solid var(--stone)}
.decision-priorities i{width:7px;height:7px;border-radius:50%;margin-top:3px;background:#a77a2b}
.decision-priorities i.high{background:#a15f3b}.decision-priorities i.watch{background:#a77a2b}.decision-priorities i.good{background:#2f6f68}
.decision-priorities p{margin:0}.decision-priorities strong{display:block;font-size:.62rem}
.decision-priorities small{display:block;color:var(--muted);font-size:.51rem;line-height:1.35;margin-top:3px}
.decision-footer{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;
  padding:10px 12px;background:#171614;color:#fff
}
.decision-footer span{font-size:.5rem;letter-spacing:.11em;text-transform:uppercase;color:#d0b77f}
.decision-footer strong{font-size:.62rem;font-weight:600}
.decision-footer b{font:1.1rem/1 var(--serif);color:#d0b77f}

/* Board pack: actual decision content rather than placeholder stationery. */
.board-pack-preview{
  min-height:265px;
  background:
    radial-gradient(circle at 92% 8%,rgba(115,80,111,.08),transparent 13rem),
    #f3ede3;
  padding:18px;
  display:grid;grid-template-rows:auto auto 1fr auto;gap:12px
}
.board-pack-top,.board-pack-foot{display:flex;justify-content:space-between;gap:14px;align-items:center}
.board-pack-top{padding-bottom:9px;border-bottom:1px solid rgba(23,22,20,.15)}
.board-pack-top span,.board-pack-top b,.board-pack-foot span{
  font-size:.48rem;letter-spacing:.11em;text-transform:uppercase
}
.board-pack-top b{color:#8b3f31}
.board-pack-title small{display:block;color:var(--muted);font-size:.5rem;letter-spacing:.09em;text-transform:uppercase}
.board-pack-title strong{display:block;font:1.1rem/1.12 var(--serif);margin-top:5px;max-width:90%}
.board-pack-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:10px;min-height:0}
.board-pack-decision,.board-pack-evidence{background:#fbf8f2;border:1px solid var(--stone);padding:12px}
.board-pack-decision>span,.board-pack-evidence>span{display:block;color:var(--muted);font-size:.48rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px}
.board-pack-decision p{font-size:.58rem;line-height:1.45;margin:0}
.board-pack-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:11px}
.board-pack-tags i{font-style:normal;font-size:.43rem;padding:5px 6px;background:#ede4d5;color:#704f18}
.board-pack-evidence>div{padding:6px 0;border-top:1px solid var(--stone)}
.board-pack-evidence small{display:block;font-size:.48rem;margin-bottom:5px}
.board-pack-evidence b{display:block;height:4px;background:#ded6c9;position:relative}
.board-pack-evidence b:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--evidence);background:linear-gradient(90deg,#2f6f68,#a77a2b)}
.board-pack-foot{padding-top:8px;border-top:1px solid rgba(23,22,20,.14);color:var(--muted)}

/* Homepage gets the same ATLAS visual language as the flagship page. */
.atlas-system-home{
  min-height:570px;
  width:100%;
}
.atlas-system-home .atlas-core{width:150px;height:150px}
.atlas-system-home .atlas-core strong{font-size:2rem}
.atlas-system-home .atlas-node{pointer-events:none}
.atlas-system-home .atlas-node:after{font-size:.52rem}
.atlas-system-home .atlas-system-foot{max-width:78%;line-height:1.5}

/* The Executive Compass page's active domain now owns a separate row. */
.ecx-float-dedicated{
  position:relative;
  inset:auto;
  width:min(860px,94%);
  margin:-18px auto 22px;
  padding:22px 26px;
  display:grid;
  grid-template-columns:minmax(180px,.8fr) minmax(260px,1.35fr) auto;
  grid-template-areas:"identity copy score";
  align-items:center;
  gap:26px;
  z-index:8;
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(245,238,225,.95));
  border:1px solid color-mix(in srgb,var(--ecx-active) 42%,var(--stone));
  box-shadow:0 22px 58px rgba(45,32,14,.15);
  backdrop-filter:blur(16px)
}
.ecx-float-dedicated:before{display:none}
.ecx-float-dedicated .ecx-domain-identity{grid-area:identity;min-width:0}
.ecx-float-dedicated .ecx-domain-identity small{display:block;color:var(--ecx-active);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800}
.ecx-float-dedicated .ecx-domain-identity h3{font:2rem/1 var(--serif);margin:8px 0 0;overflow-wrap:anywhere}
.ecx-float-dedicated>p{
  grid-area:copy;margin:0;padding-left:24px;
  border-left:1px solid color-mix(in srgb,var(--ecx-active) 34%,transparent);
  color:var(--muted);font-size:.83rem;line-height:1.55
}
.ecx-float-dedicated .ecx-float-score{
  grid-area:score;margin:0;min-width:132px;
  display:flex;align-items:flex-end;gap:9px
}
.ecx-float-dedicated .ecx-float-score strong{font:4rem/.82 var(--serif)}
.ecx-float-dedicated .ecx-float-score span{padding-bottom:6px;font-size:.55rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ecx-active)}
.ecx-float-dedicated + .ecx-controls{margin-top:0}

/* Tablet/mobile hardening. */
@media(max-width:900px){
  .decision-dashboard-body{grid-template-columns:1fr}
  .decision-priorities{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .decision-priorities-label{grid-column:1/-1}
  .decision-priorities>div{border:1px solid var(--stone);padding:9px}
  .atlas-system-home{min-height:600px}
  .ecx-float-dedicated{
    grid-template-columns:1fr auto;
    grid-template-areas:"identity score" "copy copy";
    gap:14px 20px
  }
  .ecx-float-dedicated>p{padding:15px 0 0;border-left:0;border-top:1px solid color-mix(in srgb,var(--ecx-active) 34%,transparent)}
}
@media(max-width:640px){
  .decision-dashboard{min-height:0;padding:12px}
  .decision-dashboard-head{align-items:flex-start}
  .decision-kpis{grid-template-columns:1fr}
  .decision-dashboard-body{grid-template-columns:1fr}
  .decision-priorities{grid-template-columns:1fr}
  .decision-footer{grid-template-columns:1fr auto}
  .decision-footer span{grid-column:1/-1}
  .board-pack-preview{min-height:0;padding:14px}
  .board-pack-grid{grid-template-columns:1fr}
  .atlas-system-home{min-height:500px;margin-inline:-8px;width:calc(100% + 16px)}
  .atlas-system-home .atlas-core{width:132px;height:132px}
  .atlas-system-home .atlas-core strong{font-size:1.7rem}
  .atlas-system-home .atlas-node:after{display:none}
  .ecx-float-dedicated{
    width:calc(100% - 24px);margin:-2px 12px 18px;padding:18px;
    grid-template-columns:1fr auto
  }
  .ecx-float-dedicated .ecx-domain-identity h3{font-size:1.55rem}
  .ecx-float-dedicated .ecx-float-score{min-width:92px}
  .ecx-float-dedicated .ecx-float-score strong{font-size:3.25rem}
}

/* =========================================================
   V2.5 — populated Executive KPI dashboard
   ========================================================= */
.kpi-work-card{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.kpi-work-card-copy{
  order:0;
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:flex-end;
  padding:27px 28px;
  background:#fbf8f2;
}
.kpi-work-card-copy h3{
  margin:7px 0 10px;
}
.kpi-work-card-copy p{
  max-width:650px;
}
.kpi-demo-label,
.kpi-demo-period{
  display:block;
  color:#8a6426;
  font-size:.56rem;
  font-weight:750;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.kpi-demo-period{
  color:var(--muted);
  white-space:nowrap;
  padding-bottom:4px;
}
.kpi-showcase{
  order:1;
  display:grid;
  gap:13px;
  padding:19px;
  min-height:540px;
  background:
    radial-gradient(circle at 92% 4%,rgba(47,111,104,.12),transparent 23rem),
    linear-gradient(145deg,#e9e2d6,#f2ece2);
  border-top:1px solid var(--stone);
}
.kpi-showcase-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:3px 3px 11px;
  border-bottom:1px solid rgba(23,22,20,.16);
}
.kpi-showcase-top small,
.kpi-panel-head small,
.kpi-showcase-bottom small{
  display:block;
  color:var(--muted);
  font-size:.52rem;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.kpi-showcase-top strong{
  display:block;
  margin-top:4px;
  font:1.24rem/1.05 var(--serif);
}
.kpi-status{
  display:flex;
  align-items:center;
  gap:8px;
  color:#2f6f68;
  font-size:.55rem;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.kpi-status i{
  width:8px;height:8px;border-radius:50%;
  background:#2f6f68;
  box-shadow:0 0 0 5px rgba(47,111,104,.12);
}
.kpi-showcase-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.kpi-showcase-metrics article{
  position:relative;
  overflow:hidden;
  padding:13px 14px 14px;
  background:#fbf8f2;
  border:1px solid var(--stone);
}
.kpi-showcase-metrics article:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:4px;
  background:var(--metric-colour);
}
.kpi-showcase-metrics span{
  display:block;
  color:var(--muted);
  font-size:.5rem;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.kpi-showcase-metrics strong{
  display:block;
  margin:8px 0 5px;
  font:1.62rem/1 var(--serif);
}
.kpi-showcase-metrics small{
  display:block;
  color:var(--metric-colour);
  font-size:.52rem;
}
.kpi-showcase-main{
  display:grid;
  grid-template-columns:minmax(0,1.42fr) minmax(190px,.58fr);
  gap:11px;
  min-height:285px;
}
.kpi-trajectory,
.kpi-attention{
  min-width:0;
  background:#fbf8f2;
  border:1px solid var(--stone);
}
.kpi-trajectory{
  padding:14px 15px 7px;
}
.kpi-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:4px;
}
.kpi-panel-head strong{
  display:block;
  margin-top:4px;
  font-size:.7rem;
}
.kpi-chart-legend{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.kpi-chart-legend span{
  display:flex;
  align-items:center;
  gap:5px;
  color:var(--muted);
  font-size:.48rem;
}
.kpi-chart-legend i{
  width:12px;height:3px;
  background:#2f6f68;
}
.kpi-chart-legend i.forecast{
  background:#a77a2b;
}
.kpi-chart-legend i.downside{
  background:#a15f3b;
}
.kpi-trajectory svg{
  display:block;
  width:100%;
  height:235px;
}
.kpi-grid line{
  stroke:rgba(23,22,20,.09);
  stroke-width:1;
}
.kpi-axis-labels text{
  fill:#8a857c;
  font-size:10px;
  letter-spacing:1px;
}
.kpi-area{
  fill:url(#kpiArea25);
}
.kpi-line{
  fill:none;
  stroke-linecap:round;
  stroke-width:4;
}
.kpi-line-actual{
  stroke:#2f6f68;
}
.kpi-line-forecast{
  stroke:#a77a2b;
  stroke-dasharray:10 8;
}
.kpi-line-downside{
  stroke:#a15f3b;
  stroke-width:2.5;
  stroke-dasharray:5 7;
}
.kpi-now{
  stroke:rgba(23,22,20,.2);
  stroke-width:1;
  stroke-dasharray:4 5;
}
.kpi-now-point{
  fill:#fbf8f2;
  stroke:#2f6f68;
  stroke-width:4;
}
.kpi-now-label{
  fill:#2f6f68;
  font-size:10px;
  font-weight:800;
  letter-spacing:1px;
}
.kpi-attention{
  padding:14px;
}
.kpi-attention-item{
  display:grid;
  grid-template-columns:9px minmax(0,1fr);
  gap:9px;
  padding:12px 0;
  border-top:1px solid var(--stone);
}
.kpi-attention-item>i{
  width:8px;height:8px;border-radius:50%;
  margin-top:3px;
}
.kpi-attention-item.critical>i{background:#a15f3b}
.kpi-attention-item.watch>i{background:#a77a2b}
.kpi-attention-item.stable>i{background:#2f6f68}
.kpi-attention-item strong{
  display:block;
  font-size:.62rem;
}
.kpi-attention-item p{
  margin:4px 0;
  color:var(--muted);
  font-size:.54rem;
  line-height:1.42;
}
.kpi-attention-item small{
  display:block;
  color:#8a857c;
  font-size:.47rem;
}
.kpi-showcase-bottom{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:12px 14px;
  background:#171614;
  color:#fff;
}
.kpi-showcase-bottom strong{
  display:block;
  margin-top:4px;
  font-size:.68rem;
}
.kpi-showcase-bottom small{
  color:#d5b878;
}
.kpi-decision-clock{
  min-width:78px;
  padding-left:15px;
  border-left:1px solid rgba(255,255,255,.18);
  text-align:right;
}
.kpi-decision-clock span{
  display:block;
  color:rgba(255,255,255,.5);
  font-size:.45rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.kpi-decision-clock strong{
  color:#d5b878;
  font:1.35rem/1 var(--serif);
}

@media(max-width:900px){
  .kpi-work-card-copy{
    align-items:flex-start;
  }
  .kpi-showcase-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .kpi-showcase-main{
    grid-template-columns:1fr;
  }
  .kpi-attention{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
  }
  .kpi-attention .kpi-panel-head{
    grid-column:1/-1;
  }
  .kpi-attention-item{
    border:1px solid var(--stone);
    padding:11px;
  }
}
@media(max-width:640px){
  .kpi-work-card-copy{
    display:block;
    padding:22px 20px;
  }
  .kpi-demo-period{
    margin-top:14px;
    white-space:normal;
  }
  .kpi-showcase{
    min-height:0;
    padding:12px;
  }
  .kpi-showcase-top{
    align-items:flex-start;
  }
  .kpi-showcase-metrics{
    grid-template-columns:1fr 1fr;
  }
  .kpi-panel-head{
    display:block;
  }
  .kpi-chart-legend{
    justify-content:flex-start;
    margin-top:9px;
  }
  .kpi-trajectory svg{
    height:200px;
  }
  .kpi-attention{
    grid-template-columns:1fr;
  }
  .kpi-attention .kpi-panel-head{
    grid-column:auto;
  }
  .kpi-showcase-bottom{
    grid-template-columns:1fr auto;
  }
}

/* =========================================================
   V2.6 — interactive homepage ATLAS controls
   ========================================================= */
.atlas-system-home .atlas-node{
  pointer-events:auto;
  appearance:none;
  padding:0;
}
.atlas-system-home .atlas-node:focus-visible{
  outline:2px solid #f7f2e9;
  outline-offset:6px;
}
.atlas-system-home .atlas-core strong,
.atlas-system-home .atlas-core small,
.atlas-system-home .atlas-core span{
  transition:opacity .2s ease, transform .25s ease;
}
.atlas-system-home .atlas-node.active{
  transform:scale(1.38);
  background:var(--node);
}
.atlas-system-home .atlas-node.active:after{
  color:#fff;
}
@media(max-width:640px){
  .atlas-system-home .atlas-node{
    width:20px;
    height:20px;
  }
}
