/* Approved Vietnam office map and compact five-location directory. */
.office-presence-heading{align-items:center;gap:24px;margin-bottom:22px}
.office-presence-heading h2{margin-bottom:0}
.presence-count{display:flex;gap:22px;align-items:center;flex-shrink:0;padding:12px 20px;background:#0b3152;color:#dceaf4;border-radius:5px;font-size:15px;white-space:nowrap}
.presence-count>span{display:flex;align-items:baseline;gap:8px}
.presence-count>span+span{padding-left:22px;border-left:1px solid #48677f}
.presence-count strong{font-size:29px;line-height:1.15;color:#fff;font-weight:600}
.office-presence-grid{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:24px;align-items:start}
.presence-map-figure{margin:0;min-width:0;border-radius:6px;background:#edf5fa;overflow:hidden}
.presence-map-figure>a{display:block}
.presence-map-figure img{display:block;width:100%;height:auto;object-fit:contain}
.office-directory .office-presence-grid .office-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}
.office-directory .office-presence-grid .office-card{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:0 10px;padding:12px 16px;border-radius:4px;align-content:start}
.office-directory .office-presence-grid .office-card>.eyebrow{grid-column:1;grid-row:1;margin:0;padding-top:3px;font-size:14px}
.office-directory .office-presence-grid .office-card>h3{grid-column:2;grid-row:1;margin:0 0 5px;font-size:20px;line-height:1.3}
.office-directory .office-presence-grid .office-card>address{grid-column:2/-1;font-size:15px;line-height:1.5;margin:0}
.office-directory .office-presence-grid .office-card>.office-channels{grid-column:2/-1;gap:3px 20px;font-size:15px;line-height:1.45;margin:5px 0 0}
.office-directory .office-presence-grid .office-card>.textlink{grid-column:3;grid-row:1;justify-self:end;align-self:start;margin:3px 0 0;font-size:14px;line-height:1.3;white-space:nowrap}
.office-directory:has(.office-presence-grid)>.contact-direct{margin:20px 0 0;padding:20px 24px;align-items:baseline;gap:10px 30px;border-radius:4px}
.presence-map-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:42px;align-items:center}
.presence-map-layout>.presence-map-figure{max-width:430px;width:100%;justify-self:center}
.presence-headquarters-photo img{display:block;width:100%;height:auto}
.presence-photo-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:16px}
.presence-photo-actions p{margin:0;font-size:17px}
.presence-photo-actions strong{font-weight:600}
.presence-photo-actions .btn{font-size:15px;line-height:1.4;min-height:40px;padding:9px 15px}
.presence-map-layout .presence-location-list{display:grid;grid-template-columns:1fr;gap:0}
.presence-map-layout .presence-location-list>article{display:grid;grid-template-columns:26px minmax(0,1fr);gap:2px 14px;min-height:87px;padding:13px 0;align-content:center}
.presence-map-layout .presence-location-list>article>span{grid-column:1;grid-row:1/3;align-self:start;padding-top:4px;font-size:14px}
.presence-map-layout .presence-location-list h3{grid-column:2;font-size:21px;line-height:1.3;margin:0}
.presence-map-layout .presence-location-list h3 a:hover{color:#77bbec}
.presence-map-layout .presence-location-list p{grid-column:2;font-size:16px;line-height:1.4;margin:0}
.presence-directory-link{display:inline-block;font-size:16px;margin-top:16px}
.presence-section .presence-directory-link{color:#a6d8ff}
.office-card{scroll-margin-top:150px}
@media(max-width:1100px){
 .office-presence-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:18px}
 .office-directory .office-presence-grid .office-card{grid-template-columns:22px minmax(0,1fr);padding:12px 14px}
 .office-directory .office-presence-grid .office-card>.textlink{grid-column:2;grid-row:auto;justify-self:start;margin-top:5px}
 .office-directory .office-presence-grid .office-card>h3{font-size:19px}
 .presence-map-layout{gap:28px}
}
@media(max-width:780px){
 .office-presence-grid,.presence-map-layout{grid-template-columns:minmax(0,1fr);gap:20px}
 .office-presence-grid>.presence-map-figure,.presence-map-layout>.presence-map-figure{max-width:500px;width:100%;justify-self:center}
 .presence-map-layout>.presence-map-figure{grid-row:1}
 .office-directory .office-presence-grid .office-card{grid-template-columns:22px minmax(0,1fr) auto}
 .office-directory .office-presence-grid .office-card>.textlink{grid-column:3;grid-row:1;justify-self:end;margin-top:3px}
 .office-presence-heading{align-items:flex-start;flex-wrap:wrap;gap:14px}
 .presence-count{padding:9px 14px;gap:16px;font-size:14px}
 .presence-count strong{font-size:25px}
 .presence-count>span+span{padding-left:16px}
 .presence-map-layout .presence-location-list>article{min-height:78px}
}
@media(max-width:480px){
 .office-directory .office-presence-grid .office-card{grid-template-columns:22px minmax(0,1fr);padding:12px}
 .office-directory .office-presence-grid .office-card>.textlink{grid-column:2;grid-row:auto;justify-self:start;margin-top:5px}
 .office-directory .office-presence-grid .office-card>h3{font-size:19px}
 .office-directory .office-presence-grid .office-card>.office-channels{gap:4px 15px}
 .office-directory:has(.office-presence-grid)>.contact-direct{padding:18px}
 .presence-map-layout .presence-location-list h3{font-size:20px}
}
