/* Direction and script-aware layout; the accepted PSynth3 palette stays fixed. */
.site-header { height:auto; min-height:98px; }
.site-header .header-inner { display:flex; align-items:center; flex-wrap:nowrap; gap:18px; padding-block:20px; }
.site-header .brand { order:0; flex:0 0 auto; }
.site-header .main-nav { display:flex; order:1; margin-inline-start:auto; flex:0 0 auto; width:max-content; flex-wrap:nowrap; flex-direction:row; justify-content:flex-end; align-items:center; gap:18px; font-size:.875rem; }
.site-header .main-nav > .nav-contact { margin-inline:0; }
.site-header .language-controls { order:2; flex:0 0 auto; margin-inline-start:0; }
.site-header .appearance-controls { order:3; }
.site-header .menu-toggle { display:none; order:4; flex-shrink:0; }
.language-controls { display:flex; align-items:center; gap:8px; min-width:0; }
.site-header.nav-compact .menu-toggle { display:flex; }
.site-header.nav-compact .language-controls { margin-inline-start:auto; }
.site-header.nav-compact .main-nav { display:none; position:absolute; inset-inline:0; top:100%; width:auto; margin:0; padding:20px 36px 26px; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:6px; background:var(--panel); border-bottom:1px solid var(--strong-line); box-shadow:0 22px 35px var(--shadow); max-height:calc(100dvh - 160px); overflow-y:auto; font-size:1rem; }
.site-header.nav-compact .main-nav.is-open { display:flex; }
.site-header.nav-compact .main-nav > a { white-space:normal; padding-block:12px; overflow-wrap:anywhere; }
.site-header.nav-compact .main-nav > .nav-contact { align-self:flex-start; margin-top:8px; padding:12px 18px; }
html:not([data-responsive-nav]) .site-header .header-inner { flex-wrap:wrap; }
html:not([data-responsive-nav]) .site-header .main-nav { display:flex; position:static; width:100%; flex-wrap:wrap; justify-content:flex-start; }
.language-choice { display:flex; align-items:center; gap:8px; font-size:.75rem; color:var(--muted); }
.language-choice select { width:148px; max-width:100%; min-height:44px; padding:9px 12px; border:1px solid var(--strong-line,var(--line)); border-radius:6px; background:var(--panel,#14213a); color:var(--text,#f4f5f3); font:inherit; font-size:.875rem; cursor:pointer; }
.language-choice select:focus-visible { outline:2px solid var(--accent,#69dcef); outline-offset:3px; }
.language-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.language-status.language-error { position:static; width:auto; height:auto; clip-path:none; max-width:230px; color:var(--text); font-size:.875rem; }
.text-size-toggle { direction:ltr; unicode-bidi:isolate; }
.translation-original { max-width:var(--content-width,1280px); margin:0 auto 24px; padding:18px 24px; border:1px solid var(--line); border-radius:8px; background:var(--panel); }
.translation-original[hidden] { display:none; }
.translation-original p { margin-block:0 8px; }
html:lang(ar) body { font-family:Tahoma,"Segoe UI",Arial,sans-serif; }
html:lang(ar) :is(.eyebrow,.micro,.badge,.hero-eyebrow,.product-caption) { font-family:Tahoma,"Segoe UI",Arial,sans-serif; letter-spacing:normal; }
.newsletter-honeypot,.honeypot { left:auto; inset-inline-start:0; top:0; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
html:lang(hi) body { font-family:"Nirmala UI","Mangal","Segoe UI",sans-serif; }
html:lang(th) body { font-family:"Leelawadee UI","Thonburi","Tahoma",sans-serif; }
html:lang(th) :is(h1,h2,h3,.eyebrow,.badge,.micro) { letter-spacing:normal; line-height:1.4; }
html:lang(ja) body { font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif; }
html:lang(ko) body { font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif; }
html:lang(zh) body { font-family:"Microsoft YaHei","PingFang SC","Microsoft JhengHei",sans-serif; }
html:is(:lang(ar),:lang(hi),:lang(ja),:lang(ko),:lang(zh)) :is(h1,h2,h3,.eyebrow,.badge,.micro) { letter-spacing:normal; }
html:is(:lang(ar),:lang(hi),:lang(ja),:lang(ko),:lang(zh)) :is(h1,h2,h3) { line-height:1.3; }
html[dir=rtl] :is(.brand,.product-wordmark,.coordinate,.store-product-price,.store-price,.store-promotion-code,code,pre,.captcha-code) { direction:ltr; unicode-bidi:isolate; }
html[dir=rtl] :is(a[href^="mailto:"],a[href^="tel:"],input[type=email],input[type=url],input[name=captcha],input[name*=code]) { direction:ltr; unicode-bidi:isolate; text-align:left; }
html[dir=rtl] :is(.verification-code,#userCode) { direction:ltr; unicode-bidi:isolate; }
html[dir=rtl] :is(.hero-copy,.section-head,.download-copy,.prose,.store-product-copy,.footer-links,.field) { text-align:start; }
html[dir=rtl] .main-nav { margin-left:0; margin-inline-start:auto; }
html[dir=rtl] .brand { text-align:left; }
:is(.hero-copy,.world-card,.download-copy,.store-product-copy,.channel-links,.footer-links,.button-row) { min-width:0; }
:is(.button,.text-link,.main-nav a,.badge,.film-title,h1,h2,h3,p,li,summary) { overflow-wrap:break-word; }
.button { white-space:normal; text-align:center; }
.badge { white-space:normal; }
@media(min-width:901px) and (max-width:1199px) {
 .site-header .header-inner { gap:12px; padding-inline:24px; }
 .site-header .brand { gap:10px; }
 .site-header .main-nav { gap:12px; font-size:.8125rem; }
 .site-header .main-nav > .nav-contact { padding-inline:12px; }
 .site-header .language-choice select { width:128px; }
}
@media(max-width:900px) {
 .site-header.nav-compact .header-inner { display:grid; grid-template-columns:minmax(0,1fr) 44px 44px; gap:10px 8px; padding-block:16px; }
 .site-header.nav-compact .brand { grid-column:1; grid-row:1; min-width:0; }
 .site-header.nav-compact .appearance-controls { grid-column:2; grid-row:1; }
 .site-header.nav-compact .menu-toggle { grid-column:3; grid-row:1; justify-content:center; width:44px; padding:0; }
 .site-header.nav-compact .menu-toggle > span:first-child { display:none; }
 .site-header.nav-compact .language-controls { grid-column:1 / -1; grid-row:2; justify-self:end; }
}
@media(max-width:700px) {
 .site-header.nav-compact .main-nav { padding-inline:23px; }
 html[dir=rtl] .site-header .main-nav { text-align:right; }
 .translation-original { margin-inline:20px; padding:16px; }
}
