:root{--navy:#113e72;--ink:#20344b;--muted:#617184;--orange:#e96a24;--line:#d8e3ee}
.submission-status{padding:12px;margin:0 0 12px;border:1px solid #b9ddcb;border-radius:7px;background:#edf8f1;color:#216741;font-size:14px;font-weight:600}.submission-status[hidden]{display:none}
*{box-sizing:border-box}body{margin:0;background:#eef4fa;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.5}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #78addd;outline-offset:2px}.wrap{width:calc(100% - 32px);max-width:440px;margin-inline:auto}
.site-header{height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:block;width:150px;height:auto}.header-label{font-size:13px;font-weight:650;color:var(--navy);text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}.intro-grid{padding-top:8px}.hero{padding:0 2px 13px}h1{margin:0 0 9px;color:var(--navy);font-size:26px;line-height:1.35;font-weight:750;letter-spacing:-.025em}h1 span{display:block;font-size:21px;margin-top:3px;letter-spacing:0}.lead{margin:0;font-size:13px;line-height:1.7;color:#566c80}.form-card{padding:16px;background:white;border:1px solid #dfe8f2;border-radius:13px;box-shadow:0 5px 22px #163d6b06}.form-card h2{margin:0 0 12px;color:var(--navy);font-size:18px;line-height:1.4}.field{margin:0 0 10px}.field label{display:block;margin-bottom:4px;font-size:13px;font-weight:600}.field label>span{color:#bb4c23}.field input,.field select{display:block;width:100%;min-width:0;height:44px;padding:8px 11px;border:1px solid #cdd9e5;border-radius:6px;background:#fff;color:var(--ink);font-size:16px}.field input::placeholder{color:#8896a5;font-size:14px}.field select:invalid{color:#8896a5}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:#c44835}.field-error{margin:4px 0 0;color:#b33a27;font-size:12px;line-height:1.4}.field-error:empty,.form-error:empty{display:none}.primary-button{display:flex;width:100%;align-items:center;justify-content:center;gap:14px;min-height:46px;padding:10px 14px;border:0;border-radius:7px;background:var(--orange);color:white;font-weight:650;font-size:16px}.primary-button:hover{background:#d85b19}.primary-button:disabled{cursor:wait;background:#c97c54}.privacy-notice{margin:2px 0 10px;color:#6d7c8c;font-size:11px;line-height:1.65}.text-button{padding:0;border:0;background:none;color:#2c64a0;font-size:inherit;text-decoration:underline}.form-bottom{margin:8px 0 0;text-align:center;font-size:11px;color:#788797}.form-error{margin:0 0 8px;color:#b33a27;font-size:13px}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.site-footer{padding-block:12px max(14px,env(safe-area-inset-bottom));text-align:center;color:#7b8997;font-size:11px}.site-footer p{margin:2px 0}.footer-brand{color:#53677d;font-size:12px}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;margin-top:5px}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}
dialog{width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #e0e7ef;border-radius:14px;color:var(--ink);box-shadow:0 24px 80px #08213e33}dialog::backdrop{background:#142c4966}.dialog-inner{padding:28px 24px;text-align:center}.success-icon{width:52px;height:52px;line-height:52px;border-radius:50%;background:#e9f5f0;color:#248966;font-size:28px;margin:0 auto 16px}.dialog-inner h2{font-size:22px;margin:0 0 10px;color:var(--navy)}.dialog-inner p{font-size:14px;color:var(--muted);margin-bottom:22px}.privacy-content{text-align:left}.privacy-content p{line-height:1.8}.privacy-content a{color:#2565a7}.skip-link{position:absolute;top:-100px;left:10px;z-index:5;padding:10px;background:white}.skip-link:focus{top:10px}noscript{color:#b33a27;font-size:13px}
@media(max-width:359px){.wrap{width:calc(100% - 24px)}.brand{width:136px}.header-label{font-size:12px}h1{font-size:23px}h1 span{font-size:19px}.form-card{padding:14px}.lead{font-size:12px}}
@media(min-width:600px){.site-header{margin-top:16px}.intro-grid{padding-top:12px}.hero{padding-bottom:17px}}
