/* Scroll choreography is enabled progressively. Wheel and touch scrolling remain native. */
.home-motion-ready .shared-table,
.home-motion-ready .about,
.home-motion-ready .product-grid,
.home-motion-ready .branch-grid,
.home-motion-ready .contact-inner {
  perspective: 1400px;
}
.home-motion-ready .values-strip {
  overflow: clip;
}
.home-motion-ready .values-strip > span,
.home-motion-ready .values-strip > i {
  display: inline-block;
}
/* Disable only the old transform transition on nodes driven by the scroll timeline. */
.home-motion-ready [data-scroll-motion] {
  transition-property: background-color, border-color, color, box-shadow;
}
.home-motion-ready .product-card,
.home-motion-ready .branch-card {
  transform-origin: 50% 70%;
}
.home-motion-ready .contact::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--red);
  transform: scaleX(var(--contact-reveal, 0));
  transform-origin: left;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .home-motion-ready .contact::before {
    transform: none;
  }
}

/* Long desktop chapters. The existing content and order also serve as the static fallback. */
.home-cinema .cinema-stage {
  position: relative;
  min-height: calc(100svh - 90px);
  padding-block: 40px 74px;
  isolation: isolate;
}
.home-cinema .shared-table,
.home-cinema .about {
  gap: 7%;
}
.home-cinema .shared-visual > img {
  height: clamp(340px, 53svh, 640px);
}
.home-cinema .about-visual {
  height: clamp(380px, 59svh, 720px);
  aspect-ratio: auto;
}
.home-cinema .about-copy h2,
.home-cinema .shared-copy h2 {
  font-size: clamp(38px, 3.8vw, 64px);
}
.home-cinema .about-copy .large-copy {
  margin: 20px 0 12px;
}
.home-cinema .about-copy > .eyebrow {
  margin-bottom: 16px;
}
.home-cinema .origin-grid {
  margin: 22px 0;
  padding-top: 20px;
  gap: 16px 20px;
}
.home-cinema .shared-visual {
  z-index: 1;
}
.home-cinema .shared-copy {
  position: relative;
  z-index: 2;
}
.home-cinema .flavors {
  padding-block: 0 80px;
}
.home-cinema .flavor-gallery {
  overflow: hidden;
  height: calc(100svh - 90px);
  min-height: calc(100svh - 90px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.home-cinema .flavor-gallery .section-heading {
  margin-bottom: 26px;
}
.home-cinema .flavor-gallery .section-heading h2 {
  font-size: clamp(40px, 4vw, 64px);
}
.home-cinema .flavor-gallery .section-heading h2 br {
  display: none;
}
.home-cinema .flavor-gallery .section-heading h2 em {
  margin-left: 12px;
}
.home-cinema .product-grid {
  display: flex;
  gap: 32px;
  perspective: 1400px;
  flex-shrink: 0;
}
.home-cinema .product-card {
  flex: 0 0 clamp(340px, 36vw, 620px);
  min-width: 0;
  transform-origin: center;
}
.home-cinema .product-image {
  height: clamp(230px, 33svh, 430px);
  aspect-ratio: auto;
}
.home-cinema .product-info {
  padding-top: 16px;
}
.home-cinema .product-info p {
  max-width: 92%;
}
.home-cinema .menu-preview {
  margin-top: 80px;
  padding-top: 45px;
}
.home-cinema .menu-preview::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--red);
  transform: scaleX(var(--menu-line, 0));
  transform-origin: left;
}
.home-cinema .experience {
  height: calc(100svh - 90px);
  min-height: calc(100svh - 90px);
}
.home-cinema .experience-copy {
  padding-top: clamp(85px, 15svh, 180px);
  z-index: 2;
}
.home-cinema .experience::before,
.home-cinema .experience::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: var(--cinema-shutter, 0%);
  background: var(--ink);
  z-index: 1;
  pointer-events: none;
}
.home-cinema .experience::before {
  top: 0;
}
.home-cinema .experience::after {
  bottom: 0;
}
.home-cinema .experience-caption {
  bottom: 78px;
}
.home-cinema .branches .section-heading {
  margin-bottom: 30px;
}
.home-cinema .branches .section-heading h2 {
  font-size: clamp(38px, 3.5vw, 60px);
}
.home-cinema .branch-card {
  background: var(--ink);
}
.home-cinema .branch-top {
  margin-bottom: 25px;
}
.home-cinema .branch-hours {
  margin-top: 24px;
}
.home-cinema .contact {
  display: grid;
  align-items: center;
  overflow: clip;
}
.chapter-meter {
  position: absolute;
  bottom: 23px;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 28px;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 1.8px;
  line-height: 1.4;
  z-index: 4;
  pointer-events: none;
}
.chapter-meter > span:first-child {
  min-width: 175px;
}
.chapter-meter > span:last-child {
  color: var(--accent);
}
.chapter-track {
  height: 1px;
  background: #8885;
  flex: 1;
}
.chapter-track i {
  display: block;
  height: 2px;
  width: 100%;
  background: var(--red);
  transform-origin: left;
}
.experience .chapter-meter,
.contact .chapter-meter {
  left: var(--gutter);
  width: calc(100% - var(--gutter) * 2);
}
@media (max-height: 820px) {
  .home-cinema .cinema-stage {
    padding-top: 28px;
    padding-bottom: 62px;
  }
  .home-cinema .about-copy > p:not(.eyebrow):not(.large-copy) {
    line-height: 1.7;
  }
  .home-cinema .branch-card address {
    margin-block: 15px 10px;
  }
  .home-cinema .branch-map {
    padding-block: 14px;
  }
}
@media (max-height: 739px) {
  .home-cinema .cinema-stage {
    padding-block: 22px 58px;
  }
  .home-cinema .chapter-meter {
    bottom: 18px;
  }
  .home-cinema .shared-visual > img {
    height: 53svh;
  }
  .home-cinema .about-visual {
    height: 60svh;
  }
  .home-cinema .about-copy h2,
  .home-cinema .shared-copy h2 {
    font-size: 34px;
  }
  .home-cinema .shared-copy h2 {
    margin-block: 14px;
  }
  .home-cinema .shared-copy > p:not(.eyebrow) {
    font-size: 12px;
  }
  .home-cinema .serving-notes {
    margin-block: 18px;
  }
  .home-cinema .about-copy > .eyebrow {
    margin-bottom: 12px;
  }
  .home-cinema .about-copy .large-copy {
    font-size: 13px;
    margin-block: 12px 8px;
  }
  .home-cinema .about-copy > p:not(.eyebrow):not(.large-copy) {
    font-size: 11px;
    margin-top: 8px;
  }
  .home-cinema .origin-grid {
    gap: 10px;
    margin-block: 14px;
    padding-top: 14px;
  }
  .home-cinema .origin-grid strong {
    font-size: 11px;
  }
  .home-cinema .flavor-gallery .section-heading {
    margin-bottom: 18px;
  }
  .home-cinema .flavor-gallery .section-heading h2 {
    font-size: 38px;
  }
  .home-cinema .product-image {
    height: 29svh;
  }
  .home-cinema .product-info h3 {
    font-size: 19px;
  }
  .home-cinema .product-info p {
    margin-top: 6px;
  }
  .home-cinema .product-info .portion {
    margin-top: 8px;
  }
  .home-cinema .branches .section-heading {
    margin-bottom: 18px;
  }
  .home-cinema .branches .section-heading h2 {
    font-size: 34px;
  }
  .home-cinema .branches .section-heading h2 br {
    display: none;
  }
  .home-cinema .branches .section-heading h2 em {
    margin-left: 8px;
  }
  .home-cinema .branches .section-heading .eyebrow {
    margin-bottom: 14px;
  }
  .home-cinema .branch-card {
    padding: 20px 22px 0;
  }
  .home-cinema .branch-top {
    margin-bottom: 15px;
  }
  .home-cinema .branch-card h3 {
    font-size: 25px;
  }
  .home-cinema .branch-card address {
    min-height: 44px;
    margin-block: 12px;
  }
  .home-cinema .branch-map {
    margin-top: 10px;
  }
  .home-cinema .branch-hours {
    margin-top: 18px;
  }
  .home-cinema .contact h2 {
    font-size: 48px;
  }
}
