/* Shared contact details: direct actions, readable address, consistent order. */
.contact-grid{align-items:start}
.contact-directory{max-width:510px;margin-top:28px}
.contact-directory .contact-channel{display:grid;grid-template-columns:38px minmax(0,1fr);gap:15px;padding:17px 0;border-top:1px solid #d7e4e9}
.contact-channel-icon{display:grid;place-items:center;width:36px;height:36px;background:#ffffffb3;border:1px solid #dce8f1;border-radius:10px;color:var(--blue);margin-top:2px}
.contact-channel-icon svg{width:20px;height:20px}
.contact-directory .contact-channel h3{font:600 13px/1.5 Manrope,Arial,sans-serif;letter-spacing:.2px;color:#4f5e71;margin:0 0 7px}
.contact-directory .contact-channel a{color:var(--blue);text-underline-offset:4px;text-decoration-thickness:1px}
.contact-directory .contact-channel a:hover{text-decoration:underline}
.contact-directory .contact-primary-link{display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:600;line-height:1.65;min-height:32px;overflow-wrap:anywhere}
.contact-phone-list{display:flex;flex-wrap:wrap;gap:0 22px;list-style:none;margin:0;padding:0}
.contact-phone-list a{display:inline-flex;align-items:center;min-height:36px;font-size:16px;font-weight:600;line-height:1.6;white-space:nowrap}
.contact-directory address{font-style:normal;font-size:14px;line-height:1.85;color:var(--ink);margin:0}
.contact-directory .contact-map-link{display:inline-flex;align-items:center;gap:8px;min-height:40px;font-size:13px;font-weight:600;margin-top:4px}
.contact-copy>.whatsapp-link{margin-top:20px}
.microsoft-proposal .contact-grid{gap:65px}
.microsoft-proposal .product-card h3{overflow-wrap:normal;line-height:1.25}
@media(max-width:850px){
 .contact-directory{max-width:none;display:grid;grid-template-columns:1fr 1fr;column-gap:28px}
 .contact-directory .contact-channel{min-width:0}
 .microsoft-proposal .contact-grid{gap:38px}
}
@media(max-width:620px){
 .contact-directory{display:block;margin-top:25px}
 .contact-directory .contact-channel{gap:13px;padding:18px 0}
 .contact-directory .contact-primary-link,.contact-phone-list a{font-size:16px;min-height:44px}
 .contact-directory .contact-map-link{min-height:44px}
 .contact-directory address{font-size:14px;line-height:1.9}
}

/* A quiet, framed map beside the contact information. */
.contact-map{margin:17px 0 2px;background:#fff;border:1px solid #dfe8ee;border-radius:14px;overflow:hidden;box-shadow:0 5px 18px #173d6308;isolation:isolate}
.contact-map iframe{display:block;border:0;width:100%;height:236px;background:#edf3f4}
.contact-map figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid #e8edf2;background:#fff}
.contact-map figcaption>span{font:600 12px/1.5 Manrope,Arial,sans-serif;color:#52647b;letter-spacing:.1px}
.contact-directory .contact-map .contact-map-link{margin:0;min-height:38px;padding:7px 11px;border:1px solid #dfebf8;border-radius:8px;background:#f0f6ff;font-size:12px;line-height:1.4;text-decoration:none;transition:background .18s,border-color .18s}
.contact-directory .contact-map .contact-map-link:hover{background:#e5effe;border-color:#c4d9f3}
@media(min-width:621px) and (max-width:850px){.contact-location-channel{grid-column:1/-1}.contact-map iframe{height:250px}}
@media(max-width:620px){.contact-map{margin-top:16px;border-radius:12px}.contact-map iframe{height:224px}.contact-map figcaption{padding:10px}.contact-directory .contact-map .contact-map-link{min-height:42px}}
@media(prefers-reduced-motion:reduce){.contact-directory .contact-map .contact-map-link{transition:none}}
