:root{--navy:#073b73;--blue:#5eaee7;--pale:#eaf6ff;--line:#b9d8ec;--text:#16324a;--muted:#60788c;--danger:#b3261e;--ok:#147d45;--white:#fff;--shadow:0 14px 35px rgba(7,59,115,.12)}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f4f8fb;color:var(--text)}
.shell{max-width:1120px;margin:24px auto;background:#fff;min-height:100vh;box-shadow:var(--shadow);border-radius:20px;overflow:hidden}
.brand-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 34px;background:linear-gradient(125deg,#fff 0 60%,#eef8ff 60% 100%);border-bottom:1px solid #dbeaf4}.logo{width:min(360px,42vw);max-height:86px;object-fit:contain;object-position:left center}.title-wrap{text-align:right}.title-wrap h1{margin:0;text-transform:uppercase;color:var(--navy);font-size:clamp(24px,3.2vw,42px);letter-spacing:.02em}.title-wrap p{margin:5px 0 0;color:var(--navy);text-transform:uppercase;letter-spacing:.24em;font-size:13px}
.progress{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d9e7f1;border-bottom:1px solid #d9e7f1}.progress-step{appearance:none;border:0;background:#f7fbfe;padding:14px 12px;color:#567186;font-weight:700;cursor:pointer}.progress-step span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#dcebf6;color:var(--navy);margin-right:6px}.progress-step.active{background:#eaf6ff;color:var(--navy)}.progress-step.active span{background:var(--navy);color:#fff}
form{padding:24px}.step{display:none}.step.active{display:block}.card{border:1px solid var(--line);border-radius:14px;margin:0 0 18px;background:#fff;overflow:hidden}.card.compact{margin-bottom:16px}.section-title{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,#d9efff,#edf8ff);padding:10px 14px}.section-title span{display:grid;place-items:center;min-width:36px;height:36px;padding:0 8px;border-radius:9px;background:var(--navy);color:#fff;font-weight:800}.section-title h2{margin:0;text-transform:uppercase;color:var(--navy);font-size:16px;letter-spacing:.01em}.section-title small{margin-left:auto;color:#456b88;text-transform:uppercase;letter-spacing:.08em}.card>div:not(.section-title),.card>label,.card>p,.card>ul,.card>h3{margin-left:18px;margin-right:18px}.identity-grid{display:grid;grid-template-columns:1fr 170px;gap:18px;padding:18px}.fields-grid{display:grid;gap:14px;padding:18px}.fields-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.fields-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.full{grid-column:1/-1}.span2{grid-column:span 2}label,legend{font-weight:650;font-size:14px;color:#24455d}label b,legend b{color:var(--danger)}input,textarea,select{width:100%;margin-top:6px;border:0;border-bottom:1.6px solid #7899b1;background:transparent;padding:10px 6px 8px;font:inherit;color:#122f45;outline:none;border-radius:0}input:focus,textarea:focus{border-bottom-color:var(--navy);box-shadow:0 2px 0 rgba(7,59,115,.08)}input[type=radio],input[type=checkbox]{width:auto;margin:0;accent-color:var(--navy)}fieldset{border:0;padding:0;margin:0}fieldset label{font-weight:500}.choice-row{display:flex;gap:24px;flex-wrap:wrap;padding:16px 18px}.choice-row label,.choice-grid label,.consent-check{display:flex;align-items:center;gap:8px;font-weight:500}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px}.photo-box{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;border:1px dashed #a9c8dd;border-radius:10px;padding:12px}.photo-preview{width:100%;aspect-ratio:3/4;display:grid;place-items:center;background:#f6fbff;color:#8aa5b8;overflow:hidden}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-box input{border:0;font-size:12px}.dependents{padding:16px 18px}.dependent-row{display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1.2fr auto;gap:10px;align-items:end;border-bottom:1px solid #e4eef5;padding:0 0 12px;margin-bottom:12px}.dependent-row button{height:38px}.secondary,.primary{border:0;border-radius:9px;padding:11px 16px;font-weight:750;cursor:pointer}.primary{background:var(--navy);color:#fff}.secondary{background:#e9f3fa;color:var(--navy)}.small{padding:8px 12px}.help,.subtitle{color:var(--muted)}.terms-card{padding-bottom:20px}.terms-card h3{color:var(--navy);background:#eef8ff;border-left:5px solid var(--navy);padding:10px 12px;margin-top:20px}.terms-card p,.terms-card li{line-height:1.5}.notice{background:#eff8ff;padding:14px;border:1px solid #c9e2f3;border-radius:8px}.consent-check{padding:14px 18px;font-weight:700}.signature-grid{display:grid;grid-template-columns:1fr 220px;gap:18px;padding:18px}.signature-grid canvas{display:block;width:100%;height:180px;border:1px solid #a9c8dd;border-radius:8px;background:#fff;touch-action:none;margin-top:8px}.form-actions{display:flex;justify-content:space-between;gap:12px;padding-top:8px}.status{margin-top:14px;padding:0 4px;font-weight:650}.status.error{color:var(--danger)}.status.success{color:var(--ok)}.footer{display:flex;justify-content:space-between;gap:16px;padding:18px 28px;background:var(--navy);color:#fff;letter-spacing:.15em;font-size:12px}.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:760px){.shell{margin:0;border-radius:0}.brand-header{align-items:flex-start;padding:18px;flex-direction:column}.logo{width:280px;max-width:100%}.title-wrap{text-align:left}.progress{grid-template-columns:1fr}.progress-step{text-align:left}.fields-grid.two,.fields-grid.three,.identity-grid,.choice-grid,.signature-grid{grid-template-columns:1fr}.span2{grid-column:auto}.photo-box{max-width:230px}.dependent-row{grid-template-columns:1fr}.footer{flex-direction:column}.form-actions{position:sticky;bottom:0;background:#fff;padding:12px 0;border-top:1px solid #e2edf4}.section-title small{display:none}}
@media print{body{background:#fff}.shell{box-shadow:none;margin:0;max-width:none}.progress,.form-actions,.status,.photo-box input,.secondary{display:none!important}.step{display:block!important;break-after:page}.card{break-inside:avoid}.footer{break-before:avoid}}
