.contact-hero { min-height: 500px; display: flex; align-items: end; padding: 132px max(24px, calc((100vw - 1180px) / 2)) 58px; color: white; background: linear-gradient(90deg, rgba(5,21,39,.9), rgba(5,21,39,.56)), url('../images/hero_2.jpg') center 44% / cover no-repeat; }
.contact-hero > div { max-width: 850px; }
.contact-hero h1 { margin: 0 0 18px; font-family: Newsreader, Georgia, serif; font-size: clamp(54px, 7vw, 92px); font-weight: 500; line-height: .94; letter-spacing: 0; }
.contact-hero p:not(.eyebrow) { max-width: 670px; margin: 0; color: rgba(255,255,255,.82); font-size: 18px; line-height: 1.65; }

.contact-section { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: clamp(58px, 7vw, 86px) 0; }
.contact-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(38px, 7vw, 92px); align-items: end; margin-bottom: 38px; }
.contact-heading h2, .inquiry-copy h2 { margin: 0; font-family: Newsreader, Georgia, serif; font-size: clamp(39px, 4.6vw, 62px); font-weight: 500; line-height: .98; letter-spacing: 0; }
.contact-heading > p { margin: 0; color: var(--muted); }
.contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid #cbd3d9; border-left: 1px solid #cbd3d9; }
.contact-card { display: grid; grid-template-columns: 148px 1fr; gap: 24px; min-height: 260px; padding: 26px; border-right: 1px solid #cbd3d9; border-bottom: 1px solid #cbd3d9; background: white; }
.contact-photo { aspect-ratio: 1 / 1.18; overflow: hidden; border: 1px solid #ccd6df; border-bottom: 5px solid var(--blue); background: var(--cream); }
.contact-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; filter: saturate(.92); }
.contact-photo.logo-photo { display: grid; place-items: center; padding: 28px; }
.contact-photo.logo-photo img { width: 100%; height: auto; object-fit: contain; filter: none; }
.contact-copy { display: flex; min-width: 0; flex-direction: column; }
.contact-role { margin: 0 0 14px; color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.contact-copy h3 { margin: 0 0 10px; font-family: Newsreader, Georgia, serif; font-size: 28px; font-weight: 600; line-height: 1.05; }
.contact-copy p:not(.contact-role) { margin: 0 0 18px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.contact-copy a { margin-top: auto; color: var(--blue); font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.contact-copy a:hover { color: #2c6195; }

.inquiry-section { display: grid; grid-template-columns: minmax(260px, .42fr) minmax(0, 1fr); gap: clamp(42px, 7vw, 96px); padding: clamp(58px, 7vw, 86px) max(24px, calc((100vw - 1180px) / 2)); color: white; background: var(--navy); }
.inquiry-copy h2 { color: white; }
.inquiry-copy > p:not(.eyebrow) { max-width: 450px; margin: 20px 0 28px; color: rgba(255,255,255,.68); }
.inquiry-copy address { color: rgba(255,255,255,.55); font-size: 14px; font-style: normal; line-height: 1.65; }
.inquiry-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; padding: 28px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.035); }
.form-field { display: grid; gap: 8px; }
.form-field-full { grid-column: 1 / -1; }
.inquiry-form label { color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea { width: 100%; min-height: 48px; border: 1px solid rgba(255,255,255,.2); border-radius: 0; padding: 12px 13px; color: white; background: rgba(255,255,255,.08); font: inherit; }
.inquiry-form input:focus, .inquiry-form select:focus, .inquiry-form textarea:focus { outline: 2px solid rgba(230,185,94,.6); outline-offset: 2px; }
.inquiry-form select option { color: var(--ink); }
.inquiry-form button { grid-column: 1 / -1; }
.inquiry-form textarea { resize: vertical; }
.inquiry-form button { justify-self: start; cursor: pointer; }

@media (max-width: 940px) {
  .contact-heading, .inquiry-section { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .contact-hero { min-height: 470px; padding-bottom: 46px; }
  .contact-hero h1 { font-size: 52px; }
  .contact-hero p:not(.eyebrow) { font-size: 16px; }
  .contact-card { grid-template-columns: 96px 1fr; gap: 17px; min-height: auto; padding: 20px; }
  .contact-copy h3 { font-size: 23px; }
  .contact-copy p:not(.contact-role) { font-size: 13px; }
  .inquiry-form { grid-template-columns: 1fr; padding: 22px; }
  .form-field-full, .inquiry-form button { grid-column: auto; }
  .inquiry-form button { width: 100%; }
}
