:root{--rust:#b3452c;--rust-deep:#8f3620;--sand:#eccb92}

/* ---------- hero ---------- */
.hero-results{background:var(--navy);color:#fff;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,60px);padding:clamp(55px,7vw,100px) clamp(25px,5.5vw,88px);overflow:hidden;position:relative}
.hero-results:after{content:"";position:absolute;width:340px;height:340px;border:1px solid #ffffff18;border-radius:50%;right:-160px;top:-60px}
.hero-main{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center}
.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:900;color:var(--teal);margin:0 0 18px}
.hero-results .eyebrow,.index-section .eyebrow,.cta .eyebrow{color:#c9e2de}
.hero-main h1{font-size:clamp(44px,5.6vw,80px);line-height:.98;letter-spacing:-.055em;margin:0 0 22px;font-weight:900}
.hero-main h1 em{color:var(--gold);font-style:normal}
.dek{font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:#d0e1e0;max-width:560px;margin:0 0 30px}
.hero-button{display:inline-flex;align-items:center;gap:14px;background:var(--gold);color:var(--navy);padding:17px 22px;text-decoration:none;font-weight:950;font-size:15px;width:fit-content;transition:.2s}
.hero-button:hover{transform:translateX(6px);background:#f0bd56}
.hero-scoreboard{position:relative;z-index:1;background:#fff;color:var(--navy);padding:clamp(26px,3vw,38px);align-self:center;box-shadow:0 26px 70px #042d3266}
.scoreboard-label{text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--teal);margin:0 0 18px}
.before-after{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:22px}
.before-after>div{display:flex;flex-direction:column;gap:4px}
.before-after span{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#7c8f92}
.before-after strong{font-size:clamp(38px,4vw,54px);line-height:1;letter-spacing:-.05em}
.before-after small{font-weight:800;color:#5c7175}
.before-after b{font-size:20px;color:var(--teal);text-align:center}
.before-after i{display:block;height:5px;background:var(--line);margin-top:6px;position:relative;overflow:hidden}
.before-after i:before{content:"";position:absolute;inset:0;background:var(--teal);width:inherit}
.before-after .after strong{color:var(--teal)}
.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}
.hero-proof div{border-top:4px solid var(--gold);padding-top:10px}
.hero-proof strong{display:block;font-size:26px;letter-spacing:-.03em;line-height:1}
.hero-proof span{display:block;font-size:12px;color:#62777a;margin-top:4px;line-height:1.3}
.hero-principle{background:var(--cream);padding:16px 18px;display:flex;flex-direction:column;gap:4px}
.hero-principle span{font-size:11px;font-weight:900;letter-spacing:.14em;color:var(--teal)}
.hero-principle p{margin:0;font-size:15px;line-height:1.4}
.scroll-invite{position:relative;z-index:1;grid-column:1/-1;justify-self:start;margin-top:10px;color:#c9e2de;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:8px}

/* ---------- shared section heading ---------- */
.section{padding:100px clamp(25px,7vw,110px)}
.section-heading{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(30px,6vw,90px);align-items:start;margin-bottom:56px}
.section-heading h2{font-size:clamp(38px,4.6vw,64px);line-height:.98;letter-spacing:-.05em;margin:14px 0 0}
.section-heading>p{font-size:18px;color:#5c7175;line-height:1.6;max-width:620px;margin:0;align-self:end}

/* ---------- journey ---------- */
.journey{background:var(--paper)}
.impact-banner{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--navy);border-bottom:2px solid var(--navy);margin-bottom:60px}
.impact-banner div{padding:26px 24px;border-right:1px solid var(--line)}
.impact-banner div:last-child{border-right:0}
.impact-banner span{display:block;text-transform:uppercase;font-size:12px;letter-spacing:.1em;font-weight:900;color:var(--teal)}
.impact-banner strong{display:block;font-size:clamp(34px,3.6vw,52px);letter-spacing:-.04em;margin:14px 0 6px}
.impact-banner small{color:#66797d;font-weight:700}

.pilot-story{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(24px,4vw,50px);background:var(--navy);color:#fff;padding:clamp(30px,4vw,48px);align-items:center;margin-bottom:34px}
.pilot-date{text-align:center;padding-right:clamp(24px,4vw,50px);border-right:1px solid #ffffff30}
.pilot-date span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#c9e2de}
.pilot-date strong{display:block;font-size:34px;letter-spacing:-.02em;color:var(--gold);margin:6px 0}
.mini-label{text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--gold);margin:0 0 10px}
.pilot-copy h3{font-size:clamp(22px,2.2vw,30px);line-height:1.15;margin:0 0 12px;letter-spacing:-.02em}
.pilot-copy>p{color:#d0e1e0;font-size:16px;line-height:1.55;max-width:640px;margin:0 0 22px}
.pilot-numbers{display:flex;gap:clamp(24px,4vw,50px);flex-wrap:wrap}
.pilot-numbers strong{display:block;font-size:32px;color:var(--gold);letter-spacing:-.03em}
.pilot-numbers span{font-size:13px;color:#c6dad8}
.closure-seal{text-align:center;background:var(--gold);color:var(--navy);padding:18px 22px;white-space:nowrap}
.closure-seal span{display:block;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.closure-seal strong{display:block;font-size:18px;line-height:1.15;margin:6px 0}
.closure-seal small{font-size:11px;font-weight:800}

.journey-connector{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 34px;flex-wrap:wrap}
.journey-connector span{font-size:11px;font-weight:900;letter-spacing:.14em;color:var(--teal);border:1px solid var(--line);padding:8px 16px}
.journey-connector i{font-style:normal;color:#9db0ae}

.milestone-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-bottom:34px}
.milestone-grid>article{padding:28px 26px;border-right:1px solid var(--line)}
.milestone-grid>article:last-child{border-right:0}
.milestone-year{font-size:34px;font-weight:900;letter-spacing:-.04em;color:var(--ink)}
.milestone-tag{display:inline-block;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.1em;color:var(--teal);margin:6px 0 14px}
.milestone-grid h3{font-size:19px;margin:0 0 10px;letter-spacing:-.01em}
.milestone-grid p{color:#5c7175;font-size:14.5px;line-height:1.5;margin:0 0 18px}
.number-punch{border-top:3px solid var(--gold);padding-top:12px}
.number-punch strong{display:block;font-size:26px;letter-spacing:-.03em}
.number-punch span{font-size:12.5px;color:#66797d;line-height:1.4}
.now-card{background:var(--mint)}
.now-numbers{display:flex;gap:20px}
.now-numbers b{display:block;font-size:26px;color:var(--teal);letter-spacing:-.03em}
.now-numbers small{display:block;font-size:11px;color:#4a6a67;font-weight:700}

.closure-outcome{display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--cream);padding:26px 28px;margin-bottom:34px;flex-wrap:wrap}
.closure-outcome>div{display:flex;gap:16px;align-items:flex-start;max-width:640px}
.outcome-check{background:var(--teal);color:#fff;width:28px;height:28px;flex:none;display:grid;place-items:center;font-weight:900}
.closure-outcome p{margin:0;line-height:1.5}
.closure-outcome aside{text-align:right;white-space:nowrap}
.closure-outcome aside strong{display:block;font-size:26px;color:var(--teal);letter-spacing:-.03em}
.closure-outcome aside span{font-size:12.5px;color:#66797d}

.current-snapshot{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.snapshot-numbers{display:flex;gap:24px}
.snapshot-numbers b{display:block;font-size:30px;letter-spacing:-.03em;color:var(--ink)}
.snapshot-numbers b small{display:block;font-size:11px;font-weight:700;color:#66797d;margin-top:4px;line-height:1.3}
.snapshot-numbers.risk b:nth-child(1){color:var(--rust)}
.snapshot-numbers.risk b:nth-child(2){color:var(--gold)}
.snapshot-numbers.risk b:nth-child(3){color:var(--teal)}
.method-note{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);color:#66797d;font-size:14px;line-height:1.6;max-width:900px}

/* ---------- allen index tool ---------- */
.index-section{background:var(--navy);color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,90px)}
.index-section .eyebrow{margin-bottom:16px}
.index-copy h2{font-size:clamp(34px,4vw,54px);line-height:1;letter-spacing:-.05em;margin:0 0 20px}
.index-lead{font-size:19px;color:#d0e1e0;line-height:1.55;margin:0 0 26px}
.index-lead b{color:var(--gold)}
.index-rule{border-top:1px solid #ffffff30;padding-top:16px;margin-bottom:26px}
.index-rule strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin-bottom:8px}
.index-rule p{margin:0;color:#c6dad8;font-size:15px;line-height:1.5}
.domain-list{display:flex;flex-direction:column;gap:0;border-top:1px solid #ffffff25;margin-bottom:26px}
.domain-list>div{display:grid;grid-template-columns:32px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid #ffffff25}
.domain-list b{color:var(--gold);font-weight:900}
.domain-list strong{display:block;font-size:15px}
.domain-list small{color:#bcd0cf;font-size:13px}
.text-link{color:var(--gold);font-weight:900;text-decoration:none;font-size:14px}

.score-tool{background:#fff;color:var(--navy);padding:clamp(28px,3.4vw,40px);align-self:center}
.score-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.score-head span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#7c8f92}
.score-head strong{font-size:44px;letter-spacing:-.04em;transition:color .2s}
.score-tool input[type=range]{width:100%;margin:10px 0 8px;accent-color:var(--teal)}
.bands{display:flex;justify-content:space-between;font-size:11px;font-weight:900;letter-spacing:.06em;color:#7c8f92;text-transform:uppercase;margin-bottom:22px}
.score-result{border:2px solid var(--teal);border-left-width:6px;padding:20px 22px;transition:border-color .2s}
.score-result p{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#7c8f92}
.score-result h3{margin:6px 0 10px;font-size:26px;letter-spacing:-.02em;transition:color .2s}
.score-result>p+p{text-transform:none;font-weight:400;font-size:15px;color:#4a5c5f;letter-spacing:0}
.likely-response{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.likely-response span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#7c8f92}
.likely-response b{font-weight:900}
.caveat{margin:16px 0 0;font-size:13px;color:#7c8f92;line-height:1.5}

/* ---------- decision matrix ---------- */
.decision-section{background:var(--cream)}
.matrix-key{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:22px;font-size:13px;font-weight:700;color:#5c7175}
.matrix-key span{display:flex;align-items:center;gap:8px}
.key-dot{width:11px;height:11px;border-radius:50%;display:inline-block}
.key-dot.default{background:var(--teal)}
.key-dot.possible{background:var(--gold)}
.key-dot.no{background:#c8d3d1;border:1px solid #a9bab7}
.response-matrix{border-top:2px solid var(--navy);margin-bottom:44px}
.matrix-row{display:grid;grid-template-columns:1.1fr repeat(4,1fr);border-bottom:1px solid var(--line)}
.matrix-head{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#5c7175;background:transparent}
.matrix-head>div{padding:14px 16px}
.matrix-level{padding:22px 16px;display:flex;flex-direction:column;justify-content:center;border-left:5px solid transparent}
.matrix-level strong{font-size:18px;letter-spacing:-.01em}
.matrix-level span{font-size:12px;color:#66797d}
.matrix-row.low .matrix-level{border-left-color:var(--teal)}
.matrix-row.medium .matrix-level{border-left-color:var(--sand)}
.matrix-row.high .matrix-level{border-left-color:var(--gold)}
.matrix-row.critical .matrix-level{border-left-color:var(--rust)}
.matrix-cell{padding:22px 16px;display:flex;flex-direction:column;justify-content:center;gap:6px;border-left:1px solid var(--line)}
.matrix-cell b{font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.matrix-cell span{font-size:14px}
.matrix-cell.primary b{color:var(--teal)}
.matrix-cell.primary span{color:var(--teal)}
.matrix-cell.possible b{color:#a3822f}
.matrix-cell.possible span{color:var(--gold)}
.matrix-cell.none b,.matrix-cell.none span{color:#a9bab7}
.matrix-explainers{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:44px}
.matrix-explainers article{display:grid;grid-template-columns:30px 1fr;gap:12px}
.ex-number{font-weight:900;color:var(--teal);font-size:15px}
.matrix-explainers h3{font-size:16px;margin:0 0 6px}
.matrix-explainers p{margin:0;font-size:14px;color:#5c7175;line-height:1.5}
.critical-strategy{background:var(--navy);color:#fff;padding:clamp(30px,4vw,46px);display:grid;grid-template-columns:1fr 1fr;gap:40px}
.critical-strategy h3{font-size:24px;margin:8px 0 12px;letter-spacing:-.02em}
.critical-strategy>div>p{color:#d0e1e0;line-height:1.55}
.critical-strategy>div>p b{color:var(--gold)}
.critical-path{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.critical-path span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#c9e2de}
.critical-path strong{color:var(--rust);background:#fff;padding:8px 12px;font-size:13px}
.critical-path em{font-style:normal;color:#9db0ae;font-size:12px}
.critical-strategy ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.critical-strategy li{font-size:14px;color:#d0e1e0;padding-left:18px;position:relative}
.critical-strategy li:before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;background:var(--gold)}

/* ---------- responses ---------- */
.action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.action{padding:26px 22px;border-top:5px solid var(--line);background:var(--paper)}
.action-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}
.action-top span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#66797d;max-width:80px;line-height:1.3}
.action-top strong{font-size:40px;letter-spacing:-.04em}
.action h3{font-size:18px;margin:0 0 10px}
.action p{color:#5c7175;font-size:14px;line-height:1.5;margin:0 0 18px}
.action footer{background:none;color:inherit;padding:0;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;font-size:12px}
.action footer span{color:#7c8f92;font-weight:700}
.action footer b{font-weight:900}
.action.red{border-top-color:var(--rust)}
.action.red .action-top strong{color:var(--rust)}
.action.amber{border-top-color:var(--gold)}
.action.amber .action-top strong{color:#a3822f}
.action.blue{border-top-color:var(--teal)}
.action.blue .action-top strong{color:var(--teal)}
.action.green{border-top-color:#3f7a68}
.action.green .action-top strong{color:#3f7a68}
.pending-note{margin-top:22px;font-size:13px;color:#7c8f92}

/* ---------- process ---------- */
.process ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.process li{display:grid;grid-template-columns:50px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}
.process li>span{font-weight:900;font-size:22px;color:var(--teal)}
.process h3{font-size:19px;margin:0 0 6px}
.process p{margin:0;color:#5c7175;line-height:1.5}

/* ---------- 311 report strip ---------- */
.report-strip{background:var(--mint);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,70px);align-items:center}
.report-strip h2{font-size:clamp(30px,3.4vw,44px);line-height:1.1;letter-spacing:-.03em;margin:12px 0 0}
.report-total{grid-column:1;text-align:left}
.report-total strong{display:block;font-size:clamp(48px,5vw,72px);letter-spacing:-.04em;color:var(--teal)}
.report-total span{font-size:14px;color:#3f5c58}
.report-split{display:grid;grid-template-columns:1fr 1fr;gap:20px;grid-column:2;grid-row:1/3}
.report-split article{background:#fff;padding:22px}
.report-split strong{display:block;font-size:32px;letter-spacing:-.03em;color:var(--navy)}
.report-split span{font-size:12px;font-weight:800;color:#5c7175}
.report-split p{margin:8px 0 0;font-size:13.5px;line-height:1.4;color:#3f5c58}
.report-note{grid-column:1;font-size:13px;color:#3f5c58;margin:0}

/* ---------- final cta ---------- */
.cta{text-align:center;padding:120px 25px;background:linear-gradient(145deg,#0a3f4b,var(--teal));color:#fff}
.cta .eyebrow{color:var(--gold);justify-content:center;display:flex}
.cta h2{font-size:clamp(32px,4.2vw,54px);line-height:1.1;letter-spacing:-.03em;margin:14px 0 18px}
.cta p{max-width:620px;margin:0 auto 30px;color:#d0e1e0;line-height:1.6}
.cta a{display:inline-flex;align-items:center;gap:16px;background:var(--gold);color:var(--navy);padding:19px 26px;text-decoration:none;font-weight:950}

@media(max-width:950px){
.hero-results{grid-template-columns:1fr}
.section-heading{grid-template-columns:1fr}
.impact-banner,.milestone-grid{grid-template-columns:1fr}
.impact-banner div,.milestone-grid>article{border-right:0;border-bottom:1px solid var(--line)}
.pilot-story{grid-template-columns:1fr}
.pilot-date{border-right:0;border-bottom:1px solid #ffffff30;padding:0 0 20px}
.index-section{grid-template-columns:1fr}
.matrix-row{grid-template-columns:1fr}
.matrix-cell{border-left:0;border-top:1px solid var(--line)}
.matrix-explainers{grid-template-columns:1fr}
.critical-strategy{grid-template-columns:1fr}
.action-grid{grid-template-columns:1fr 1fr}
.report-strip{grid-template-columns:1fr}
.report-split{grid-column:1;grid-row:auto}
.current-snapshot{grid-template-columns:1fr}
}
@media(max-width:600px){
.section{padding:70px 20px}
.action-grid{grid-template-columns:1fr}
.hero-proof{grid-template-columns:1fr 1fr}
.before-after{grid-template-columns:1fr auto}
}
