.contact-page { padding-top:var(--contact-header-space,180px); color:#444; font-size:18px; line-height:1.6; }
.contact-page *, .contact-page *::before, .contact-page *::after { box-sizing:border-box; }
.contact-container { width:min(1280px,calc(100% - 40px)); margin-inline:auto; }
.contact-intro { background:#f5c800; padding:clamp(40px,6vw,88px) 0; border-bottom:1px solid #111; }
.contact-eyebrow { margin:0 0 16px; font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#111; }
.contact-page h1 { max-width:1000px; margin:0 0 24px; color:#111; font-size:clamp(36px,4.5vw,68px); line-height:1.08; letter-spacing:-.035em; overflow-wrap:break-word; }
.contact-lead { max-width:780px; margin:0; font-size:clamp(19px,2vw,24px); line-height:1.5; color:#111; }
.contact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); align-items:start; gap:clamp(32px,4vw,64px); padding-block:clamp(40px,5vw,80px); }
.contact-grid > *, .contact-information, .contact-topic, .contact-field { min-width:0; }
.contact-page h2 { margin:0 0 20px; font-size:clamp(26px,2.3vw,34px); line-height:1.2; color:#111; letter-spacing:-.02em; }
.contact-page p, .contact-page ul, .contact-details { max-width:min(100%,1100px); }
.contact-topic p { margin:0 0 20px; }
.contact-topic + .contact-topic { margin-top:40px; padding-top:32px; border-top:1px solid #d0d0d0; }
.contact-details { margin:24px 0; padding:24px; background:#f4f4f0; border-left:4px solid #f5c800; }
.contact-details > div + div { margin-top:18px; }
.contact-details dt { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:#444; }
.contact-details dd { margin:4px 0 0; color:#111; }
.contact-page a { color:#111; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.contact-details a { display:inline-block; min-height:24px; }
.contact-guidance { padding-left:22px; margin:0 0 24px; }
.contact-guidance li + li { margin-top:16px; }
.contact-form-panel { border:1px solid #ccc; border-top:6px solid #111; padding:clamp(22px,3vw,40px); background:#fafafa; }
.contact-form-panel > p:not(.contact-eyebrow) { margin:0 0 28px; }
.contact-form { display:flex; flex-direction:column; gap:22px; min-width:0; }
.contact-field label { display:block; margin-bottom:8px; color:#111; font-size:17px; font-weight:600; }
.contact-required { color:#555; font-size:14px; font-weight:400; }
.contact-field input, .contact-field textarea { display:block; width:100%; max-width:100%; min-width:0; min-height:48px; padding:12px 14px; border:1px solid #a4a4a4; background:#ececec; color:#1b1b1b; font:inherit; }
.contact-field textarea { resize:vertical; }
.contact-field [aria-invalid="true"] { border:2px solid #9f1d16; }
.contact-error { margin:6px 0 0; color:#9f1d16; font-size:14px; font-weight:500; line-height:1.5; }
.contact-error:empty { display:none; }
.contact-error-summary { padding:14px; border:1px solid #9f1d16; background:#fff0ed; color:#821810; font-size:16px; }
.contact-error-summary[hidden] { display:none; }
.contact-page .contact-submit { display:flex; justify-content:space-between; align-items:center; gap:16px; width:100%; padding:16px 20px; min-height:52px; border:2px solid #111; background:#f5c800; color:#111; font:inherit; font-weight:700; cursor:pointer; text-align:left; }
.contact-submit:hover { background:#ffdc3b; }
.contact-form-note { margin:0; font-size:14px; line-height:1.6; color:#555; }
.contact-page :is(a,button,input,textarea):focus-visible { outline:3px solid #765d00; outline-offset:4px; }
@media (max-width:600px) {
  .contact-container { width:calc(100% - 32px); }
  .contact-page { font-size:17px; }
  .contact-details { padding:20px; }
  .contact-form-panel { padding:22px 18px; }
  .contact-intro { padding-block:40px; }
}
