
:root{--primary:#2a6a8a;--accent:#a7d5f3;--ink:#000;--bg:#f7fbff}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial;background:var(--bg);color:#0f172a}
a{color:var(--primary);text-decoration:none}

header.nav{position:sticky;top:0;backdrop-filter:saturate(160%) blur(8px);background:rgba(255,255,255,.8);border-bottom:1px solid rgba(2,8,23,.06);z-index:20;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem}
header.nav img{height:28px}
header.nav nav a{margin-left:1rem;padding:.5rem .75rem;border-radius:12px}
header.nav nav a.active, header.nav nav a:hover{background:var(--accent);color:#0b1220}

main{max-width:980px;margin:0 auto;padding:2rem 1rem 4rem}
h1{font-size:clamp(1.6rem,4vw,2.4rem)}
.form{background:#fff;border:1px solid rgba(2,8,23,.06);border-radius:16px;box-shadow:0 10px 30px rgba(2,8,23,.06);padding:1rem}
.step{border:1px dashed rgba(2,8,23,.12);border-radius:14px;padding:1rem;margin:1rem 0;background:linear-gradient(180deg,#fff, #fafcff)}
label{display:block;font-weight:600;margin:.25rem 0}
.input, select, textarea{width:100%;padding:.75rem 1rem;border-radius:12px;border:1px solid rgba(2,8,23,.15);outline:none}
.actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}
button{padding:.8rem 1rem;border-radius:12px;border:1px solid rgba(2,8,23,.15);cursor:pointer;transition:transform .06s ease, box-shadow .2s}
button.primary{background:var(--primary);color:#fff;border-color:transparent}
button:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(2,8,23,.12)}

.small{opacity:.7;font-size:.9rem}
.footer{text-align:center;padding:2rem 1rem;color:#475569}

.progress{height:8px;background:rgba(2,8,23,.08);border-radius:999px;overflow:hidden;margin:1rem 0}
.progress>i{display:block;height:100%;width:0;background:var(--primary);transition:width .5s ease}

[data-animate]{opacity:0;transform:translateY(20px);transition:opacity .6s, transform .6s}
[data-animate].in{opacity:1;transform:none}
