/* Original JoyMotion visuals, rearranged into a landing-only two-column layout. */
.landing-page .cover{min-height:100dvh;padding:96px 5vw 88px;justify-content:center}
.landing-page .home-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:6vw;width:100%;max-width:1440px;margin:auto}
.landing-page .home-brand-column,.landing-page .home-controls-column{min-width:0}
.landing-page .cover .logo{font-size:clamp(54px,6.8vw,106px);letter-spacing:-3px;white-space:nowrap;margin:0 0 24px}
.landing-page .cover .brand-byline{margin:0 0 20px}
.landing-page .cover .tagline{font-size:clamp(20px,2.1vw,30px);line-height:1.5;margin:0;text-wrap:balance}
.landing-page .language-gate{width:100%;margin:0 0 36px}
.landing-page .language-choice-row{gap:24px;flex-wrap:nowrap}
.landing-page .language-choice{min-width:0;flex:1 1 0;min-height:108px;padding:16px 8px;font-size:clamp(25px,2.7vw,38px)}
.landing-page .language-choice .lang-sub{font-size:16px}
.landing-page .home-action-row{display:flex;flex-direction:column;gap:24px;width:100%}
.landing-page .home-action-row .btn-jumbo{margin:0;min-width:0;min-height:78px;padding:18px 24px;font-size:32px}
.landing-page .home-action-row #startBtn{width:100%}
.landing-page .home-action-row .home-setting-btn{width:68%;min-height:64px;font-size:25px;padding:14px 24px}
/* Account/credit controls have their own reserved top strip. */
.landing-page #jmTrialProfileWidget.is-floating{top:calc(env(safe-area-inset-top,0px) + 18px);right:calc(env(safe-area-inset-right,0px) + 24px)}
.landing-page #jmTrialProfileWidget .trial-profile-panel{max-height:calc(100dvh - 100px);overflow:auto}
.landing-page .cover .credit{bottom:36px;left:24px;right:24px;padding:0;font-size:12px;line-height:1.5;letter-spacing:0}
@media(min-width:900px) and (max-height:700px) and (orientation:landscape){
 .landing-page .cover{padding-top:88px;padding-bottom:80px}
 .landing-page .language-choice{min-height:92px;padding:12px 8px}
 .landing-page .home-action-row .btn-jumbo{min-height:70px;padding:14px 24px;font-size:30px}
 .landing-page .home-action-row .home-setting-btn{min-height:58px;font-size:24px;padding:12px 22px}
}
@media(max-width:800px){
 .landing-page .cover{padding:96px 32px 100px}
 .landing-page .home-layout{grid-template-columns:1fr;gap:36px;max-width:540px}
 .landing-page .cover .logo{font-size:clamp(48px,11.5vw,80px);letter-spacing:-2px;-webkit-text-stroke-width:2px;text-shadow:4px 4px #0a0a0a;margin-bottom:12px}
 .landing-page .cover .logo .a{-webkit-text-stroke-width:2px}
 .landing-page .cover .brand-byline{margin-bottom:10px}
 .landing-page .cover .tagline{font-size:20px}
 .landing-page .language-choice-row{gap:20px}
 .landing-page .language-choice{font-size:24px;min-height:86px;padding:12px 8px;border-width:5px}
 .landing-page .language-choice .lang-sub{font-size:14px}
 .landing-page .home-action-row .btn-jumbo{font-size:28px;min-height:66px;padding:14px 22px}
 .landing-page .home-action-row .home-setting-btn{font-size:24px;min-height:58px}
 .landing-page .cover .credit{bottom:38px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.landing-page .float-bg span{animation:none}}
/* Give the brand and Start action priority over language selection. */
@media(min-width:801px){
 .landing-page .home-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:4vw}
 .landing-page .cover .logo{font-size:clamp(62px,8.6vw,132px)}
}
.landing-page .language-gate{margin-bottom:30px}
.landing-page .language-choice-row{width:90%;gap:16px}
.landing-page .language-choice{min-height:64px;padding:10px 12px;font-size:22px;border-width:4px;border-radius:22px;box-shadow:0 5px #0a0a0a}
.landing-page .language-choice .lang-sub{font-size:12px}
.landing-page .language-choice.active,.landing-page .language-choice[aria-pressed="true"]{outline-width:3px;outline-offset:4px}
@media(max-width:800px){
 .landing-page .cover .logo{font-size:clamp(48px,12.5vw,88px)}
 .landing-page .language-choice{font-size:21px;min-height:62px}
}
/* A single main action, with language and settings as supporting controls. */
.landing-page .home-controls-column{display:flex;flex-direction:column;align-items:center;gap:30px}
.landing-page .home-action-row{order:0}
.landing-page .language-gate{order:1;margin:0;width:auto;max-width:100%}
.landing-page .language-choice-row{width:auto;gap:10px;align-items:center}
.landing-page .language-choice{flex:0 1 auto;min-height:48px;min-width:112px;padding:10px 18px;font-size:19px;border-width:3px;border-radius:999px;box-shadow:0 4px #0a0a0a}
.landing-page .language-choice .lang-sub{display:none}
.landing-page .language-choice.active,.landing-page .language-choice[aria-pressed="true"]{outline:none;box-shadow:0 4px #0a0a0a,inset 0 0 0 2px #0a0a0a}
.landing-page .language-choice:focus-visible{outline:3px solid #ff3d3d;outline-offset:5px}
.landing-page .home-action-row .home-setting-btn{position:absolute;top:22px;left:24px;width:auto;min-height:48px;font-size:18px;border-width:3px;padding:10px 18px;box-shadow:0 4px #0a0a0a}
.landing-page .home-action-row #startBtn{min-height:100px;font-size:36px}
@media(max-width:800px){
 .landing-page .home-controls-column{gap:26px}
 .landing-page .home-action-row #startBtn{min-height:84px;font-size:32px}
 .landing-page .home-action-row .home-setting-btn{font-size:17px;min-height:46px;padding:9px 16px}
 .landing-page .language-choice{font-size:18px;min-height:48px}
}
/* Centre the original brand while retaining the quieter supporting controls. */
.landing-page .home-layout{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:30px;max-width:1100px}
.landing-page .home-brand-column{width:100%;text-align:center}
.landing-page .cover .logo{font-size:clamp(64px,11.5vw,150px);margin-bottom:14px}
.landing-page .cover .brand-byline{margin-bottom:12px}
.landing-page .home-controls-column{width:min(390px,100%);gap:24px}
.landing-page .home-action-row #startBtn{min-height:82px;font-size:32px;padding:16px 28px}
@media(min-width:801px) and (max-height:700px) and (orientation:landscape){
 .landing-page .home-layout{gap:22px}
 .landing-page .cover .logo{font-size:min(11.5vw,16dvh);margin-bottom:10px}
 .landing-page .cover .brand-byline{margin-bottom:8px}
 .landing-page .home-controls-column{gap:20px}
 .landing-page .home-action-row #startBtn{min-height:72px;padding:12px 26px;font-size:30px}
}
@media(max-width:800px){
 .landing-page .cover .logo{font-size:clamp(48px,12.5vw,88px)}
 .landing-page .home-layout{gap:30px}
 .landing-page .home-controls-column{width:min(350px,100%)}
}
