/* ============================================================
   ZGIEŁK — festiwal (ciemny maksymalizm kolorowy)
   Liczby: n=5 refów (7.80–7.89) + PATTERNS n=640:
   body 16/1.35 · display max 293 (KRANIEC p75–p90, precedens DBM)
   · 4 akcenty (KRANIEC p90, precedens Sculpting Harmony) ·
   tracking display −0.02em · leading display 0.90 · rytm 8px
   Styl wg kontraktu: gęsty druk, grube ramki, twarde cienie,
   halftone, głos dowcipny — zero hairline'ów i poetyckich aforyzmów.
   ============================================================ */

:root {
  --ground: #0B0B14;
  --ink: #F4F1E8;
  --dim: #B9B4A6;

  /* 4 akcenty = 4 sceny (p90 korpusu) */
  --a: #FF3D7F; /* Scena Główna — róż */
  --b: #C8FF3D; /* Kotłownia — limonka */
  --c: #3DE0FF; /* Podwórko — cyjan */
  --d: #FFA51F; /* Piwnica — pomarańcz */

  --font-display: 'Unbounded', system-ui, sans-serif;
  --font-body: 'Hanken Grotesk', system-ui, sans-serif;

  /* rytm 8px */
  --s1: 8px; --s2: 16px; --s3: 24px; --s4: 32px;
  --s6: 48px; --s8: 64px; --s12: 96px; --s16: 128px;

  --border: 3px;
  --pad-x: clamp(16px, 4.5vw, 64px);
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

/* Lenis steruje scrollem programowo co klatkę — CSS-owe smooth zamienia
   każdy taki krok w animację i na części przeglądarek BLOKUJE scroll.
   Gdy Lenis aktywny (klasa .lenis na html), smooth musi zejść. */
html.lenis, html.lenis body { scroll-behavior: auto !important; }

body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.35;
  color: var(--ink);
  background:
    radial-gradient(38vw 30vh at 85% 4%, rgba(255, 61, 127, 0.14), transparent 70%),
    radial-gradient(34vw 26vh at 6% 38%, rgba(61, 224, 255, 0.10), transparent 70%),
    radial-gradient(40vw 30vh at 90% 74%, rgba(200, 255, 61, 0.08), transparent 70%),
    radial-gradient(30vw 24vh at 12% 96%, rgba(255, 165, 31, 0.10), transparent 70%),
    var(--ground);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

::selection { background: var(--b); color: var(--ground); }

/* pasek przewijania w barwach strony (WebKit/Chromium) */
::-webkit-scrollbar { width: 12px; }

::-webkit-scrollbar-track {
  background: var(--ground);
  border-left: 1px solid rgba(244, 241, 232, 0.14);
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(var(--a), var(--d));
  border: 3px solid var(--ground);
  border-radius: 7px;
}

::-webkit-scrollbar-thumb:hover { background: linear-gradient(var(--b), var(--c)); }

::-webkit-scrollbar-button { display: none; height: 0; }

/* Firefox — standardowe właściwości tylko tam, gdzie nie ma ::-webkit-scrollbar,
   bo w Chromium scrollbar-color wyłączyłby powyższe style */
@supports not selector(::-webkit-scrollbar) {
  html { scrollbar-color: var(--a) var(--ground); }
}

/* ============ NEONOWA SZYNA SCROLLA ============ */
/* JS chowa natywny pasek i buduje własny; bez JS / przy reduced-motion
   zostaje natywny (ostylowany wyżej) */

.has-rail { scrollbar-width: none; }
.has-rail::-webkit-scrollbar { display: none; }

.rail {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 24px;
  z-index: 120;
  display: flex;
  justify-content: center;
}

.rail-track {
  position: relative;
  flex: 1;
  width: 4px;
  margin: 14px 0;
  background: rgba(244, 241, 232, 0.12);
  cursor: pointer;
}

.rail-thumb {
  position: absolute;
  left: -3px;
  top: 0;
  width: 10px;
  pointer-events: none;
}

/* wygląd na ::before skalowanym transformem — bez animowania width/left */
.rail-thumb::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 5px;
  background: linear-gradient(var(--a), var(--d));
  box-shadow: 0 0 10px rgba(255, 61, 127, 0.65), 0 0 24px rgba(255, 165, 31, 0.35);
  transform: scaleX(0.6);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.rail.is-fast .rail-thumb::before {
  transform: scaleX(1);
  box-shadow: 0 0 16px rgba(255, 61, 127, 0.9), 0 0 40px rgba(255, 165, 31, 0.55);
}

/* cel dotykowy 24px (WCAG 2.5.8), wizualny romb 8px na ::before */
.rail-tick {
  position: absolute;
  left: 50%;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  background: transparent;
  transform: translate(-50%, -50%);
  display: grid;
  place-content: center;
  cursor: pointer;
}

.rail-tick::before {
  content: '';
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
  transition: transform 0.12s ease;
}

.rail-tick:hover::before { transform: rotate(45deg) scale(1.6); }

.rail-tick--a::before { background: var(--a); box-shadow: 0 0 8px rgba(255, 61, 127, 0.8); }
.rail-tick--b::before { background: var(--b); box-shadow: 0 0 8px rgba(200, 255, 61, 0.8); }
.rail-tick--c::before { background: var(--c); box-shadow: 0 0 8px rgba(61, 224, 255, 0.8); }
.rail-tick--d::before { background: var(--d); box-shadow: 0 0 8px rgba(255, 165, 31, 0.8); }

.rail-tip {
  position: absolute;
  right: 26px;
  transform: translateY(-50%);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--ink);
  background: var(--ground);
  border: 2px solid var(--ink);
  box-shadow: 4px 4px 0 var(--a);
  padding: 5px 9px 4px;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.12s ease;
  pointer-events: none;
}

.rail-tip.is-on { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .rail-thumb, .rail-tick, .rail-tip { transition: none; }
}

a { color: inherit; }

:focus-visible { outline: 3px solid var(--c); outline-offset: 2px; }

/* treść tylko dla czytników ekranu */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* warstwa 3D pod treścią, nad tłem */
.gl {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

body > header, body > main, body > footer {
  position: relative;
  z-index: 1;
}

/* halftone — rastrowa łata jako tekstura druku */
.halftone {
  background-image: radial-gradient(circle, rgba(244, 241, 232, 0.35) 1px, transparent 1.6px);
  background-size: 9px 9px;
}

/* ============ MASTHEAD ============ */

.masthead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--s2);
  padding: var(--s2) var(--pad-x);
  border-bottom: var(--border) solid var(--ink);
  flex-wrap: wrap;
}

.masthead-logo {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(28px, 4vw, 52px);
  line-height: 0.9;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}

.masthead-meta {
  display: flex;
  align-items: center;
  gap: var(--s3);
  font-weight: 600;
  flex-wrap: wrap;
}

.masthead-cta {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  text-decoration: none;
  background: var(--a);
  color: var(--ground);
  padding: 10px 18px;
  border: var(--border) solid var(--ink);
  box-shadow: 5px 5px 0 var(--ink);
  transition: transform 0.12s steps(2, end), box-shadow 0.12s steps(2, end);
}

.masthead-cta:hover {
  transform: translate(3px, 3px);
  box-shadow: 2px 2px 0 var(--ink);
}

/* ============ LINEUP JAKO HERO ============ */

.lineup {
  padding: var(--s6) var(--pad-x) var(--s12);
}

.lineup-intro {
  font-weight: 600;
  font-size: clamp(16px, 1.6vw, 20px);
  margin-bottom: var(--s4);
  max-width: 60ch;
}

.wall {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--s2) var(--s4);
}

.wall a {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  text-decoration: none;
  font-family: var(--font-display);
  text-transform: uppercase;
  line-height: 0.9;
  letter-spacing: -0.02em;
  padding: 4px 6px;
  transition: background-color 0.1s steps(2, end), color 0.1s steps(2, end);
}

.t1 a { font-weight: 900; font-size: clamp(44px, 8.5vw, 128px); }
.t2 a { font-weight: 700; font-size: clamp(28px, 4.6vw, 68px); }
.t3 a { font-weight: 500; font-size: clamp(19px, 2.6vw, 36px); color: var(--dim); }

.wall a:hover { background: var(--ink); color: var(--ground); }
.t3 a:hover { color: var(--ground); }

/* neonowy flicker na wybranych nazwach */
.wall li:nth-child(4) a, .wall li:nth-child(9) a { animation: flicker 7s steps(1, end) infinite; }
.wall li:nth-child(9) a { animation-delay: 3.2s; }

@keyframes flicker {
  0%, 100% { opacity: 1; }
  92% { opacity: 1; }
  93% { opacity: 0.35; }
  94% { opacity: 1; }
  96% { opacity: 0.5; }
  97% { opacity: 1; }
}

.lineup-more {
  margin-top: var(--s4);
  font-style: italic;
  color: var(--dim);
}

/* chipy scen — system etykiet */

.chip {
  font-family: var(--font-body);
  font-weight: 800;
  font-size: 11px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ground);
  padding: 5px 8px 4px;
  border: 2px solid var(--ground);
  white-space: nowrap;
  transform: rotate(-2deg);
}

.chip--a { background: var(--a); }
.chip--b { background: var(--b); }
.chip--c { background: var(--c); }
.chip--d { background: var(--d); }

/* ============ PAS INFO ============ */

.facts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: var(--border) solid var(--ink);
  border-bottom: var(--border) solid var(--ink);
}

.fact {
  padding: var(--s4) var(--s3);
  border-left: var(--border) solid var(--ink);
  display: grid;
  gap: var(--s1);
}

.fact:first-child { border-left: none; }

.fact strong {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(48px, 6vw, 96px);
  line-height: 0.9;
}

.fact:nth-child(1) strong { color: var(--a); }
.fact:nth-child(2) strong { color: var(--c); }
.fact:nth-child(3) strong { color: var(--b); }
.fact:nth-child(4) strong { color: var(--d); }

.fact span { font-weight: 600; color: var(--dim); }

/* ============ PROGRAM ============ */

.program { padding: var(--s12) var(--pad-x); }

.section-title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(40px, 7vw, 104px);
  line-height: 0.9;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  margin-bottom: var(--s8);
}

.day {
  position: relative;
  margin-bottom: var(--s8);
  overflow: hidden;
}

/* KRANIEC rozkładu: numerały dni do 293px (p75–p90, precedens DBM 293) */
.day-numeral {
  position: absolute;
  right: -0.06em;
  top: -0.12em;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(160px, 22vw, 293px);
  line-height: 0.9;
  letter-spacing: -0.02em;
  opacity: 0.14;
  pointer-events: none;
  user-select: none;
}

.day--1 .day-numeral { color: var(--a); }
.day--2 .day-numeral { color: var(--b); }
.day--3 .day-numeral { color: var(--c); }

.day-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(22px, 2.6vw, 34px);
  text-transform: uppercase;
  margin-bottom: var(--s3);
}

.day--1 .day-name { color: var(--a); }
.day--2 .day-name { color: var(--b); }
.day--3 .day-name { color: var(--c); }

.sched {
  width: 100%;
  max-width: 860px;
  border-collapse: collapse;
  position: relative;
}

.sched td {
  padding: var(--s2) var(--s3) var(--s2) 0;
  border-bottom: 2px solid rgba(244, 241, 232, 0.55);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.sched td:first-child { width: 90px; color: var(--dim); }

.sched td:nth-child(2) {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(17px, 1.9vw, 24px);
  text-transform: uppercase;
}

.sched td:last-child { text-align: right; }

.sched tr { transition: background-color 0.1s steps(2, end); }
.sched tr:hover { background: rgba(244, 241, 232, 0.08); }

/* ============ SCENY ============ */

.stages { padding: 0 var(--pad-x) var(--s12); }

.stages-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--s3);
}

.stage {
  color: var(--ground);
  border: var(--border) solid var(--ink);
  padding: var(--s4);
  display: grid;
  gap: var(--s2);
  align-content: start;
  min-height: 240px;
}

.stage--a { background: var(--a); box-shadow: 10px 10px 0 var(--c); }
.stage--b { background: var(--b); box-shadow: 10px 10px 0 var(--a); transform: rotate(0.6deg); }
.stage--c { background: var(--c); box-shadow: 10px 10px 0 var(--d); transform: rotate(-0.5deg); }
.stage--d { background: var(--d); box-shadow: 10px 10px 0 var(--b); }

.stage h3 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(24px, 3.2vw, 44px);
  line-height: 0.9;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}

.stage p { font-weight: 600; font-size: 17px; max-width: 34ch; }

.tags { display: flex; flex-wrap: wrap; gap: var(--s1); }

.tags span {
  font-weight: 800;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border: 2px solid var(--ground);
  padding: 5px 8px 4px;
}

/* ============ PRZELOT — tunel laserowy ============ */

.tunnel {
  height: 280vh;
  border-top: var(--border) solid var(--ink);
}

.tunnel-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
}

.tunnel-gl {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.tunnel-cap {
  position: absolute;
  left: 50%;
  bottom: 12vh;
  transform: translateX(-50%);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(18px, 2.2vw, 30px);
  text-transform: uppercase;
  letter-spacing: -0.01em;
  text-align: center;
  width: max-content;
  max-width: 90vw;
  opacity: 0;
  text-shadow: 0 2px 24px rgba(11, 11, 20, 0.9);
  pointer-events: none;
}

/* fallback: telefon, reduced-motion albo brak WebGL — statyczny kadr tunelu */
.tunnel--static { height: auto; }

.tunnel--static .tunnel-sticky {
  position: static;
  height: auto;
  min-height: 88svh;
  padding: var(--s12) var(--pad-x);
  display: grid;
  place-content: center;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 61, 127, 0.28), transparent 26%),
    repeating-radial-gradient(circle at 50% 50%,
      transparent 0 30px, rgba(255, 61, 127, 0.20) 30px 32px,
      transparent 32px 64px, rgba(200, 255, 61, 0.16) 64px 66px,
      transparent 66px 100px, rgba(61, 224, 255, 0.16) 100px 102px,
      transparent 102px 138px, rgba(255, 165, 31, 0.14) 138px 140px,
      transparent 140px 178px);
}

.tunnel--static .tunnel-cap--1 { display: none; }

.tunnel--static .tunnel-cap {
  position: static;
  transform: none;
  opacity: 1;
  width: auto;
  max-width: 24ch;
}

/* ============ PRASA ============ */

.press {
  padding: var(--s8) var(--pad-x);
  border-top: var(--border) solid var(--ink);
}

.press-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--s3);
  align-items: start;
}

.quote {
  border: var(--border) solid var(--ink);
  padding: var(--s3);
  display: grid;
  gap: var(--s2);
  background: var(--ground);
}

.quote--a { box-shadow: 8px 8px 0 var(--a); transform: rotate(-1.2deg); }
.quote--b { box-shadow: 8px 8px 0 var(--b); transform: rotate(0.8deg); margin-top: var(--s3); }
.quote--c { box-shadow: 8px 8px 0 var(--c); transform: rotate(-0.6deg); }
.quote--d { box-shadow: 8px 8px 0 var(--d); transform: rotate(1.4deg); margin-top: var(--s2); }

.quote p {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(18px, 1.9vw, 26px);
  line-height: 1.05;
}

.quote--c p { color: var(--d); letter-spacing: 0.08em; }

.quote cite { font-style: normal; font-weight: 600; font-size: 14px; color: var(--dim); }

/* ============ WYCISZENIE — dryf po koncercie ============ */

.afterglow {
  height: 170vh;
  border-top: var(--border) solid var(--ink);
}

.after-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
}

.after-gl {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.after-cap {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(16px, 1.9vw, 26px);
  text-transform: uppercase;
  letter-spacing: -0.01em;
  text-align: center;
  max-width: 90vw;
  color: var(--dim);
  opacity: 0;
  text-shadow: 0 2px 20px rgba(11, 11, 20, 0.9);
  pointer-events: none;
}

.afterglow--static { height: auto; }

.afterglow--static .after-sticky {
  position: static;
  height: auto;
  min-height: 64svh;
  padding: var(--s12) var(--pad-x);
  display: grid;
  place-content: center;
  background:
    radial-gradient(circle at 18% 28%, rgba(255, 61, 127, 0.12), transparent 34%),
    radial-gradient(circle at 84% 70%, rgba(255, 165, 31, 0.10), transparent 30%),
    radial-gradient(1.5px 1.5px at 24% 62%, rgba(244, 241, 232, 0.5), transparent 100%),
    radial-gradient(1.5px 1.5px at 58% 22%, rgba(244, 241, 232, 0.4), transparent 100%),
    radial-gradient(1.5px 1.5px at 76% 48%, rgba(200, 255, 61, 0.45), transparent 100%),
    radial-gradient(1.5px 1.5px at 40% 82%, rgba(61, 224, 255, 0.4), transparent 100%),
    radial-gradient(1.5px 1.5px at 88% 16%, rgba(244, 241, 232, 0.35), transparent 100%);
}

.afterglow--static .after-cap { position: static; transform: none; opacity: 1; }

/* ============ FAQ — gęsty druk ============ */

.faq {
  padding: var(--s12) var(--pad-x);
  border-top: var(--border) solid var(--ink);
}

.faq-cols {
  columns: 3;
  column-gap: var(--s6);
  column-rule: 2px solid rgba(244, 241, 232, 0.35);
}

.qa {
  break-inside: avoid;
  margin-bottom: var(--s3);
  padding-bottom: var(--s2);
}

.qa h3 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  text-transform: uppercase;
  margin-bottom: var(--s1);
  color: var(--b);
}

.qa:nth-child(2n) h4 { color: var(--c); }
.qa:nth-child(3n) h4 { color: var(--d); }
.qa:nth-child(5n) h4 { color: var(--a); }

.qa p { font-size: 15px; color: var(--dim); }

/* ============ BILETY ============ */

.tickets { padding: 0 var(--pad-x) var(--s16); }

.ticket-form {
  max-width: 620px;
  border: 4px solid var(--ink);
  box-shadow: 12px 12px 0 var(--a);
  padding: var(--s4);
  display: grid;
  gap: var(--s3);
  background: var(--ground);
}

.form-lede { font-weight: 600; max-width: 48ch; }

.field { display: grid; gap: var(--s1); }

.field label, .field legend {
  font-weight: 800;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.field input[type="text"], .field input[type="email"] {
  font: 600 17px var(--font-body);
  color: var(--ink);
  background: transparent;
  border: var(--border) solid var(--ink);
  padding: 12px 14px;
}

.field input::placeholder { color: rgba(244, 241, 232, 0.4); }

.field input:focus { outline: 3px solid var(--c); outline-offset: 2px; }

.field--radios { border: none; display: grid; gap: var(--s1); }

.radio {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  cursor: pointer;
}

.radio input { accent-color: var(--b); width: 18px; height: 18px; }

.submit {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 20px;
  text-transform: uppercase;
  color: var(--ground);
  background: var(--b);
  border: var(--border) solid var(--ink);
  box-shadow: 7px 7px 0 var(--ink);
  padding: 16px 24px;
  cursor: pointer;
  justify-self: start;
  transition: transform 0.12s steps(2, end), box-shadow 0.12s steps(2, end);
}

.submit:hover { transform: translate(4px, 4px); box-shadow: 3px 3px 0 var(--ink); }

.form-done {
  font-weight: 600;
  color: var(--b);
  border: 2px dashed var(--b);
  padding: var(--s2);
}

/* ============ FOOTER ============ */

.footer {
  display: flex;
  justify-content: space-between;
  gap: var(--s2);
  flex-wrap: wrap;
  padding: var(--s3) var(--pad-x);
  border-top: var(--border) solid var(--ink);
  font-weight: 600;
}

.footer a { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.footer a:hover { background: var(--ink); color: var(--ground); text-decoration: none; }

/* ============ RESPONSYWNOŚĆ ============ */

@media (max-width: 900px) {
  .facts { grid-template-columns: repeat(2, 1fr); }
  .fact:nth-child(3) { border-left: none; }
  .fact { border-top: var(--border) solid var(--ink); }
  .fact:nth-child(-n+2) { border-top: none; }
  .faq-cols { columns: 2; }
}

@media (max-width: 900px) {
  .press-row { grid-template-columns: repeat(2, 1fr); }
  .merch-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .stages-grid { grid-template-columns: 1fr; }
  .faq-cols { columns: 1; }
  .press-row { grid-template-columns: 1fr; }
  .quote--b, .quote--d { margin-top: 0; }
  .day-numeral { font-size: clamp(120px, 34vw, 200px); }
  .sched td:first-child { width: 64px; }
  .masthead-meta { gap: var(--s2); font-size: 14px; }
  .masthead-meta span:nth-of-type(2) { display: none; } /* nazwa hali schodzi na telefonie */
}

/* ============ REDUCED MOTION ============ */

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .wall li a { animation: none; }
  .masthead-cta, .submit, .sched tr, .wall a { transition: none; }
}
