@media (max-width: 900px) {
  .section-inner { width: min(calc(100% - 2.75rem), 760px); }
  .hero__media img { object-position: center 22%; }
  .hero__content { width: 100%; min-height: 100svh; align-items: stretch; padding: 0; }
  .hero__copy {
    width: 100%;
    margin-top: auto;
    padding: 9rem 1.375rem max(1.375rem, env(safe-area-inset-bottom));
    gap: .75rem;
    color: #fff;
    background: linear-gradient(to top, rgba(15,15,14,.9) 58%, rgba(15,15,14,0));
  }
  .hero__logo { left: 1.375rem; top: 1.25rem; color: #fff; }
  .hero__status { color: #d4d4cf; font-size: .62rem; }
  .hero__title { font-size: clamp(2.25rem, 10vw, 3.1rem); line-height: 1.3; }
  .hero__body { font-size: .86rem; line-height: 1.85; color: #eee; }
  .hero__discount { color: #fff; }
  .hero .cta-note { color: #d2d2cc; }
  .line-cta { width: 100%; min-height: 60px; padding: .68rem 1rem .68rem .75rem; gap: .8rem; }
  .line-cta__icon { width: 38px; height: 38px; flex-basis: 38px; font-size: .6rem; }
  .line-cta__eyebrow { font-size: .69rem; }
  .line-cta__main { font-size: .875rem; }
  .floating-cta {
    right: 1rem;
    bottom: max(.75rem, env(safe-area-inset-bottom));
    width: auto;
  }
  body.has-floating-cta { padding-bottom: calc(74px + env(safe-area-inset-bottom)); }
  .s2 { grid-template-columns: 1fr; min-height: auto; }
  .s2__media { min-height: 480px; }
  .s2__copy { padding: 3rem 1.625rem 4rem; }
  .s3 { padding: 4.5rem 0; }
  .s3__grid { grid-template-columns: 1fr; gap: 1rem; }
  .s3__grid .asset-placeholder { min-height: 280px; }
  .s5 { min-height: auto; padding: 4.5rem 0; }
  .s5__inner { grid-template-columns: 1fr; gap: 2.75rem; }
  .week-rhythm { gap: clamp(.8rem, 4vw, 1.3rem); }
  .week-dot--selected::after { top: calc(100% + .7rem); left: 50%; transform: translateX(-50%); }
  .s6 { min-height: auto; padding: 4.5rem 0; }
  .s6__grid { grid-template-columns: 1fr; gap: 3rem; }
  .s7__intro { padding: 4.5rem 0 2rem; }
  .s7__item, .s7__item--still, .s7__item--timeline, .s7__item--walk { grid-template-columns: 1fr; min-height: auto; }
  .s7__media { min-height: 380px; }
  .s7__copy { padding: 2.5rem 1.625rem 3.5rem; }
  .s7__item--timeline .s7__copy { order: 2; }
  .timeline { grid-template-columns: 1fr; grid-template-rows: auto 42px auto 42px auto; gap:0; align-items: center; }
  .timeline__step { min-width:0; }
  .timeline__line { width:1px; height:42px; margin-left:7px; }
  .timeline__step:last-child .timeline__node { margin-left:-2px; }
  .s8 { padding: 4.5rem 0; }
  .s8__grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .s8__main { min-height: 480px; }
  .s8__detail-list { grid-template-columns: 1fr; }
  .s8__detail img { aspect-ratio: 1.25 / 1; }
  .s9 { padding: 4.5rem 0; }
  .s9__grid { grid-template-columns: 1fr; gap: 1rem; }
  .s9__secondary { grid-template-rows: auto auto; }
  .s10 { padding: 4.5rem 0 2rem; }
  .s10__grid { grid-template-columns: 1fr; gap: 2rem; text-align: center; }
  .s10__copy { justify-items: center; }
  .s10__product { width: min(78vw, 360px); }
  .mid-cta { padding-bottom: 4.5rem; }

  .s12 { min-height: 760px; }
  .s12__overlay { background: linear-gradient(to top, rgba(15,15,14,.92) 58%, rgba(15,15,14,0) 100%); }
  .s12__content { width: 100%; min-height: 760px; align-items: flex-end; padding: 0 1.375rem max(1.875rem, env(safe-area-inset-bottom)); }
  .s12__copy { width: 100%; gap: .85rem; }
  .site-footer { padding-inline: 1.25rem; }
}
@media (max-width: 380px) {
  .line-cta__main { font-size: .8125rem; }
  .line-cta__eyebrow { font-size: .66rem; }
  .hero__copy { padding-top: 7.5rem; gap: .62rem; }
  .hero__title { font-size: 2.25rem; }
  .hero__body { font-size: .82rem; }
  .hero .cta-note { font-size: .64rem; }
  .week-rhythm { gap: .75rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  [data-reveal] { opacity: 1 !important; transform: none !important; }
}
