.contact-content {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin-top: 2rem;
}
.contact-left {
  flex: 1 1 300px;
  min-width: 280px;
}
.contact-right {
  flex: 2 1 400px;
  min-width: 320px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.contact-map {
  width: 100%;
  max-width: 600px;
  aspect-ratio: 3/2;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  margin-top: 1rem;
}
.contact-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 18px;
  display: block;
}
.contact-links {
  margin-top: 2rem;
}
@media (max-width: 900px) {
  .contact-content {
    flex-direction: column;
  }
  .contact-map {
    max-width: 100%;
    aspect-ratio: 3/2;
    height: 300px;
  }
}

/* iframe embed container */
.weather-embed {
  max-width: 760px;
  margin: 16px auto 0;
  width: calc(100% - 32px);
  border-radius: 8px;
  overflow: hidden;
  text-align: center;
}

/* iframe responsive sizing - default (desktop) */
.weather-embed iframe {
  width: 100%;
  max-width: 760px;
  height: 200px; /* desktop default height */
  border: 0;
  display: block;
  margin: 0 auto;
}

/* at the nav hamburger cutover (use same breakpoint as the contact layout) */
@media (max-width: 900px) {
  .weather-embed {
    max-width: 520px; /* narrower container for mobile/tablet */
  }
  .weather-embed iframe {
    height: 320px; /* taller for small screens */
  }
}

/* extra small screens */
@media (max-width: 520px) {
  .weather-embed {
    width: calc(100% - 24px);
  }
  .weather-embed iframe {
    height: 360px;
  }
}

/* Safety / fallback: restore page background & wrapper if missing */
body {
  /* keep defaults from allbody.css; no background override here */
  color: var(--text-color, #222);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Ensure wrapper sizing remains */
#wrapper {
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px;
}