.contact-page { padding-top:var(--chrome-header); padding-bottom:var(--chrome-footer); }
.contact-page #contactMain { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(32px,7vw,96px); align-items:center; min-height:calc(100svh - var(--chrome-header) - var(--chrome-footer)); width:100%; max-width:1160px; padding:28px 40px; margin:auto; }
.contact-intro h1,.contact-success h1 { font-size:clamp(34px,3.7vw,58px); line-height:1.15; letter-spacing:-.045em; margin:0 0 24px; }
.contact-intro>p:last-child,.contact-success p:not(.eyebrow) { max-width:420px; color:#b9c0cd; font-size:18px; line-height:1.65; margin:0; }
.contact-form { display:grid; gap:12px; width:100%; min-width:0; }
.contact-form label { display:flex; flex-direction:column; gap:6px; font-size:14px; color:#d4dbea; }
.contact-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.contact-form input:not([type=hidden]),.contact-form textarea { width:100%; min-width:0; padding:10px 12px; min-height:42px; border:1px solid #464d5b; border-radius:6px; background:#202228; color:#eef1f7; font:inherit; font-size:16px; }
.contact-form textarea { min-height:100px; resize:vertical; line-height:1.5; }
.contact-form input:focus-visible,.contact-form textarea:focus-visible { outline:2px solid #bdd6ff; outline-offset:3px; }
.contact-send { display:inline-flex; justify-content:center; align-items:center; gap:22px; min-height:44px; padding:10px 18px; border:1px solid #789ed8; border-radius:6px; background:#83b0fa; color:#16243d; font:inherit; font-weight:600; font-size:16px; }
.contact-send:hover { background:#a4c6ff; }
.contact-note { margin:0; font-size:12px; line-height:1.5; color:#9da4b2; }
.contact-direct { margin:8px 0 0; padding-top:16px; border-top:1px solid #464d5b; color:#b9c0cd; font-size:14px; line-height:1.6; }
.contact-direct a { color:#bdd6ff; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.contact-direct a:hover { color:#fff; }
.contact-direct a:focus-visible { outline:2px solid #bdd6ff; outline-offset:4px; }
.contact-page #contactMain.contact-success { display:flex; justify-content:center; text-align:center; }
.contact-success p:not(.eyebrow) { margin:auto; }
.contact-success .contact-send { margin-top:28px; }
@media(max-width:760px) {
 .contact-page #contactMain { grid-template-columns:1fr; gap:26px; padding:24px; }
 .contact-intro h1 { font-size:36px; margin-bottom:14px; }
 .contact-intro>p:last-child { font-size:16px; }
 .contact-row { grid-template-columns:1fr; gap:12px; }
 .contact-form { padding-bottom:12px; }
}
