*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#1c2430;background:#f6f8fa;display:flex;flex-direction:column;min-height:100vh}
.wrap{width:100%;max-width:640px;margin:0 auto;padding:0 20px;flex:1}
.hero{padding:48px 0 28px}
.brand{margin:0 0 14px;font-weight:600;letter-spacing:.04em;color:#2b5d8a}
h1{margin:0;font-size:clamp(1.7rem,5vw,2.4rem);line-height:1.2;font-weight:700}
h2{font-size:1.25rem;margin:0 0 16px}
.contact{background:#fff;border:1px solid #dfe5eb;border-radius:12px;padding:24px 20px;margin:0 0 48px}
.row{margin:0 0 14px}
label{display:block;font-weight:600;font-size:.95rem;margin:0 0 4px}
.opt{font-weight:400;color:#5b6773}
input,textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid #b9c4cf;border-radius:8px;background:#fff;color:inherit}
input:focus,textarea:focus{outline:2px solid #2b5d8a;outline-offset:1px;border-color:#2b5d8a}
textarea{resize:vertical;min-height:110px}
[aria-invalid=true]{border-color:#b3261e}
button{font:inherit;font-weight:600;padding:11px 22px;border:0;border-radius:8px;background:#2b5d8a;color:#fff;cursor:pointer}
button:hover{background:#224b70}
button[disabled]{opacity:.6;cursor:default}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.status{margin:14px 0 0;min-height:1.5em}
.status.ok{color:#1d6b35;font-weight:600}
.status.err{color:#b3261e;font-weight:600}
a{color:#2b5d8a}
.foot{border-top:1px solid #dfe5eb;background:#fff;text-align:center;padding:18px 20px;font-size:.95rem;color:#5b6773}
.foot p{margin:0}
.top{background:#fff;border-bottom:1px solid #dfe5eb}
.top .wrap{padding-top:18px;padding-bottom:18px}
.logo{display:inline-block;font-size:clamp(2.2rem,8vw,3.2rem);font-weight:800;line-height:1.1;letter-spacing:-.01em;color:#2b5d8a;text-decoration:none}
.logo:hover{color:#224b70}
.lede{margin:18px 0 0;font-size:1.08rem;color:#3a4654}
.about{margin:0 0 36px}
.about p{margin:0 0 14px}
.foot .mail{margin-top:6px}
