:root{
    --navy:#10243f;
    --blue:#1f5f9d;
    --cyan:#27a9c8;
    --teal:#2b9a9a;
    --ink:#17253a;
    --muted:#65748b;
    --line:#dfe7ef;
    --surface:#ffffff;
    --soft:#f4f8fb;
    --danger:#b42318;
    --danger-bg:#fff1f0;
    --success:#147d57;
    --shadow:0 24px 70px rgba(16,36,63,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--ink); background:#eef5f9; min-height:100vh; position:relative; overflow-x:hidden;
}
body:before{
    content:""; position:fixed; inset:0; pointer-events:none;
    background:
      linear-gradient(135deg,rgba(31,95,157,.08),transparent 42%),
      linear-gradient(315deg,rgba(39,169,200,.08),transparent 45%);
}
.bg-orb{position:fixed;border-radius:50%;filter:blur(2px);opacity:.55;pointer-events:none}
.orb-one{width:420px;height:420px;right:-160px;top:-130px;background:rgba(39,169,200,.18)}
.orb-two{width:360px;height:360px;left:-190px;bottom:-140px;background:rgba(31,95,157,.13)}
.page-shell{
    width:min(1180px,94%); margin:42px auto; display:grid; grid-template-columns:.92fr 1.08fr;
    gap:26px; align-items:stretch;
}
.brand-panel{
    background:linear-gradient(155deg,#10243f 0%,#173c62 58%,#1e6b88 100%);
    color:#fff; border-radius:28px; padding:48px 42px; box-shadow:var(--shadow);
    position:relative; overflow:hidden;
}
.brand-panel:after{
    content:""; position:absolute; width:320px;height:320px;border-radius:50%;
    border:1px solid rgba(255,255,255,.13); right:-140px; bottom:-140px;
    box-shadow:0 0 0 48px rgba(255,255,255,.025),0 0 0 96px rgba(255,255,255,.018);
}
.brand-mark{
    width:52px;height:52px;border:1px solid rgba(255,255,255,.45);border-radius:15px;
    display:grid;place-items:center;margin-bottom:26px;background:rgba(255,255,255,.08);
}
.brand-mark span{font-size:27px;font-weight:800;letter-spacing:-1px}
.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;opacity:.76}
.brand-panel h1{font-size:42px;line-height:1.02;margin:12px 0 12px;letter-spacing:-1.7px}
.brand-panel h1 span{font-weight:500}
.tagline{font-size:17px;line-height:1.55;margin:0;color:rgba(255,255,255,.88)}
.journey{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:34px 0 28px;font-size:11px}
.journey span{padding:7px 9px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(255,255,255,.06)}
.journey b{opacity:.55}
.intro{font-size:14px;line-height:1.75;color:rgba(255,255,255,.78);max-width:560px}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:30px}
.feature-grid div{border-top:1px solid rgba(255,255,255,.16);padding-top:12px}
.feature-grid strong{display:block;font-size:11px;letter-spacing:1.5px;color:#91d9e6;margin-bottom:5px}
.feature-grid span{font-size:13px;color:rgba(255,255,255,.86)}
.form-card{
    background:rgba(255,255,255,.98); border:1px solid rgba(255,255,255,.7); border-radius:28px;
    box-shadow:var(--shadow); padding:38px 40px;
}
.form-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:28px}
.form-header h2{margin:8px 0 5px;font-size:27px;letter-spacing:-.7px}
.form-header p{margin:0;color:var(--muted);font-size:13px}
.step{font-size:10px;font-weight:800;letter-spacing:1.4px;color:var(--blue);padding:9px 11px;border:1px solid #cbddea;border-radius:18px;white-space:nowrap}
.required{color:#d04b42}
.section-title{font-size:12px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--blue);padding:18px 0 13px;border-top:1px solid var(--line);margin-top:7px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px}
.field.full{grid-column:1/-1}
.field label{display:block;font-size:12px;font-weight:700;margin:0 0 7px;color:#33445a}
.field input,.field select{
    width:100%; height:46px; border:1px solid #d5e0ea; border-radius:11px; padding:0 13px;
    font:inherit;font-size:14px;color:var(--ink);background:#fff;outline:none;transition:.18s;
}
.field input:focus,.field select:focus{border-color:#5b9fc4;box-shadow:0 0 0 4px rgba(39,169,200,.10)}
.field input.invalid,.field select.invalid{border-color:#d34e48;background:#fffafa}
.field-error{display:block;min-height:16px;margin-top:5px;font-size:11px;color:var(--danger)}
.checks{display:flex;flex-wrap:wrap;gap:9px}
.check{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#4b5b70;cursor:pointer}
.check input{margin-top:2px;accent-color:var(--blue)}
.check span{line-height:1.45}
.consent-row{margin-top:22px;padding:16px;background:var(--soft);border:1px solid #e1eaf1;border-radius:13px}
.consent{font-size:12px}
.actions{display:flex;justify-content:flex-end;gap:11px;margin-top:24px}
.btn{
    border:0;border-radius:11px;height:47px;padding:0 20px;font:700 13px inherit;cursor:pointer;transition:.18s;
}
.btn-reset{background:#eef2f5;color:#3d5066;border:1px solid #d7e0e7}
.btn-reset:hover{background:#e3e9ee}
.btn-submit{background:linear-gradient(100deg,#1f5f9d,#2b8ca4);color:#fff;box-shadow:0 10px 22px rgba(31,95,157,.20)}
.btn-submit:hover{transform:translateY(-1px);box-shadow:0 13px 26px rgba(31,95,157,.24)}
.btn-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}
.privacy-note{text-align:right;color:#7a899b;font-size:10px;line-height:1.5;margin:13px 0 0}
.alert{padding:14px 16px;border-radius:12px;margin-bottom:20px;font-size:12px}
.error-alert{background:var(--danger-bg);border:1px solid #f0c3bf;color:#81251f}
.error-alert ul{margin:7px 0 0 18px;padding:0;line-height:1.6}
.success-body{display:grid;place-items:center;padding:30px}
.success-card{width:min(620px,94%);background:#fff;border-radius:28px;box-shadow:var(--shadow);padding:52px;text-align:center;position:relative}
.success-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 24px;background:#e5f6ef;color:var(--success);font-size:38px;font-weight:800}
.success-card h1{font-size:32px;letter-spacing:-1px;margin:10px 0}
.success-main{font-size:15px;line-height:1.7;color:#55657a;margin:0 auto 25px;max-width:500px}
.registration-box{padding:17px;border:1px solid #dbe6ee;border-radius:14px;background:#f7fafc;margin:20px 0}
.registration-box span{display:block;font-size:10px;letter-spacing:1.4px;font-weight:800;color:#718198;margin-bottom:6px}
.registration-box strong{font-size:22px;letter-spacing:1px;color:var(--blue)}
.success-note{font-size:12px;line-height:1.65;color:#748196;max-width:490px;margin:0 auto 27px}
.success-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:900px){
    .page-shell{grid-template-columns:1fr;margin:22px auto}
    .brand-panel{padding:34px 30px}.form-card{padding:30px}
}
@media(max-width:600px){
    .brand-panel h1{font-size:34px}.journey{margin-top:25px}
    .form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}
    .form-header{display:block}.step{display:inline-block;margin-top:15px}
    .actions{flex-direction:column-reverse}.btn{width:100%}
    .success-card{padding:38px 25px}.success-card h1{font-size:27px}
}
