:root{--green:#355c2e;--green-dark:#274824;--ink:#24314e;--muted:#5f6b88;--line:rgba(74,88,132,.13);--font:"Nunito",Inter,ui-sans-serif,system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font);color:var(--ink);background:#f8f9ff;line-height:1.7}
a{color:var(--green);font-weight:700}
.container{width:min(1220px,calc(100% - 88px));margin:auto}
@media(max-width:1024px){.container{width:min(1220px,calc(100% - 48px))}}
@media(max-width:560px){.container{width:calc(100% - 32px)}}
.top{background:linear-gradient(120deg,#e7efff,#f0eaff 55%,#fff0e7);padding:18px 0 56px}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px}
.nav img{display:block;height:58px;width:auto}
@media(max-width:560px){.nav img{height:46px}}
.nav-cta{padding:10px 18px;border-radius:14px;background:var(--green);color:#fff;font-size:14px;font-weight:900;text-decoration:none}
.top h1{font-size:clamp(30px,6vw,44px);line-height:1.15;letter-spacing:-1px;margin:40px 0 8px;color:#253653}
.top p{margin:0;color:var(--muted);font-weight:650}
main{padding:40px 0 64px}
main h2{font-size:22px;margin:36px 0 8px;color:#253653}
main h3{font-size:17px;margin:22px 0 6px}
main p,main li{color:#3e4a66;font-size:16px}
main ul{padding-left:22px}
.note{padding:14px 18px;border-radius:14px;background:#eef4e9;border:1px solid #d7e6cc;color:#2f4a2a}
.card{padding:22px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 32px rgba(71,83,143,.07);margin:18px 0}
label{display:block;font-weight:800;font-size:14px;margin:14px 0 6px}
input,select,textarea{width:100%;font:inherit;font-size:16px;padding:11px 13px;border-radius:12px;border:1px solid #cfd6e8;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid #355c2e55;border-color:var(--green)}
textarea{min-height:140px;resize:vertical}
button{margin-top:16px;font:inherit;font-weight:900;padding:12px 22px;border:0;border-radius:14px;background:var(--green);color:#fff;cursor:pointer}
button:disabled{opacity:.6;cursor:wait}
.status{margin-top:12px;font-weight:700}
.status.ok{color:var(--green)}.status.err{color:#b3261e}
details{border-bottom:1px solid var(--line);padding:12px 0}
summary{font-weight:800;cursor:pointer}
footer{background:#202e55;color:#c9d2ec;padding:26px 0;font-size:13px}
footer .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
footer nav{display:flex;flex-wrap:wrap;gap:18px}
footer a{color:#e0e6f7}
.flash{animation:flash 1.6s ease-out}
@keyframes flash{0%{box-shadow:0 0 0 4px #355c2e66}100%{box-shadow:0 12px 32px rgba(71,83,143,.07)}}
#contact-form{scroll-margin-top:16px}
