


body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow-x: hidden;
}

.root {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 100vh;
}

.root__frame {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
}

.root__frame > main {
  display: flex;
  flex-direction: column;
  gap: 0;
  flex: 1 1 auto;
}

.deck {
  width: var(--fluid-width);
  margin-inline: auto;
  padding-inline: var(--fluid-space-sm);
}

.deck--tight {
  width: var(--fluid-width-tight);
}


.snowband {
  background: var(--accent);
  color: var(--ink-deep);
  font-size: var(--fluid-font-sm);
  font-weight: 600;
  letter-spacing: 0.04em;
}

.snowband__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--step-3);
  flex-wrap: wrap;
  padding-block: 0.625rem;
  text-align: center;
}

.snowband__dot::before {
  content: '';
  display: inline-block;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: var(--ink-deep);
  margin-right: 0.5rem;
  vertical-align: middle;
}


.topshelf {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: var(--step-2);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(0.625rem);
  border-bottom: var(--hairline);
  padding-inline: var(--fluid-space-sm);
}

.topshelf__inner {
  display: flex;
  align-items: center;
  gap: var(--step-3);
  flex: 1 1 auto;
  min-width: 0;
  padding-block: 0.75rem;
  padding-inline: 0;
}

.topshelf__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  flex: 0 0 auto;
  color: var(--tone-strong);
}

.topshelf__brand:hover {
  color: var(--accent-deep);
}

.topshelf__mark {
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
}

.topshelf__word {
  font-family: 'Work Sans', 'Inter', sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  line-height: 1;
}

.topshelf__nav {
  margin-left: auto;
}

.topshelf__list {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.topshelf__link {
  display: block;
  padding: 0.5rem 0.75rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--tone-body);
  border-radius: var(--curve-sm);
  transition: color var(--glide), background var(--glide);
}

.topshelf__link:hover {
  color: var(--accent-deep);
  background: var(--frost-2);
}

.topshelf__link--current {
  color: var(--accent-deep);
  background: var(--frost-2);
}

.topshelf__aside {
  display: flex;
  align-items: center;
  gap: var(--step-2);
  flex: 0 0 auto;
}

.topshelf__phone {
  display: inline-flex;
  align-items: center;
  gap: 0.4375rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--tone-strong);
  white-space: nowrap;
}

.topshelf__phone:hover {
  color: var(--accent-deep);
}

.topshelf__phone svg {
  width: 1rem;
  height: 1rem;
}

.topshelf__cart {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.875rem;
  border-radius: 999rem;
  background: var(--ink-deep);
  color: var(--tone-invert);
  font-size: 0.875rem;
  font-weight: 600;
  transition: background var(--glide);
}

.topshelf__cart:hover {
  background: var(--accent-deep);
  color: var(--tone-invert);
}

.topshelf__cart svg {
  width: 1.125rem;
  height: 1.125rem;
}

.topshelf__tally {
  min-width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 0.25rem;
  border-radius: 999rem;
  background: var(--accent);
  color: var(--ink-deep);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
}

.topshelf__burger {
  margin-left: auto;
  flex: 0 0 auto;
}

.topshelf__burger span {
  background: var(--tone-strong);
  border-radius: 0.125rem;
}

.topshelf__close {
  color: var(--tone-strong);
}


main > section {
  flex: 1 1 auto;
  padding-block: var(--fluid-space-lg);
}

section.light {
  background: var(--frost-0);
  color: var(--tone-body);
}

section.light--tinted {
  background: var(--frost-1);
}

section.dark {
  background: var(--ink-deep);
  color: var(--tone-invert-soft);
}

section.dark h1,
section.dark h2,
section.dark h3,
section.dark h4 {
  color: var(--tone-invert);
}

section.dark strong {
  color: var(--tone-invert);
}


section.dark a:not(.frostbtn) {
  color: var(--accent-bright);
}

section.dark .frostbtn--outline {
  color: var(--accent-bright);
  border-color: var(--accent-bright);
}


.snowline {
  text-align: center;
  padding-block: var(--step-3);
  background: var(--frost-0);
}

.snowline--dark {
  background: var(--ink-deep);
}

.snowline::before {
  content: '';
  display: inline-block;
  width: 4rem;
  height: 0.25rem;
  border-radius: 0.125rem;
  background: var(--accent);
}


.kicker {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent-deep);
  margin-bottom: var(--step-1);
}

section.dark .kicker {
  color: var(--accent-bright);
}

.lede {
  max-width: 55ch;
  font-size: clamp(1.0625rem, 1.7vw, 1.25rem);
  line-height: 1.65;
}

.band-head {
  max-width: 46rem;
  margin-bottom: var(--fluid-space-md);
}

.band-head p {
  margin-top: var(--step-2);
}



section.big-splash {
  position: relative;
  isolation: isolate;
  background-color: var(--ink-deep);
  background-image: linear-gradient(
      110deg,
      rgba(13, 27, 38, 0.94) 0%,
      rgba(13, 27, 38, 0.82) 46%,
      rgba(13, 27, 38, 0.55) 100%
    ),
    url('/public/media/hero.jpg');
  background-size: cover;
  background-position: center;
  color: var(--tone-invert-soft);
  padding-block: clamp(3rem, 8vw, 6.5rem);
  overflow: hidden;
}

.big-splash__grid {
  display: flex;
  flex-direction: column;
  gap: var(--fluid-space-md);
}

.big-splash__lead {
  max-width: 44rem;
}

.big-splash__title {
  color: var(--tone-invert);
  max-width: 20ch;
  margin-block: var(--step-2);
}

.big-splash__lead p {
  color: var(--tone-invert-soft);
  max-width: 52ch;
}

.big-splash__byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--step-2);
  margin-top: var(--step-3);
  padding-top: var(--step-3);
  border-top: var(--hairline-invert);
  font-size: var(--fluid-font-sm);
  color: var(--tone-invert-soft);
}

.big-splash__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--step-2);
  margin-top: var(--step-4);
}


.reel {
  position: relative;
  border: var(--hairline-invert);
  border-radius: var(--curve-lg);
  background: rgba(9, 20, 28, 0.55);
  padding: var(--fluid-space-md);
  max-width: 34rem;
}

.reel__track {
  position: relative;
  min-height: 8.5rem;
}

.reel__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(0.75rem);
  transition: opacity var(--glide), transform var(--glide), visibility var(--glide);
}

.reel__slide.is-live {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.reel__caption {
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(1.125rem, 2vw, 1.5rem);
  font-weight: 700;
  color: var(--tone-invert);
  line-height: 1.3;
}

.reel__note {
  margin-top: var(--step-2);
  color: var(--tone-invert-soft);
  font-size: 0.9375rem;
}

.reel__pager {
  display: flex;
  gap: 0.5rem;
  margin-top: var(--step-3);
}

.reel__pip {
  width: 2.75rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  padding: 0;
}

.reel__pip::before {
  content: '';
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 999rem;
  background: rgba(255, 255, 255, 0.35);
  transition: background var(--glide), transform var(--glide);
}

.reel__pip.is-live::before {
  background: var(--accent-bright);
  transform: scale(1.15);
}


.bragging-rights {
  display: flex;
  flex-wrap: wrap;
  gap: var(--fluid-space-md);
  justify-content: space-between;
}

.bragging-rights__cell {
  flex: 1 1 10rem;
  text-align: center;
}

.bragging-rights__value {
  font-family: 'Work Sans', sans-serif;
  font-size: clamp(2.25rem, 5vw, 3.5rem);
  font-weight: 700;
  line-height: 1;
  color: var(--accent);
}

section.dark .bragging-rights__value {
  color: var(--accent-bright);
}

.bragging-rights__label {
  display: block;
  margin-top: var(--step-1);
  font-size: 0.8125rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}


.split {
  display: flex;
  align-items: flex-start;
  gap: var(--fluid-space-md);
}

.split__main {
  flex: 1 1 26rem;
  min-width: 0;
}

.split__side {
  flex: 0 1 24rem;
  min-width: 0;
  position: sticky;
  top: 6rem;
}


.rail {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
  gap: var(--step-3);
}

.rail--pair {
  grid-template-columns: repeat(auto-fill, minmax(21rem, 1fr));
  
  align-items: start;
}


.footer-cta {
  background: var(--accent);
  color: var(--ink-deep);
  text-align: center;
  padding-block: var(--fluid-space-lg);
}

.footer-cta h2 {
  color: var(--ink-deep);
  max-width: 22ch;
  margin-inline: auto;
}

.footer-cta p {
  max-width: 44ch;
  margin: var(--step-2) auto 0;
  color: rgba(13, 27, 38, 0.78);
}

.footer-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--step-2);
  justify-content: center;
  margin-top: var(--step-4);
}


.footer-cta .frostbtn--outline {
  color: var(--ink-deep);
  border-color: rgba(13, 27, 38, 0.45);
}

.footer-cta .frostbtn--outline:hover {
  background: rgba(13, 27, 38, 0.08);
  border-color: var(--ink-deep);
  color: var(--ink-deep);
}

.bottom-rail {
  background: var(--ink-deep);
  color: var(--tone-invert-soft);
  padding-block: var(--fluid-space-md);
  font-size: 0.9375rem;
}

.bottom-rail__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--fluid-space-md);
}

.bottom-rail__col {
  flex: 1 1 13rem;
  min-width: 0;
}

.bottom-rail__title {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--tone-invert);
  margin-bottom: var(--step-2);
}

.bottom-rail__list li + li {
  margin-top: 0.4375rem;
}

.bottom-rail__list a {
  color: var(--tone-invert-soft);
}

.bottom-rail__list a:hover {
  color: var(--accent-bright);
}

.bottom-rail__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  color: var(--tone-invert);
  margin-bottom: var(--step-2);
}

.bottom-rail__brand svg {
  width: 2rem;
  height: 2rem;
}

.bottom-rail__word {
  font-family: 'Work Sans', sans-serif;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-size: 0.9375rem;
}

.bottom-rail__legal {
  margin-top: var(--fluid-space-md);
  padding-top: var(--step-3);
  border-top: var(--hairline-invert);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--step-2);
  font-size: 0.8125rem;
  color: var(--tone-invert-soft);
}

.bottom-rail__disclaimer {
  max-width: 60ch;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--tone-invert-soft);
}


.page-transition {
  animation: slideIn 0.5s ease both;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(1.25rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.reveal {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.reveal.is-shown {
  opacity: 1;
  transform: translateY(0);
}


.page-crown {
  background: var(--ink-deep);
  color: var(--tone-invert-soft);
  padding-block: clamp(2rem, 5vw, 3.5rem);
}

.page-crown h1 {
  color: var(--tone-invert);
  font-size: clamp(1.875rem, 4vw, 2.875rem);
  max-width: 24ch;
}

.page-crown p {
  margin-top: var(--step-2);
  max-width: 56ch;
}

.crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  margin-bottom: var(--step-2);
  color: var(--tone-faint);
}

.crumbs a {
  color: var(--accent-deep);
}

.page-crown .crumbs {
  color: var(--tone-invert-soft);
}

.page-crown .crumbs a {
  color: var(--accent-bright);
}

.crumbs span[aria-hidden] {
  opacity: 0.5;
}


.prose > * + * {
  margin-top: var(--step-3);
}

.prose h2 {
  margin-top: var(--step-6);
}

.prose h3 {
  margin-top: var(--step-4);
}

.prose ul {
  padding-left: var(--step-3);
}

.prose ul li {
  position: relative;
  padding-left: var(--step-2);
  margin-top: 0.5rem;
}

.prose ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.75rem;
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 0.125rem;
  background: var(--accent);
  transform: rotate(45deg);
}

.prose ol {
  counter-reset: prose;
  padding-left: var(--step-3);
}

.prose ol li {
  counter-increment: prose;
  position: relative;
  padding-left: var(--step-3);
  margin-top: 0.5rem;
}

.prose ol li::before {
  content: counter(prose) '.';
  position: absolute;
  left: 0;
  color: var(--accent-deep);
  font-weight: 700;
}


@media (max-width: 1024px) {
  .split {
    flex-direction: column;
  }

  .split__main,
  .split__side {
    position: static;
    width: 100%;
    flex: 1 1 auto;
  }

}

@media (max-width: 900px) {
  .topshelf__phone {
    display: none;
  }
}

@media (max-width: 768px) {
  .topshelf__inner {
    gap: var(--step-2);
  }

  .topshelf__nav {
    margin-left: 0;
  }

  
  .topshelf__aside {
    margin-left: auto;
  }

  .topshelf__list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .topshelf__link {
    padding: 0.875rem 0;
    font-size: 1rem;
    border-radius: 0;
    border-bottom: var(--hairline);
  }

  
  .rail,
  .rail--pair {
    display: flex;
    align-items: stretch;
    grid-template-columns: none;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: var(--step-2);
    margin-inline: calc(var(--fluid-space-sm) * -1);
    padding-inline: var(--fluid-space-sm);
    scrollbar-width: thin;
  }

  
  .rail > * {
    flex: 0 0 76vw;
    min-width: 76vw;
    max-width: 76vw;
    scroll-snap-align: start;
  }

  .reel {
    max-width: none;
  }

  .bragging-rights {
    gap: var(--step-3);
  }

  .bragging-rights__cell {
    flex: 1 1 40%;
  }

  .bottom-rail__grid {
    flex-direction: column;
    gap: var(--step-4);
  }
}


@media (max-width: 767.98px) {
  .topshelf__nav[data-mm-menu] {
    transform: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--mm-transition), visibility var(--mm-transition);
  }

  .topshelf__nav[data-mm-menu].mm-open {
    transform: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

@media (max-width: 560px) {
  
  .snowband {
    font-size: 0.75rem;
    letter-spacing: 0.02em;
  }

  .snowband__inner {
    gap: 0.125rem var(--step-2);
    padding-block: 0.375rem;
    line-height: 1.35;
  }

  .snowband__dot::before {
    margin-right: 0.3125rem;
  }

  .topshelf__word {
    letter-spacing: 0.16em;
    font-size: 0.9375rem;
  }

  .topshelf__cart span:not(.topshelf__tally) {
    display: none;
  }

  .big-splash__actions .frostbtn {
    width: 100%;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-transition,
  .reveal {
    animation: none;
    opacity: 1;
    transform: none;
    transition: none;
  }
}


.drop-a-line {
  background-image: radial-gradient(circle at 86% 6%, rgba(18, 176, 201, 0.12), transparent 46%);
}

.magic-we-make {
  background-image: linear-gradient(180deg, #0d1b26 0%, #102431 100%);
}

.plot-twist {
  border-top: var(--hairline);
}

.goodies {
  background-image: linear-gradient(180deg, var(--frost-1) 0%, var(--frost-2) 100%);
}

.curious-minds {
  background: var(--frost-0);
}
