*{box-sizing:border-box}
body{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    background:#f3f6f9;
    color:#1f2933;
}
.page{
    max-width:1050px;
    margin:0 auto;
    padding:32px 18px 60px;
}
.small-page{max-width:650px}
.logo-wrap{text-align:center;margin-bottom:24px}
.logo-wrap img{max-width:220px;height:auto}
.card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:24px;
    margin-bottom:20px;
    box-shadow:0 8px 24px rgba(15,23,42,.06);
}
.intro h1,.success-card h1{margin-top:0}
.form-card h2{
    margin-top:28px;
    border-bottom:1px solid #e5e7eb;
    padding-bottom:8px;
    color:#003c78;
}
.form-card h2:first-of-type{margin-top:0}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-row{display:flex;flex-direction:column;gap:6px}
label{font-weight:700;font-size:14px}
input,select,textarea{
    width:100%;
    border:1px solid #cfd7e2;
    border-radius:9px;
    padding:11px 12px;
    font-size:15px;
    background:#fff;
}
textarea{resize:vertical}
.checkbox-row label{
    display:flex;
    flex-direction:row;
    align-items:flex-start;
    gap:10px;
    font-weight:400;
}
.checkbox-row input{width:auto;margin-top:3px}
.btn{
    display:inline-block;
    border:0;
    border-radius:9px;
    background:#003c78;
    color:white;
    padding:12px 18px;
    text-decoration:none;
    font-weight:700;
    cursor:pointer;
}
.flash{
    padding:14px 16px;
    border-radius:10px;
    margin-bottom:18px;
}
.flash.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.flash.success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
@media(max-width:760px){
    .grid-2{grid-template-columns:1fr}
    .page{padding:20px 12px 40px}
}
