@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/static/montserrat-400-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/static/montserrat-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+02DD, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/static/montserrat-500-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/static/montserrat-500-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+02DD, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 550;
  font-display: swap;
  src: url("assets/fonts/static/montserrat-550-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 550;
  font-display: swap;
  src: url("assets/fonts/static/montserrat-550-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+02DD, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/static/montserrat-600-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/static/montserrat-600-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+02DD, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 650;
  font-display: swap;
  src: url("assets/fonts/static/montserrat-650-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 650;
  font-display: swap;
  src: url("assets/fonts/static/montserrat-650-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+02DD, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/static/montserrat-800-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/static/montserrat-800-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+02DD, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/static/oswald-500-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/static/oswald-500-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+02DD, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/static/oswald-600-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/static/oswald-600-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+02DD, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --ink: #111410; --paper: #f0f1eb; --lime: #d9ef63; --rust: #c75134;
  --body: "Montserrat", Arial, sans-serif; --display: "Oswald", "Arial Narrow", sans-serif;
  --gutter: 22px; --chapter-height: max(640px, 100svh);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 86px; }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: var(--body); letter-spacing: 0; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
img, canvas { display: block; max-width: 100%; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 500; }
svg { width: 21px; height: 21px; flex-shrink: 0; stroke-width: 1.6; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--lime); outline-offset: 5px; }
.skip-link { position: fixed; z-index: 100; top: -100px; left: 20px; padding: 16px; background: var(--lime); color: var(--ink); }
.skip-link:focus { top: 90px; }

.site-header { position: absolute; z-index: 30; top: 0; left: 0; width: 100%; height: 88px; display: flex; align-items: center; gap: 18px; padding: 0 var(--gutter); border-bottom: 1px solid #f0f1eb22; color: var(--paper); }
.brand-mark { display: inline-flex; flex-direction: column; width: 83px; flex-shrink: 0; line-height: .83; }
.brand-mark span { font-size: 30px; font-weight: 800; font-style: italic; transform: skew(-7deg); }
.brand-mark small { margin-top: 6px; font-size: 8px; font-weight: 600; }
.header-caption { display: none; font-size: 12px; color: #f0f1eb88; }
.header-book { margin-left: auto; display: flex; align-items: center; min-height: 44px; gap: 6px; font-size: 11px; font-weight: 650; }
.header-book svg { width: 17px; height: 17px; }
.icon-button { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #ffffff30; color: inherit; background: transparent; }
.icon-button:hover { background: #ffffff14; }
.menu-button { border: 0; margin-right: -10px; }
.mobile-nav { position: absolute; top: 87px; left: 0; right: 0; padding: 20px var(--gutter) 30px; background: var(--ink); visibility: hidden; opacity: 0; transform: translateY(-8px); transition: opacity .2s, transform .2s, visibility .2s; }
.mobile-nav.is-open { visibility: visible; opacity: 1; transform: none; }
.mobile-nav a { min-height: 64px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #ffffff24; font-size: 20px; }

.story { position: relative; isolation: isolate; height: calc(var(--chapter-height) * 4); --scene-bg: #111410; --scene-ink: #f0f1eb; color: var(--scene-ink); }
.story-stage { position: sticky; top: 0; height: var(--chapter-height); overflow: hidden; background: var(--scene-bg); }
.scene-grain { position: absolute; inset: 0; opacity: .05; background-repeat: repeat; }
.ball-canvas { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; opacity: 0; pointer-events: none; }
.scene-ready .ball-canvas { opacity: 1; }
.scene-poster { position: absolute; z-index: 1; width: min(70%, 33.75svh); aspect-ratio: 1; top: 54%; left: 57%; transform: translate(-50%,-50%); pointer-events: none; }
.scene-poster img { width: 100%; height: 100%; object-fit: contain; }
.scene-ready .scene-poster { opacity: 0; }
.court-line { position: absolute; z-index: 0; border: 1px solid currentColor; opacity: .12; width: 160%; height: 47%; left: -30%; top: 33%; transform: rotate(-28deg); }
.court-line-b { height: 24%; top: 45%; }
.scene-word { position: absolute; left: 93%; top: 45%; transform: translate(-50%,-50%) rotate(-90deg); font-family: var(--display); font-size: 130px; font-weight: 600; color: transparent; -webkit-text-stroke: 1px #f0f1eb; opacity: .065; white-space: nowrap; display: none; }
.story-progress { position: absolute; bottom: 0; left: 0; height: 3px; width: 100%; background: #aaaaaa1f; z-index: 5; }
.story-progress span { display: block; width: 100%; height: 100%; background: var(--rust); transform: scaleX(0); transform-origin: left; }
.story-step { position: absolute; inset: 0; height: 100%; z-index: 3; scroll-margin-top: -86px; pointer-events: none; }
.chapter-heading, .chapter-summary, .chapter-footer { will-change: opacity; }
.story-step a { pointer-events: auto; }
.story-step[inert] a { pointer-events: none; }
.chapter-copy { display: contents; }
.chapter-heading { position: absolute; top: 124px; left: var(--gutter); right: var(--gutter); }
.eyebrow { display: flex; align-items: center; gap: 9px; font-size: 10px; font-weight: 550; line-height: 1.5; text-transform: uppercase; }
.status-dot { height: 5px; width: 5px; background: var(--lime); border-radius: 50%; }
.hero h1 { margin-top: 4px; font-size: 104px; line-height: 1.05; font-weight: 600; }
.hero-tagline { margin-top: 9px; font-size: 17px; font-weight: 500; }
.chapter-heading h2 { margin-top: 16px; font-size: 48px; line-height: 1.08; text-transform: uppercase; }
.chapter-heading h2 em { font-style: normal; opacity: .8; }
.chapter-summary { position: absolute; left: var(--gutter); right: var(--gutter); bottom: 79px; }
.chapter-summary p { font-size: 14px; font-weight: 400; line-height: 1.7; max-width: 330px; text-wrap: pretty; }
.chapter-summary .button { margin-top: 20px; }
.chapter-summary .text-link { margin-top: 18px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 36px; padding: 16px 20px; min-height: 54px; border: 0; font-size: 13px; font-weight: 650; border-radius: 0; }
.button-lime { background: var(--lime); color: var(--ink); transition: background .2s; }
.button-lime:hover { background: #e8ff7b; }
.button-lime:focus-visible { outline-color: var(--rust); }
.text-link { display: inline-flex; align-items: center; gap: 22px; min-height: 44px; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 600; }
.chapter-footer { position: absolute; left: var(--gutter); right: var(--gutter); bottom: 10px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid; border-color: color-mix(in srgb, currentColor 18%, transparent); padding-top: 6px; }
.chapter-footer span { font-size: 9px; opacity: 1; }
.chapter-footer b { font-weight: 600; margin-right: 8px; }
.chapter-footer a { width: 44px; height: 44px; display: grid; place-items: center; }
.chapter-footer svg { width: 17px; }
.motion-button { position: absolute; z-index: 5; top: 350px; right: var(--gutter); width: 36px; height: 36px; border-color: color-mix(in srgb, currentColor 22%, transparent); color: inherit; }
.motion-button svg { width: 14px; height: 14px; }
.desktop-only { display: none; }

.club-section, .formats-section, .booking { position: relative; z-index: 5; padding: 30px var(--gutter) 70px; }
.section-topline { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-bottom: 24px; border-bottom: 1px solid #11141022; font-size: 9px; }
.club-section { background: var(--paper); color: var(--ink); }
.club-heading { padding: 46px 0 32px; }
.club-heading h2, .formats-heading h2, .booking h2 { font-size: 49px; text-transform: uppercase; line-height: 1.1; }
.club-heading h2 span { color: var(--rust); }
.club-heading p { margin-top: 25px; font-size: 13px; line-height: 1.75; }
.club-visuals { display: grid; gap: 30px; }
.photo-crop { position: relative; width: 100%; overflow: hidden; background: #272924; }
.interior-crop { aspect-ratio: 1.3; }
.interior-crop img { position: absolute; width: 175%; max-width: none; height: auto; left: -6%; top: -23%; }
.merch-crop { aspect-ratio: 1.3; }
.merch-crop img { position: absolute; width: 192%; max-width: none; height: auto; left: -91%; top: -11%; }
figcaption { display: flex; justify-content: space-between; gap: 8px; font-size: 8px; padding-top: 12px; line-height: 1.6; }
figcaption span + span { opacity: .7; }
.formats-section { background: #e3e5dc; color: var(--ink); }
.formats-heading { padding: 40px 0 30px; }
.formats-heading p { margin-top: 20px; font-size: 13px; line-height: 1.7; }
.format-row { display: grid; grid-template-columns: 24px 1fr 28px; gap: 12px; align-items: center; padding: 25px 0; border-top: 1px solid #11141033; transition: color .2s; }
.format-row:last-child { border-bottom: 1px solid #11141033; }
.format-row:hover { color: #a53b23; }
.format-index { align-self: start; padding-top: 7px; font-size: 10px; color: #5c6158; }
.format-row h3 { font-size: 28px; text-transform: uppercase; }
.format-row p { margin-top: 7px; font-size: 10px; line-height: 1.65; }
.format-row > svg { width: 26px; height: 26px; }
.format-detail { display: none; }
.booking { padding-top: 70px; background: var(--rust); color: var(--paper); }
.booking-copy .eyebrow { margin-bottom: 22px; }
.booking h2 span { color: #111410; }
.booking-copy > p:last-child { margin-top: 24px; font-size: 12px; line-height: 1.7; }
.booking-form { display: grid; grid-template-columns: minmax(0, 1fr); margin-top: 38px; }
.booking-form label { margin: 20px 0 9px; font-size: 11px; }
.booking-form input, .booking-form select { width: 100%; min-width: 0; height: 51px; padding: 12px 0; border: 0; border-radius: 0; border-bottom: 1px solid #f0f1eb66; background: transparent; color: var(--paper); font-size: 16px; }
.booking-form input::placeholder { color: #f0f1ebaa; }
.booking-form select option { background: var(--ink); }
.field-hint { margin-top: 7px; color: #f0f1eb99; font-size: 9px; }
.booking-form .button { margin-top: 30px; }
.form-note { margin-top: 13px; font-size: 9px; line-height: 1.7; color: #f0f1ebbb; }
.footer { position: relative; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 35px var(--gutter); background: var(--ink); }
.footer p { font-size: 9px; color: #f0f1eb88; }
.footer .brand-mark { width: 70px; }
.footer .brand-mark span { font-size: 25px; }
.sticky-book { position: fixed; bottom: max(14px, env(safe-area-inset-bottom)); left: var(--gutter); right: var(--gutter); z-index: 25; box-shadow: 0 5px 25px #11141040; }
body.menu-open .sticky-book { display: none; }

@media (max-height: 740px) and (max-width: 767px) {
  :root { --chapter-height: 100svh; }
  .chapter-heading { top: 108px; }
  .hero h1 { font-size: 80px; }
  .hero-tagline { font-size: 15px; }
  .chapter-heading h2 { font-size: 38px; margin-top: 12px; }
  .chapter-summary { bottom: 70px; }
  .chapter-summary p { font-size: 12px; }
  .chapter-summary .button { margin-top: 14px; }
  .motion-button { top: 280px; }
}
@media (max-height: 620px) and (max-width: 767px) {
  .chapter-heading { top: 94px; }
  .hero h1 { font-size: 70px; }
  .hero-tagline { font-size: 14px; margin-top: 7px; }
  .chapter-heading h2 { font-size: 30px; }
  .scene-poster { width: min(70%, 30svh); }
}
@media (max-width: 359px) {
  :root { --gutter: 18px; }
  .header-book { font-size: 10px; }
  .site-header { gap: 9px; }
  .hero h1 { font-size: 82px; }
  .chapter-heading h2 { font-size: 36px; }
  .club-heading h2, .formats-heading h2, .booking h2 { font-size: 42px; }
}
@media (min-width: 768px) {
  :root { --gutter: 40px; }
  .hero h1 { font-size: 140px; }
  .chapter-heading h2 { font-size: 66px; }
  .chapter-summary p { font-size: 17px; max-width: 470px; }
  .chapter-summary { bottom: 90px; }
  .eyebrow { font-size: 12px; }
  .hero-tagline { font-size: 22px; }
  .scene-poster { max-width: 380px; }
  .club-visuals { grid-template-columns: 1.3fr 1fr; gap: 28px; align-items: start; }
  .club-photo-small { margin-top: 100px; }
  .club-heading, .formats-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
  .club-heading h2, .formats-heading h2, .booking h2 { font-size: 70px; }
  .booking { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; padding-top: 80px; padding-bottom: 90px; }
  .booking-form { margin: 0; }
  .sticky-book { left: auto; width: 216px; }
  .format-row { grid-template-columns: 50px 1fr 150px 40px; padding: 32px 0; }
  .format-detail { display: block; font-size: 11px; }
  .format-row h3 { font-size: 37px; }
  .format-row p { font-size: 12px; }
}
@media (min-width: 1024px) {
  :root { --gutter: 64px; --chapter-height: max(700px, 100svh); }
  .site-header { height: 100px; gap: 38px; }
  .header-caption { display: block; }
  .header-book { order: 4; margin-left: 10px; padding-left: 30px; border-left: 1px solid #ffffff2a; min-height: 34px; font-size: 12px; }
  .menu-button { display: none; }
  .mobile-nav { position: static; transform: none; opacity: 1; visibility: visible; display: flex; align-items: center; margin-left: auto; padding: 0; gap: 30px; background: none; }
  .mobile-nav a { border: 0; font-size: 11px; min-height: 44px; }
  .mobile-nav a:last-child, .mobile-nav svg { display: none; }
  .chapter-copy { display: block; position: absolute; top: 48%; left: var(--gutter); width: 43%; transform: translateY(-50%); }
  .chapter-right .chapter-copy { left: auto; right: var(--gutter); width: 41%; }
  .chapter-heading, .chapter-summary { position: static; }
  .hero h1 { font-size: 176px; margin-top: 10px; }
  .hero-tagline { font-size: 25px; margin-top: 12px; }
  .chapter-heading h2 { font-size: 75px; margin-top: 24px; }
  .chapter-summary { margin-top: 30px; }
  .chapter-summary p { font-size: 15px; line-height: 1.8; max-width: 390px; }
  .chapter-summary .button { margin-top: 28px; }
  .chapter-summary .text-link { margin-top: 26px; }
  .chapter-footer { bottom: 22px; padding-top: 12px; }
  .chapter-footer span { font-size: 11px; }
  .motion-button { top: 136px; right: var(--gutter); }
  .scene-poster { width: min(43.75%, 68.75svh); max-width: none; left: 74%; top: 49%; }
  .scene-word { display: block; }
  .court-line { width: 110%; height: 90%; top: -20%; left: 20%; transform: rotate(-27deg); }
  .court-line-b { height: 40%; top: 5%; }
  .desktop-only { display: block; }
  .section-topline { font-size: 11px; }
  .club-section, .formats-section { padding-top: 38px; padding-bottom: 100px; }
  .club-heading { padding: 64px 0 50px; }
  .club-heading h2, .formats-heading h2, .booking h2 { font-size: 84px; }
  .club-heading p { margin: 0 5% 5px 0; font-size: 16px; }
  .club-visuals { grid-template-columns: 1.3fr 1fr; gap: 40px; }
  .club-photo-small { margin-top: 150px; }
  figcaption { font-size: 10px; }
  .formats-heading { padding: 70px 0 50px; }
  .formats-heading p { font-size: 15px; }
  .format-row { grid-template-columns: 70px 1fr 200px 44px; padding: 38px 0; }
  .format-row h3 { font-size: 44px; }
  .format-row p { font-size: 13px; }
  .format-row svg { width: 34px; height: 34px; }
  .booking { padding: 110px var(--gutter) 120px; gap: 100px; grid-template-columns: 1.1fr .9fr; }
  .booking-copy > p:last-child { font-size: 15px; }
  .booking-form { max-width: 500px; width: 100%; justify-self: end; }
  .footer { padding-top: 45px; padding-bottom: 45px; }
  .footer p { font-size: 12px; }
}
@media (min-width: 1600px) {
  :root { --gutter: 90px; }
  .hero h1 { font-size: 210px; }
  .chapter-heading h2 { font-size: 94px; }
}
@media (min-width: 480px) and (max-width: 1023px) and (max-height: 539px) {
  :root { --gutter: 24px; --chapter-height: 100svh; }
  .site-header { height: 64px; }
  .mobile-nav { top: 63px; max-height: calc(100svh - 64px); overflow-y: auto; padding-top: 8px; padding-bottom: 8px; }
  .mobile-nav a { min-height: 44px; font-size: 16px; }
  .chapter-copy { display: block; position: absolute; top: 54%; left: var(--gutter); width: 44%; transform: translateY(-50%); }
  .chapter-right .chapter-copy { left: auto; right: var(--gutter); }
  .chapter-heading, .chapter-summary { position: static; }
  .eyebrow { font-size: 8px; }
  .hero h1 { font-size: 62px; }
  .hero-tagline { font-size: 14px; margin-top: 5px; }
  .chapter-heading h2 { font-size: 29px; margin-top: 8px; }
  .chapter-summary { margin-top: 12px; }
  .chapter-summary p { font-size: 11px; line-height: 1.5; }
  .chapter-summary .button, .chapter-summary .text-link { margin-top: 8px; min-height: 44px; font-size: 11px; }
  .chapter-summary .button { padding: 10px 15px; }
  .chapter-footer { display: none; }
  .motion-button { top: 78px; right: 16px; }
  .scene-poster { width: min(43.75%, 68.75svh); max-width: none; left: 74%; top: 49%; }
  .scene-fallback .scene-poster { top: calc(var(--chapter-height) * .49); }
}
.not-found { padding: 48px var(--gutter); min-height: 100svh; }
.not-found .eyebrow { margin-top: 80px; color: var(--lime); }
.not-found h1 { margin: 24px 0 38px; font-size: 42px; line-height: 1.15; }
@media (min-width: 768px) { .not-found h1 { font-size: 68px; } }
.scene-fallback .motion-button { display: none; }
.scene-fallback { background: var(--ink); height: auto; }
.scene-fallback .story-stage { position: relative; height: auto; background: var(--ink); }
.scene-fallback .scene-poster { top: calc(var(--chapter-height) * .54); }
.scene-fallback .scene-grain { height: var(--chapter-height); }
.scene-fallback .court-line, .scene-fallback .scene-word, .scene-fallback .story-progress { display: none; }
.scene-fallback .story-step { position: relative; inset: auto; height: var(--chapter-height); color: var(--paper); }
.scene-fallback .story-step:not(.hero) { height: auto; min-height: 0; padding: 70px var(--gutter); }
.scene-fallback .story-step:not(.hero) .chapter-copy { display: block; position: static; width: auto; transform: none; }
.scene-fallback .story-step:not(.hero) .chapter-heading, .scene-fallback .story-step:not(.hero) .chapter-summary { position: static; }
.scene-fallback .story-step:not(.hero) .chapter-summary { margin-top: 28px; }
.scene-fallback .story-step:not(.hero) .chapter-footer { display: none; }
@media (min-width: 1024px) {
  .scene-fallback .scene-poster { top: calc(var(--chapter-height) * .49); }
  .scene-fallback .chapter-right .chapter-copy, .motion-reduced .chapter-right .chapter-copy { left: var(--gutter); right: auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  [data-reveal] { opacity: 1 !important; transform: none !important; }
}
