/* Contact introduction from the supplied desktop and mobile designs. */
body.page-contact { padding-top: 72px; }
.page-contact .section-contact--intro { padding: 60px 0 0; }
.page-contact .section-contact--intro .section-inner { display: grid; grid-template-columns: minmax(0, 696fr) minmax(0, 656fr); align-items: center; gap: 40px; width: calc(100% - 48px); max-width: none; }
.page-contact .contact-intro-content { display: flex; flex-direction: column; gap: 32px; min-width: 0; }
.page-contact .section-contact--intro .section-heading { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.page-contact .section-contact--intro .display-title { max-width: none; font-size: 48px; line-height: 44px; letter-spacing: 0; background-image: linear-gradient(91.23deg, #fff -10.31%, #58739a 109.14%); }
.page-contact .section-contact--intro .section-description { max-width: none; color: #fff; font-size: 18px; line-height: 22px; }
.page-contact .section-contact--intro .section-description p { margin: 0 0 12px; }
.page-contact .section-contact--intro .section-description p:last-child { margin-bottom: 0; }
.page-contact .contact-intro-mobile { display: none; }
.page-contact .section-contact--intro .drive4usa-form { width: 100%; max-width: none; }
.page-contact .section-contact--intro .drive4usa-form .fluentform .ff-el-group { box-shadow: 0 0 0 1px #031330; }
.page-contact .section-contact--intro .drive4usa-form .fluentform textarea.ff-el-form-control { height: 81px; min-height: 81px; resize: vertical; }
.page-contact .section-contact--intro .drive4usa-form .fluentform .ff_submit_btn_wrapper { padding: 20px 0 0; }
.page-contact .section-contact--intro .contact-photo { grid-column: auto; grid-row: auto; position: relative; overflow: hidden; width: 100%; height: 512px; margin: 0; }
.page-contact .section-contact--intro .contact-photo > * { position: absolute; display: block; left: -5.49057%; top: -40.2207%; width: 110.9812%; height: auto; min-height: 0; max-height: none; max-width: none; }
@media (max-width: 900px) {
 .page-contact .section-contact--intro .section-inner { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 600px) {
 .page-contact .section-contact--intro { padding-top: 16px; }
 .page-contact .section-contact--intro .section-inner { width: 100%; }
 .page-contact .contact-intro-content { padding-inline: 16px; gap: 20px; }
 .page-contact .section-contact--intro .section-heading { gap: 8px; }
 .page-contact .section-contact--intro .display-title { font-size: 28px; line-height: 28px; }
 .page-contact .section-contact--intro .section-description { font-size: 14px; line-height: 17px; }
 .page-contact .contact-intro-desktop { display: none; }
 .page-contact .contact-intro-mobile { display: block; }
 .page-contact .section-contact--intro .drive4usa-form .fluentform .ff-el-group { padding: 12px; }
 .page-contact .section-contact--intro .drive4usa-form .fluentform textarea.ff-el-form-control { height: 17px; min-height: 17px; }
 .page-contact .section-contact--intro .drive4usa-form .fluentform .ff_submit_btn_wrapper { display: block; width: 100%; padding: 12px 0 0; }
 .page-contact .section-contact--intro .drive4usa-form .fluentform .ff-btn-submit { display: block; width: 100%; max-width: none; min-width: 0; }
 .page-contact .section-contact--intro .contact-photo { width: calc(100% - 16px); height: 288px; margin-inline: auto; }
 .page-contact .section-contact--intro .contact-photo > * { left: -4.48316%; top: -38.3067%; width: 108.967%; }
}

/* Contact cards and map. */
.page-contact .section--contact { padding: 160px 0 0; }
.page-contact .section--contact .section-inner { width: calc(100% - 48px); max-width: none; }
.page-contact .section--contact .section-heading { display: block; margin-bottom: 60px; }
.page-contact .section--contact .eyebrow { gap: 12px; min-height: 50px; margin-bottom: 18px; font-size: 14px; line-height: 17px; opacity: .8; }
.page-contact .section--contact .display-title { max-width: none; font-size: 40px; line-height: 44px; letter-spacing: 0; background-image: linear-gradient(91.23deg, #fff -10.31%, #58739a 109.14%); }
.page-contact .contact-cards { gap: 4px; }
.page-contact .contact-cards .card { min-height: 179px; }
.page-contact .section--contact .card-body { padding: 20px; }
.page-contact .contact-card-label { display: flex; align-items: center; gap: 12px; min-height: 36px; margin-bottom: 46px; color: #031330; font-size: 14px; line-height: 17px; font-weight: 600; }
.page-contact .contact-card-label img { flex: 0 0 36px; width: 36px; height: 36px; }
.page-contact .section--contact .contact-card-value { min-height: 20px; margin: 0; padding-bottom: 12px; border-bottom: 1px dashed #e1e1e1; font-size: 18px; line-height: 19px; overflow-wrap: anywhere; }
.page-contact .section--contact .card p { margin: 12px 0 0; color: #031330; font-size: 14px; line-height: 17px; }
.page-contact .section--contact .social-links { display: flex; align-items: center; gap: 20px; }
.page-contact .social-links :is(a, .social-icon) { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; }
.page-contact .social-links img { width: auto; height: 20px; }
.page-contact .contact-map { height: 512px; margin-top: 4px; background: #35425b; }
.page-contact .contact-map iframe { display: block; width: 100%; height: 100%; filter: grayscale(1) invert(1) brightness(.85) contrast(.7) sepia(.3) hue-rotate(170deg) saturate(1.4); }
.page-contact .contact-map::after { content: ""; position: absolute; inset: 0; box-shadow: 0 4px 20px #ffffff80 inset; pointer-events: none; }
.page-contact .map-address { z-index: 1; top: 20px; left: 20px; width: 345px; max-width: calc(100% - 40px); }
.page-contact .map-address .contact-card-value { line-height: 16px; }
@media (max-width: 600px) {
 .page-contact .section--contact { padding: 100px 0; }
 .page-contact .section--contact .section-inner { width: calc(100% - 32px); }
 .page-contact .section--contact .section-heading { margin-bottom: 28px; }
 .page-contact .section--contact .eyebrow { min-height: 44px; font-size: 12px; line-height: 15px; }
 .page-contact .section--contact .display-title { font-size: 24px; line-height: 28px; }
 .page-contact .contact-cards { grid-template-columns: 1fr; }
 .page-contact .contact-cards .card { min-height: 0; }
 .page-contact .section--contact .card-body { padding: 18px; }
 .page-contact .contact-card-label { min-height: 32px; margin-bottom: 20px; }
 .page-contact .contact-card-label img { flex-basis: 32px; width: 32px; height: 32px; }
 .page-contact .section--contact .contact-card-value { padding-bottom: 8px; font-size: 18px; line-height: 19px; }
 .page-contact .section--contact .card p { margin-top: 8px; }
 .page-contact .section--contact .social-links { gap: 20px; min-height: 36px; }
 .page-contact .contact-map { display: flex; flex-direction: column; gap: 4px; height: auto; background: transparent; }
 .page-contact .contact-map iframe { order: 1; height: 182px; }
 .page-contact .map-address { position: static; width: 100%; max-width: none; }
 .page-contact .map-address .contact-card-value { line-height: 19px; }
 .page-contact .contact-map::after { top: auto; height: 182px; }
}
.page-contact .section--contact .eyebrow > span:first-child { flex: 0 0 auto; width: 48px; height: 34px; margin: 0; font-size: 0; letter-spacing: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='24 1558 48 34'%3E%3Cpath fill='white' d='M24 1578.4L37 1558L31.0909 1572.57H37L24 1592L28.7273 1578.4H24ZM41 1578.4L55 1558L48.6364 1572.57H55L41 1592L46.0909 1578.4H41ZM59 1578.4L72 1558L66.0909 1572.57H72L59 1592L63.7273 1578.4H59Z'/%3E%3C/svg%3E") center / contain no-repeat; filter: drop-shadow(0 0 4px #ffffff80); }
@media (max-width: 600px) { .page-contact .section--contact .eyebrow > span:first-child { width: 37px; height: 28px; } }

/* Leaflet keeps the tiles tinted separately from the white SVG marker. */
.page-contact .contact-map-canvas { z-index: 0; width: 100%; height: 100%; background: #35425b; }
.page-contact .contact-map-canvas[hidden], .page-contact .contact-map-fallback[hidden] { display: none; }
.page-contact .contact-map-canvas .leaflet-tile-pane { filter: grayscale(1) invert(1) brightness(.85) contrast(.7) sepia(.3) hue-rotate(170deg) saturate(1.4); }
.page-contact .contact-map-canvas .leaflet-control-attribution { color: #031330; background: #ffffffeb; }
.page-contact .contact-map-canvas .leaflet-control-attribution a { color: #122b58; }
.page-contact .contact-map-canvas .leaflet-bar { border: 1px solid #ffffff70; box-shadow: none; }
.page-contact .contact-map-canvas .leaflet-bar a { color: #fff; background: #35425b; border-color: #ffffff70; }
.page-contact .contact-map-canvas .leaflet-bar a:hover { background: #5a76a9; }
@media (max-width: 600px) {
 .page-contact .contact-map-canvas { order: 1; flex: 0 0 182px; height: 182px; }
}
