#contact { scroll-margin-top: 24px; }
.contact-today { background: #050505; color: #fff; }
.contact-today-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.contact-today h2 { font-size: clamp(32px, 4vw, 48px); line-height: 1.2; margin: 0 0 22px; }
.contact-today-copy > p { max-width: 490px; color: #ccc; line-height: 1.7; margin: 0 0 24px; }
.contact-today-number { display: block; width: fit-content; font-size: clamp(28px, 3.5vw, 40px); font-weight: 700; color: #fff; text-decoration: none; margin-bottom: 26px; }
.contact-call { display: inline-flex; align-items: center; justify-content: center; gap: 12px; }
.contact-call svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contact-map-card { overflow: hidden; background: #fff; color: #111; padding: 24px; border-radius: 4px; }
.contact-map-card h3 { font-size: 22px; margin: 0 0 10px; }
.contact-map-card p { color: #555; line-height: 1.5; margin: 0 0 20px; }
.contact-map-card iframe { display: block; width: 100%; height: 280px; border: 0; background: #eee; }
.contact-map-card > a { display: inline-block; color: #333; margin-top: 16px; text-underline-offset: 4px; }
.contact-today a:focus-visible { outline: 3px solid #ff781f; outline-offset: 5px; }
@media (max-width: 760px) {
  .contact-today-layout { grid-template-columns: 1fr; gap: 36px; }
  .contact-map-card { padding: 18px; }
  .contact-map-card iframe { height: 240px; }
}
