:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
color:#1d1d1f;
background:#f5f6fa;
font-size:16px;
line-height:1.5;
color-scheme:light}
*{box-sizing:border-box}
body{margin:0}
a{color:#1854bf;
text-underline-offset:3px}
header{background:#fff;
border-bottom:1px solid #d4dceb;
padding:20px 32px;
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
flex-wrap:wrap}
.brand{font-size:20px;
font-weight:700;
color:#152749;
text-decoration:none}
.brand span{display:block;
font-size:14px;
color:#536174;
font-weight:500}
nav{display:flex;
align-items:center;
gap:20px;
flex-wrap:wrap}
nav form{margin:0}
main{max-width:1180px;
margin:40px auto;
padding:0 24px}
section{background:#fff;
border:1px solid #d4dceb;
border-radius:16px;
padding:24px;
margin:24px 0;
box-shadow:0 4px 16px #16396705}
h1{font-size:32px;
line-height:1.2;
letter-spacing:-.025em;
margin:0 0 12px;
overflow-wrap:anywhere}
h2{font-size:22px;
margin:0 0 12px}
h3{font-size:18px;
margin-top:24px}
p{margin:10px 0 18px}
small{display:block;
color:#536174;
font-size:14px}
label{font-weight:600;
display:block}
input,select,textarea{font:inherit;
width:100%;
border:1px solid #a6b5ca;
border-radius:8px;
background:white;
color:#1d1d1f;
padding:11px 12px;
min-height:44px;
margin:6px 0 12px}
textarea{resize:vertical}
input[type=checkbox]{width:20px;
min-height:20px;
vertical-align:middle;
margin-right:8px}
button,.button{display:inline-block;
background:#245bdc;
color:white;
border:1px solid transparent;
border-radius:9px;
padding:11px 18px;
font-family:inherit;
font-weight:600;
line-height:1.5;
font-size:15px;
cursor:pointer;
text-decoration:none;
min-height:44px}
.secondary{background:#fff;
color:#214981;
border-color:#a6b5ca}
.danger{background:#fff3f4;
color:#a31c33;
border-color:#e0a8b1}
button:disabled{opacity:.55;
cursor:wait}
:focus-visible{outline:3px solid #1854bf;
outline-offset:3px}
.grid,.cards{display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:12px 24px}
.grid p{margin:0}
.grid>*{min-width:0}
input[type=file]{max-width:100%;overflow:hidden}
.cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards section{margin:12px 0}
.heading,.actions,.document{display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
flex-wrap:wrap}
.actions{justify-content:flex-start;
margin:20px 0}
.document{padding:18px 0;
border-bottom:1px solid #dde3ee}
.document>div{flex:1;
min-width:180px}
.error,.errorlist{color:#981a2f;
background:#fff1f3;
border:1px solid #deb5bd;
border-radius:8px;
padding:14px 20px}
.errorlist{list-style:none}
.form-error-summary{margin:20px 0 24px;
border-left:4px solid #981a2f;
overflow-wrap:anywhere}
.form-error-summary h2{font-size:20px;
line-height:1.35}
.form-error-summary p{margin-bottom:12px}
.form-error-summary ul{padding-left:20px;
margin:0}
.form-error-summary li+li{margin-top:10px}
.form-error-summary a{color:#981a2f;
font-weight:600}
input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{
border:2px solid #981a2f;
background:#fffafb;
scroll-margin-top:24px}
.notice{background:#edf3ff;
border:1px solid #b5c8ee;
border-radius:9px;
padding:16px;
color:#23426d}
.narrow{max-width:660px;
margin:24px auto}
.registration-field{margin-bottom:20px}
.client-address{margin:24px 0}
.client-address legend{font-size:20px}
.client-address-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px}
.client-address-fields .registration-field{grid-column:1 / -1;min-width:0}
.client-address-fields .client-address-half{grid-column:auto}
.client-address-fields input,.client-address-fields select{min-width:0;max-width:100%}
@media(max-width:520px){.client-address-half label{min-height:3em}}
@media(max-width:360px){.client-address-fields{column-gap:10px}.client-address-half select,.client-address-half input{padding-left:8px;padding-right:8px}}
.security-check{margin:24px 0}
.helptext{display:block;
color:#536174;
font-size:14px}
.badge{font-size:14px;
padding:5px 10px;
background:#edf3ff;
border-radius:12px;
white-space:nowrap}
.eyebrow{text-transform:uppercase;
letter-spacing:.1em;
font-size:13px;
color:#536174;
font-weight:600}
.lead{font-size:18px;
max-width:740px;
color:#536174}
fieldset{min-width:0;
border:1px solid #d4dceb;
border-radius:10px;
padding:18px;
margin:16px 0}
legend{font-weight:650;
padding:0 8px}
.list-row{display:flex;
gap:20px;
flex-wrap:wrap;
justify-content:space-between;
padding:20px 0;
border-bottom:1px solid #dde3ee}
.list-row>*{flex:1;
min-width:140px}
dl{display:grid;
grid-template-columns:minmax(150px,1fr) 3fr;
gap:12px 24px}
dt{color:#536174}
dd{margin:0;
overflow-wrap:anywhere}
article{border-bottom:1px solid #dde3ee;
padding:12px 0}
pre{white-space:pre-wrap;
overflow-wrap:anywhere;
font-size:14px}
.recipient-addresses{grid-column:1 / -1;min-width:0;border-top:1px solid #dde3ee;padding-top:16px}
.recipient-card{border:1px solid #dde3ee;border-radius:12px;margin:16px 0;padding:0 16px}
.recipient-card > summary{font-size:18px;color:#1d1d1f}
.recipient-card > .grid{margin:0;border:0;padding:0 0 16px}
.recipient-card .grid > p:has(> [name$="-city"]),
.recipient-card .grid > p:has(> [name$="-country"]){grid-column:1 / -1}
.recipient-card .grid > p:has(> [name$="-height_feet"]){grid-column:1}
.recipient-addresses .grid{min-width:0}
summary{cursor:pointer;
padding:16px 0;
font-weight:600}
.proposal{padding:16px 0;
border-bottom:1px solid #dde3ee;
overflow-wrap:anywhere}
footer{max-width:1180px;
margin:40px auto;
padding:24px;
color:#536174;
font-size:14px}
.skip{position:absolute;
top:-100px;
background:white;
padding:12px}
.skip:focus{top:0}
@media(max-width:760px){main{margin:24px auto;
padding:0 16px}
header{padding:16px}
section{padding:20px}
.grid,.cards{grid-template-columns:1fr}
h1{font-size:27px}
dl{grid-template-columns:1fr;
gap:4px}
dd{margin-bottom:12px}
nav{gap:12px}
.document{align-items:flex-start}
}
.recipient-photos { grid-column: 1 / -1; min-width: 0; border-top: 1px solid #d6deea; padding-top: 20px; margin-top: 8px; }
.recipient-photos label { display: block; margin-top: 16px; }
.recipient-photos button { margin-top: 12px; }
.upload-feedback{grid-column:1 / -1;flex-basis:100%;margin:16px 0;padding:16px;border:1px solid #b5c8ee;border-radius:9px;background:#edf3ff;color:#23426d;overflow-wrap:anywhere}
.upload-feedback p{margin:0;white-space:pre-line}
.upload-feedback progress{display:block;width:100%;height:12px;margin-top:12px;accent-color:#245bdc}
.upload-feedback progress[hidden]{display:none}
.upload-feedback.is-error{color:#981a2f;background:#fff1f3;border-color:#deb5bd}
