/* Keep the approved page separate from the existing account and finance panels. */
.mario-study .site-header>.brand { order:0; transform:none; }
.mario-study .site-header>.header-actions { order:0; flex:0 1 auto; }
.mario-study .faq-section { margin-top:0; }
.mario-study .faq-list { display:block; }
.mario-study .modal-shell { z-index:80; }
/* Lock the document, not the form. In particular, iOS may scroll the root
   behind a dialog when only body overflow is hidden. */
html.home-dialog-open {
 overflow:hidden;
 overscroll-behavior:none;
 scroll-behavior:auto;
}
body.mario-study.home-dialog-open {
 position:fixed;
 top:var(--home-dialog-scroll-top,0px);
 left:0;
 right:0;
 width:100%;
 overflow:hidden;
 overscroll-behavior:none;
}
.mario-study.home-dialog-open .modal-shell {
 top:var(--home-dialog-top,0px);
 bottom:auto;
 height:var(--home-dialog-height,100dvh);
 min-height:0;
 overscroll-behavior:none;
}
/* The large viewport also covers the area revealed by Safari's moving bars.
   This background stays fixed while the tall form itself can still scroll. */
.mario-study.stack-game-theme.home-dialog-open .modal-shell .modal-backdrop {
 position:fixed;
 top:0;
 bottom:auto;
 height:100vh;
 height:100lvh;
 min-height:100%;
}
/* Dialog entry focus is structural; only its interactive controls need a ring. */
.mario-study .modal-shell .modal-card:focus { outline:none; }
.mario-study .modal-shell :is(h3,p) { letter-spacing:normal; }
.mario-study .modal-shell .modal-close { font-family:var(--sb-font); }
.mario-study .approved-balance { display:inline-flex; align-items:center; white-space:nowrap; font-variant-numeric:tabular-nums; }
@media (max-width:360px) {
 .mario-study .approved-balance { font-size:12px!important; }
}

/* Desktop keeps full-width backgrounds and one consistent content column. */
@media (min-width:1024px) {
 .mario-study { --home-content-width:1120px; --home-gutter:40px; --benefit-strip-height:42px; }
 .mario-study .section-container {
  width:min(var(--home-content-width),calc(100% - 2 * var(--home-gutter)));
  margin-inline:auto;
 }
 .mario-study .site-header {
  height:72px;
  padding:6px max(var(--home-gutter),calc((100% - var(--home-content-width)) / 2));
 }
 .mario-study .benefit-copy>strong { font-size:18px; }
 .mario-study .benefit-copy>span { font-size:11px; }
 .mario-study .benefit-item>svg { width:20px; height:20px; }

 /* Align the full banner with the ball logo and account action above it. */
 .mario-study .banner-section { --banner-gap:20px; }
 .mario-study .banner-section>.section-container {
  width:min(var(--home-content-width),calc(100% - 2 * var(--home-gutter)));
  margin-inline:auto;
 }
 .mario-study .banner-window {
  width:100%; margin-inline:auto;
  border-radius:20px;
 }
 .mario-study .banner-art { object-fit:contain; }
 .mario-study .brand-splash {
  height:148px; padding-inline:var(--home-gutter); gap:.3em;
  font-size:clamp(64px,8vw,108px);
 }
 .mario-study .brand-cloud--left { width:180px; left:max(4%,calc((100% - var(--home-content-width)) / 2)); }
 .mario-study .brand-cloud--right { width:210px; right:max(4%,calc((100% - var(--home-content-width)) / 2)); }

 .mario-study .game-section { padding:44px 0 68px; }
 .mario-study .game-section>.section-container {
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  align-items:center; gap:56px;
 }
 .mario-study .section-heading { margin:0; }
 .mario-study #game-title { width:100%; font-size:clamp(56px,6vw,80px); }
 .mario-study .reference-game-tagline { margin-top:20px; gap:7px; font-size:17px; }
 .mario-study .game-tagline-prize { font-size:clamp(26px,2.6vw,34px); }
 .mario-study .game-tagline-action { margin-top:6px; font-size:16px; }
 .mario-study .game-showcase { gap:16px; padding-bottom:0; }
 .mario-study .showcase-tower {
  width:auto; max-width:100%; height:clamp(240px,calc(100svh - 365px),420px);
  aspect-ratio:52 / 60;
 }
 .mario-study .showcase-spark { display:none; }
 .mario-study .showcase-actions { width:min(100%,320px); }
 .mario-study .showcase-actions .play-btn { height:56px; font-size:20px; }

 .mario-study .world-section {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  align-items:center; gap:16px 48px;
  padding:44px max(var(--home-gutter),calc((100% - var(--home-content-width)) / 2)) 68px;
 }
 .mario-study .world-section>.section-container { width:100%; margin:0; }
 .mario-study .world-heading h2 { font-size:44px; }
 .mario-study .world-heading .eyebrow { font-size:11px; margin-bottom:12px; }
 .mario-study .world-results { margin-top:0; }
 .mario-study .world-word {
  grid-column:1 / -1; left:0; margin-top:4px;
  font-size:clamp(56px,6vw,88px); letter-spacing:-3px;
 }
 .mario-study .world-ball { width:180px; right:max(var(--home-gutter),calc((100% - var(--home-content-width)) / 2)); }

 .mario-study .explore-section { padding:48px 0 56px; }
 .mario-study .explore-section h2 { margin-bottom:24px; font-size:40px; }
 .mario-study .clip-track { width:100%; margin-inline:0; padding:24px 12px 20px; gap:32px; justify-content:center; }
 .mario-study .clip-phone {
  flex-basis:clamp(152px,calc((100svh - 420px) * .5625),248px);
  padding:7px; border-width:2px; border-radius:32px;
 }
 .mario-study .clip-window { border-radius:24px; }
 .mario-study .clip-phone__label { top:-17px; padding:5px 10px; border-width:2px; font-size:12px; }
 .mario-study .clip-phone__notch { top:18px; height:15px; }
 .mario-study .clip-phone__burst { width:80px; right:-7px; }
 .mario-study .clip-phone__burst b { font-size:22px; }
 .mario-study .clip-phone__burst small { font-size:6px; }

 .mario-study .how-section { padding:112px 0 56px; }
 .mario-study .word-marquee { top:28px; }
 .mario-study .word-track>span { font-size:40px; }
 .mario-study .how-layout { max-width:var(--home-content-width); }
 .mario-study .cashout-banner { min-height:clamp(310px,42svh,380px); border-radius:24px; }
 .mario-study .cashout-banner .character-circle { left:auto; right:-65px; top:50%; transform:translateY(-50%); width:470px; height:470px; }
 .mario-study .cashout-banner .character-ball { width:300px; right:6%; top:50%; transform:translateY(-50%) rotate(12deg); }
 .mario-study .cashout-banner .character-copy { left:44px; right:auto; top:50%; bottom:auto; transform:translateY(-50%); max-width:58%; }
 .mario-study .cashout-pix-brand { margin-bottom:12px; }
 .mario-study .cashout-banner .cashout-pix-logo { width:112px; }
 .mario-study .cashout-banner .character-copy h3 { font-size:40px; }

 .mario-study .site-footer { padding-top:40px; }
 .mario-study .site-footer .faq-section { padding-bottom:36px; gap:48px; }
 .mario-study .faq-section h2 { font-size:42px; }
 .mario-study .footer-copyright { margin-top:28px; }
 .mario-study .mobile-dock { max-width:420px; padding-inline:16px; }
}

@media (min-width:1024px) and (prefers-reduced-motion:no-preference) {
 .mario-study .reference-winners-stage.has-winner-breaker { padding-top:52px; }
}

@media (min-width:1024px) and (max-height:700px) {
 .mario-study .explore-section { padding:32px 0 40px; }
 .mario-study .explore-section h2 { font-size:36px; margin-bottom:20px; }
 .mario-study .game-section { padding-top:32px; padding-bottom:56px; }
 .mario-study #game-title { font-size:56px; }
 .mario-study .reference-game-tagline { font-size:16px; margin-top:16px; }
}
