.site-header nav .is-current::after { right: 0; }

.contact-hero {
  min-height: calc(100vh - 98px);
  min-height: calc(100svh - 98px);
  display: grid;
  grid-template-columns: 42% 58%;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.contact-hero-copy { align-self: center; padding: 40px 4.4vw; animation: fade-up .8s both; }
.contact-eyebrow,
.section-index,
.contact-detail-block > span {
  color: var(--red);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
}
.contact-hero h1 {
  margin: 15px 0 13px;
  font: 500 clamp(39px, 3.45vw, 58px)/1.02 var(--serif);
  letter-spacing: -.045em;
  line-height: normal;
}
.contact-hero h1 em { display: block; color: var(--red); font-size: .82em; font-style: normal; }
.contact-hero-lead { max-width: 520px; margin: 0; color: #44464a; font-size: 14px; line-height: 1.7; }
.contact-hero-image {
  min-height: calc(100vh - 98px);
  min-height: calc(100svh - 98px);
  background:
    linear-gradient(90deg, rgba(255,255,255,.52), transparent 15%),
    url("../assets/images/contact-hero-office.jpg") center / cover no-repeat;
  animation: image-in 1.1s both;
}

.contact-main {
  display: block;
  border-bottom: 1px solid var(--line);
}
.contact-details,
.contact-form-wrap { padding: clamp(36px, 3.5vw, 52px) 4.4vw; }
.contact-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  column-gap: clamp(32px, 5vw, 80px);
  row-gap: 18px;
  color: #fff;
  background: linear-gradient(145deg, #8f0b18 0%, #bd1022 100%);
}
.contact-details .section-index { grid-column: 1 / -1; margin: 0 0 4px; }
.contact-details .section-index,
.contact-detail-block > span { color: #fff; }
.contact-detail-block { display: grid; gap: 7px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.28); }
.contact-detail-block p,
.contact-detail-block a { margin: 0; color: #d6d6d7; font-size: 13px; line-height: 1.7; }
.contact-detail-block a { width: fit-content; transition: color .25s ease; }
.contact-detail-block a.map-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 5px;
  padding: 8px 12px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.45);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  transition: color .25s ease, background-color .25s ease, border-color .25s ease;
}
.contact-form-wrap { background: #f7f5f1; }
.contact-form-wrap h2 { margin: 16px 0 30px; font: 500 clamp(36px, 3.3vw, 52px)/1 var(--serif); letter-spacing: -.035em; }
.contact-form-wrap form { display: grid; gap: 20px; }
.contact-form-wrap label { display: grid; gap: 9px; color: #38393c; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.contact-form-wrap input,
.contact-form-wrap textarea {
  width: 100%;
  padding: 12px 0;
  color: #111214;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #bbb7b1;
  border-radius: 0;
  outline: 0;
  font: 500 14px/1.5 var(--sans);
  transition: border-color .25s ease;
}
.contact-form-wrap textarea { resize: vertical; }
.contact-form-wrap input::placeholder,
.contact-form-wrap textarea::placeholder { color: #96928d; opacity: 1; }
.contact-form-wrap input:focus,
.contact-form-wrap textarea:focus { border-color: var(--red); }
.contact-form-wrap button {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  color: #fff;
  background: var(--red);
  border: 1px solid var(--red);
  font: 700 11px var(--sans);
  letter-spacing: .06em;
  cursor: pointer;
  transition: color .25s ease, background .25s ease;
}
.contact-form-wrap form small { max-width: 650px; color: #747579; font-size: 10px; line-height: 1.6; }

@media (hover: hover) and (pointer: fine) {
  .contact-detail-block a:hover { color: #fff; }
  .contact-detail-block a.map-link:hover { color: var(--red); background: #fff; border-color: #fff; }
  .contact-form-wrap button:hover { color: var(--red); background: transparent; }
}

@media (max-width: 900px) {
  .contact-hero {
    min-height: calc(100vh - 92px);
    min-height: calc(100svh - 92px);
    grid-template-columns: 1fr;
    grid-template-rows: auto clamp(280px, 42svh, 390px);
  }
  .contact-hero-copy { padding: 42px 6vw 38px; }
  .contact-hero-image { min-height: 0; height: 100%; background-position: center; }
  .contact-details { grid-template-columns: 1fr 1fr; }
  .contact-details .section-index { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .contact-hero { grid-template-rows: auto clamp(240px, 36svh, 320px); }
  .contact-hero-copy { padding: 38px 6vw 32px; }
  .contact-hero h1 { font-size: clamp(36px, 10.5vw, 48px); }
  .contact-hero-lead { font-size: 13px; }
  .contact-details,
  .contact-form-wrap { padding: 38px 6vw; }
  .contact-details,
  .form-row { grid-template-columns: 1fr; }
  .contact-details .section-index { grid-column: auto; }
  .contact-form-wrap h2 { font-size: 38px; }
}
