/* Accessibility review fixes, 7 October 2026. Preserve the existing brand. */
.site-header.landing-header {
  display:grid!important;grid-template-columns:minmax(240px,330px) minmax(130px,180px) minmax(0,1fr) auto;
  gap:16px 24px;height:auto!important;min-height:116px;padding:12px 24px!important;
}
.site-header.landing-header .brand-art {
  width:100%!important;height:auto!important;min-width:0;transform:none!important;
  grid-template-columns:90px minmax(0,1fr)!important;grid-template-rows:auto auto;
  column-gap:12px;grid-column:1;grid-row:1;direction:ltr;
}
.site-header.landing-header .brand-art img {width:90px!important;height:72px!important;grid-column:1!important;grid-row:1/3!important}
.site-header.landing-header .brand-name {grid-column:2!important;overflow-wrap:anywhere;direction:ltr}
.site-header.landing-header .brand-tagline {grid-column:2!important;letter-spacing:normal;white-space:normal}
.site-header.landing-header .language-picker {grid-column:2;grid-row:1;position:static;transform:none;margin:0;min-width:0;flex-wrap:wrap;gap:4px;white-space:normal}
.site-header.landing-header .language-picker select {width:100%;max-width:100%;min-width:0}
.site-header.landing-header nav {grid-column:3;grid-row:1;position:static!important;margin:0!important;min-width:0;flex-wrap:wrap;gap:10px 18px;padding:0;background:transparent}
.site-header.landing-header nav a {min-height:44px;display:inline-flex;align-items:center;overflow-wrap:anywhere}
.site-header.landing-header .accessibility-toggle {grid-column:4;grid-row:1;margin:0!important;min-width:48px;min-height:48px;height:auto}
.site-header.landing-header .menu-toggle {min-height:48px;}
[dir="rtl"] .site-header.landing-header .brand-art {direction:rtl;grid-template-columns:minmax(0,1fr) 90px!important}
[dir="rtl"] .site-header.landing-header .brand-art img {grid-column:2!important}
[dir="rtl"] .site-header.landing-header .brand-name,[dir="rtl"] .site-header.landing-header .brand-tagline {grid-column:1!important}
@media(max-width:1320px){
 .site-header.landing-header {grid-template-columns:minmax(0,1fr) minmax(130px,180px) auto}
 .site-header.landing-header nav {grid-column:1/-1;grid-row:2;justify-content:center}
 .site-header.landing-header .accessibility-toggle {grid-column:3}
}
@media(max-width:900px){
 .site-header.landing-header {grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding:12px 16px!important}
 .site-header.landing-header .brand-art {grid-column:1/-1;grid-row:1;max-width:370px}
 .site-header.landing-header .language-picker {grid-column:1;grid-row:2;max-width:250px;display:flex!important}
 .site-header.landing-header .language-picker span {display:inline!important}
 .site-header.landing-header .accessibility-toggle {grid-column:2;grid-row:2}
 .site-header.landing-header .a11y-toggle-label {display:none}
 .site-header.landing-header .menu-toggle {grid-column:3;grid-row:2;display:block}
 .site-header.landing-header nav {grid-column:1/-1;grid-row:3;display:none;align-items:stretch}
 .site-header.landing-header.nav-open nav {display:flex;flex-direction:row;padding-top:8px;border-top:1px solid var(--line)}
 .site-header.landing-header nav a {padding:4px 8px}
}
/* Let content reflow; never conceal overflow to simulate a pass. */
body.games-page,body.feedback-page,body.seo-landing,body:has(.purchase-page),body:has(.purchase-page.is-email-ready) {height:auto;overflow:visible;scroll-snap-type:none}
.games-page footer,.feedback-page footer {display:block}
:where(main,section,article,.hero-copy,.game-copy,.free-offer,.future-price,.installation-card,.feedback-intro,.form-grid label) {min-width:0}
:where(h1,h2,h3,p,li,label,.button) {overflow-wrap:break-word}
.landing-page .learner-visual img {width:100%;max-width:100%;margin-inline:0}
.free-offer #install {width:auto;max-width:100%;white-space:normal}
.trust-row,footer>div {flex-wrap:wrap}
html[lang="en"] :where(.approach-section h2,.marketing-statement,.logic-statement) {white-space:normal!important}
.feedback-screen .consent {white-space:normal;align-items:flex-start}
.feedback-screen,.parent-feedback.feedback-screen,.parent-feedback .feedback-empty {height:auto;overflow:visible}
.feedback-screen .form-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.feedback-screen .form-grid :where(input,select,textarea) {min-width:0;max-width:100%;}
@media(max-width:620px){.feedback-screen .form-grid {grid-template-columns:minmax(0,1fr)}}
/* White text contrast is verified at both gradient endpoints and hover. */
.button.primary,.free-offer #install {background:linear-gradient(105deg,#064caf,#07638f);color:#fff;border:1px solid #8bdcff}
.about-landing .hero-actions .button:hover,.button.primary:hover,.free-offer #install:hover {background:linear-gradient(105deg,#053b8b,#055477)}
.video-open:focus-visible {outline-offset:4px!important}
.video-dialog {grid-template-rows:auto minmax(0,1fr) auto;max-height:96dvh;overflow:auto}
.video-dialog-title {padding:12px 60px 12px 16px;margin:0;color:#fff;background:#000;font-size:1.125rem;line-height:1.4}
.video-dialog .youtube-player {max-height:calc(96dvh - 155px)}
.video-dialog .video-control-row {height:auto;min-height:48px;flex-wrap:wrap;gap:4px}
.video-dialog .video-controls button {min-width:44px;min-height:44px}
.video-dialog .video-seek {min-height:32px}
.video-dialog .video-volume {min-height:44px}
.video-dialog :focus-visible {outline:3px solid #ffdf5d!important;outline-offset:-3px!important}
.video-dialog .video-captions[hidden] {display:none!important}
.video-dialog .video-captions[aria-pressed="true"] {background:#fff;color:#000}
.video-dialog .video-control-spacer {min-width:0}
body.a11y-panel-open {overflow:hidden!important}
.accessibility-panel {max-height:100dvh!important}
.accessibility-panel :focus-visible {outline:3px solid #063a82!important;outline-offset:-3px!important}
.a11y-tabs button[aria-pressed="true"] {text-decoration:underline;text-underline-offset:6px}
@media(forced-colors:active){.button,.video-open,.video-controls button {border:1px solid ButtonText}.video-seek,.video-volume {appearance:auto}.site-header :focus-visible,.video-dialog :focus-visible,.accessibility-panel :focus-visible {outline-color:Highlight!important}}
/* Reading mode must change text and surfaces together. */
html.a11y-reading-mode :where(main,main section,main article,main aside,main p,main li,main h1,main h2,main h3,main h4,main span,footer,footer p,footer a,footer span){background:#fff!important;color:#111!important}
html.a11y-reading-mode :where(main a,main button,main input,main select,main textarea){background:#fff!important;color:#063a82!important;border:1px solid #063a82!important}
html.a11y-reading-mode :where(main h1,main h2,main h3,main h4){color:#111!important}

/* Localized landing pages use a short, always-visible navigation. */
.seo-landing .site-header.landing-header {grid-template-columns:minmax(0,330px) minmax(0,1fr) auto}
.seo-landing .site-header.landing-header nav {grid-column:2;grid-row:1;display:flex!important}
.seo-landing .site-header.landing-header .accessibility-toggle {grid-column:3;grid-row:1}
@media(max-width:900px){
 .seo-landing .site-header.landing-header {grid-template-columns:minmax(0,1fr) auto}
 .seo-landing .site-header.landing-header .brand-art {grid-column:1;grid-row:1}
 .seo-landing .site-header.landing-header .accessibility-toggle {grid-column:2;grid-row:1}
 .seo-landing .site-header.landing-header nav {grid-column:1/-1;grid-row:2;justify-content:flex-start}
}
/* Native file inputs must fit the card without reducing their original text size. */
body:has(.purchase-page) .zip-install-field {min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr);}
body:has(.purchase-page) .zip-install-field :is(label,input) {min-width:0;max-width:100%;}
