:root{--blue:#30318b;--dark:#202264;--ink:#17223b;--muted:#48556c;--line:#dce1ed;--soft:#f3f5fa;--error:#b42318;--success:#157347}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font:1.0625rem/1.65 Arial,Helvetica,sans-serif}
a{color:inherit;text-underline-offset:5px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #587bdf;outline-offset:4px}
.wrap{width:min(1180px,88%);margin:auto}
header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}
.brand{display:block;line-height:1}
.brand img{display:block;width:230px;max-width:45vw;height:auto}
nav{display:flex;gap:32px}
nav a{font-size:1rem;font-weight:700;text-decoration:none;color:var(--blue);padding:10px 0}
nav a:hover{text-decoration:underline}
.skip{position:absolute;left:-9999px}
.skip:focus{left:20px;top:20px;background:#fff;color:var(--ink);padding:12px;z-index:5}
.hero{background:var(--blue);color:#fff;margin-top:30px;padding:58px 0}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:48px;align-items:end}
.eyebrow,.label{font-size:.875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 20px}
h1{font-size:clamp(2.75rem,5.2vw,5rem);line-height:1.08;letter-spacing:-.03em;margin:0 0 24px;max-width:780px}
h2{font-size:1.4rem;line-height:1.25;margin:0 0 12px}
.intro{font-size:1.1875rem;line-height:1.7;max-width:720px;margin:0;color:#fff}
.contact-card{background:#fff;color:var(--ink);border-radius:6px;padding:28px;border:1px solid #d6e2ff}
.contact-card p{margin:0;color:var(--muted)}
.contact-card a{font-weight:700;color:var(--blue);overflow-wrap:anywhere}
.form-band{background:var(--soft);padding:58px 0 70px}
.form-shell{display:grid;grid-template-columns:minmax(0,920px);justify-content:center}
form{background:#fff;border:1px solid var(--line);border-top:5px solid var(--blue);border-radius:6px;padding:34px}
.form-head{display:grid;grid-template-columns:1fr 2fr;gap:24px;margin-bottom:30px}
.form-head .label{color:var(--blue);margin:0}
.privacy-note{margin:0;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
label{font-weight:700;color:var(--ink)}
.optional{font-weight:400;color:var(--muted)}
input,select,textarea{width:100%;border:1px solid #c9d1e2;border-radius:4px;background:#fff;color:var(--ink);font:inherit;padding:12px 13px}
textarea{resize:vertical;min-height:170px}
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--error)}
.field-help{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:.875rem}
.bot-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.permission{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;margin:5px 0 18px}
.permission input{width:21px;height:21px;margin-top:4px}
.status{min-height:28px;margin:6px 0 18px;font-weight:700}
.status.error{color:var(--error)}
.status.success{color:var(--success)}
.actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;border:0;border-radius:4px;font-size:1rem;font-weight:700;padding:15px 23px;text-decoration:none;cursor:pointer}
.button:hover{background:var(--dark)}
.button:disabled{cursor:progress;opacity:.68}
.email-link{font-weight:700;color:var(--blue);overflow-wrap:anywhere}
.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;padding:25px 0 35px;font-size:.875rem;color:var(--muted)}
.thank-you-panel{background:#fff;border:1px solid var(--line);border-top:5px solid var(--blue);border-radius:6px;padding:34px}
.thank-you-panel .label{color:var(--blue)}
@media(max-width:850px){.hero-grid,.form-head{grid-template-columns:1fr}.hero{padding:44px 0}.contact-card{max-width:560px}.grid{grid-template-columns:1fr}form{padding:28px}}
@media(max-width:520px){.wrap{width:90%}header{gap:15px;padding:21px 0}nav{gap:17px}nav a{font-size:.9375rem}.brand img{width:175px}.hero{margin-top:20px;padding:36px 0}h1{font-size:2.55rem}.intro{font-size:1.0625rem}.form-band{padding:38px 0 46px}form{padding:24px 20px}.field-help{flex-direction:column;gap:4px}.footer{flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
#description-count{white-space:nowrap;flex-shrink:0}
