.contact-page { min-height:100vh; display:flex; flex-direction:column; }
.contact-page [hidden] { display:none!important; }
.request-layout { display:grid; grid-template-columns:minmax(0, .85fr) minmax(0, 1.25fr); gap:64px; padding-block:64px 80px; flex:1; align-items:start; }
.request-intro h1 { font-size:3.5rem; line-height:1.12; letter-spacing:-.025em; margin-top:20px; }
.request-intro > p:not(.eyebrow) { color:var(--secondary); font-size:1.125rem; margin-top:24px; }
.request-intro .quiet-link { margin-top:24px; }
.request-surface { padding:36px; }
.form-note { color:var(--slate); font-size:.875rem; margin-bottom:24px; }
.request-fields { display:grid; gap:22px; }
.field label { display:block; font-weight:500; margin-bottom:8px; }
.optional { color:var(--slate); font-size:.875rem; font-weight:400; margin-left:8px; }
.field input,.field textarea { display:block; width:100%; font:inherit; color:var(--navy); background:var(--white); border:1px solid var(--slate); border-radius:3px; padding:11px 12px; min-height:48px; }
.field textarea { resize:vertical; min-height:144px; }
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"] { border-color:#9a352b; }
.field-hint { margin-top:8px; color:var(--slate); font-size:.875rem; }
.request-surface .button { margin-top:28px; }
.request-surface .button:disabled { opacity:.65; cursor:wait; }
.request-error { background:var(--paper); border-left:3px solid #9a352b; padding:16px; margin-top:24px; font-size:.9375rem; }
.request-error p + p { margin-top:8px; color:var(--slate); }
.request-error a { overflow-wrap:anywhere; }
.sending-status { font-size:.875rem; color:var(--slate); }
.sending-status:not(:empty) { margin-top:12px; }
.direct-email { margin-top:18px; color:var(--secondary); font-size:.9375rem; }
.direct-email a { display:inline-block; padding-block:8px; overflow-wrap:anywhere; }
.request-success { padding-block:28px 40px; }
.request-success h2 { font-size:2rem; line-height:1.25; margin-top:18px; }
.request-success a { display:inline-flex; align-items:center; gap:18px; margin-top:32px; min-height:44px; }
.no-script-note { margin-top:16px; }
.contact-trap { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.contact-page nav [aria-current="page"] { text-decoration:underline; }
@media(max-width:1050px) { .request-layout { gap:36px; } .request-intro h1 { font-size:3rem; } .request-surface { padding:28px; } }
@media(max-width:760px) { .request-layout { display:block; max-width:640px; padding-block:40px 56px; } .request-intro { margin-bottom:32px; } .request-intro h1 { font-size:2.75rem; } .request-intro > p:not(.eyebrow) { margin-top:18px; } .request-intro .quiet-link { margin-top:12px; } }
@media(max-width:520px) { .request-layout { padding-block:32px 40px; } .request-surface { padding:24px 20px; } .request-intro h1 { font-size:2.5rem; } .request-fields { gap:20px; } .direct-email { font-size:.875rem; } .request-success h2 { font-size:1.75rem; } }
