/* Distinct language presentations; visual treatments are design choices, not national assumptions. */
.portal-page .locale-intro{max-width:650px;color:#d9cfbc;font-size:14px;line-height:1.8;margin:12px 0 0;text-shadow:0 1px 10px #000}
.portal-page[data-lang="en"]{--home-gold:#d6b77d;--home-panel:#111819}
.portal-page[data-lang="ja"]{--home-gold:#d9c59a;--home-panel:#192a39;--home-bg:#101820}
.portal-page[data-lang="ko"]{--home-gold:#ddc497;--home-panel:#1a302b;--home-bg:#0b1714}
.portal-page[data-lang="th"]{--home-gold:#e0c283;--home-panel:#1d342b;--home-bg:#0c1913}
.portal-page[data-lang="es"]{--home-gold:#dec18b;--home-panel:#30251b;--home-bg:#18130e}
.portal-page[data-lang="en"] .hero-photo{background-image:url('../assets/di/mountain-mist.jpg')}
.portal-page[data-lang="ja"] .hero-photo{background-image:url('../assets/services/strategy-cover-v2.jpg')}
.portal-page[data-lang="ko"] .hero-photo{background-image:url('../assets/services/earth-cover-v2.jpg')}
.portal-page[data-lang="th"] .hero-photo{background-image:url('../assets/di/mountain-ridges.jpg')}
.portal-page[data-lang="es"] .hero-photo{background-image:url('../assets/services/rites.jpg')}
.portal-page:not([data-lang="cn"]) .hero-video{display:none}
.portal-page[data-lang="ja"] .hero-photo:after{background:linear-gradient(90deg,#101d2ce8 0%,#172638a0 55%,#101d2c66),linear-gradient(0deg,#101820,transparent 65%)}
.portal-page[data-lang="ko"] .hero-photo:after{background:linear-gradient(90deg,#0d231fd9 0%,#142922a8 55%,#10251e66),linear-gradient(0deg,#0b1714,transparent 65%)}
.portal-page[data-lang="th"] .hero-photo:after{background:linear-gradient(90deg,#10271fd9 0%,#14291ea3 55%,#0b211957),linear-gradient(0deg,#0c1913,transparent 65%)}
.portal-page[data-lang="es"] .hero-photo:after{background:linear-gradient(90deg,#20160fe8 0%,#251a13ba 55%,#18100a7a),linear-gradient(0deg,#18130e,transparent 65%)}
.portal-page[data-lang="en"] .hero-photo:after{background:linear-gradient(90deg,#0a121ae6 0%,#13232d99 55%,#101a2555),linear-gradient(0deg,#080b0a,transparent 65%)}
.locale-dialog{position:fixed;inset:0;margin:auto;width:min(690px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:0;border:1px solid #c9ac6b70;color:#f3eddd;background:#101813;box-shadow:0 24px 100px #000b;z-index:30000}
.locale-dialog::backdrop{background:rgba(4,8,7,.84);backdrop-filter:blur(9px)}
.locale-shell{padding:clamp(28px,5vw,58px);text-align:center;background:radial-gradient(ellipse at 50% 0,#26362b,#101813 70%)}
.locale-mark{display:grid;place-items:center;margin:0 auto 18px;width:48px;height:48px;border:1px solid #c5a76a;color:#d9c18c;font:26px "Noto Serif SC",serif}
.locale-kicker{font:10px/1.5 Georgia,serif;letter-spacing:.23em;color:#c9ad72;margin-bottom:15px}
.locale-dialog h2{color:#f2ead8;font:400 clamp(24px,4vw,34px)/1.3 Georgia,serif}
.locale-multilingual{color:#c2c5b7;font-size:13px;line-height:2;margin:14px 0 28px}
.locale-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.locale-options button{min-height:54px;padding:12px 8px;background:#17231b;border:1px solid #b99f674d;color:#eee7d6;font-size:15px;cursor:pointer}
.locale-options button:hover,.locale-options button:focus-visible{background:#29382b;border-color:#d7bb79;outline:2px solid #d7bb79;outline-offset:2px}
@media(max-width:520px){.locale-options{grid-template-columns:repeat(2,minmax(0,1fr))}.locale-shell{padding:28px 20px}.portal-page .locale-intro{font-size:13px;line-height:1.7}}
.portal-page .locale-intro{margin-left:auto;margin-right:auto;text-align:center}
/* Real photographs only. Slow camera movement preserves the source content. */
.portal-page[data-lang] .hero-photo{background-image:var(--real-hero);overflow:hidden}
.portal-page .hero-photo:before{content:"";position:absolute;inset:-4%;background:inherit;animation:locale-hero-drift 36s ease-in-out infinite alternate;animation-play-state:paused}
.portal-page .portal-hero.locale-in-view .hero-photo:before{animation-play-state:running}
.portal-page[data-lang="cn"] .hero-photo:before{display:none}
.portal-page .hero-video{z-index:1}.portal-page .hero-photo:after{z-index:2}
.portal-page[data-lang] .service-item .service-art{background:#102015;overflow:hidden}
.portal-page[data-lang] .service-item .service-scene{display:none}
.locale-card-photo{position:absolute;inset:-4%;z-index:0;pointer-events:none;background-size:cover;background-position:center;animation:locale-card-drift 32s ease-in-out infinite alternate;animation-play-state:paused}
.locale-card-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#051009d9,transparent 75%),linear-gradient(120deg,#07171033,#1c100411)}
.service-item.locale-in-view .locale-card-photo{animation-play-state:running}
.portal-page .service-symbol,.portal-page .service-index,.portal-page .service-art-label{z-index:2}
.portal-page .service-art:before,.portal-page .service-art:after{z-index:1}
body.locale-motion-paused .locale-card-photo,body.locale-motion-paused .hero-photo:before,body.di-open .locale-card-photo,body.di-open .hero-photo:before,body.sx-open .locale-card-photo,body.sx-open .hero-photo:before{animation-play-state:paused!important}
body:has(#locale-dialog[open]) .locale-card-photo,body:has(#locale-dialog[open]) .hero-photo:before{animation-play-state:paused!important}
@keyframes locale-hero-drift{from{transform:scale(1) translate3d(-.5%,0,0)}to{transform:scale(1.045) translate3d(.7%,-.6%,0)}}
@keyframes locale-card-drift{from{transform:scale(1) translate3d(-.7%,0,0)}to{transform:scale(1.07) translate3d(.7%,-.5%,0)}}
@media(prefers-reduced-motion:reduce){.portal-page .hero-photo:before,.locale-card-photo{animation:none!important;transform:none!important}}
.portal-page .hero-photo{z-index:0}.portal-page .portal-hero-content{position:relative;z-index:1}
.portal-page[data-lang="ko"] .portal-hero h1{word-break:keep-all;letter-spacing:.04em}
@media(max-width:760px){.portal-page[data-lang="ko"] .portal-hero h1{font-size:30px}}

body.perf-scrolling .locale-card-photo,body.perf-scrolling .hero-photo:before{animation-play-state:paused!important}.locale-in-view .locale-card-photo{will-change:transform}.portal-hero.locale-in-view .hero-photo:before{will-change:transform}
