:root { --ink:#10264c; --muted:#52688c; --line:rgba(16,38,76,.14); --blue:#5a93f8; --navy:#0b1933; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:radial-gradient(circle at 12% 8%,rgba(143,182,255,.24),transparent 30%),linear-gradient(180deg,#f8fcff 0,#edf4ff 100%); color:var(--ink); font-family:Manrope,Arial,sans-serif; }
a { color:inherit; }
main { margin:auto; max-width:1120px; padding:0 24px; }
h1,h2,h3 { font-family:"Space Grotesk",Manrope,sans-serif; letter-spacing:-.035em; }
.eyebrow { color:#4e7fce; font-size:12px; font-weight:800; letter-spacing:.16em; margin:0 0 14px; text-transform:uppercase; }
.contact-hero { align-items:start; display:grid; gap:58px; grid-template-columns:.9fr 1.1fr; padding:72px 0 82px; }
.contact-intro { padding-top:34px; }
h1 { font-size:clamp(44px,6vw,70px); line-height:1.02; margin:0; }
.lead { color:var(--muted); font-size:18px; line-height:1.72; margin:24px 0 0; }
.contact-details { border-top:1px solid var(--line); display:grid; gap:0; margin-top:38px; }
.contact-details > * { border-bottom:1px solid var(--line); display:grid; gap:5px; padding:17px 0; text-decoration:none; }
.contact-details a:hover strong { color:#315f9e; }
.contact-details span { color:#7181a0; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.contact-details strong { font-size:14px; }
.form-panel { background:#fff; border:1px solid var(--line); border-radius:28px; box-shadow:0 28px 80px rgba(9,21,45,.16); padding:36px; scroll-margin-top:90px; }
.form-heading > span { color:#4e7fce; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.form-heading h2 { font-size:34px; margin:8px 0 0; }
.form-heading p { color:var(--muted); font-size:13px; line-height:1.55; margin:9px 0 24px; }
form { display:grid; gap:17px; }
.field-row { display:grid; gap:14px; grid-template-columns:1fr 1fr; }
.field { display:grid; gap:7px; }
label { font-size:12px; font-weight:800; }
input,select,textarea { background:#f8fbff; border:1px solid rgba(16,38,76,.19); border-radius:11px; color:var(--ink); font:inherit; font-size:14px; outline:none; padding:12px 13px; width:100%; }
textarea { line-height:1.55; resize:vertical; }
input:focus,select:focus,textarea:focus { border-color:#5a93f8; box-shadow:0 0 0 3px rgba(90,147,248,.13); }
form button { align-items:center; background:var(--ink); border:0; border-radius:12px; color:#fff; cursor:pointer; display:flex; font:inherit; font-size:14px; font-weight:800; justify-content:space-between; padding:14px 17px; }
form button:hover { background:#18376c; }
form button span { color:#8fb6ff; font-size:20px; }
.contact-routes { border-top:1px solid var(--line); display:grid; gap:48px; grid-template-columns:.64fr 1.36fr; padding:70px 0 84px; }
.contact-routes h2 { font-size:clamp(32px,4vw,44px); line-height:1.08; margin:0; }
.route-grid { display:grid; gap:14px; grid-template-columns:1fr 1fr; }
.route-grid a { background:#fff; border:1px solid var(--line); border-radius:20px; min-height:225px; padding:23px; text-decoration:none; transition:transform 150ms ease,box-shadow 150ms ease; }
.route-grid a:hover { box-shadow:0 18px 45px rgba(9,21,45,.11); transform:translateY(-2px); }
.route-grid span { color:var(--blue); font-size:11px; font-weight:800; }
.route-grid h3 { font-size:20px; margin:16px 0 8px; }
.route-grid p { color:var(--muted); font-size:13px; line-height:1.6; }
.route-grid strong { display:block; font-size:12px; margin-top:19px; }
footer { border-top:1px solid var(--line); color:var(--muted); display:flex; font-size:14px; justify-content:space-between; padding:28px max(24px,calc((100vw - 1120px)/2)); }
footer nav { display:flex; flex-wrap:wrap; gap:18px; }
@media(max-width:850px) { .contact-hero,.contact-routes { grid-template-columns:1fr; } .contact-intro { padding-top:0; } }
@media(max-width:620px) { main { padding:0 16px; } .contact-hero { gap:36px; padding:44px 0 58px; } .field-row,.route-grid { grid-template-columns:1fr; } .form-panel { border-radius:22px; padding:24px; } .contact-routes { gap:30px; padding:54px 0; } footer { flex-direction:column; gap:12px; } }
