/* ============================================================================
   Typhoon Lagoon vs Blizzard Beach — page-scoped styles (tb- prefix).
   Two climates fight over one page. Warm storm-tropics left, glacial melt right.
   ========================================================================== */

.tb {
  /* team tokens */
  --tb-tl:        oklch(75% 0.13 195);   /* lagoon turquoise */
  --tb-tl-deep:   oklch(46% 0.10 210);
  --tb-tl-warm:   oklch(80% 0.11 60);    /* storm-town sand/sunset, used sparingly */
  --tb-bb:        oklch(87% 0.05 225);   /* glacial white-cyan */
  --tb-bb-deep:   oklch(58% 0.075 240);
  --tb-push:      oklch(75% 0.02 250);
  --tb-line:      color-mix(in oklab, var(--ink, #e9edf3) 14%, transparent);
  --tb-card:      color-mix(in oklab, var(--ink, #e9edf3) 5%, transparent);
  --tb-max-w: 1080px;
  --tb-pad: clamp(1rem, 4vw, 2rem);
}

.tb { overflow-x: clip; }
.tb section { padding: clamp(3rem, 7vw, 5.5rem) var(--tb-pad); }
.tb .tb-section-head { max-width: var(--tb-max-w); margin: 0 auto 1.75rem; }
.tb h2 { font-size: clamp(1.7rem, 4vw, 2.6rem); }
.tb h3 { font-size: 1.15rem; margin-bottom: .5rem; }
.tb-section-dek { max-width: 56ch; margin-top: .5rem; opacity: .86; }

.tb-visually-hidden {
  position: absolute; width: 1px; height: 1px; margin: -1px;
  clip-path: inset(50%); overflow: hidden; white-space: nowrap;
}

/* ------------------------------------------------------------------ hero */
.tb-hero {
  position: relative; min-height: 92svh;
  display: grid; place-items: center; text-align: center;
  padding: 5rem var(--tb-pad) 4rem; overflow: hidden; isolation: isolate;
}
.tb-hero-canvas, .tb-hero-fallback { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.tb-hero-fallback {
  background:
    radial-gradient(120% 90% at 18% 100%, oklch(48% 0.10 205 / .55), transparent 60%),
    radial-gradient(120% 90% at 82% 100%, oklch(72% 0.05 230 / .40), transparent 60%),
    linear-gradient(100deg, oklch(30% 0.06 215) 0 46%, oklch(38% 0.045 235) 54% 100%);
}
.tb-hero-canvas { opacity: 0; transition: opacity 1.2s ease; }
.tb-hero-canvas.is-live { opacity: 1; }

.tb-hero-inner { max-width: 62rem; display: grid; gap: 1.15rem; justify-items: center; }
.tb-kicker {
  letter-spacing: .16em; text-transform: uppercase; font-size: .78rem; font-weight: 600;
  opacity: .88;
}
.tb-h1 {
  display: grid; gap: .1em; justify-items: center;
  font-size: clamp(2.6rem, 8.5vw, 5.6rem); line-height: .98;
}
.tb-h1-tl {
  color: var(--tb-tl);
  text-shadow: 0 3px 26px oklch(12% 0.03 220 / .8);
}
.tb-h1-bb {
  letter-spacing: .045em; font-weight: 600;
  color: oklch(93% 0.035 222);
  text-shadow: 0 3px 26px oklch(12% 0.04 235 / .9);
}
.tb-h1-vs {
  font-size: .22em; letter-spacing: .3em; font-weight: 700; padding: .55em .9em .55em 1.2em;
  border: 1px solid var(--tb-line); border-radius: 999px;
  background: color-mix(in oklab, var(--tb-tl-deep) 30%, transparent);
  backdrop-filter: blur(4px);
}
.tb-dek { max-width: 46ch; font-size: clamp(1rem, 2.1vw, 1.2rem); opacity: .88; text-wrap: balance; }

.tb-hero-status { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin-top: .4rem; }
.tb-status-chip {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .5rem .85rem; border-radius: 999px; font-size: .86rem;
  border: 1px solid var(--tb-line);
  background: color-mix(in oklab, oklch(20% 0.03 230) 72%, transparent);
  backdrop-filter: blur(6px);
}
.tb-status-chip strong { font-weight: 700; }
.tb-status-label { opacity: .85; }
.tb-status-dot { width: .55rem; height: .55rem; border-radius: 50%; background: var(--tb-push); flex: none; }
.tb-status-chip[data-state="open"] .tb-status-dot { background: oklch(75% 0.17 150); box-shadow: 0 0 10px oklch(75% 0.17 150 / .8); }
.tb-status-chip[data-state="closed"] .tb-status-dot { background: oklch(62% 0.19 25); }
.tb-status-chip[data-state="opens-later"] .tb-status-dot { background: oklch(80% 0.14 85); }
.tb-status-tl { border-color: color-mix(in oklab, var(--tb-tl) 45%, transparent); }
.tb-status-bb { border-color: color-mix(in oklab, var(--tb-bb) 40%, transparent); }

.tb-hero-ctas { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; margin-top: .6rem; }
.tb-cta {
  padding: .8rem 1.35rem; border-radius: 999px; font-weight: 650; text-decoration: none;
  border: 1px solid var(--tb-line); color: var(--ink, #e9edf3);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.tb-cta:hover { transform: translateY(-2px); border-color: color-mix(in oklab, var(--ink, #fff) 35%, transparent); }
.tb-cta-primary {
  background: linear-gradient(95deg, var(--tb-tl), oklch(78% 0.06 235));
  border-color: transparent; color: oklch(16% 0.03 230); font-weight: 750;
}
.tb-cta:focus-visible, .tb-pill:focus-visible, .tb-sort:focus-visible, .tb-picker-app button:focus-visible,
.tb-faq-item summary:focus-visible, .tb-height-label input:focus-visible {
  outline: 2px solid var(--tb-tl); outline-offset: 3px;
}
.tb-updated { font-size: .8rem; opacity: .74; margin-top: .9rem; }
.tb-status-chip[data-state="checking"] .tb-status-dot { animation: tb-pulse 1.6s ease-in-out infinite; }
@keyframes tb-pulse { 0%, 100% { opacity: .4; } 50% { opacity: 1; } }

.tb-close { text-align: center; }
.tb-close-line { max-width: 52ch; margin: 0 auto 1.4rem; font-size: clamp(1.05rem, 2.3vw, 1.3rem); line-height: 1.55; text-wrap: balance; }

/* ---------------------------------------------------------------- notice */
.tb-notice { padding: 0 var(--tb-pad); margin-top: -3.25rem; position: relative; z-index: 3; }
.tb-notice-card {
  display: flex; align-items: center; gap: 1.1rem;
  width: fit-content; max-width: min(72ch, 100%); margin: 0 auto;
  padding: 1rem 1.4rem 1rem 1rem; border-radius: 14px;
  border: 1px solid color-mix(in oklab, oklch(80% 0.14 85) 40%, transparent);
  background: color-mix(in oklab, oklch(26% 0.035 82) 92%, transparent);
  backdrop-filter: blur(10px);
  box-shadow: 0 14px 34px -18px oklch(5% 0.02 260 / .9);
}
.tb-notice-date {
  flex: none; display: grid; justify-items: center; gap: .05rem;
  min-width: 4rem; padding: .55rem .7rem; border-radius: 10px;
  background: color-mix(in oklab, oklch(80% 0.14 85) 16%, transparent);
  border: 1px solid color-mix(in oklab, oklch(80% 0.14 85) 45%, transparent);
}
.tb-notice-mon {
  font-size: .68rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 700;
  color: oklch(84% 0.11 85);
}
.tb-notice-day {
  font-family: var(--display); font-size: 1.7rem; font-weight: 800; line-height: 1;
  color: oklch(88% 0.09 85);
}
.tb-notice-card p { margin: 0; font-size: .95rem; line-height: 1.55; max-width: 58ch; }

/* ---------------------------------------------------------------- answer */
.tb-answer-lead { max-width: 62ch; margin: 0 auto; font-size: clamp(1.05rem, 2.2vw, 1.25rem); line-height: 1.55; }
.tb-answer .tb-section-head, .tb-answer-lead, .tb-scoreboard, .tb-verdict-cards { max-width: var(--tb-max-w); margin-inline: auto; }
.tb-answer-lead strong { color: var(--tb-tl); }

.tb-scoreboard {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem;
  margin-top: 2.25rem; text-align: center;
}
.tb-score { display: grid; gap: .2rem; }
.tb-score-num { font-family: var(--display); font-size: clamp(3rem, 9vw, 5rem); font-weight: 800; line-height: 1; }
.tb-score-tl .tb-score-num { color: var(--tb-tl); }
.tb-score-bb .tb-score-num { color: var(--tb-bb); }
.tb-score-park { font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; opacity: .88; }
.tb-score-divider { font-size: .9rem; opacity: .78; letter-spacing: .2em; text-transform: uppercase; }
.tb-score-note { grid-column: 1 / -1; font-size: .85rem; opacity: .8; margin-top: .25rem; }

.tb-verdict-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; margin-top: 2.25rem; }
.tb-verdict-card {
  border: 1px solid var(--tb-line); border-radius: 14px; padding: 1.4rem 1.4rem 1.2rem;
  background: var(--tb-card);
}
.tb-verdict-card ul { margin: .4rem 0 0; padding-left: 1.1rem; display: grid; gap: .45rem; }
.tb-card-tl { border-top: 3px solid var(--tb-tl); }
.tb-card-bb { border-top: 3px solid var(--tb-bb); }
.tb-card-tl h3 { color: var(--tb-tl); }
.tb-card-bb h3 { color: var(--tb-bb); }

/* ---------------------------------------------------------------- picker */
.tb-picker .tb-section-head { text-align: center; }
.tb-picker .tb-section-dek { margin-inline: auto; }
.tb-picker-app {
  position: relative; max-width: 52rem; margin: 0 auto;
  padding: clamp(1.5rem, 4vw, 2.6rem);
  border: 1px solid var(--tb-line); border-radius: 16px;
  background:
    linear-gradient(105deg, color-mix(in oklab, var(--tb-tl) 9%, transparent), transparent 42%),
    linear-gradient(255deg, color-mix(in oklab, var(--tb-bb) 8%, transparent), transparent 42%),
    color-mix(in oklab, var(--ink, #e9edf3) 4%, transparent);
}
.tb-q { position: relative; padding-left: 3.4rem; margin-bottom: 1.9rem; }
.tb-q:last-of-type { margin-bottom: .4rem; }
.tb-q-num {
  position: absolute; left: 0; top: -.15rem;
  width: 2.15rem; height: 2.15rem; display: grid; place-items: center;
  border-radius: 50%; border: 1px solid var(--tb-line);
  font-family: var(--display); font-weight: 800; font-size: .95rem;
  background: color-mix(in oklab, var(--ink, #e9edf3) 5%, transparent);
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.tb-q:not(:last-of-type)::before {
  content: ""; position: absolute; left: calc(1.075rem - .5px); top: 2.3rem; bottom: -1.6rem;
  width: 1px; background: var(--tb-line);
}
.tb-q.is-done .tb-q-num {
  background: color-mix(in oklab, var(--tb-tl) 26%, transparent);
  border-color: var(--tb-tl); color: var(--tb-tl);
}
.tb-q-label { font-weight: 700; margin-bottom: .65rem; display: block; font-size: 1.05rem; }
.tb-q-opts { display: flex; flex-wrap: wrap; gap: .55rem; }
.tb-opt {
  padding: .7rem 1.1rem; min-height: 44px; border-radius: 999px; border: 1px solid var(--tb-line);
  background: transparent; color: var(--ink, #e9edf3); font-size: .92rem; cursor: pointer;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.tb-opt:hover { transform: translateY(-1px); border-color: color-mix(in oklab, var(--ink, #fff) 40%, transparent); }
.tb-opt.is-on {
  border-color: var(--tb-tl);
  background: color-mix(in oklab, var(--tb-tl) 18%, transparent);
  font-weight: 650;
}
.tb-pick-verdict {
  border-radius: 16px; padding: 1.6rem; margin-top: 1.6rem;
  border: 1px solid var(--tb-line); background: var(--tb-card);
}
.tb-pick-verdict.is-tl { border-color: color-mix(in oklab, var(--tb-tl) 55%, transparent); background: color-mix(in oklab, var(--tb-tl) 10%, transparent); }
.tb-pick-verdict.is-bb { border-color: color-mix(in oklab, var(--tb-bb) 50%, transparent); background: color-mix(in oklab, var(--tb-bb) 8%, transparent); }
.tb-pick-park { font-family: var(--display); font-size: clamp(1.6rem, 4.5vw, 2.3rem); font-weight: 800; }
.tb-pick-verdict.is-tl .tb-pick-park { color: var(--tb-tl); }
.tb-pick-verdict.is-bb .tb-pick-park { color: var(--tb-bb); }
.tb-pick-reasons { margin: .7rem 0 0; padding-left: 1.1rem; display: grid; gap: .4rem; }
.tb-pick-caveat { margin-top: .9rem; font-size: .9rem; opacity: .86; }
.tb-pick-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-top: 1.1rem; }
.tb-pick-progress { opacity: .8; font-size: .95rem; padding: .4rem 0; }

/* -------------------------------------------------------------- matchups */
.tb-matchup-grid { max-width: var(--tb-max-w); margin: 0 auto; display: grid; gap: 1.1rem; }
.tb-matchup {
  border: 1px solid var(--tb-line); border-radius: 16px; padding: 1.5rem;
  display: grid; gap: .8rem; background: var(--tb-card);
}
.tb-matchup-tl {
  background: linear-gradient(100deg, color-mix(in oklab, var(--tb-tl) 14%, transparent), transparent 58%);
  border-color: color-mix(in oklab, var(--tb-tl) 45%, transparent);
}
.tb-matchup-bb {
  background: linear-gradient(260deg, color-mix(in oklab, var(--tb-bb) 13%, transparent), transparent 58%);
  border-color: color-mix(in oklab, var(--tb-bb) 40%, transparent);
}
.tb-matchup-push { border-style: dashed; }
.tb-matchup-group { max-width: var(--tb-max-w); margin: 0 auto 2.2rem; }
.tb-matchup-group:last-child { margin-bottom: 0; }
.tb-matchup-group-h { margin: 0 0 .9rem; font-size: 1.05rem; opacity: .92; }
.tb-matchup-cat { letter-spacing: .14em; text-transform: uppercase; font-size: .78rem; font-weight: 700; opacity: .86; }
.tb-matchup-winner { font-family: var(--display); font-weight: 800; font-size: 1.35rem; line-height: 1.1; }
.tb-matchup-tl .tb-matchup-winner { color: var(--tb-tl); }
.tb-matchup-bb .tb-matchup-winner { color: var(--tb-bb); }
.tb-matchup-cases { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.tb-case { font-size: .95rem; line-height: 1.5; opacity: .92; }
.tb-case-park { display: block; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; margin-bottom: .3rem; }
.tb-case-tl .tb-case-park { color: var(--tb-tl); }
.tb-case-bb .tb-case-park { color: var(--tb-bb); }
.tb-matchup-verdict { border-top: 1px solid var(--tb-line); padding-top: .8rem; font-size: .98rem; max-width: 72ch; }

/* ----------------------------------------------------------- slide table */
.tb-slides .tb-slide-controls, .tb-table-wrap, .tb-table-foot { max-width: var(--tb-max-w); margin-inline: auto; }
.tb-slide-controls {
  display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center;
  margin-bottom: 1.1rem;
}
.tb-control-group { display: flex; gap: .5rem; flex-wrap: wrap; }
.tb-pill {
  padding: .7rem 1.1rem; min-height: 44px; border-radius: 999px; border: 1px solid var(--tb-line);
  background: transparent; color: var(--ink, #e9edf3); cursor: pointer; font-size: .9rem;
}
.tb-pill.is-on { border-color: var(--tb-tl); background: color-mix(in oklab, var(--tb-tl) 16%, transparent); font-weight: 650; }
.tb-pill[data-tb-park="bb"].is-on { border-color: var(--tb-bb); background: color-mix(in oklab, var(--tb-bb) 14%, transparent); }
.tb-height-label { display: flex; align-items: center; gap: .7rem; font-size: .9rem; font-weight: 600; }
.tb-height-label input[type="range"] { accent-color: var(--tb-tl); width: min(220px, 40vw); }
.tb-height-label output { min-width: 6.5ch; font-variant-numeric: tabular-nums; opacity: .85; }

.tb-table-wrap { border: 1px solid var(--tb-line); border-radius: 14px; overflow: hidden; }
.tb-slide-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.tb-slide-table th, .tb-slide-table td { padding: .8rem .9rem; text-align: left; vertical-align: top; }
.tb-slide-table thead th {
  position: sticky; top: 60px; z-index: 2; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase;
  background: color-mix(in oklab, oklch(22% 0.03 230) 92%, transparent); backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--tb-line);
}
.tb-slide-table tbody tr { border-top: 1px solid var(--tb-line); }
.tb-slide-table tbody tr:first-child { border-top: 0; }
.tb-row-tl { background: color-mix(in oklab, var(--tb-tl) 5%, transparent); }
.tb-row-bb { background: color-mix(in oklab, var(--tb-bb) 4%, transparent); }
.tb-slide-note { display: block; font-size: .85rem; opacity: .84; margin-top: .25rem; max-width: 46ch; }
.tb-park-tag {
  display: inline-block; padding: .25rem .6rem; border-radius: 999px; font-size: .74rem;
  letter-spacing: .06em; font-weight: 700; white-space: nowrap;
}
.tb-park-tl { color: var(--tb-tl); background: color-mix(in oklab, var(--tb-tl) 14%, transparent); }
.tb-park-bb { color: var(--tb-bb); background: color-mix(in oklab, var(--tb-bb) 12%, transparent); }
.tb-sort { background: none; border: 0; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; padding: 0; }
.tb-sort::after { content: " ↕" / ""; opacity: .75; }
.tb-sort.is-desc::after { content: " ↓" / ""; opacity: 1; }
.tb-sort-mobile { display: none; }

.tb-drops { display: inline-flex; gap: .18rem; }
.tb-drops i {
  width: .62rem; height: .78rem; display: inline-block; opacity: .22;
  background: currentColor;
  clip-path: path('M4.96 0.5 C4.96 0.5 9.4 6.2 9.4 9.3 C9.4 12 7.4 13.9 4.96 13.9 C2.5 13.9 0.5 12 0.5 9.3 C0.5 6.2 4.96 0.5 4.96 0.5 Z');
}
.tb-row-tl .tb-drops { color: var(--tb-tl); }
.tb-row-bb .tb-drops { color: var(--tb-bb); }
.tb-drops i.on { opacity: 1; }

.tb-slide-table tr.tb-hide { display: none; }
.tb-slide-table tr.tb-too-tall td { opacity: .42; }
.tb-slide-table tr.tb-too-tall td:first-child { text-decoration: line-through; text-decoration-thickness: 1px; text-decoration-color: color-mix(in oklab, var(--ink, #fff) 45%, transparent); }
.tb-table-foot { margin-top: .7rem; font-size: .88rem; opacity: .85; }
.tb-controls-count { font-size: .88rem; opacity: .85; margin: 0; font-variant-numeric: tabular-nums; }
.tb-thrill-legend { max-width: var(--tb-max-w); margin: 0 auto .8rem; font-size: .85rem; opacity: .8; }

/* --------------------------------------------------------------- planning */
.tb-planning-cols { max-width: var(--tb-max-w); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem 2.5rem; }
.tb-plan-block p { margin: 0 0 .8rem; line-height: 1.6; }
.tb-plan-block a { color: var(--tb-tl); text-underline-offset: 3px; }
.tb-plan-block a:hover { color: color-mix(in oklab, var(--tb-tl) 70%, white); }

/* ---------------------------------------------------------------- legends */
.tb-legends { background: linear-gradient(180deg, transparent, color-mix(in oklab, var(--tb-tl-deep) 14%, transparent) 30%, color-mix(in oklab, var(--tb-bb-deep) 12%, transparent) 70%, transparent); }
.tb-legend-cols { max-width: var(--tb-max-w); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem 2.5rem; }
.tb-legend p { line-height: 1.65; opacity: .92; }
.tb-legend-tl h3 { color: var(--tb-tl); }
.tb-legend-bb h3 { color: var(--tb-bb); }

/* -------------------------------------------------------------------- faq */
.tb-faq > details { max-width: var(--tb-max-w); margin: 0 auto; border-bottom: 1px solid var(--tb-line); }
.tb-faq-item summary {
  cursor: pointer; padding: 1.05rem 0; font-weight: 650; font-size: 1.02rem;
  list-style: none; position: relative; padding-right: 2rem;
}
.tb-faq-item summary::-webkit-details-marker { display: none; }
.tb-faq-item summary::after {
  content: "+"; position: absolute; right: .25rem; top: 50%; translate: 0 -50%;
  font-family: var(--display); font-size: 1.3rem; opacity: .6; transition: rotate .2s ease;
}
.tb-faq-item[open] summary::after { rotate: 45deg; }
.tb-faq-item p { padding: 0 0 1.15rem; max-width: 68ch; line-height: 1.6; opacity: .9; }

/* --------------------------------------------------------------- reveals */
.tb .tb-anim [data-tb-reveal], .tb-anim [data-tb-reveal] { opacity: 0; }

/* --------------------------------------------------------------- mobile */
@media (max-width: 760px) {
  .tb-verdict-cards, .tb-matchup-cases, .tb-planning-cols, .tb-legend-cols { grid-template-columns: 1fr; }
  .tb-scoreboard { gap: .5rem; }
  .tb-hero { min-height: 88svh; }
  .tb-notice-card { flex-direction: row; align-items: flex-start; padding: .9rem; }
  .tb-q { padding-left: 2.9rem; margin-bottom: 1.6rem; }
  .tb-q-num { width: 1.9rem; height: 1.9rem; font-size: .85rem; }
  .tb-q:not(:last-of-type)::before { left: calc(.95rem - .5px); top: 2.1rem; bottom: -1.3rem; }

  .tb-table-wrap { border: 0; }
  .tb-slide-table thead { display: none; }
  .tb-slide-table, .tb-slide-table tbody, .tb-slide-table tr, .tb-slide-table td { display: block; }
  .tb-slide-table tr {
    border: 1px solid var(--tb-line); border-radius: 12px; margin-bottom: .8rem; padding: .9rem;
  }
  .tb-slide-table td { padding: .25rem 0; }
  .tb-slide-table td[data-th="Park"], .tb-slide-table td[data-th="Type"], .tb-slide-table td[data-th="Height"], .tb-slide-table td[data-th="Thrill"] {
    display: inline-block; margin-right: .9rem;
  }
  .tb-slide-table td[data-th="Height"]::before, .tb-slide-table td[data-th="Type"]::before, .tb-slide-table td[data-th="Thrill"]::before {
    content: attr(data-th) " "; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; opacity: .75;
  }
  .tb-row-tl, .tb-row-bb { box-shadow: none; }
  .tb-row-tl { background: color-mix(in oklab, var(--tb-tl) 7%, transparent); border-color: color-mix(in oklab, var(--tb-tl) 35%, transparent); }
  .tb-row-bb { background: color-mix(in oklab, var(--tb-bb) 6%, transparent); border-color: color-mix(in oklab, var(--tb-bb) 32%, transparent); }
  .tb-sort-mobile { display: inline-block; }
}

/* -------------------------------------------------------- reduced motion */
@media (prefers-reduced-motion: reduce) {
  .tb-hero-canvas { display: none; }
  .tb * { transition-duration: .01ms !important; animation: none !important; }
  .tb-anim [data-tb-reveal], .tb [data-tb-reveal] { opacity: 1 !important; transform: none !important; }
}
