:root{--navy:#142c4c;--navy2:#1d416b;--accent:#2f8aa3;--accent2:#49a7b8;--ink:#1d2939;--muted:#667085;--line:#d9e2ea;--soft:#f4f8fb;--white:#fff;--danger:#b42318;--success:#067647;--shadow:0 14px 40px rgba(20,44,76,.10);--radius:18px}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eef5f8 0,#fff 45%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);line-height:1.55}.app-shell{width:min(980px,calc(100% - 32px));margin:34px auto 70px}.brand-header{display:flex;gap:22px;align-items:flex-start;background:var(--white);padding:32px;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(20,44,76,.08)}.brand-mark{width:68px;height:68px;flex:0 0 68px;border-radius:18px;background:linear-gradient(145deg,var(--navy),var(--accent));display:grid;place-items:center;color:#fff;font-weight:800;font-size:22px;letter-spacing:.04em}.eyebrow{margin:0 0 3px;color:var(--accent);font-weight:700;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase}h1{margin:0;color:var(--navy);font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.15}.intro{margin:14px 0 0;color:var(--muted);max-width:760px}.progress-wrap{margin:24px 0;background:rgba(255,255,255,.92);padding:18px 22px;border:1px solid var(--line);border-radius:14px;position:sticky;top:10px;z-index:20;backdrop-filter:blur(10px)}.progress-meta{display:flex;justify-content:space-between;font-size:.86rem;font-weight:700;color:var(--navy)}.progress-track{height:8px;background:#e8eff4;border-radius:999px;margin-top:9px;overflow:hidden}.progress-bar{height:100%;width:10%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:999px;transition:width .3s ease}.save-status{margin:8px 0 0;color:var(--muted);font-size:.78rem}.form-step{display:none;background:var(--white);border:1px solid rgba(20,44,76,.09);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.form-step.active{display:block;animation:fade .25s ease}@keyframes fade{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}.step-heading{display:flex;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:24px}.step-number{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:13px;background:var(--soft);color:var(--accent);font-weight:800}.step-heading h2{margin:0;color:var(--navy);font-size:1.45rem}.step-heading p{margin:4px 0 0;color:var(--muted)}.field{margin:0 0 22px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field label:not(.option-group label):not(.check-grid label){display:block;font-weight:650;color:#263b55;margin-bottom:8px}.required>label:first-child:after{content:" *";color:var(--danger)}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],select,textarea{width:100%;font:inherit;border:1px solid #c9d6e1;border-radius:11px;padding:12px 14px;background:#fff;color:var(--ink);transition:.18s}textarea{resize:vertical;min-height:90px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(47,138,163,.12)}.invalid{border-color:var(--danger)!important;box-shadow:0 0 0 4px rgba(180,35,24,.1)!important}.option-group{display:flex;flex-wrap:wrap;gap:10px}.option-group label,.check-grid label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:10px 12px;border-radius:10px;background:#fff;cursor:pointer}.option-group label:hover,.check-grid label:hover{border-color:#9fc8d3;background:#f7fbfc}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}input[type=checkbox],input[type=radio]{width:17px;height:17px;accent-color:var(--accent)}.hint{font-weight:400;color:var(--muted);font-size:.85rem}.conditional{display:none}.conditional.visible{display:block}.service-block{margin-top:24px;padding:22px;border:1px solid #cbdce4;border-radius:14px;background:linear-gradient(180deg,#f8fbfc,#fff)}.service-block h3{margin:0 0 18px;color:var(--navy);font-size:1.2rem}.notice-box{padding:16px 18px;border-left:4px solid var(--accent);background:var(--soft);border-radius:8px;margin:20px 0}.consent label{display:flex!important;align-items:flex-start;gap:10px}.file-list{font-size:.85rem;color:var(--muted);margin-top:8px}.form-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:20px}.btn{border:0;border-radius:10px;padding:12px 18px;font:inherit;font-weight:750;cursor:pointer}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy2)}.btn-secondary{background:#e7eef3;color:var(--navy)}.btn-ghost{background:transparent;color:var(--accent);margin-right:auto}.hidden{display:none!important}.form-message{margin-top:12px;color:var(--danger);font-weight:600}.honeypot{position:absolute!important;left:-9999px!important}.success-card{margin-top:24px;padding:36px;border-radius:var(--radius);background:#ecfdf3;border:1px solid #abefc6}.success-card h2{color:var(--success);margin-top:0}@media(max-width:700px){.app-shell{width:min(100% - 18px,980px);margin-top:10px}.brand-header{padding:22px;display:block}.brand-mark{margin-bottom:16px}.form-step{padding:21px 17px}.progress-wrap{top:4px}.field-grid,.check-grid{grid-template-columns:1fr}.form-actions{flex-wrap:wrap}.btn{flex:1 1 auto}.btn-ghost{order:3;flex-basis:100%;margin:0}.step-heading{gap:12px}.step-number{flex-basis:40px;height:40px}}
