.contact-page { background: var(--white); color: var(--black); }
.contact-page .site-header { position: relative; grid-template-columns: 160px 1fr; background: var(--white); color: var(--black); border-bottom-color: transparent; }
.contact-page .site-header.is-scrolled { background: rgba(245,243,239,.94); border-bottom-color: var(--line-light); }
.contact-page .primary-nav { background: rgba(255,255,255,.72); border-color: rgba(5,5,5,.08); box-shadow: 0 6px 18px rgba(5,5,5,.08), inset 0 1px 0 rgba(255,255,255,.8); }
.contact-page .nav-link { color: rgba(5,5,5,.82); }
.contact-page .nav-link:hover { color: var(--black); background: rgba(5,5,5,.06); }
.contact-page .nav-link.is-active { color: var(--black); border-color: rgba(5,5,5,.1); background: rgba(255,255,255,.9); box-shadow: 0 2px 8px rgba(5,5,5,.08); }
.contact-page .menu-toggle span { background: var(--black); }
.contact-main { min-height: 980px; padding: clamp(92px, 9vw, 150px) 0 clamp(110px, 11vw, 170px); background: var(--white); color: var(--black); }
.contact-hero { max-width: 1180px; }
.contact-eyebrow { margin: 0 0 12px; color: rgba(5,5,5,.68); font-size: clamp(16px, 1.5vw, 24px); font-weight: 400; letter-spacing: -.035em; }
.contact-hero h1 { margin: 0; color: var(--black); font-size: clamp(52px, 6vw, 92px); font-weight: 500; line-height: .95; letter-spacing: -.075em; }
.contact-form { max-width: 920px; margin-top: clamp(48px, 5vw, 72px); }
.contact-form-row { display: grid; gap: 22px; }
.contact-form-row--split { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); }
.contact-form-row--email { grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); }
.contact-field { min-width: 0; margin: 0 0 30px; }
.contact-field label, .contact-field legend { display: block; margin: 0 0 10px; color: var(--black); font-size: 16px; font-weight: 500; letter-spacing: -.035em; }
.contact-field input, .contact-field select, .contact-field textarea { width: 100%; border: 1px solid rgba(5,5,5,.34); border-radius: 999px; outline: 0; background: rgba(255,255,255,.18); color: var(--black); font: inherit; font-size: 16px; line-height: 1.2; transition: border-color .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease); }
.contact-field input, .contact-field select { height: 46px; padding: 0 16px; }
.contact-field textarea { min-height: 142px; padding: 15px 16px; border-radius: 22px; resize: vertical; }
.contact-field input::placeholder, .contact-field textarea::placeholder { color: rgba(5,5,5,.72); opacity: 1; }
.contact-field select { appearance: none; padding-right: 44px; background-image: linear-gradient(45deg, transparent 50%, var(--black) 50%), linear-gradient(135deg, var(--black) 50%, transparent 50%); background-position: calc(100% - 20px) 20px, calc(100% - 14px) 20px; background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; }
.contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { border-color: var(--cyan); background: rgba(255,255,255,.72); box-shadow: 0 0 0 3px rgba(24,174,202,.14); }
.contact-field--radio { padding: 0; border: 0; }
.contact-field--radio legend { margin-bottom: 3px; }
.contact-help { margin: 0 0 16px; color: rgba(5,5,5,.65); font-size: 13px; }
.contact-options { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
.contact-options label { display: inline-flex; align-items: center; gap: 8px; color: var(--black); font-size: 15px; cursor: pointer; }
.contact-options input { -webkit-appearance: none; appearance: none; display: grid; place-content: center; flex: 0 0 20px; inline-size: 20px !important; block-size: 20px !important; width: 20px !important; height: 20px !important; min-width: 20px; min-height: 20px; padding: 0; aspect-ratio: 1 / 1; margin: 0; border: 1px solid rgba(5,5,5,.48); border-radius: 50% !important; background: transparent; }
.contact-options input:checked { border-color: var(--black); box-shadow: inset 0 0 0 5px var(--white), inset 0 0 0 10px var(--black); }
.contact-form-footer { display: flex; align-items: center; gap: 20px; margin-top: 8px; }
.contact-submit { min-width: 120px; padding: 12px 24px; border: 1px solid rgba(5,5,5,.28); border-radius: 999px; background: transparent; color: var(--black); font-size: 14px; font-weight: 600; letter-spacing: .01em; transition: color .25s var(--ease), background .25s var(--ease), transform .25s var(--ease); }
.contact-submit:hover { background: var(--black); color: var(--pure-white); transform: translateY(-2px); }
.contact-status { margin: 0; color: rgba(5,5,5,.68); font-size: 13px; }

@media (max-width: 850px) {
  .contact-page .site-header { grid-template-columns: 1fr auto; }
  .contact-main { min-height: auto; padding-block: 74px 100px; }
  .contact-form { margin-top: 46px; }
  .contact-form-row--split, .contact-form-row--email { grid-template-columns: 1fr; gap: 0; }
}

@media (max-width: 550px) {
  .contact-page .site-header { padding: 16px 20px; }
  .contact-main { padding-block: 58px 78px; }
  .contact-eyebrow { font-size: 15px; }
  .contact-hero h1 { font-size: clamp(42px, 12vw, 62px); }
  .contact-form { margin-top: 38px; }
  .contact-field { margin-bottom: 25px; }
  .contact-field label, .contact-field legend { font-size: 15px; }
  .contact-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 10px; }
  .contact-options label { font-size: 13px; }
  .contact-form-footer { align-items: flex-start; flex-direction: column; gap: 14px; }
}
