@media (max-width: 1100px) {
  .sh-hero__layout { min-height: 600px; gap: 0; grid-template-columns: 1fr 1fr; }
  .sh-hero__art .sh-scene { min-height: 390px; }
  .sh-hero__caption { align-items: flex-start; }
  .sh-hero__caption p { padding-top: 13px; max-width: 150px; }
  .sh-numbers > div { padding-inline: 20px; }
  .sh-num { font-size: 37px; }
  .sh-choice { gap: 45px; }
  .sh-form { grid-template-columns: 1fr; }
}
@media (max-width: 809px) {
  .sh-hero__layout { grid-template-columns: 1fr; padding-top: 46px; padding-bottom: 28px; }
  .sh-hero__content { padding-top: 0; }
  .sh-sign { margin-bottom: 23px; font-size: 9px; }
  .sh-hero h1 { font-size: clamp(49px, 10.5vw, 78px); }
  .sh-desktop-break { display: none; }
  .sh-hero__sub { margin-top: 24px; font-size: 13px; }
  .sh-hero__cta { gap: 20px; margin-top: 25px; }
  .sh-hero__cta .sh-link { font-size: 11px; gap: 10px; }
  .sh-hero__note { margin-top: 17px; font-size: 9px; }
  .sh-hero__art { margin-top: 38px; }
  .sh-hero__art .sh-scene { min-height: 330px; height: min(85vw, 470px); }
  .sh-hero__edition { font-size: 7px; }
  .sh-hero__caption { margin-top: -5px; align-items: center; }
  .sh-hero__caption p { max-width: none; padding-top: 0; font-size: 9px; }
  .sh-hero__foot { padding: 9px 0; font-size: 7px; }
  .sh-hero__foot > span:last-child { display: none; }
  .sh-specs { padding-top: 37px; }
  .sh-numbers { grid-template-columns: 1fr 1fr; row-gap: 30px; }
  .sh-numbers > div { padding: 0 20px 0; }
  .sh-numbers > div:nth-child(odd) { padding-left: 0; border-left: 0; }
  .sh-numbers > div:nth-child(even) { padding-right: 0; }
  .sh-num { font-size: clamp(35px, 7.6vw, 49px); }
  .sh-numbers dd + dd { font-size: 10px; margin-top: 12px; }
  .sh-facts { grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 30px; }
  .sh-facts dd { font-size: 10px; }
  .sh-section__head--split { grid-template-columns: 1fr; gap: 24px; }
  .sh-section__head h2 { font-size: clamp(42px, 8vw, 60px); }
  .sh-lede { font-size: 14px; }
  .sh-game__feature { height: 330px; }
  .sh-game__label { display: none; }
  .sh-game__play { bottom: 22px; left: 22px; font-size: 11px; }
  .sh-steps { gap: 20px; }
  .sh-steps h3 { font-size: 25px; }
  .sh-steps p { font-size: 11px; }
  .sh-partner-grid { gap: 22px; }
  .sh-partner-grid h3 { font-size: 25px; }
  .sh-odds-disclosure__hint { font-size: 0; gap: 0; }
  .sh-odds-disclosure summary { font-size: 23px; }
  .sh-odds__intro { display: block; }
  .sh-odds__intro a { margin-top: 12px; }
  .sh-odds__tables { grid-template-columns: 1fr; gap: 26px; }
  .sh-choice { grid-template-columns: 1fr; gap: 40px; }
  .sh-contact-copy h2 { font-size: 65px; }
  .sh-contact-form { padding: 26px; }
  .sh-form { grid-template-columns: 1fr 1fr; }
  .sh-footer__bottom { display: block; }
  .sh-footer__bottom > span { display: block; margin-top: 20px; }
}
@media (max-width: 560px) {
  .sh-steps { grid-template-columns: 1fr; gap: 34px; }
  .sh-steps li { display: grid; grid-template-columns: 22px 1fr; gap: 0 12px; }
  .sh-step-no { padding-top: 9px; }
  .sh-steps h3 { font-size: 30px; }
  .sh-steps p { grid-column: 2; }
  .sh-steps p { font-size: 12px; margin-bottom: 18px; }
  .sh-partner-grid { grid-template-columns: 1fr; gap: 30px; margin-top: 34px; }
  .sh-partner-grid h3 { font-size: 29px; }
  .sh-partner-grid p { max-width: 100%; margin-bottom: 12px; }
  .sh-form { grid-template-columns: 1fr; }
  .sh-footer__links { gap: 0 18px; }
}
/* A landscape phone keeps its first action and demo disclosure above the fold. */
@media (max-height: 480px) and (min-width: 600px) and (max-width: 1100px) {
  .sh-hero__layout { grid-template-columns: 1.1fr 1fr; gap: 18px; min-height: 0; padding-top: 14px; padding-bottom: 15px; }
  .sh-hero__content { padding-top: 0; }
  .sh-hero .sh-sign { font-size: 7px; margin-bottom: 12px; gap: 10px; }
  .sh-hero h1 { font-size: clamp(30px, 4.35vw, 43px); line-height: 1.07; }
  .sh-desktop-break { display: none; }
  .sh-hero__sub { font-size: 10px; line-height: 1.7; margin-top: 12px; }
  .sh-hero__cta { gap: 16px; margin-top: 16px; }
  .sh-hero__cta .sh-btn { min-height: 44px; padding: 10px 15px; }
  .sh-hero__cta .sh-btn > span { font-size: 10px; gap: 16px; }
  .sh-hero__cta .sh-link { font-size: 10px; gap: 10px; }
  .sh-hero__note { font-size: 8px; margin-top: 10px; max-width: 34em; }
  .sh-hero__art { margin-top: 0; height: min(290px, calc(100svh - 89px)); }
  .sh-hero__edition { font-size: 6px; padding-bottom: 9px; }
  .sh-hero__art .sh-scene { min-height: 0; height: 235px; }
  .sh-hero__caption { margin-top: 0; align-items: center; }
  .sh-hero__caption p { font-size: 8px; padding: 0; }
  .sh-motion-toggle { font-size: 8px; }
  .sh-hero__foot { display: none; }
}
@media (max-height: 350px) and (min-width: 600px) and (max-width: 1100px) {
  .sh-hero__layout { padding-block: 10px; }
  .sh-hero .sh-sign { margin-bottom: 8px; }
  .sh-hero__sub { line-height: 1.5; }
  .sh-hero__cta { margin-top: 12px; }
  .sh-hero__art { height: calc(100svh - 80px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
  .sh-btn:hover, .sh-game__feature:hover img { transform: none; }
}
@media print {
  .sh-nav, .sh-menu, .sh-dock, .sh-scene, .sh-motion-toggle, .sh-hero__edition, .sh-hero__caption, .sh-form { display: none !important; }
  .sh-hero__layout { min-height: 0; display: block; }
  .sh-hero h1 { font-size: 48px; }
  .sh-section, .sh-close { padding-block: 32px; }
}
