.contact-page { background:var(--cream); color:var(--text-dark); }
.contact-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; padding-top:28px; padding-bottom:28px; }
.contact-header nav { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.contact-header nav a, .contact-footer a { display:inline-flex; align-items:center; min-height:44px; }
.contact-layout { display:grid; grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr); gap:clamp(32px, 6vw, 96px); padding-top:64px; padding-bottom:80px; }
.contact-copy h1 { font-size:clamp(2.4rem, 5vw, 4rem); line-height:1.12; margin-bottom:24px; }
.contact-copy p { margin-bottom:24px; max-width:55ch; }
.contact-layout a { color:var(--brown-dark); text-decoration:underline; text-underline-offset:3px; }
.contact-note { color:var(--text-mid); font-size:.9rem; line-height:1.6; }
.contact-layout .form-group label { font-size:1rem; }
.contact-layout .form-group input, .contact-layout .form-group textarea, .contact-layout .form-group select { font-size:1rem; background:var(--white); }
.contact-consent { display:flex; align-items:flex-start; gap:12px; margin:24px 0; }
.contact-consent input { width:20px; height:20px; flex-shrink:0; margin-top:3px; accent-color:var(--brown-dark); }
.contact-layout button { margin-top:20px; min-height:48px; }
.contact-layout button:disabled { opacity:.6; cursor:not-allowed; }
.contact-notice { padding:18px; margin-bottom:24px; background:var(--cream-2); color:var(--text-dark); border:1px solid var(--brown-light); border-radius:12px; overflow-wrap:anywhere; }
.contact-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px; padding-bottom:32px; border-top:1px solid var(--brown-light); }
.contact-page :focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.contact-page ::selection { background:var(--gold-light); color:var(--text-dark); }
@media(max-width:760px) { .contact-layout { grid-template-columns:1fr; padding-top:28px; gap:28px; } .contact-header { gap:12px; } .contact-header .nav-logo { font-size:1.1rem; } .contact-layout button { width:100%; } }
