.funnel-ready .contact-layout{grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,96px);align-items:start}
.funnel-ready .form-panel>.eyebrow{display:none}
.funnel-step h2{font-size:clamp(28px,3vw,40px);line-height:1.12;letter-spacing:-.04em;margin:24px 0 28px}
.funnel-step h2:focus{outline:none}
.funnel-progress{margin:0;color:var(--muted)}
.funnel-context{border:0;background:none;color:var(--muted);padding:8px 0;text-align:left;font-size:13px;min-height:44px}
.funnel-choices{display:grid;gap:10px;margin-bottom:28px}
.funnel-choice{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:58px;padding:16px 20px;text-align:left;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);transition:border-color .2s,background .2s}
.funnel-choice:hover{border-color:var(--muted)}
.funnel-choice[aria-pressed=true]{border-color:var(--accent)}
.funnel-choice[aria-pressed=true]::after{content:'✓';color:var(--accent)}
.funnel-actions{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:24px}
.funnel-actions .text-link{background:none;border:0;color:var(--text);padding:12px 0}
.funnel-actions .primary{margin-left:auto;border:0}
.funnel-note{font-size:13px;color:var(--muted)}
.funnel-review{margin:0 0 28px;overflow-wrap:anywhere}
.funnel-review dt{color:var(--muted);font-size:12px;margin-top:20px}
.funnel-review dd{margin:4px 0 0;white-space:pre-wrap}
.funnel-ready [hidden]{display:none!important}
.funnel-ready #project-form :focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.funnel-ready #project-form h2:focus-visible{outline:none}
@media(max-width:760px){.funnel-ready .contact-layout{grid-template-columns:1fr;gap:36px}.funnel-ready .contact-person{display:none}.funnel-ready .contact-layout>section:first-child h1{font-size:40px}.funnel-step h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.funnel-choice{transition:none}}

.funnel-extra{margin-block:24px}.funnel-extra summary{cursor:pointer;padding:12px 0;color:var(--muted)}.funnel-extra[open] summary{margin-bottom:16px}.funnel-extra label{display:block}

@media(max-width:760px){.funnel-ready .site-header>.nav-action{display:none}.contact-page.funnel-ready .contact-layout{padding-top:32px}.funnel-step h2{scroll-margin-top:24px}}

.contact-page.funnel-ready .contact-layout{border-bottom:0;padding-bottom:64px;margin-bottom:48px}
.funnel-brand-mark{width:44px;height:44px;object-fit:contain;flex:none}
.funnel-context{margin-top:4px;margin-bottom:12px}
.funnel-step h2{margin:16px 0 28px}
.funnel-choices{gap:12px;margin-bottom:24px}
.funnel-choice{justify-content:flex-start}
.funnel-icon{width:22px;height:22px;flex:none;color:var(--accent)}
.funnel-choice-label{flex:1}
.funnel-actions{margin-top:28px;min-height:48px}
.funnel-extra{margin-block:16px 24px}

/* One focused column, with the same four stages for every entry route. */
.contact-page .contact-layout,.contact-page.funnel-ready .contact-layout{display:block;max-width:640px;padding-top:64px;border-bottom:0}
.funnel-meter{height:3px;background:var(--line);border-radius:3px;overflow:hidden;margin-top:16px}
.funnel-meter-fill{display:block;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(0);transition:transform .55s cubic-bezier(.22,1,.36,1)}
.funnel-stages{display:flex;justify-content:space-between;gap:12px;list-style:none;padding:0;margin:12px 0 24px;font-size:12px;color:var(--muted)}
.funnel-stages [aria-current=step]{color:var(--text)}
.funnel-stages .is-complete{color:var(--accent)}
.funnel-context{margin:0 0 12px}
@media(max-width:760px){.contact-page .contact-layout,.contact-page.funnel-ready .contact-layout{padding-top:32px}}
@media(prefers-reduced-motion:reduce){.funnel-meter-fill{transition:none}}

/* Keep service correction beside the step count, above the progress track. */
.contact-page .contact-layout,.contact-page.funnel-ready .contact-layout{border-top:0}
.funnel-progress-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.funnel-progress-row .funnel-progress{flex:none}
.funnel-progress-row .funnel-context{margin:0;padding:8px 0;text-align:right;max-width:65%;line-height:1.5}
