.mobile-shop-link,
.contact-mobile-link { display: none; }

@media (max-width: 780px) {
  .menu-panel > p,
  .footer-brand > p {
    white-space: normal;
    line-height: .92;
  }

  .menu-panel > p span,
  .menu-panel > p em,
  .footer-brand > p span,
  .footer-brand > p em {
    display: block;
  }

  .menu-panel > p {
    font-size: clamp(1.8rem, 9vw, 2.5rem);
  }

  .announcement { display: none; }
  .site-header { position: sticky; height: 64px; background: rgba(250, 248, 243, .98); }
  .menu-button { width: 38px; height: 38px; padding: 6px; }
  .menu-button span { height: 1.5px; margin: 6px 0; }
  .header-actions .icon-button { width: 36px; height: 36px; }
  .header-actions svg { width: 21px; }
  .bag-count { right: -1px; top: -1px; }

  .home-page .site-header { position: absolute; z-index: 4; top: 0; left: 0; width: 100%; height: 76px; grid-template-columns: 1fr auto auto; padding: 0 1.4rem; border-bottom: 0; background: transparent; backdrop-filter: none; }
  .home-page .site-header .wordmark { grid-column: 1; justify-self: start; }
  .home-page .site-header .header-actions { grid-column: 2; gap: 0; }
  .home-page .site-header .bag-button { display: none; }
  .home-page .site-header .menu-button { grid-column: 3; justify-self: end; }
  .home-page .site-header .header-actions .icon-button,
  .home-page .site-header .menu-button { color: #121212; filter: drop-shadow(0 1px 1px rgba(250, 248, 243, .85)); }
  .home-page .site-header .header-actions svg { stroke-width: 2.15; }
  .home-page .site-header .menu-button span { height: 2.3px; }
  .home-page .site-header .wordmark.logo { --logo-h: 29px; }

  .home-page .hero-carousel { height: min(800px, 100svh); min-height: 650px; background: #eee6dc; }
  .home-page .hero-slide-image { top: 0; bottom: auto; height: 100%; object-position: center; }
  .home-page .hero-slide-shade { background: linear-gradient(180deg, rgba(246, 243, 238, .16), transparent 32%, rgba(246, 243, 238, .20)); }
  .home-page .hero-slide-copy { z-index: 3; inset: 0; width: auto; text-align: center; transform: none; }
  .home-page .hero-intro { position: absolute; top: 98px; right: 1rem; left: 1rem; }
  .home-page .hero-eyebrow { margin-bottom: 16px; font-size: 7px; letter-spacing: .19em; }
  .home-page .hero-slide-copy h1 { max-width: 330px; margin-inline: auto; font-size: clamp(3.2rem, 13.2vw, 4rem); line-height: .86; }
  .home-page .hero-slide-copy h1 br { display: none; }
  .home-page .hero-actions { position: absolute; right: 1rem; bottom: 2.1rem; left: 1rem; display: flex; flex-direction: column; align-items: center; }
  .home-page .hero-description { margin: 0 0 16px; font-size: 11px; line-height: 1.65; }
  .home-page .hero-cta { min-height: 44px; gap: 15px; padding: 10px 14px; font-size: 8px; }
  .home-page .hero-photo-note { display: none; }
  .home-page .hero-carousel::after { height: 56px; }
  .home-page .hero-scroll { display: none; }

  .scent-game-dialog .scent-game { display: block; padding: 2.6rem 1rem 2.35rem; background: linear-gradient(145deg, #e7ece2, #ece7dc); }
  .scent-game-dialog .scent-game-intro { max-width: none; }
  .scent-game-dialog .scent-game-intro .eyebrow { margin-bottom: .75rem; font-size: .56rem; }
  .scent-game-dialog .scent-game-intro h2 { max-width: 330px; font-size: clamp(2.65rem, 11.5vw, 4rem); }
  .scent-game-dialog .scent-game-intro > p:not(.eyebrow) { margin-top: .75rem; font-size: .72rem; line-height: 1.55; }
  .scent-game-dialog .scent-game-orbits { display: none; }
  .scent-game-dialog .scent-game-card { min-height: 0; margin-top: 1.45rem; padding: 1.2rem; border-radius: 13px; }
  .scent-game-dialog .scent-game-top { padding-bottom: .8rem; }
  .scent-game-dialog .scent-game-top p, .scent-game-dialog .scent-game-kicker { font-size: .5rem; }
  .scent-game-dialog .scent-game-kicker { margin-top: 1.2rem; }
  .scent-game-dialog .scent-game-card h3 { margin-top: .55rem; font-size: clamp(2rem, 8.5vw, 2.8rem); }
  .scent-game-dialog .scent-game-description { margin: .55rem 0 1rem; font-size: .66rem; line-height: 1.5; }
  .scent-game-dialog .scent-game-options { gap: .55rem; }
  .scent-game-dialog .scent-game-options button { min-height: 74px; padding: .75rem; }
  .scent-game-dialog .scent-game-options button strong { font-size: .66rem; }
  .scent-game-dialog .scent-game-options button span { font-size: .56rem; }
  .scent-game-dialog .scent-game-result { grid-template-columns: 100px 1fr; gap: .9rem; padding-top: 1rem; }
  .scent-game-dialog .scent-game-result-copy h3 { font-size: clamp(1.7rem, 7vw, 2.2rem); }
  .scent-game-dialog .scent-game-result-copy > p:not(.scent-game-kicker) { margin: .45rem 0 .75rem; font-size: .62rem; }
  .scent-game-dialog .scent-game-actions { gap: .55rem; }
  .scent-game-dialog .scent-game-actions .button { min-height: 35px; padding: .55rem .65rem; font-size: .49rem; }
  .scent-game-dialog .scent-game-restart { font-size: .56rem; }

  .home-page .product-section { padding: 1.8rem 1rem 2.25rem; }
  .home-page .product-section .section-intro { display: block; margin-bottom: 1rem; }
  .home-page .product-section .section-intro h2,
  .home-page .product-section .section-intro > p { display: none; }
  .home-page .product-section .section-intro > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
  .home-page .product-section .eyebrow { margin: 0; font-size: .62rem; }
  .mobile-shop-link { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .55rem; margin: 0; font-size: .72rem; }
  .mobile-shop-link span { font-size: 1.25rem; line-height: .5; }
  .home-page .product-grid { display: flex; gap: .75rem; margin: 0 -1rem; padding: 0 1rem .5rem; overflow-x: hidden; pointer-events: none; scroll-behavior: smooth; scrollbar-width: none; }
  .home-page .product-grid::-webkit-scrollbar { display: none; }
  .home-page .product-card { flex: 0 0 145px; scroll-snap-align: start; }
  .home-page .product-card.is-carousel-duplicate { display: block; }
  .home-page .product-info { padding: .65rem 0 0; }
  .home-page .product-kicker,
  .home-page .product-bottom { display: none; }
  .home-page .product-info h3 { min-height: 0; font-size: 1.35rem; }
  .home-page .product-notes { min-height: 0; margin: .2rem 0 0; font-size: .62rem; line-height: 1.45; }
  .home-page .product-media::after { display: none; }
  .home-page .discovery-band { grid-template-columns: 42% 1fr; gap: .9rem; margin-top: 1.7rem; padding: .7rem; border-radius: 12px; }
  .home-page .discovery-art { grid-row: 1 / span 2; width: 100%; }
  .home-page .discovery-copy .eyebrow { margin-bottom: .35rem; font-size: .45rem; }
  .home-page .discovery-copy h3 { font-size: 1.55rem; }
  .home-page .discovery-copy > p:last-child { margin-top: .35rem; font-size: .65rem; line-height: 1.45; }
  .home-page .discovery-band .button { grid-column: 2; min-height: 38px; width: 100%; padding: .55rem .6rem; font-size: .55rem; }

  .home-page .contact-section { display: block; min-height: 300px; margin: 0 1rem 1.25rem; padding: 1.45rem 1.2rem; border-radius: 12px; background: #dce5d9; }
  .home-page .contact-section::after { background: linear-gradient(90deg, rgba(237, 241, 233, .9), rgba(237, 241, 233, .22)); }
  .home-page .contact-backdrop { object-position: 67% center; }
  .home-page .contact-copy { position: relative; width: 64%; padding: 0; }
  .home-page .contact-copy .eyebrow { margin-bottom: .8rem; font-size: .54rem; }
  .home-page .contact-copy h2 { font-size: clamp(3.4rem, 14vw, 4.8rem); line-height: .82; }
  .home-page .contact-copy > p:not(.eyebrow) { margin-top: 1rem; font-size: .67rem; line-height: 1.6; }
  .home-page .contact-copy > p:not(.eyebrow) + p { display: none; }
  .home-page .contact-options { display: none; }
  .contact-mobile-link { position: static; width: 42px; height: 42px; display: grid; place-items: center; margin-top: .8rem; border-radius: 50%; background: #f6f3ee; color: #17271f; font-size: 1.25rem; }
  .home-page .site-footer { display: none; }

  .mobile-route-body { background: #f8f5ef; }
  .mobile-route-main { width: min(100%, 680px); margin: 0 auto; }
  .mobile-route-main .product-section { padding: 2.4rem 1rem 1.5rem; }
  .mobile-route-main .section-intro { display: block; margin-bottom: 1.55rem; text-align: center; }
  .mobile-route-main .section-intro .eyebrow { margin-bottom: .6rem; font-size: .62rem; }
  .mobile-route-main .section-intro h1 { margin: 0; font: 400 clamp(2.8rem, 11.5vw, 4.4rem)/.93 var(--serif); letter-spacing: -.045em; }
  .mobile-route-main .section-intro h1 em { color: #61766a; }
  .mobile-route-main .section-intro > p { max-width: 510px; margin: 1rem auto 0; color: #5c5a52; font-size: .8rem; line-height: 1.65; }
  .mobile-route-main .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.7rem .9rem; }
  .mobile-route-main .product-info { padding-top: .65rem; }
  .mobile-route-main .product-kicker { display: none; }
  .mobile-route-main .product-info h3 { min-height: 0; font-size: clamp(1.35rem, 6.4vw, 1.85rem); }
  .mobile-route-main .product-notes { min-height: 0; margin: .2rem 0 .55rem; font-size: .66rem; line-height: 1.45; }
  .mobile-route-main .product-bottom { flex-direction: row; align-items: center; gap: .35rem; padding-top: .45rem; }
  .mobile-route-main .product-bottom strong { font-size: .72rem; white-space: nowrap; }
  .mobile-route-main .product-add { flex: 0 0 6.3rem; justify-content: center; min-height: 30px; gap: .4rem; padding: .35rem .45rem; border-radius: 999px; background: #274d3e; color: white; font-size: .56rem; text-align: center; }
  .mobile-route-main .product-add span { display: none; }
  .mobile-route-main .product-media::after { display: none; }
  .mobile-route-main .product-media.has-gallery { touch-action: pan-y; }
  .quick-gallery .quick-image {
    min-height: 0;
    flex: none;
    aspect-ratio: 1;
  }
  .quick-gallery .quick-image img {
    object-fit: contain;
    background: var(--porcelain);
  }
  .quick-copy { min-height: 0; }
  .quick-copy .quick-description { margin-bottom: 1.25rem; }
  .quick-copy .note-pyramid { margin: 0 0 1.5rem; }
  .mobile-route-main .discovery-band { grid-template-columns: 46% 1fr; gap: .9rem; margin-top: 1.9rem; padding: .75rem; border-radius: 12px; }
  .mobile-route-main .discovery-art { grid-row: 1 / span 2; width: 100%; }
  .mobile-route-main .discovery-copy .eyebrow { font-size: .45rem; }
  .mobile-route-main .discovery-copy h3 { font-size: 1.45rem; }
  .mobile-route-main .discovery-copy > p:last-child { font-size: .62rem; }
  .mobile-route-main .discovery-band .button { grid-column: 2; min-height: 38px; width: 100%; padding: .5rem; font-size: .55rem; }

  .mobile-contact-page { position: relative; min-height: calc(100svh - 64px); padding: 2.5rem 1rem 2rem; overflow: hidden; background: #dce5d9; }
  .mobile-contact-page::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(239, 242, 234, .9), rgba(239, 242, 234, .35)), url("assets/contact-sovl.jpg") 67% center / cover; }
  .mobile-contact-content { position: relative; }
  .mobile-contact-copy { width: 64%; }
  .mobile-contact-copy .eyebrow { margin-bottom: .8rem; font-size: .58rem; }
  .mobile-contact-copy h1 { margin: 0; font: 400 clamp(3.6rem, 15vw, 5.1rem)/.82 var(--serif); letter-spacing: -.055em; }
  .mobile-contact-copy h1 em { color: #315345; }
  .mobile-contact-copy > p { margin: 1rem 0 0; color: #385247; font-size: .76rem; line-height: 1.65; }
  .mobile-contact-links { display: grid; gap: .7rem; margin-top: 1.7rem; }
  .mobile-contact-card { display: grid; grid-template-columns: 52px 1fr 36px; align-items: center; gap: .8rem; min-height: 85px; padding: .85rem; border: 1px solid rgba(34, 55, 45, .16); border-radius: 12px; background: rgba(252, 250, 246, .9); box-shadow: 0 8px 24px rgba(57, 76, 64, .08); }
  .mobile-contact-card .contact-icon { width: 52px; height: 52px; }
  .mobile-contact-card .contact-icon svg { width: 25px; height: 25px; }
  .mobile-contact-card .contact-label { margin-bottom: .3rem; font-size: .47rem; }
  .mobile-contact-card strong { display: block; font: 400 clamp(1.45rem, 6.5vw, 2rem)/.9 var(--serif); letter-spacing: -.04em; }
  .mobile-contact-card .contact-detail { margin-top: .35rem; font-size: .62rem; }
  .mobile-contact-card .contact-arrow { width: 36px; height: 36px; font-size: 1.15rem; }
  .mobile-offline-list { position: relative; padding: 2.2rem 1rem 2rem; background: #f8f5ef; }
  .mobile-offline-list > h2 { margin: 0 0 1rem; font-size: .62rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
  .mobile-offline-card { display: grid; grid-template-columns: 52px 1fr 20px; align-items: center; gap: .8rem; min-height: 90px; padding: .85rem; border: 1px solid rgba(18, 18, 18, .12); border-radius: 12px; background: #fbfaf6; }
  .mobile-offline-card + .mobile-offline-card { margin-top: .7rem; }
  .mobile-offline-card .contact-icon { width: 52px; height: 52px; }
  .mobile-offline-card .contact-icon svg { width: 25px; height: 25px; }
  .mobile-offline-card h3 { margin: 0; font: 400 1.4rem/.95 var(--serif); }
  .mobile-offline-card p { margin: .35rem 0 0; color: #455b50; font-size: .62rem; line-height: 1.45; }
  .mobile-offline-arrow { font-size: 1.3rem; }
  .mobile-route-body .site-footer { display: none; }
}

@media (min-width: 781px) {
  .mobile-route-body > * { display: none; }
}
