@media (max-width: 1180px) {
    .desktop-nav { gap: 14px; }
    .desktop-nav a { font-size: .8rem; }
    .brand { width: 205px; }
    .button-order { padding-inline: 1rem; }
    .flavor-track { grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .flavor-card { min-height: 330px; }
    .builder { grid-template-columns: repeat(2, 1fr); }
    .experience-steps > .button { grid-column: 1 / -1; justify-self: center; }
    .events-grid { grid-template-columns: 1fr 1fr; }
    .event-image { display: none; }
}

@media (max-width: 980px) {
    :root { --header-height: 80px; }
    .desktop-nav, .header-inner > .button-order { display: none; }
    .header-inner { justify-content: space-between; }
    .menu-toggle { display: block; }
    .hero-sticky { min-height: 560px; }
    .hero-content h1 { width: min(760px, 80vw); }
    .feature-grid { grid-template-columns: repeat(2, 1fr); }
    .feature-grid article:nth-child(2) { border-right: 0; }
    .feature-grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.2); }
    .story-grid { grid-template-columns: 1fr; }
    .story-collage { max-width: 620px; width: 100%; margin-inline: auto; }
    .story-copy { text-align: center; }
    .testimonial-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; }
    .testimonial-card { flex: 0 0 min(430px, 78vw); scroll-snap-align: start; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-contact { grid-column: 1 / -1; align-items: start; }
}

@media (max-width: 760px) {
    .shell { width: min(100% - 28px, 680px); }
    .section { padding-block: 72px; }
    h2 { font-size: clamp(2.15rem, 10vw, 3.3rem); }
    .site-header, .site-header.scrolled { height: 72px; }
    .header-pattern { height: 6px; background-size: auto 27px; }
    .brand { width: 184px; }
    .menu-toggle { width: 44px; height: 44px; }
    .hero-scroll { height: var(--hero-mobile, 280vh); }
    .hero-sticky { min-height: 520px; }
    .hero-sticky video { object-position: 58% center; }
    .hero-shade { background: linear-gradient(0deg, rgba(2,25,40,.88) 0%, rgba(2,25,40,.55) 48%, rgba(2,25,40,.05) 80%); }
    .hero-content { top: auto; bottom: 10%; transform: translateX(-50%) translateY(var(--hero-copy-shift)); }
    .hero-content h1 { width: 100%; font-size: clamp(3.15rem, 14vw, 5rem); }
    .hero-description { max-width: 94%; font-size: .95rem; }
    .hero-actions .button { min-height: 45px; padding-inline: 1rem; font-size: .72rem; }
    .scroll-cue { display: none; }
    .hero-final { bottom: 8%; }
    .feature-grid article { justify-content: start; min-height: 88px; padding: .85rem; }
    .feature-icon { font-size: 1.3rem; }
    .flavor-track { display: flex; width: calc(100% - 14px); margin-left: 14px; padding: 2px 20px 24px 0; overflow-x: auto; scroll-snap-type: x mandatory; }
    .flavor-card { flex: 0 0 min(275px, 77vw); min-height: 360px; scroll-snap-align: start; }
    .story-collage { min-height: 430px; }
    .story-main { inset: 18px 19% 28px 0; }
    .story-city { width: 43%; height: 150px; }
    .story-lamps { width: 42%; height: 220px; }
    .story-points { grid-template-columns: repeat(2, 1fr); gap: 22px 12px; }
    .story-points strong { font-size: .96rem; }
    .builder { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; }
    .builder-step { flex: 0 0 min(280px, 80vw); scroll-snap-align: center; }
    .experience-steps > .button { flex: 0 0 190px; }
    .section-heading-row { display: block; }
    .gallery-filters { justify-content: start; margin-top: 1rem; overflow-x: auto; flex-wrap: nowrap; }
    .gallery-filters button { flex: 0 0 auto; }
    .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 155px; gap: 8px; }
    .gallery-item, .gallery-item:nth-child(n) { grid-column: span 1; }
    .gallery-item:nth-child(1), .gallery-item:nth-child(4) { grid-row: span 2; }
    .gallery-item span { opacity: 1; transform: none; font-size: .72rem; }
    .events-grid { grid-template-columns: 1fr; }
    .events-copy { text-align: center; }
    .events-copy h2 { font-size: clamp(2.5rem, 11vw, 3.7rem); }
    .event-features { text-align: left; }
    .event-image { display: block; max-height: 420px; }
    .event-image img { min-height: 390px; }
    .form-grid { grid-template-columns: 1fr; }
    .form-grid label.full { grid-column: auto; }
    .visit-grid { grid-template-columns: 1fr; gap: 24px; }
    .visit-actions .button { flex: 1 1 145px; }
    .footer-grid { grid-template-columns: 1fr; text-align: center; }
    .footer-brand img { margin-inline: auto; }
    .footer-nav { grid-template-columns: repeat(4, 1fr); }
    .footer-contact { grid-column: auto; align-items: center; }
    .footer-bottom { flex-direction: column; align-items: center; gap: .5rem; padding-bottom: 86px; text-align: center; }
    .mobile-actions { position: fixed; z-index: 900; left: 12px; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid rgba(255,255,255,.35); border-radius: 14px; box-shadow: 0 14px 34px rgba(4,31,49,.25); }
    .mobile-actions:has(a:only-child), .mobile-actions:not(:has(a)) { grid-template-columns: 1fr; }
    .mobile-actions button, .mobile-actions a { display: grid; place-items: center; min-height: 52px; border: 0; color: white; background: var(--red); font-weight: 800; text-transform: uppercase; }
    .mobile-actions a { background: #159a61; }
}

@media (max-width: 430px) {
    .hero-content .eyebrow { font-size: .66rem; }
    .hero-content h1 { font-size: clamp(2.85rem, 14vw, 4rem); }
    .hero-actions { gap: .55rem; }
    .feature-grid { grid-template-columns: 1fr; }
    .feature-grid article { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
    .feature-grid article:last-child { border-bottom: 0; }
    .story-collage { min-height: 365px; }
    .story-city { height: 122px; }
    .story-lamps { height: 185px; }
    .event-features { grid-template-columns: 1fr; }
    .event-form-card { padding: 1.15rem; }
    .footer-nav { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1700px) {
    .shell { width: min(1460px, calc(100% - 100px)); }
    .flavor-card { min-height: 410px; padding: 1.3rem; }
    .flavor-art { height: 180px; }
}
