/* Location information remains usable without a third-party map service. */
.contact-location { min-width: 0; }
.contact-area-map { display: block; width: 100%; overflow: hidden; border: 1px solid #d4e1e9; background: #e9f2f7; }
.contact-area-map img { display: block; width: 100%; height: auto; }
.contact-area-map:focus-visible, .contact-map-links a:focus-visible { outline: 3px solid #0075c5; outline-offset: 3px; }
.contact-map-note { margin: 9px 0 16px; font-size: 12px; line-height: 1.5; color: #718497; }
.contact-location-address { margin: 0; color: #aebdca; font-size: 14px; font-style: normal; line-height: 1.7; }
.contact-map-links { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 14px; }
.contact-map-links a { display: inline-flex; align-items: center; min-height: 40px; color: #70b8ea; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }

/* Shared page edges and deliberate form/sidebar proportions. */
html[data-design="editorial"] body.editorial-inner.editorial-contact main > section > .w-full { max-width: 1280px; margin-inline: auto; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-hero-layout { align-items: center; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-hero-layout > div { min-width: 0; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-product-figure { display: grid; grid-template-rows: auto auto; align-self: center; width: 100%; min-width: 0; max-width: none; gap: 10px; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-product-frame { display: flex; align-items: center; justify-content: center; box-sizing: border-box; height: 220px; min-height: 0; padding: 12px; overflow: hidden; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-product-frame .contact-product-image { display: block; flex: 0 1 auto; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; object-fit: contain; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-product-figure .image-figure-caption { margin: 0; font-size: 12px; line-height: 1.5; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-details-strip .contact-card { min-width: 0; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-details-strip .contact-card > :is(a,span) { overflow-wrap: anywhere; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-inquiry-layout { align-items: start; }
html[data-design="editorial"] body.editorial-inner.editorial-contact :is(.contact-form-column,.contact-sidebar,#contact-form > div) { min-width: 0; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-form-column > p { max-width: 54ch; }
html[data-design="editorial"] body.editorial-inner.editorial-contact #contact-form { margin-top: 24px; }
html[data-design="editorial"] body.editorial-inner.editorial-contact #contact-form .form-label-dark { margin-bottom: 8px; font-size: 14px; line-height: 1.5; }
html[data-design="editorial"] body.editorial-inner.editorial-contact #contact-form .form-input-dark { display: block; box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; min-height: 48px; padding: 11px 14px; border-radius: 2px; font: inherit; font-size: 16px; line-height: 1.5; }
html[data-design="editorial"] body.editorial-inner.editorial-contact #contact-form textarea.form-input-dark { min-height: 148px; resize: vertical; }
html[data-design="editorial"] body.editorial-inner.editorial-contact #contact-context { margin-block: 20px; border-color: #c6d9e7; border-radius: 2px; background: #edf5fa; color: #36586f; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-info-panel { height: auto; padding: 24px; border-radius: 0; border-color: #d5e1e9; background: #fff; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-office-hours { align-items: start; margin-bottom: 24px; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .info-icon-wrapper { flex-shrink: 0; width: 36px; height: 36px; border-radius: 2px; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-office-hours p { font-size: 13px; line-height: 1.6; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-map-note { color: #5d7688; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-location-address { color: #385367; font-size: 14px; }
html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-map-links a { color: #0066b8; }
html[data-design="editorial"] body.editorial-inner.editorial-contact #contact-inquiry { scroll-margin-top: 104px; }

@media (min-width: 1024px) {
  html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-inquiry-layout { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 48px; }
  html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-hero-layout { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 48px; }
}
@media (max-width: 767px) {
  html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-product-frame { height: 200px; }
  html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-product-figure { max-width: 420px; }
  html[data-design="editorial"] body.editorial-inner.editorial-contact .contact-info-panel { padding: 20px; }
  html[data-design="editorial"] body.editorial-inner.editorial-contact #contact-form > .grid { gap: 20px; }
  html[data-design="editorial"] body.editorial-inner.editorial-contact #contact-form > button { width: 100%; }
}
