.hero { padding: var(--space-8) 0 var(--space-7); border-bottom: 1px solid var(--line); }
.hero .kicker { font: 500 var(--step--1) var(--font-mono); text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent); margin-bottom: var(--space-3); }
.hero h1 { max-width: 16ch; }
.hero .lede { font-size: var(--step-1); color: var(--ink-2); max-width: 56ch; }
.cta { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: var(--space-5) 0 var(--space-6); }
.btn { display: inline-block; padding: 10px 18px; border: 1px solid var(--ink); border-radius: var(--radius); color: var(--ink); text-decoration: none; font-weight: 500; }
.btn:hover { background: var(--surface-2); }
.btn.primary { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.btn.primary:hover { filter: brightness(1.08); background: var(--accent); }
.hero-drawing { margin-top: 0; }
.band { padding: var(--space-8) 0; border-bottom: 1px solid var(--line); }
.band h2 { font-size: var(--step-3); }
.band .grid-2 { align-items: start; }
ol.journey { list-style: none; padding: 0; margin: 0 0 var(--space-4); max-width: none; display: grid; gap: 0; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); border-top: 2px solid var(--ink); }
ol.journey li { margin: 0; padding: var(--space-4) var(--space-4) var(--space-4) 0; position: relative; }
ol.journey li::before { content: ""; position: absolute; top: -7px; left: 0; width: 12px; height: 12px; border-radius: 50%; background: var(--paper); border: 2px solid var(--ink); }
ol.journey .t { display: block; color: var(--accent); font-size: var(--step--1); margin-top: var(--space-2); }
ol.journey p { color: var(--ink-2); font-size: var(--step--1); margin: var(--space-1) 0 0; }
.kpi data[data-estimate] { white-space: normal; display: block; }
.kpi .est { display: table; margin-top: 4px; font-size: 0.62rem; }
