.contact-intro { padding-bottom: clamp(1rem, 3vh, 2rem); }
.contact-intro .promises { margin-top: 1.6rem; }

.contact-title span { display: block; }
.contact-intro .contact-title { font-size: var(--h1-photo); }

@media (min-width: 1001px) {
  .contact-intro:not(.pc-intro) .sub-hero__copy { container-type: inline-size; }
  @supports (font-size: 1cqi) {
    .contact-intro:not(.pc-intro) .contact-title { font-size: max(2rem, min(var(--h1-photo), 9.6cqi)); }
  }
}
.contact-media { max-width: 36rem; margin-left: auto; }

.contact-body { padding-top: clamp(1.5rem, 4vh, 2.5rem); }

.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 48rem) minmax(15rem, 24rem);
  column-gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.contact-aside { grid-column: 2; grid-row: 1; display: grid; gap: 1.4rem; }
.contact-form-wrap { grid-column: 1; grid-row: 1; }

.contact-form > .field { grid-column: 1 / -1; }
.contact-aside > .sensitive-note { margin: 0; }
.calendly-card .button { margin-top: 1.1rem; }

.sub .calendly-card .button { border: 1.5px solid var(--ink); background: transparent; color: var(--ink); box-shadow: none; }
.sub .calendly-card .button:hover { background: var(--ink); color: #fff; }

.calendly-card__note { color: var(--ink-2); font-size: 0.95rem; line-height: 1.55; }

@media (max-width: 900px) {
  .contact-layout { grid-template-columns: minmax(0, 1fr); }
  .contact-aside, .contact-form-wrap { grid-column: 1; grid-row: auto; }
  .contact-aside:has(> :not([hidden])) { margin-bottom: 2rem; }

  .contact-intro .sub-hero__aside { margin-top: 1rem; }
}
@media (max-width: 760px) {
  .contact-media { max-width: none; margin-left: calc(var(--gutter) * -1); }
}

.thanks-hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: min(80vh, 760px);
}
.thanks-hero .title { font-size: var(--h1-paper); }

.thanks-title span { display: block; }
.thanks-hero .lead { margin-bottom: 1.2rem; }
