/* Contact page. */
.contact { display: grid; gap: var(--s-12); grid-template-columns: 1fr; }
@media (min-width: 62rem) {
  /* 7/5 again — a 50/50 split here makes the form look optional. */
  .contact { grid-template-columns: 7fr 5fr; align-items: start; }
}

.notice { padding: var(--s-6); border-radius: var(--radius-lg); border: 1px solid; }
.notice--ok  { border-color: color-mix(in srgb, var(--y-yellow) 50%, transparent);
               background: color-mix(in srgb, var(--y-yellow) 8%, var(--surface-1)); }
.notice--ok h2 { font-size: var(--fs-h3); }
.notice--err { border-color: color-mix(in srgb, var(--y-red) 55%, transparent);
               background: color-mix(in srgb, var(--y-red) 8%, var(--surface-1));
               margin-bottom: var(--s-6); }
.notice--err ul { margin-top: var(--s-2); padding-left: var(--s-5); list-style: disc; }
.notice--err li { color: var(--text-mid); font-size: var(--fs-sm); }

.contact__aside { display: grid; gap: var(--s-6); }
.contact__card {
  padding: var(--s-6); border: 1px solid var(--surface-line);
  border-radius: var(--radius-lg); background: var(--surface-1);
}
.contact__h { font-size: var(--fs-h3); margin-bottom: var(--s-3); }
.contact__address { font-style: normal; color: var(--text-mid); line-height: 1.8; }
.contact__near { font-size: var(--fs-sm); color: var(--text-lo); margin-top: var(--s-2); }
.contact__links { margin-top: var(--s-4); display: grid; gap: var(--s-2); }
.contact__links a { color: var(--accent-ink); text-decoration: none; font-weight: 600; }

.contact__map {
  /* Positioning context for the shared .mapTag label (site.css). */
  position: relative;
  border: 1px solid var(--surface-line); border-radius: var(--radius-lg);
  overflow: hidden; line-height: 0;
}
.contact__map iframe { width: 100%; height: 320px; border: 0; display: block; filter: grayscale(0.3); }
