/* Contact context shares the existing restrained blue, type and spacing scale. */
.contact-scene-context{margin-block:26px;border-left:3px solid var(--blue)}
.contact-scene-context .contact-context-label{margin:0 0 8px;color:var(--muted);font-size:13px}
.contact-scene-context h3{margin-bottom:12px;color:var(--navy);font-size:22px}
.contact-scene-context .contact-context-copy{margin-bottom:18px;color:var(--muted);font-size:14px;line-height:1.85}
.contact-scene-context .text-link{font-size:14px;min-height:40px;gap:10px}
.contact-location-card{display:grid;grid-template-columns:minmax(245px,.78fr) minmax(0,1.22fr);gap:0;padding:0;overflow:hidden;border:1px solid #d8e3ed;border-radius:18px;background:#fff;box-shadow:0 14px 34px rgb(28 61 94 / 8%)}
.contact-grid{grid-template-columns:minmax(300px,.82fr) minmax(0,1.5fr);gap:48px}
.contact-location-card{grid-template-columns:minmax(230px,.82fr) minmax(340px,1.35fr)}
.contact-location-info{display:flex;flex-direction:column;align-items:flex-start;padding:42px 34px 36px;background:linear-gradient(145deg,#fff,#f7fafc)}
.contact-location-info .location-symbol{margin-bottom:25px;color:var(--blue);font-size:39px}
.contact-location-label{margin-bottom:13px;color:var(--muted);font-size:13px;letter-spacing:.06em}
.contact-location-info h2{margin-bottom:22px;color:var(--navy);font-size:30px}
.contact-location-address{display:flex;gap:10px;align-items:flex-start;margin:0 0 27px;font-size:16px;line-height:1.85;color:#304b66}
.contact-address-pin{display:inline-grid;place-items:center;flex:0 0 22px;width:22px;height:22px;margin-top:3px;border-radius:50%;background:#e5effa;color:var(--blue);font-size:10px}
.contact-address-search{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;width:100%;min-height:50px;padding:13px 18px;border:0;border-radius:8px;background:var(--blue);color:#fff!important;font-size:14px;box-shadow:0 7px 16px rgb(22 91 164 / 16%)}
.contact-address-search:hover{background:#124f93;color:#fff!important;transform:translateY(-1px)}
.contact-location-info .contact-map-note{margin:auto 0 0;padding-top:28px;color:var(--muted);font-size:12px;line-height:1.85}
.contact-map-card{display:grid;grid-template-rows:1fr auto;min-width:0;margin:18px;overflow:hidden;border:1px solid #dce6ef;border-radius:13px;background:#fff;color:inherit;box-shadow:0 8px 20px rgb(24 59 90 / 8%);transition:transform .18s ease,box-shadow .18s ease}
.contact-map-card:hover{color:inherit;transform:translateY(-2px);box-shadow:0 12px 24px rgb(24 59 90 / 13%)}
.contact-static-map{display:block;min-height:315px;background:#e8f0f5}
.contact-static-map img{display:block;width:100%;height:100%;min-height:315px;object-fit:cover}
.contact-map-card-caption{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;background:#fff}
.contact-map-card-caption>span:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.contact-map-card-caption strong{color:var(--navy);font-size:18px}
.contact-map-card-caption small{color:var(--muted);font-size:13px}
.contact-map-nav{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:10px 14px;border:1px solid #d8e6f4;border-radius:999px;background:#f4f8fc;color:var(--blue);font-size:13px;white-space:nowrap}
@media(max-width:960px){.contact-location-card{grid-template-columns:1fr}.contact-location-info{padding:34px 30px 30px}.contact-map-card{margin:0 18px 18px}.contact-static-map,.contact-static-map img{min-height:285px}}
@media(max-width:700px){.contact-scene-context h3{font-size:20px}.contact-grid{grid-template-columns:1fr}.contact-location-card{grid-template-columns:1fr;border-radius:14px}.contact-location-info{padding:30px 24px 26px}.contact-location-info h2{font-size:26px}.contact-location-address{font-size:15px}.contact-map-card{margin:0 12px 12px;border-radius:11px}.contact-static-map,.contact-static-map img{min-height:230px}.contact-map-card-caption{align-items:flex-start;padding:15px;gap:12px}.contact-map-card-caption strong{font-size:16px}.contact-map-card-caption small{font-size:12px}.contact-map-nav{padding:9px 11px;font-size:12px}}
