:root{--navy:#0b1f3a;--ink:#1a2433;--muted:#4a5568;--bg:#ffffff;--soft:#f3f6fa;--accent:#0b4fa8;--line:#d5dce6}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1.0625rem;line-height:1.6;color:var(--ink);background:var(--bg)}
.wrap{max-width:46rem;margin:0 auto;padding:0 1rem}
header.site{background:var(--navy);color:#fff;padding:1.25rem 0}
header.site .brand{display:block;color:#fff;font-size:1.5rem;font-weight:700;text-decoration:none}
header.site p{margin:.25rem 0 0;color:#fff}
header.site a:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #f5b301;outline-offset:2px}
main{padding:1.5rem 0 2rem}
h1{font-size:1.75rem;line-height:1.25;margin:0 0 1rem;color:var(--navy);text-wrap:balance;max-width:20ch}
h2{font-size:1.35rem;line-height:1.3;margin:2rem 0 .5rem;color:var(--navy)}
p,ul{margin:0 0 1rem}
ul{padding-left:1.25rem}
li{margin-bottom:.35rem}
a{color:var(--accent)}
.card{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:1rem}
form label{display:block;font-weight:600;margin:1rem 0 .25rem}
form input[type=text],form input[type=tel],form input[type=email],form textarea{width:100%;font:inherit;padding:.65rem .75rem;border:1px solid #6b7686;border-radius:6px;background:#fff;color:var(--ink)}
form textarea{min-height:6rem}
.consent{display:flex;gap:.6rem;align-items:flex-start;margin:1.25rem 0;font-size:.95rem}
.consent input{margin-top:.3rem;width:1.15rem;height:1.15rem;flex:none}
.consent label{margin:0;font-weight:400}
button{font:inherit;font-weight:700;background:var(--navy);color:#fff;border:0;border-radius:6px;padding:.8rem 1.4rem;cursor:pointer;min-height:2.75rem}
button:hover{background:#12305c}
address{font-style:normal}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
footer.site{background:var(--navy);color:#fff;padding:1.25rem 0;font-size:.95rem}
footer.site a{color:#fff}
footer.site p{margin:.25rem 0}
@media(min-width:40rem){h1{font-size:2.1rem}.wrap{padding:0 1.5rem}}
