.tdo-contact-hero__card {
  background: #fff;
  border-radius: var(--v-radius);
  box-shadow: 0 28px 80px rgba(0,0,0,.22);
  color: var(--v-ink);
  padding: clamp(34px, 5vw, 66px);
  transform: rotate(1deg);
}

.tdo-contact-hero__card .tdo-v-eyebrow { color: var(--v-blue); }
.tdo-contact-hero__card address { font-size: clamp(24px, 2.5vw, 34px); font-style: normal; font-weight: 650; line-height: 1.18; margin: 0; }
.tdo-contact-hero__card p { border-top: 1px solid #dfe1e6; margin: 30px 0 0; padding-top: 24px; }
.tdo-contact-hero__card a { color: var(--v-blue); font-weight: 700; text-decoration: none; }

.tdo-contact-map-section { background: var(--v-paper); padding-block: clamp(32px, 5vw, 68px); }

.tdo-contact-map-head {
  align-items: end;
  display: flex;
  gap: 28px;
  justify-content: space-between;
  margin-bottom: 24px;
}

.tdo-contact-map-head .tdo-v-section-title { font-size: clamp(28px, 3vw, 42px); }
.tdo-contact-map-head a { color: var(--v-blue); font-size: 15px; font-weight: 720; white-space: nowrap; }

.tdo-contact-map {
  background: #dfe5dc;
  border: 0;
  border-radius: var(--v-radius);
  box-shadow: var(--v-shadow);
  display: block;
  height: clamp(340px, 44vw, 540px);
  width: 100%;
}

.tdo-contact-card {
  display: flex;
  flex-direction: column;
  min-height: 390px;
}

.tdo-contact-card__index {
  font-size: 13px;
  font-weight: 760;
  letter-spacing: .12em;
  margin-bottom: auto;
}

.tdo-contact-card .tdo-v-card-title { margin-top: 52px; }
.tdo-contact-card p { color: rgba(20,22,28,.72); }
.tdo-contact-card--blue p { color: rgba(255,255,255,.76); }
.tdo-contact-card a { color: inherit; font-weight: 720; overflow-wrap: anywhere; text-decoration-thickness: 1px; text-underline-offset: 4px; }

.tdo-contact-strip {
  align-items: center;
  background: var(--v-lime);
  border-radius: var(--v-radius);
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: clamp(34px, 5vw, 62px);
}

.tdo-contact-strip p { margin: 14px 0 0; max-width: 760px; }

@media (max-width: 900px) {
  .tdo-contact-hero__card { transform: none; }
}

@media (max-width: 620px) {
  .tdo-contact-card { min-height: 330px; }
  .tdo-contact-strip { grid-template-columns: 1fr; }
  .tdo-contact-map-head { align-items: flex-start; flex-direction: column; gap: 10px; }
}
