/* Optional motion layer; no content depends on animation. */
.hm-progress{position:fixed;z-index:400;left:0;top:0;height:2px;width:100%;background:#ecc575;transform-origin:left;transform:scaleX(0);pointer-events:none}
.hm-control{display:inline-flex;align-items:center;gap:7px;min-height:32px;margin-top:9px;padding:5px 10px;border:1px solid #ffffff42;border-radius:20px;color:#e5edf4;background:#082b40ad;font-size:10px;cursor:pointer}.hm-control:hover{border-color:#eac77f}.hm-control:before{content:'';width:5px;height:5px;border-radius:50%;background:#ebc67e}.hm-control[aria-pressed=false]:before{background:#a0b1bd}
.hm-on .h3-hero-photo:not(.hm-city-photo),.hm-on .hm-city-photo.hm-city-active{animation:hm-scene 5s cubic-bezier(.2,.65,.3,1) both}.hm-on .h3-hero-copy{animation:hm-copy .85s cubic-bezier(.2,.65,.3,1) both}.hm-on .h3-toolbars{animation:hm-copy .9s .12s cubic-bezier(.2,.65,.3,1) both}.hm-on .h3-map-panel{animation:hm-copy 1s .24s cubic-bezier(.2,.65,.3,1) both}
.hm-on .hm-enter{animation:hm-reveal .72s var(--hm-delay,0ms) cubic-bezier(.2,.65,.3,1) backwards}
.hm-on .h3-journey,.hm-on .h3-core-card,.hm-on .h3-sector,.hm-on .h3-service{transition:transform .3s cubic-bezier(.2,.65,.3,1),box-shadow .3s,border-color .3s}
.hm-on .h3-journey-photo,.hm-on .h3-core-card>img,.hm-on .h3-sector img{transition:transform .6s cubic-bezier(.2,.65,.3,1),filter .4s}
.hm-on .h3-toolbars a{transition:background .25s,color .25s,transform .25s;position:relative;overflow:hidden}.hm-on .h3-toolbars a:after{content:'';position:absolute;inset:auto 18% 0;height:2px;background:#eac36e;transform:scaleX(0);transition:transform .3s}
.hm-on .h3-map img{transition:filter .35s,transform .45s}.hm-on .h3-map-panel{transition:border-color .3s,box-shadow .3s}.hm-on .h3-btn{transition:transform .25s,box-shadow .25s,background .25s}.hm-on .h3-card-arrow,.hm-on .h3-text-link>span[aria-hidden]{transition:transform .25s;display:inline-block}
@media(hover:hover) and (pointer:fine){.hm-on .h3-core-card:hover,.hm-on .h3-sector:hover,.hm-on .h3-service:hover{transform:translateY(-3px);box-shadow:0 12px 25px #08283f1c}.hm-on .h3-journey:hover .h3-journey-photo,.hm-on .h3-core-card:hover>img,.hm-on .h3-sector:hover img{transform:scale(1.035);filter:saturate(1.06)}.hm-on .h3-toolbars a:hover{transform:translateY(-3px)}.hm-on .h3-toolbars a:hover:after,.hm-on .h3-toolbars a:focus-visible:after{transform:scaleX(1)}.hm-on .h3-map-panel:hover,.hm-on .h3-map-panel:focus-within{border-color:#d4af62;box-shadow:0 10px 35px #0003}.hm-on .h3-map-panel:hover .h3-map img,.hm-on .h3-map-panel:focus-within .h3-map img{filter:drop-shadow(0 0 8px #eac57965);transform:translateY(-2px)}.hm-on .h3-btn:hover{box-shadow:0 5px 18px #eac36b35}.hm-on .h3-text-link:hover>span[aria-hidden],.hm-on .h3-journey:hover .h3-card-arrow{transform:translateX(4px)}}
@keyframes hm-scene{from{transform:scale(1.045);filter:saturate(.85)}to{transform:scale(1);filter:saturate(1)}}
@keyframes hm-copy{from{opacity:.15;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes hm-reveal{from{opacity:.4;transform:translateY(14px)}to{opacity:1;transform:none}}
html:not(.hm-on) .hm-progress{display:none}html:not(.hm-on) .hm-enter,html:not(.hm-on) .h3-hero-photo,html:not(.hm-on) .h3-hero-copy,html:not(.hm-on) .h3-toolbars,html:not(.hm-on) .h3-map-panel{animation:none!important}
@media(max-width:760px){.hm-control{min-height:44px;font-size:11px;margin-top:5px}.hm-on .h3-hero-photo{animation-duration:3.5s}.hm-on .hm-enter{animation-duration:.5s}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.hm-progress{display:none!important}}
@media print{.hm-progress,.hm-control{display:none!important}*{animation:none!important;transform:none!important}}
html:not(.hm-on){scroll-behavior:auto}.hm-on .mfx-head{transition:box-shadow .3s,background .3s}.hm-on .mfx-head.scrolled{box-shadow:0 7px 24px #00182735;background:#06243bf5;backdrop-filter:blur(12px)}.hm-on .h3-timeline.hm-enter:before{transform-origin:left;animation:hm-line 1.1s cubic-bezier(.2,.65,.3,1) both}@keyframes hm-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* User-controlled night-city scenes; the imagery never changes the service scope. */
.h3-hero .hm-city-photo{opacity:0;transition:opacity 1.2s ease;pointer-events:none}.h3-hero .hm-city-photo.hm-city-active{opacity:1}.hm-city-picker{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:12px}.hm-city-picker>span{font-size:9px;color:#cbd8e2;margin-right:3px}.hm-city-picker button{border:1px solid #ffffff38;background:#05283c88;color:#dbe6ed;border-radius:3px;min-height:32px;padding:6px 10px;font-size:10px;cursor:pointer}.hm-city-picker button[aria-pressed=true]{background:#edc879;color:#08273d;border-color:#edc879}.hm-city-picker button:hover{border-color:#edc879}.hm-city-picker .hm-city-play{color:#edc879}.hm-city-caption{font-size:9px;line-height:1.5;color:#d5e0e8;margin-top:7px;min-height:14px}.hm-city-picker button:disabled{opacity:.55;cursor:default}html:not(.hm-on) .hm-city-photo{transition:none!important}
@media(max-width:760px){.hm-city-picker button{min-height:44px;font-size:11px}.hm-city-picker{gap:6px}.hm-city-picker>span{font-size:10px}.hm-city-caption{font-size:9px}}
.hm-brand{padding:18px 0;background:#f8f7f4;border-top:1px solid #e5e3dd;border-bottom:1px solid #e5e3dd}.hm-brand-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:center}.hm-brand-image{display:block;position:relative;border-radius:4px;overflow:hidden;background:#0b263b}.hm-brand-image img{width:100%;height:180px;object-fit:cover;object-position:50% 0;filter:brightness(1.07);transition:filter .35s}.hm-brand-image>span{position:absolute;bottom:9px;right:10px;background:#04263cdb;color:#f4d89c;border:1px solid #c2a56b70;border-radius:3px;padding:6px 9px;font-size:10px}.hm-brand-image:hover img{filter:brightness(1.13)}.hm-brand-copy .h3-eyebrow{font-size:9px;color:#8c6b2e}.hm-brand-copy h2{font-size:26px;margin:9px 0}.hm-brand-copy .h3-caption{font-size:10px;line-height:1.6;max-width:390px;margin:10px 0}.hm-brand-copy .h3-text-link{font-size:11px}
@media(max-width:760px){.hm-brand-grid{grid-template-columns:1fr;gap:16px}.hm-brand-image img{height:auto;object-fit:contain}.hm-brand-copy h2{font-size:25px}.hm-brand-copy .h3-caption{font-size:11px;max-width:none}.hm-brand-copy .h3-text-link{min-height:44px}.hm-brand-image>span{font-size:10px;min-height:34px;display:flex;align-items:center}}
.hm-city-photo[src*="night-new-york"]{object-position:center 45%}.hm-city-photo[src*="night-hcmc"]{object-position:center 55%}.hm-city-photo[src*="night-danang"]{object-position:center 60%}
html:not(.hm-on) .h3-journey:hover,html:not(.hm-on) .h3-core-card:hover,html:not(.hm-on) .h3-sector:hover,html:not(.hm-on) .h3-service:hover,html:not(.hm-on) .h3-btn:hover,html:not(.hm-on) .h3-city-card:hover img,html:not(.hm-on) .hm-brand-image:hover img{transform:none!important;transition:none!important}html:not(.hm-on) .h3-city-card img,html:not(.hm-on) .h3-journey,html:not(.hm-on) .h3-btn{transition:none!important}
/* Capital and offshore archipelagos remain legible in the compact map panel. */
.h3-map{width:164px;min-width:164px}.h3-map img{width:164px;height:210px}
@media(max-width:1250px){.h3-map{width:138px;min-width:138px}.h3-map img{width:138px;height:175px}}
@media(max-width:760px){.h3-map{width:120px;min-width:120px}.h3-map img{width:120px;height:160px}}
@media(max-width:480px){.h3-map{width:126px;min-width:126px}.h3-map img{width:126px;height:160px}}
@media(max-width:350px){.h3-map{width:113px;min-width:113px}.h3-map img{width:113px;height:150px}.h3-map-copy h2{font-size:19px}}
.hm-city-picker{position:relative}.hm-city-picker[aria-busy=true]:after{content:'';position:absolute;left:0;right:0;top:-4px;height:2px;background:#efc778;animation:hm-loading 1.5s ease-in-out infinite}.hm-scene-error{color:#f5d28d;font-size:11px;line-height:1.5;margin-top:8px}.hm-scene-error[hidden]{display:none}@keyframes hm-loading{0%,100%{opacity:.35}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.hm-city-picker[aria-busy=true]:after{animation:none!important}}
html:not(.hm-on) .hm-city-picker[aria-busy=true]:after{animation:none!important}

/* Owner-supplied lobby artwork: compact brand introduction, no factual office claim. */
.hm-brand{padding:18px 0}.hm-brand-grid{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:28px}.hm-brand-image img{display:block;width:100%;height:260px;object-fit:cover;object-position:65% 20%;filter:none}.hm-brand-image:hover img{filter:none}.hm-brand-copy h2{font-size:clamp(23px,2.2vw,31px);line-height:1.2}.hm-brand-copy{min-width:0}
@media(max-width:760px){.hm-brand-grid{grid-template-columns:1fr;gap:14px}.hm-brand-image img{height:auto;aspect-ratio:2/1;object-fit:contain}.hm-brand-copy h2{font-size:23px;margin:7px 0}.hm-brand{padding:14px 0}.hm-brand-copy .h3-text-link{display:inline-flex;align-items:center;min-height:44px}}

/* Brighter photographic hero, with local contrast retained behind the copy. */
.h3-hero .hm-city-photo{transition:opacity 2.4s ease-in-out;object-position:center 56%;filter:none}
.hm-on .hm-city-photo.hm-city-active{animation:hm-scene 11.4s ease-out both}
@keyframes hm-scene{from{transform:scale(1.025)}to{transform:scale(1)}}
.h3-hero-shade{background:linear-gradient(90deg,#031d33dc 0%,#031d33b0 32%,#031d3340 65%,#031d3310 100%),linear-gradient(0deg,#031d3370,transparent 48%)}
.h3-hero .hm-city-photo[src*="hero-new-york"]{object-position:center 61%}
@media(max-width:760px){.h3-hero-shade{background:linear-gradient(90deg,#031d33d9,#031d3390 70%,#031d3355),linear-gradient(0deg,#031d3380,transparent 65%)}.h3-hero .hm-city-photo{object-position:48% center}}

/* Ivory Vietnam panel: warm light surface, navy typography and restrained gold. */
.h3-hero .h3-map-panel{background:linear-gradient(125deg,#fffefb 0%,#f7f3e9 100%);border:1px solid #e5d6b6;border-top:2px solid #c5a05b;border-radius:7px;box-shadow:0 12px 32px #031d3324;gap:20px}
.h3-hero .h3-map-copy h2{color:#10354c;text-shadow:none}
.h3-hero .h3-map-copy .h3-eyebrow{color:#80612c;text-shadow:none}
.h3-hero .h3-city-links a{color:#234d63;text-shadow:none;text-decoration-color:#b38e48}
.h3-hero .h3-city-links a:hover{color:#79591f}
.h3-hero .h3-map-topics{color:#526775;text-shadow:none}
.h3-hero .h3-map-label{color:#80612c;font-weight:600}
.h3-hero .h3-map img{filter:none}
.h3-hero .h3-city-links a:focus-visible{outline:2px solid #94702d;outline-offset:4px;border-radius:2px}
@media(max-width:760px){.h3-hero .h3-map-panel{gap:10px}}

/* Homepage navigation: ivory masthead, approved navy/gold logo, quiet hierarchy. */
body[data-home-version="3"] .mfx-head,body[data-home-version="3"].hm-on .mfx-head,html.hm-on body[data-home-version="3"] .mfx-head.scrolled{background:#fffdf8;color:#12354b;border-bottom:1px solid #d9c9a7;box-shadow:0 4px 18px #071f3210;backdrop-filter:none}
body[data-home-version="3"] .mfx-nav a{color:#244356;font-weight:500}
body[data-home-version="3"] .mfx-nav a:hover{color:#87662b}
body[data-home-version="3"] .h3-nav-link:first-child:after{background:#b38c46;height:2px}
body[data-home-version="3"] .mfx-lang{color:#8a785b}
body[data-home-version="3"] .mfx-lang button{color:#637583}
body[data-home-version="3"] .mfx-lang button[aria-pressed=true]{color:#173e54;font-weight:700}
body[data-home-version="3"] .h3-login{border:0;border-left:1px solid #ded7c9;border-radius:0;color:#234356;padding-left:16px}
body[data-home-version="3"] .mfx-right .h3-small{background:#173b51;color:#fffdf8;border:1px solid #173b51;border-radius:3px;box-shadow:none}
body[data-home-version="3"] .mfx-right .h3-small:hover{background:#244c63}
body[data-home-version="3"] .mfx-burger{color:#163b51;border-color:#d6c9b0;background:#fffdf8}
body[data-home-version="3"] .mfx-head a:focus-visible,body[data-home-version="3"] .mfx-head button:focus-visible{outline:2px solid #94702d;outline-offset:4px}
@media(max-width:1050px){body[data-home-version="3"] .mfx-nav{background:#fffdf8;box-shadow:0 14px 24px #071f321a;border-bottom:1px solid #d9c9a7}body[data-home-version="3"] .mfx-nav .h3-nav-link{border-bottom-color:#e8e2d6}}
/* Light institutional surfaces below the photographic introduction. */
body[data-home-version="3"] .h3-journey{background:linear-gradient(145deg,#fff,#f7f5ef);color:#173b51;border:1px solid #ded8cb;box-shadow:0 3px 12px #183d5509}
body[data-home-version="3"] .h3-journey-body{border-top:2px solid #c8aa70}
body[data-home-version="3"] .h3-journey p{color:#506675}
body[data-home-version="3"] .h3-journey .h3-icon,body[data-home-version="3"] .h3-card-arrow{color:#94702e}
body[data-home-version="3"] .h3-process{background:linear-gradient(110deg,#faf8f1,#f0f5f7);color:#173b51;border-block:1px solid #e0d8c7}
body[data-home-version="3"] .h3-process .h3-eyebrow{color:#80612c}
body[data-home-version="3"] .h3-process .h3-text-link{color:#244d63}
body[data-home-version="3"] .h3-timeline p{color:#526977}
body[data-home-version="3"] .h3-timeline .h3-icon{color:#94702e}
body[data-home-version="3"] .h3-step-number{background:#fffdf8;color:#795c29;border:1px solid #b89a60;box-shadow:0 2px 7px #173b510d}
body[data-home-version="3"] .h3-contact{background:linear-gradient(130deg,#fbf8ef,#edf3f5);color:#173b51;border:1px solid #d9d4c7;border-top:2px solid #b99b61}
body[data-home-version="3"] .h3-contact p{color:#526977}
body[data-home-version="3"] .h3-contact .h3-btn{background:#173b51;color:#fffdf8;border-color:#173b51}
body[data-home-version="3"] .h3-footer{background:linear-gradient(120deg,#fffdf8,#f3f2ed);color:#244356;border-top:1px solid #cfb780}
body[data-home-version="3"] .h3-foot-top{border-bottom-color:#ded8ca}
body[data-home-version="3"] .h3-foot-bottom{color:#526977}
body[data-home-version="3"] .h3-footer a:hover{color:#795c29}
body[data-home-version="3"] :is(.h3-journey,.h3-process a,.h3-footer a):focus-visible{outline:2px solid #94702e;outline-offset:4px}
/* Restrained ruby accents: primary navigation action and pathway heading only. */
body[data-home-version="3"] .mfx-right .h3-small{background:#a52a38;border-color:#a52a38;color:#fffdf8}
body[data-home-version="3"] .mfx-right .h3-small:hover{background:#882330;border-color:#882330}
body[data-home-version="3"] .h3-gateway .h3-section-head h2{border-inline-start:3px solid #a52a38;padding-inline-start:13px}
/* Evidence is inspectable; prototype work is never presented as client delivery. */
.he-evidence{padding:30px 0;background:#fffdf8;border-block:1px solid #e6dfd0}.he-evidence h2{font-size:28px;color:#173b51;margin:8px 0 12px}.he-evidence>.h3-wrap>p:not(.h3-eyebrow){max-width:920px;color:#526977;font-size:13px;line-height:1.7}.he-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.he-grid article{padding:20px;background:#fff;border:1px solid #e2ddd2;border-top:2px solid #c2a368;border-radius:4px}.he-grid small{font-size:10px;color:#795c29}.he-grid h3{font-size:20px;color:#173b51;margin:10px 0}.he-grid p,.he-organisation p{font-size:12px;line-height:1.7;color:#526977}.he-grid a,.he-organisation a{font-size:12px;color:#234d63;display:inline-flex;align-items:center;min-height:44px}.he-scope{margin-top:18px}.he-scope summary,.he-organisation summary{cursor:pointer;color:#173b51;min-height:44px;padding-block:12px;font-size:12px}.he-organisation{padding-top:12px}.he-organisation p{max-width:960px}.he-evidence :is(a,summary):focus-visible,.he-organisation :is(a,summary):focus-visible{outline:2px solid #94702e;outline-offset:4px}@media(max-width:760px){.he-grid{grid-template-columns:1fr;gap:12px}.he-evidence h2{font-size:24px}.he-evidence{padding:24px 0}}
.he-commercial{background:linear-gradient(120deg,#f7f4eb,#edf3f6);padding:32px 0;border-block:1px solid #ded7c7}.he-commercial h2{font-size:30px;max-width:850px;color:#173b51;margin:9px 0 12px}.he-commercial>.h3-wrap>p{max-width:960px;font-size:13px;color:#526977;line-height:1.7}.he-commercial .he-grid a{font-weight:600}.he-commercial .he-grid a:hover{color:#882330}.he-commercial>.h3-wrap>.he-commercial-note{font-size:11px;margin-top:18px;max-width:1100px}.he-commercial a:focus-visible{outline:2px solid #94702e;outline-offset:4px}@media(max-width:760px){.he-commercial{padding:24px 0}.he-commercial h2{font-size:25px}}
