:root { --oia-navy:#081a2e; --oia-blue:#123553; --oia-teal:#147b82; --oia-red:#c53b44; --oia-line:#d9e1e7; --oia-soft:#f4f7f9; }
.oia-intro { max-width: 820px; margin: 0 auto 36px; }
.oia-kicker { color: var(--oia-teal); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.oia-intro h2 { color: var(--oia-navy); font-size: clamp(2rem,4vw,3.2rem); line-height:1.12; margin: 8px 0 18px; }
.oia-form, .oia-progress, .oia-success, .oia-error { max-width: 900px; margin-inline:auto; }
.oia-progress { margin-bottom: 24px; }
.oia-progress span { display:block; height:8px; width:7.7%; border-radius:999px; background:var(--oia-teal); transition:width .25s ease; }
.oia-progress::before { content:""; display:block; height:8px; margin-bottom:-8px; border-radius:999px; background:#e6ecef; }
.oia-progress strong { display:block; margin-top:10px; color:#526676; font-size:.85rem; }
.oia-step { display:none; border:1px solid var(--oia-line); border-radius:20px; padding:34px; background:#fff; box-shadow:0 14px 40px rgba(8,26,46,.07); }
.oia-step.is-active { display:block; }
.oia-step legend { display:block; width:100%; color:var(--oia-navy); font-size:1.65rem; font-weight:800; line-height:1.2; }
.oia-step legend span { display:block; margin-bottom:5px; color:var(--oia-teal); font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; }
.oia-field { margin-top:28px; }
.oia-label { margin-bottom:7px; color:var(--oia-navy); font-weight:750; }
.oia-label span { color:var(--oia-red); }
.oia-hint, .oia-privacy { margin:0 0 9px; color:#607383; font-size:.88rem; }
.oia-field input[type="text"], .oia-field input[type="email"], .oia-field input[type="datetime-local"], .oia-field textarea { width:100%; padding:13px 14px; border:1px solid #bbc7d0; border-radius:10px; background:#fbfcfd; color:var(--oia-navy); font:inherit; }
.oia-field textarea { min-height:120px; resize:vertical; }
.oia-field input:focus, .oia-field textarea:focus { outline:3px solid rgba(20,123,130,.18); border-color:var(--oia-teal); }
.oia-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 16px; }
.oia-options label, .oia-confirmation label { display:flex; gap:9px; align-items:flex-start; padding:10px 12px; border-radius:10px; background:var(--oia-soft); cursor:pointer; }
.oia-options input, .oia-confirmation input { margin-top:5px; }
.oia-actions { display:flex; justify-content:space-between; gap:14px; margin-top:34px; padding-top:24px; border-top:1px solid var(--oia-line); }
.oia-button { appearance:none; border:0; border-radius:999px; padding:12px 21px; color:white; background:var(--oia-teal); font:inherit; font-weight:750; cursor:pointer; }
.oia-back { color:var(--oia-navy); background:#e7edf1; }
.oia-submit { margin-top:22px; background:var(--oia-red); }
.oia-confirmation { display:none; margin-top:24px; padding:30px; border-radius:18px; color:white; background:var(--oia-navy); }
.oia-confirmation.is-active { display:block; }
.oia-confirmation h3 { color:white; }
.oia-confirmation label { margin:12px 0; color:var(--oia-navy); background:white; }
.oia-confirmation .oia-privacy { color:#cbd8e0; }
.oia-error { margin-bottom:20px; padding:16px 18px; border-left:4px solid var(--oia-red); background:#fff0f1; }
.oia-success { padding:38px; border-radius:20px; background:#edf8f7; border:1px solid #b9dedb; }
.oia-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
@media (max-width:680px) { .oia-step{padding:24px 18px}.oia-options{grid-template-columns:1fr}.oia-actions{flex-wrap:wrap} }

