:root {
  --ink: #11191c;
  --ink-2: #1b2528;
  --paper: #fbfaf6;
  --canvas: #eeeee8;
  --surface: #f5f5f0;
  --line: #c9cbc4;
  --line-dark: #344044;
  --muted: #5f6b6f;
  --steel: #3f6570;
  --lime: #dfff38;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--canvas); color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
button, input { font: inherit; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
em { color: var(--steel); font-style: normal; }
main { overflow: hidden; }

/* Header */
.site-header { min-height: 76px; padding: 12px clamp(22px,4vw,72px); display: grid; grid-template-columns: 1.5fr auto 1fr; gap: 32px; align-items: center; background: rgba(251,250,246,.96); border-bottom: 1px solid var(--line); position: relative; z-index: 20; }
.brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.brand-mark { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 50%; background: var(--lime); color: var(--ink); font-weight: 800; }
.brand strong,.brand small { display: block; }
.brand strong { font-size: 15px; }
.brand small { margin-top: 3px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
nav { display: flex; gap: 28px; font-size: 13px; }
nav a,footer a,footer button { transition: opacity .2s; }
nav a:hover,footer a:hover,footer button:hover { opacity: .55; }
.header-cta { justify-self: end; padding: 10px 15px; border: 1px solid var(--ink); border-radius: 2px; background: transparent; font-size: 13px; font-weight: 700; display: flex; gap: 16px; }

/* Hero */
.hero { min-height: 690px; padding: clamp(72px,8vw,122px) clamp(22px,5vw,94px); background: var(--paper); display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); gap: clamp(50px,8vw,140px); align-items: center; }
.hero-copy { max-width: 830px; }
.eyebrow { margin: 0 0 24px; color: var(--steel); font: 700 12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace; text-transform: uppercase; letter-spacing: .14em; }
.hero h1 { max-width: 920px; margin: 0; font-size: clamp(45px,5.1vw,78px); line-height: .99; letter-spacing: -.05em; }
.hero-lead { max-width: 720px; margin: 34px 0 0; color: #3f4b4f; font-size: clamp(19px,1.55vw,25px); line-height: 1.48; }
.hero-actions { margin-top: 38px; display: flex; align-items: center; gap: 26px; }
.button { padding: 17px 24px; border: 0; border-radius: 2px; display: inline-flex; align-items: center; justify-content: center; gap: 30px; font-weight: 800; transition: transform .2s; }
.button:hover { transform: translateY(-2px); }
.button.dark { background: var(--ink); color: var(--paper); }
.text-link { padding-bottom: 4px; border-bottom: 1px solid var(--ink); font-size: 14px; font-weight: 700; }
.microcopy { max-width: 660px; margin: 22px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.hero-map { padding: 0; background: transparent; border: 1px solid #aeb3ad; border-radius: 3px; box-shadow: 18px 18px 0 #e4e5de; }
.map-head { padding: 15px 17px; display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); color: var(--muted); font: 700 10px/1 ui-monospace,monospace; text-transform: uppercase; letter-spacing: .14em; }
.map-row { min-height: 90px; padding: 18px; display: grid; grid-template-columns: 38px 1fr; column-gap: 10px; background: var(--paper); border-radius: 0; }
.map-row + .map-arrow { border-top: 1px solid var(--line); }
.map-row span { grid-row: span 2; padding-top: 3px; color: var(--steel); font: 11px ui-monospace,monospace; }
.map-row strong { font-size: clamp(19px,1.6vw,25px); letter-spacing: -.025em; }
.map-row small { margin-top: 5px; color: var(--muted); font-size: 13px; }
.map-row.mint,.map-row.violet,.map-row.orange { background: var(--paper); }
.map-row.lime { background: var(--ink); color: var(--paper); box-shadow: inset 5px 0 0 var(--lime); }
.map-row.lime small { color: #aeb8ba; }
.map-row.lime span { color: var(--lime); }
.map-arrow { height: 22px; display: grid; place-items: center; background: var(--paper); color: #8d9698; font-size: 11px; }

.proof-strip { padding: 0 clamp(22px,5vw,94px); display: grid; grid-template-columns: repeat(3,1fr); background: var(--ink); color: var(--paper); }
.proof-strip div { min-height: 128px; padding: 28px clamp(14px,2.5vw,40px); display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line-dark); }
.proof-strip div:first-child { border-left: 1px solid var(--line-dark); }
.proof-strip b { font-size: 16px; }
.proof-strip b::before { content: ""; width: 7px; height: 7px; margin-right: 10px; display: inline-block; background: var(--lime); }
.proof-strip span { margin-top: 8px; color: #aeb8ba; font-size: 14px; line-height: 1.45; }

/* Editorial sections */
.section { position: relative; padding: clamp(86px,9vw,148px) clamp(22px,7vw,134px); background: var(--paper); }
.section-index { position: absolute; top: clamp(91px,9vw,153px); left: clamp(22px,3.8vw,72px); color: var(--steel); font: 11px ui-monospace,monospace; }
.section-index::after { content: ""; width: 28px; height: 1px; margin: 0 0 3px 10px; display: inline-block; background: currentColor; }
.section-intro { max-width: 1000px; margin-left: clamp(72px,7vw,132px); }
.section-intro.wide { max-width: 1120px; }
.section-intro h2 { margin: 0; font-size: clamp(37px,4.2vw,62px); line-height: 1.05; letter-spacing: -.045em; }
.section-intro > p:last-child:not(.eyebrow) { max-width: 850px; margin: 25px 0 0; color: var(--muted); font-size: 18px; line-height: 1.6; }

.problem-grid { margin: 66px 0 0 clamp(72px,7vw,132px); display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.problem-grid article { min-height: 350px; padding: 26px 30px 34px; border-right: 1px solid var(--line); }
.problem-grid article:first-child { border-left: 1px solid var(--line); }
.card-number { color: var(--steel); font: 11px ui-monospace,monospace; }
.problem-grid h3 { margin: 72px 0 17px; font-size: 25px; line-height: 1.18; letter-spacing: -.03em; }
.problem-grid p { margin: 0; color: #4c585c; font-size: 16px; line-height: 1.62; }
.formula { margin: 28px 0 0 clamp(72px,7vw,132px); padding: 28px 32px; display: grid; grid-template-columns: 170px 1fr; gap: 26px; background: var(--surface); border: 1px solid var(--line); border-left: 5px solid var(--lime); border-radius: 2px; }
.formula span { color: var(--steel); font: 700 11px ui-monospace,monospace; text-transform: uppercase; letter-spacing: .14em; }
.formula strong { font-size: clamp(22px,2.2vw,34px); line-height: 1.22; letter-spacing: -.025em; }

/* ABM ecosystem */
.ecosystem { margin: 62px 0 0 clamp(72px,7vw,132px); display: grid; grid-template-columns: 1.15fr repeat(5,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.eco-core,.eco-channel { min-height: 245px; padding: 24px 21px; display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.eco-core { background: var(--ink); color: var(--paper); box-shadow: inset 0 4px 0 var(--lime); }
.eco-core span,.eco-channel span { color: var(--steel); font: 700 10px ui-monospace,monospace; text-transform: uppercase; letter-spacing: .12em; }
.eco-core span { color: var(--lime); }
.eco-core strong { margin-top: auto; font-size: 24px; line-height: 1.16; letter-spacing: -.03em; }
.eco-core small { margin-top: 13px; color: #aeb8ba; font-size: 12px; line-height: 1.45; }
.eco-channel b { margin-top: auto; font-size: 18px; line-height: 1.2; }
.eco-channel small { min-height: 52px; margin-top: 12px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.abm-definition { margin: 24px 0 0 clamp(72px,7vw,132px); padding: 30px 32px; display: grid; grid-template-columns: 170px 1.4fr .7fr; gap: 30px; background: var(--surface); border: 1px solid var(--line); border-left: 5px solid var(--lime); }
.abm-definition > span { color: var(--steel); font: 700 10px ui-monospace,monospace; text-transform: uppercase; letter-spacing: .12em; }
.abm-definition strong { font-size: clamp(20px,1.8vw,28px); line-height: 1.35; letter-spacing: -.02em; }
.abm-definition p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }

/* Process */
.dark-section { background: var(--ink); color: var(--paper); }
.dark-section .section-index { color: #8ca0a6; }
.lime-text { color: var(--lime); }
.dark-section .section-intro > p:last-child { color: #a7b1b4; }
.steps { margin: 64px 0 0 clamp(72px,7vw,132px); border-top: 1px solid var(--line-dark); }
.step { border-bottom: 1px solid var(--line-dark); }
.step summary { list-style: none; padding: 25px 4px; display: grid; grid-template-columns: 48px 1fr 28px; gap: 22px; align-items: start; cursor: pointer; }
.step summary::-webkit-details-marker { display: none; }
.step-n { padding-top: 5px; color: var(--lime); font: 11px ui-monospace,monospace; }
.step summary strong { display: block; font-size: clamp(22px,2vw,31px); letter-spacing: -.025em; }
.step summary small { max-width: 900px; margin-top: 7px; display: block; color: #9fabad; font-size: 14px; line-height: 1.5; }
.step summary i { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid #647174; border-radius: 50%; color: #c5cdcf; font-size: 17px; font-style: normal; transition: transform .2s; }
.step[open] summary i { transform: rotate(45deg); border-color: var(--lime); background: var(--lime); color: var(--ink); }
.step-body { padding: 0 0 32px 70px; display: grid; grid-template-columns: 1.15fr .9fr .85fr; gap: 12px; }
.step-body > div { padding: 23px; background: #182124; border: 1px solid #2d393c; border-radius: 2px; }
.step-body b { color: #b5c1c4; font: 700 10px ui-monospace,monospace; text-transform: uppercase; letter-spacing: .13em; }
.step-body p,.step-body li { color: #c3cbcd; font-size: 14px; line-height: 1.55; }
.step-body ul { margin-bottom: 0; padding-left: 17px; }
.step-body li + li { margin-top: 7px; }
.step-body .step-output { border-left: 4px solid var(--lime); }
.step-body .step-output b { color: var(--lime); }

/* Deliverables */
.deliverables { background: var(--canvas); }
.deliverable-grid { margin: 60px 0 0 clamp(72px,7vw,132px); display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #bfc2ba; border-left: 1px solid #bfc2ba; }
.deliverable-grid article { min-height: 410px; padding: 28px; background: transparent; border-right: 1px solid #bfc2ba; border-bottom: 1px solid #bfc2ba; border-radius: 0; }
.deliverable-grid article:nth-child(3) { box-shadow: inset 0 4px 0 var(--lime); background: #e7e8e1; }
.mint-bg,.violet-bg,.orange-bg { background: transparent; }
.deliverable-grid article > span { color: var(--steel); font: 10px ui-monospace,monospace; text-transform: uppercase; letter-spacing: .1em; }
.deliverable-grid h3 { margin: 78px 0 25px; font-size: clamp(28px,2.6vw,38px); letter-spacing: -.035em; }
.deliverable-grid ul { margin: 0; padding: 0; list-style: none; }
.deliverable-grid li { padding: 12px 0; border-top: 1px solid rgba(17,25,28,.2); font-size: 15px; line-height: 1.35; }
.deliverable-note { max-width: 940px; margin: 25px 0 0 clamp(72px,7vw,132px); color: var(--muted); font-size: 14px; line-height: 1.6; }

/* Specification and scenarios */
.specification { background: var(--paper); }
.spec-grid { margin: 58px 0 0 clamp(72px,7vw,132px); border-top: 1px solid var(--line); }
.spec-grid details { border-bottom: 1px solid var(--line); }
.spec-grid summary { padding: 25px 0; list-style: none; display: grid; grid-template-columns: 92px 1fr 28px; gap: 20px; align-items: center; cursor: pointer; }
.spec-grid summary::-webkit-details-marker { display: none; }
.spec-grid summary span { color: var(--steel); font: 11px ui-monospace,monospace; text-transform: uppercase; letter-spacing: .1em; }
.spec-grid summary strong { font-size: clamp(21px,2vw,29px); letter-spacing: -.025em; }
.spec-grid summary i { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-style: normal; transition: transform .2s; }
.spec-grid details[open] summary i { transform: rotate(45deg); background: var(--ink); color: var(--paper); }
.spec-grid ul,.spec-grid details > div { margin: 0 0 28px 112px; padding: 24px 30px; background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--lime); }
.spec-grid li,.spec-grid details > div p { color: #4b585c; font-size: 15px; line-height: 1.6; }
.spec-grid li + li { margin-top: 8px; }
.spec-grid details > div p { margin: 0; }
.spec-grid details > div p + p { margin-top: 12px; }

.scenarios { background: var(--canvas); }
.scenario-list { margin: 60px 0 0 clamp(72px,7vw,132px); border-top: 1px solid #b8bcb5; }
.scenario-list article { padding: 34px 0; border-bottom: 1px solid #b8bcb5; }
.scenario-head { display: grid; grid-template-columns: 60px 1fr; gap: 22px; align-items: start; }
.scenario-head > span { color: var(--steel); font: 11px ui-monospace,monospace; }
.scenario-head b,.scenario-head small { display: block; }
.scenario-head b { font-size: clamp(24px,2.4vw,35px); letter-spacing: -.03em; }
.scenario-head small { margin-top: 7px; color: var(--muted); font-size: 14px; }
.scenario-visible { margin: 28px 0 0 82px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.scenario-visible > div { padding: 23px; background: rgba(251,250,246,.55); border: 1px solid #c8cbc4; }
.scenario-visible .scenario-outcome { background: #e5e7df; border-top: 4px solid var(--lime); }
.scenario-visible span { color: var(--steel); font: 700 10px ui-monospace,monospace; text-transform: uppercase; letter-spacing: .12em; }
.scenario-visible p { margin: 18px 0 0; color: #455257; font-size: 15px; line-height: 1.6; }
.scenario-list details { margin: 12px 0 0 82px; border: 1px solid #c8cbc4; background: transparent; }
.scenario-list summary { padding: 17px 20px; list-style: none; display: flex; justify-content: space-between; gap: 20px; cursor: pointer; font-size: 14px; font-weight: 700; }
.scenario-list summary::-webkit-details-marker { display: none; }
.scenario-list summary span { font-size: 18px; transition: transform .2s; }
.scenario-list details[open] summary span { transform: rotate(45deg); }
.scenario-list details > p { margin: 0; padding: 22px 20px; border-top: 1px solid #c8cbc4; color: #455257; font-size: 15px; line-height: 1.6; }

/* Cases */
.cases { background: var(--paper); }
.case-list { margin: 64px 0 0 clamp(72px,7vw,132px); display: grid; border-top: 1px solid var(--line); }
.case-card { padding: 46px 0 52px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
.case-card.orange,.case-card.violet,.case-card.terracotta { border-top: 0; }
.case-top { display: flex; justify-content: space-between; align-items: center; color: var(--steel); font: 700 10px ui-monospace,monospace; text-transform: uppercase; letter-spacing: .12em; }
.case-top span { width: auto; height: auto; border: 0; border-radius: 0; display: block; font: inherit; }
.case-card h3 { max-width: 1050px; margin: 36px 0 42px; font-size: clamp(34px,4vw,58px); line-height: 1.04; letter-spacing: -.045em; }
.case-overview { max-width: 960px; display: grid; grid-template-columns: 180px 1fr; gap: 32px; }
.case-overview h4 { margin: 3px 0 0; color: var(--steel); font: 700 10px ui-monospace,monospace; text-transform: uppercase; letter-spacing: .12em; }
.case-overview p { margin: 0; color: #455257; font-size: 17px; line-height: 1.65; }
.case-metrics { margin-top: 38px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.case-metrics > div { min-height: 132px; padding: 21px; display: flex; flex-direction: column; justify-content: space-between; gap: 20px; background: var(--surface); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.case-metrics strong { color: var(--ink); font-size: clamp(27px,2.8vw,42px); letter-spacing: -.045em; }
.case-metrics span { max-width: 280px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.case-result { margin-top: 28px; padding: 25px 28px; display: grid; grid-template-columns: 170px 1fr; gap: 28px; background: var(--surface); border: 1px solid var(--line); border-left: 5px solid var(--lime); border-radius: 2px; }
.case-card.mint .case-result,.case-card.orange .case-result,.case-card.violet .case-result,.case-card.terracotta .case-result { background: var(--surface); }
.case-result span { color: var(--steel); font: 700 10px ui-monospace,monospace; text-transform: uppercase; letter-spacing: .12em; }
.case-result strong { font-size: clamp(18px,1.7vw,25px); line-height: 1.45; }
.case-work,.case-detail { margin-top: 12px; border: 1px solid var(--line); border-radius: 2px; }
.case-work summary,.case-detail summary { padding: 18px 20px; list-style: none; display: flex; justify-content: space-between; gap: 20px; cursor: pointer; font-size: 14px; font-weight: 700; }
.case-work summary::-webkit-details-marker,.case-detail summary::-webkit-details-marker { display: none; }
.case-work summary span,.case-detail summary span { font-size: 18px; transition: transform .2s; }
.case-work[open] summary span,.case-detail[open] summary span { transform: rotate(45deg); }
.case-work ol { margin: 0; padding: 24px 42px 28px 58px; border-top: 1px solid var(--line); }
.case-work li { padding-left: 8px; color: #4b585c; font-size: 15px; line-height: 1.6; }
.case-work li + li { margin-top: 12px; }
.case-detail div { padding: 22px 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 30px; border-top: 1px solid var(--line); color: #4b585c; font-size: 14px; line-height: 1.55; }
.case-detail p { margin: 0; }

/* Comparison and pilot */
.compare { background: var(--canvas); }
.compare-grid { margin: 60px 0 0 clamp(72px,7vw,132px); display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #bfc2ba; border-left: 1px solid #bfc2ba; }
.compare-grid > div { min-height: 370px; padding: 36px; background: transparent; border-right: 1px solid #bfc2ba; border-bottom: 1px solid #bfc2ba; border-radius: 0; }
.compare-grid .before { background: transparent; }
.compare-grid .after { background: #e7e8e1; box-shadow: inset 0 4px 0 var(--lime); }
.compare-grid span { color: var(--steel); font: 700 10px ui-monospace,monospace; text-transform: uppercase; letter-spacing: .13em; }
.compare-grid ul { margin: 60px 0 0; padding: 0; list-style: none; }
.compare-grid li { padding: 13px 0 13px 27px; position: relative; border-top: 1px solid rgba(17,25,28,.2); font-size: 16px; line-height: 1.35; }
.compare-grid li::before { position: absolute; left: 2px; }
.before li::before { content: "–"; color: #788386; }
.after li::before { content: "↗"; color: var(--steel); }
.transition-line { margin: 58px 0 0 clamp(72px,7vw,132px); display: grid; grid-template-columns: repeat(4,1fr 28px) 1fr; align-items: stretch; }
.transition-line > div { min-height: 164px; padding: 20px; display: flex; flex-direction: column; border: 1px solid #bfc2ba; background: transparent; }
.transition-line > div.active { background: var(--ink); color: var(--paper); box-shadow: inset 0 4px 0 var(--lime); }
.transition-line > i { display: grid; place-items: center; color: var(--steel); font-style: normal; }
.transition-line span { color: var(--steel); font: 10px ui-monospace,monospace; }
.transition-line .active span { color: var(--lime); }
.transition-line b { margin-top: auto; font-size: 20px; }
.transition-line small { margin-top: 8px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.transition-line .active small { color: #aeb8ba; }
.transition-note { margin: 20px 0 0 clamp(72px,7vw,132px); padding-left: 20px; max-width: 1050px; border-left: 4px solid var(--lime); color: var(--muted); font-size: 14px; line-height: 1.6; }

.pilot { background: var(--ink); color: var(--paper); }
.pilot .eyebrow { color: var(--lime); }
.pilot-head { display: grid; grid-template-columns: 1.2fr .8fr; gap: 30px; align-items: end; }
.pilot-head h2 { max-width: 880px; margin: 0; font-size: clamp(43px,5.4vw,82px); line-height: .98; letter-spacing: -.055em; }
.big-number { justify-self: end; color: transparent; font-size: clamp(72px,9vw,138px); font-weight: 800; line-height: .8; letter-spacing: -.075em; -webkit-text-stroke: 1px #566265; opacity: .8; }
.pilot-grid { margin-top: 65px; display: grid; grid-template-columns: .72fr 1.28fr; gap: 75px; }
.pilot-grid h3 { margin: 0 0 18px; font-size: 27px; letter-spacing: -.025em; }
.pilot-grid p { color: #b2bcbf; font-size: 16px; line-height: 1.65; }
.pilot-grid ol { margin: 0; padding: 0; list-style: none; }
.pilot-grid li { padding: 16px 0; display: grid; grid-template-columns: 46px 1fr; gap: 15px; border-top: 1px solid var(--line-dark); color: #e1e5e5; font-size: 17px; }
.pilot-grid li span { padding-top: 4px; color: var(--lime); font: 10px ui-monospace,monospace; }
.pilot-bottom { margin-top: 48px; padding-top: 28px; display: flex; justify-content: space-between; align-items: center; gap: 30px; border-top: 1px solid var(--line-dark); }
.pilot-bottom p { max-width: 810px; color: #aeb8ba; font-size: 15px; line-height: 1.55; }
.pilot-bottom .button.dark { background: var(--lime); color: var(--ink); }

/* Fit, principles, FAQ */
.fit { background: var(--paper); }
.fit-grid { margin: 60px 0 0 clamp(72px,7vw,132px); display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.fit-grid > div { padding: 34px; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 0; }
.fit-grid > div:first-child { background: var(--surface); box-shadow: inset 0 4px 0 var(--lime); }
.fit-grid h3 { margin: 0 0 42px; font-size: 24px; }
.fit-grid ul { margin: 0; padding: 0; list-style: none; }
.fit-grid li { padding: 13px 0 13px 24px; position: relative; border-top: 1px solid rgba(17,25,28,.18); font-size: 15px; line-height: 1.4; }
.fit-grid li::before { content: ""; width: 6px; height: 6px; position: absolute; left: 3px; top: 20px; background: var(--steel); }

.principles { background: var(--ink); color: var(--paper); }
.principles .section-index { color: #8ca0a6; }
.principle-grid { margin: 60px 0 0 clamp(72px,7vw,132px); display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.principle-grid p { margin: 0; padding: 30px; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); color: #aeb8ba; font-size: 16px; line-height: 1.6; }
.principle-grid b { color: var(--paper); }

.faq { background: var(--canvas); }
.faq-list { margin: 60px 0 0 clamp(72px,7vw,132px); border-top: 1px solid #b5b9b2; }
.faq-list details { border-bottom: 1px solid #b5b9b2; }
.faq-list summary { padding: 23px 0; list-style: none; display: flex; justify-content: space-between; gap: 30px; cursor: pointer; font-size: clamp(20px,2vw,28px); letter-spacing: -.025em; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { transition: transform .2s; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list p { max-width: 900px; margin: 0 0 27px; color: #516064; font-size: 16px; line-height: 1.65; }

.legal { padding: 28px clamp(22px,7vw,134px); background: var(--paper); border-top: 1px solid var(--line); }
.legal details { border-bottom: 1px solid var(--line); scroll-margin-top: 24px; }
.legal summary { padding: 20px 0; list-style: none; display: flex; justify-content: space-between; gap: 20px; cursor: pointer; font-size: 14px; font-weight: 700; }
.legal summary::-webkit-details-marker { display: none; }
.legal summary span { font-size: 18px; transition: transform .2s; }
.legal details[open] summary span { transform: rotate(45deg); }
.legal details > div { max-width: 940px; padding: 0 0 22px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.legal p { margin: 0 0 11px; }
.legal b { color: var(--ink); }

/* Closing, footer, overlays */
.closing { padding: clamp(82px,9vw,145px) clamp(22px,7vw,134px); display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(50px,9vw,140px); align-items: end; background: var(--ink); color: var(--paper); }
.closing h2 { margin: 0; font-size: clamp(40px,4.8vw,70px); line-height: 1.02; letter-spacing: -.05em; }
.closing > div:last-child > p { color: #aeb8ba; font-size: 17px; line-height: 1.65; }
.lime-button { margin-top: 22px; background: var(--lime); color: var(--ink); }

footer { padding: 64px clamp(22px,5vw,94px) 28px; background: #080d0f; color: var(--paper); border-top: 3px solid var(--lime); }
.footer-main { min-height: 250px; display: grid; grid-template-columns: 2fr repeat(3,1fr); gap: 48px; }
.footer-brand { display: flex; gap: 17px; }
.footer-brand p { max-width: 340px; color: #87969a; font-size: 14px; line-height: 1.55; }
.footer-main > div:not(:first-child) { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; font-size: 14px; }
.footer-main > div > b { margin-bottom: 6px; color: #8e9da1; font: 700 10px ui-monospace,monospace; text-transform: uppercase; letter-spacing: .13em; }
footer button { padding: 0; border: 0; background: none; color: inherit; }
.footer-bottom { padding-top: 24px; display: flex; justify-content: space-between; border-top: 1px solid #263135; color: #839397; font-size: 12px; }

.cookie { max-width: 690px; padding: 17px 19px; position: fixed; z-index: 40; right: 20px; bottom: 20px; left: 20px; display: flex; align-items: center; gap: 24px; background: var(--paper); border: 1px solid var(--line); border-radius: 2px; box-shadow: 0 15px 45px rgba(0,0,0,.16); }
.cookie p { margin: 0; display: flex; flex-direction: column; gap: 5px; font-size: 13px; line-height: 1.4; }
.cookie span { color: var(--muted); }
.cookie button { margin-left: auto; padding: 11px 16px; border: 0; border-radius: 2px; background: var(--ink); color: var(--paper); font-weight: 700; }

.modal-backdrop { padding: 18px; position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; overflow: auto; background: rgba(5,10,12,.82); }
.modal { width: min(1160px,100%); max-height: calc(100vh - 36px); padding: clamp(26px,4vw,54px); position: relative; display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(34px,6vw,84px); overflow: auto; background: var(--paper); border-radius: 3px; }
.modal-close { width: 42px; height: 42px; position: absolute; right: 16px; top: 16px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; font-size: 25px; }
.modal-copy h2 { margin: 0; font-size: clamp(37px,4.2vw,60px); line-height: 1; letter-spacing: -.045em; }
.modal-copy > p:not(.eyebrow) { color: var(--muted); font-size: 17px; line-height: 1.55; }
.after-send { margin-top: 38px; padding-top: 23px; border-top: 1px solid var(--line); }
.after-send > b { color: var(--steel); font: 700 10px ui-monospace,monospace; text-transform: uppercase; letter-spacing: .12em; }
.after-send ol { padding-left: 21px; color: #47555a; font-size: 14px; line-height: 1.65; }
.modal form { padding-top: 34px; }
.modal form > label:not(.consent) { margin-bottom: 20px; display: block; font-size: 14px; font-weight: 700; }
.modal input:not([type]) { width: 100%; margin-top: 8px; padding: 15px 16px; display: block; background: #fff; border: 1px solid #bcc3bd; border-radius: 2px; }
.modal fieldset { margin: 0 0 20px; padding: 14px 16px; display: flex; gap: 28px; border: 1px solid #bcc3bd; border-radius: 2px; }
.modal fieldset legend { padding: 0 7px; font-size: 14px; font-weight: 700; }
.modal fieldset label,.consent { display: flex; align-items: center; gap: 9px; }
.consent { margin-bottom: 17px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.consent input { width: 19px; height: 19px; flex: 0 0 auto; }
.full { width: 100%; }
.modal form > small { margin-top: 11px; display: block; color: var(--muted); font-size: 11px; line-height: 1.4; }
.success { align-self: center; padding: 36px; background: var(--surface); border-left: 5px solid var(--lime); }
.success > span { color: var(--steel); font-size: 35px; }
.success h3 { margin: 18px 0 9px; font-size: 29px; }
.success p { line-height: 1.55; }
.success a { text-decoration: underline; }

@media (max-width: 1100px) {
  .site-header { grid-template-columns: 1fr auto; }
  .site-header nav { display: none; }
  .hero { grid-template-columns: 1fr; }
  .hero-map { max-width: 680px; }
  .section-index { display: none; }
  .section-intro,.problem-grid,.formula,.ecosystem,.abm-definition,.steps,.deliverable-grid,.deliverable-note,.spec-grid,.scenario-list,.compare-grid,.transition-line,.transition-note,.fit-grid,.principle-grid,.faq-list { margin-left: 0; }
  .problem-grid,.deliverable-grid { grid-template-columns: 1fr; }
  .problem-grid article { min-height: auto; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .problem-grid h3 { margin-top: 42px; }
  .deliverable-grid article { min-height: auto; }
  .deliverable-grid h3 { margin-top: 58px; }
  .ecosystem { grid-template-columns: repeat(3,1fr); }
  .eco-core { grid-row: span 2; }
  .abm-definition { grid-template-columns: 150px 1fr; }
  .abm-definition p { grid-column: 2; }
  .transition-line { grid-template-columns: repeat(3,1fr); gap: 1px; background: #bfc2ba; }
  .transition-line > i { display: none; }
  .transition-line > div { border: 0; }
  .step-body { grid-template-columns: 1fr; padding-left: 70px; }
  .footer-main { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-main > div:last-child { display: none; }
}

@media (max-width: 760px) {
  .site-header { min-height: 66px; padding: 9px 18px; }
  .brand small,.header-cta { display: none; }
  .brand-mark { width: 38px; height: 38px; flex-basis: 38px; }
  .hero { min-height: 0; padding: 62px 20px; gap: 45px; }
  .hero h1 { font-size: clamp(41px,12vw,58px); }
  .hero-lead { margin-top: 26px; font-size: 18px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
  .hero-map { box-shadow: 9px 9px 0 #e4e5de; }
  .map-row { min-height: 82px; padding: 15px; grid-template-columns: 31px 1fr; }
  .map-row strong { font-size: 19px; }
  .map-row small { font-size: 12px; }
  .proof-strip { padding: 0 20px; grid-template-columns: 1fr; }
  .proof-strip div,.proof-strip div:first-child { min-height: 105px; padding: 24px 3px; border-right: 0; border-left: 0; border-bottom: 1px solid var(--line-dark); }
  .section { padding: 76px 20px; }
  .section-intro h2 { font-size: 38px; }
  .section-intro > p:last-child:not(.eyebrow) { font-size: 16px; }
  .problem-grid { margin-top: 44px; }
  .problem-grid article { padding: 24px 21px 31px; }
  .problem-grid h3 { margin-top: 35px; font-size: 24px; }
  .formula { grid-template-columns: 1fr; padding: 23px; }
  .formula strong { font-size: 23px; }
  .ecosystem { margin-top: 44px; grid-template-columns: 1fr; border-left: 0; }
  .eco-core,.eco-channel { min-height: 150px; border-left: 1px solid var(--line); }
  .eco-core { grid-row: auto; }
  .eco-core strong,.eco-channel b { margin-top: 34px; }
  .eco-channel small { min-height: 0; }
  .abm-definition { grid-template-columns: 1fr; padding: 24px 21px; }
  .abm-definition p { grid-column: auto; }
  .steps { margin-top: 45px; }
  .step summary { grid-template-columns: 31px 1fr 24px; gap: 9px; padding: 22px 0; }
  .step summary strong { font-size: 22px; }
  .step summary small { font-size: 13px; }
  .step-body { padding: 0 0 25px; }
  .deliverable-grid { margin-top: 45px; }
  .deliverable-grid article { padding: 24px; }
  .spec-grid { margin-top: 44px; }
  .spec-grid summary { grid-template-columns: 55px 1fr 26px; gap: 10px; }
  .spec-grid ul,.spec-grid details > div { margin-left: 0; padding: 21px 24px 21px 39px; }
  .scenario-list { margin-top: 44px; }
  .scenario-head { grid-template-columns: 34px 1fr; gap: 12px; }
  .scenario-visible { margin-left: 0; grid-template-columns: 1fr; }
  .scenario-list details { margin-left: 0; }
  .case-list { margin-top: 46px; }
  .case-card { padding: 37px 0 42px; }
  .case-top { align-items: flex-start; gap: 18px; }
  .case-top b { max-width: 260px; text-align: right; line-height: 1.4; }
  .case-card h3 { margin: 31px 0 31px; font-size: 35px; }
  .case-overview { grid-template-columns: 1fr; gap: 10px; }
  .case-overview p { font-size: 16px; }
  .case-metrics { grid-template-columns: 1fr 1fr; }
  .case-metrics > div { min-height: 125px; }
  .case-result { grid-template-columns: 1fr; padding: 21px; }
  .case-detail div { grid-template-columns: 1fr; gap: 17px; }
  .case-work ol { padding: 20px 28px 24px 42px; }
  .compare-grid,.fit-grid,.principle-grid { grid-template-columns: 1fr; }
  .transition-line { grid-template-columns: 1fr; }
  .transition-line > div { min-height: 125px; }
  .transition-line b { margin-top: 28px; }
  .compare-grid > div { min-height: auto; padding: 29px 23px; }
  .compare-grid ul { margin-top: 42px; }
  .pilot-head,.pilot-grid { grid-template-columns: 1fr; }
  .big-number { justify-self: start; font-size: 74px; }
  .pilot-grid { margin-top: 50px; gap: 32px; }
  .pilot-bottom { align-items: flex-start; flex-direction: column; }
  .fit-grid { margin-top: 45px; }
  .principle-grid { border-left: 0; }
  .principle-grid p { padding: 26px 22px; border-left: 1px solid var(--line-dark); }
  .faq-list { margin-top: 45px; }
  .closing { padding: 76px 20px; grid-template-columns: 1fr; }
  .closing h2 { font-size: 39px; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1/-1; }
  .footer-bottom { flex-direction: column; gap: 9px; }
  .cookie { right: 10px; bottom: 10px; left: 10px; align-items: flex-start; }
  .cookie button { flex: 0 0 auto; }
  .modal-backdrop { padding: 8px; }
  .modal { max-height: calc(100vh - 16px); padding: 27px 20px; grid-template-columns: 1fr; gap: 18px; border-radius: 2px; }
  .modal-copy h2 { padding-right: 24px; font-size: 37px; }
  .after-send { display: none; }
  .modal form { padding-top: 0; }
}

@media (max-width: 480px) { .case-metrics { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }

[hidden]{display:none!important}
.form-message{margin:12px 0 0;font-size:12px;line-height:1.45}
.form-message.success{padding:12px 14px;background:#edf4e7;border-left:4px solid var(--lime);color:var(--ink)}
.form-message.error{padding:12px 14px;background:#f7ece8;border-left:4px solid #9a574b;color:var(--ink)}
.cookie-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.cookie .cookie-secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}
.cookie a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:760px){.cookie{flex-direction:column}.cookie-actions{margin-left:0;width:100%}.cookie-actions button{margin-left:0;flex:1}}
