/* Contact page styles (loaded after base.css). */
.contact { padding-top: 56px; padding-bottom: 80px; }
.contact__grid { display: grid; grid-template-columns: 1fr; gap: 40px; align-items: start; }
.contact__label { font: 700 13px/1.4 var(--ff-sans); letter-spacing: 2.5px; text-transform: uppercase; color: var(--c-ink); margin-bottom: 30px; }
.contact__list { margin: 0; padding: 0; list-style: none; }
.contact__row { position: relative; display: block; padding: 10px 0 10px 24px; font: 300 18px/32px var(--ff-sans); color: var(--c-ink); overflow-wrap: anywhere; }
.contact__row:not(:last-child)::after { content: ""; position: absolute; left: 0; bottom: 0; width: 49px; border-bottom: 1px solid #ddd; }
.contact__icon { position: absolute; left: 0; top: 19px; width: 13px; height: 13px; color: #777; }
.contact__row--address { padding-top: 16px; line-height: 40px; }
.contact__row--address .contact__icon { top: 25px; }
.contact__row address { font-style: normal; }
.contact__row a { display: inline-block; padding: 6px 0; text-decoration: none; }
.contact__row a:hover { text-decoration: underline; }
.contact__figure { margin: 0; }
.contact__figure img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 55%; }
@media (min-width: 768px) {
  .contact__row { font-size: 20px; }
  .contact__figure img { aspect-ratio: 16 / 9; }
}
@media (min-width: 1025px) {
  .contact { padding-top: 118px; padding-bottom: 90px; }
  .contact__grid { grid-template-columns: 326px 1fr; gap: 44px; }
  .contact__figure img { aspect-ratio: 2 / 1; }
}
