/* Shared dimensions for the Studio and Cut language menus. */
:root{--site-header-text:22px;--site-language-row:46.4px}
.language-switch button,.site-header>.language-switch button,.cut-header-actions .language-switch button{font-size:var(--site-header-text);line-height:1.2;height:var(--site-language-row);min-height:var(--site-language-row);padding:10px 0;border:0;text-align:right}
.language-switch .language-trigger,.site-header>.language-switch .language-trigger{padding:10px 0;justify-content:flex-end}
.language-switch .language-menu{top:100%;right:0;width:max-content;min-width:100%;padding:0;mask-image:none;max-height:calc(100svh - 135px)}
.language-switch .language-menu button{display:block;width:100%;margin:0;padding-inline:0}
.language-switch .language-menu button[hidden]{display:none}
.site-header>.language-switch button{color:#d9c7ff}
.site-header>.language-switch button:hover{color:#fff}
@media(max-width:760px){:root{--site-header-text:19px;--site-language-row:44px}}
@media(max-width:390px){:root{--site-header-text:18px}}
/* Cut retains its compact controls; the rotating catchphrase keeps its own scale. */
.hero-scene>header{width:min(1240px,calc(100% - 64px));height:96px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px}
.hero-scene>header>.brand{width:150px;height:38px;overflow:visible}
.hero-scene>header>.brand img{width:100%;height:auto}
.hero-scene .header-slot{font-size:var(--site-header-text);line-height:1.2}
.hero-scene .cut-header-actions .demi-account-trigger{font-size:16px;line-height:1.2;height:44px;min-height:44px;padding:10px 0}
.hero-scene .cut-header-actions{gap:24px;grid-column:3;grid-row:1}
.hero-scene>header,.hero-scene>header *{filter:none;box-shadow:none;text-shadow:none}
.hero-scene .cut-header-actions .language-switch{--site-header-text:16px;--site-language-row:44px;filter:none}
.hero-scene .cut-header-actions :is(.language-trigger,.language-menu button,.demi-account-trigger){color:#fff}
.hero-scene .header-slot{filter:none;text-shadow:none}
.hero-scene .cut-header-actions .demi-account-trigger[data-profile=true]{position:relative;width:44px;font-size:0}
.hero-scene .demi-account-trigger[data-profile=true]::before{content:'';position:absolute;inset:0;display:block;width:26px;height:26px;background:currentColor;mask:url('/assets/profile-account.svg') center/contain no-repeat;margin:auto;transform:translateY(-2px)}
.hero-scene .language-switch .language-menu{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 20px;top:var(--cut-menu-top,100%);width:max-content;max-width:var(--cut-menu-width,calc(100vw - 120px));min-width:0;max-height:none;overflow:visible;transform:translateX(10px);filter:none;transition:opacity .2s,transform .2s}
.hero-scene .language-switch.is-open .language-menu{transform:none;filter:none}
.hero-scene .language-switch .language-menu[hidden]{display:none}
.hero-scene .language-switch .language-menu button{flex:0 0 auto;width:auto;white-space:nowrap}
.hero-scene .cut-header-actions .language-switch .language-menu button:is(:hover,:focus-visible){color:#ff922c}
@media(max-width:880px){
 .hero-scene>header{width:calc(100% - 36px);height:calc(108px + var(--cut-language-extra,0px));grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:52px 44px;gap:0 12px;padding-block:6px}
 .hero-scene>header>.brand{width:150px;height:38px;grid-row:1;grid-column:1}
 .hero-scene .cut-header-actions{grid-column:3;grid-row:1;gap:16px}
 .hero-scene .header-slot{grid-column:2;grid-row:1;justify-self:center;font-size:var(--cut-phrase-font,var(--site-header-text))}
 .hero-scene .header-slot .slot-window{width:var(--cut-word-width,3em);margin-right:0}
 .hero-scene .cut-header-actions .language-menu{max-height:calc(100svh - 90px)}
}
@media(max-width:700px){.hero-scene .cut-header-actions .language-switch{--site-header-text:15px}.hero-scene .cut-header-actions .demi-account-trigger{font-size:15px}.hero-scene .language-switch .language-menu{column-gap:16px}}
@media(max-width:480px){.hero-scene>header>.brand{width:106px}}
@media(max-width:360px){.hero-scene>header{gap:0 6px}.hero-scene>header>.brand{width:86px}.hero-scene .header-slot{font-size:var(--cut-phrase-font,16px)}.hero-scene .cut-header-actions{gap:10px}}
.cut-header-actions .language-switch .language-menu{transform:translateX(10px)}
.cut-header-actions .language-switch.is-open .language-menu{transform:none}
/* Standalone policy pages keep the same language control at the upper right. */
.cut-header-actions :is(.language-trigger,.language-menu button){color:#fff}
.policy-page>header{width:min(1240px,calc(100% - 48px));height:96px;display:flex;justify-content:space-between;gap:20px}
.policy-page>header .cut-header-actions{display:flex;gap:24px}
.policy-page>header .language-switch{order:2}
.policy-page .legal-page{font-family:var(--cut-pixel);overflow-wrap:anywhere}
.policy-page .legal-page :is(h1,h2){font-family:var(--cut-pixel)}
html[lang=ja] .policy-page .legal-page,html[lang=ja] .policy-page .legal-page :is(h1,h2){font-family:'Noto Sans JP',sans-serif}
html[lang=zh-CN] .policy-page .legal-page,html[lang=zh-CN] .policy-page .legal-page :is(h1,h2){font-family:'Noto Sans SC',sans-serif}
@media(max-width:600px){.policy-page>header{width:calc(100% - 36px);height:auto;min-height:90px;flex-wrap:wrap;padding-block:12px;gap:4px}.policy-page>header>.brand{width:136px}.policy-page>header .cut-header-actions{gap:16px;margin-left:auto}.policy-page>header .cut-header-actions>a{font-size:13px}}
