/* Responsive refinements are isolated so the finished desktop composition stays intact. */
.mobile-scene-frame { position: relative; min-width: 0; }
.mobile-scene-arrows { display: none; }

@media (max-width: 700px) {
  .mobile-scene-arrows { position: absolute; z-index: 5; inset: auto 12px 14px; display: flex; justify-content: space-between; pointer-events: none; }
  .mobile-scene-arrows button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #ebd19ba8; border-radius: 50%; color: #fff1ce; background: #171411dc; box-shadow: 0 3px 12px #0004; pointer-events: auto; cursor: pointer; }
  .mobile-scene-arrows button:disabled { opacity: .3; cursor: default; }
  .mobile-scene-arrows button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
  .mobile-scene-arrows svg { width: 22px; height: 22px; }
  .reference-landing .hero .mobile-scene-arrows { top: 59%; bottom: auto; }
  .reference-landing .hero { touch-action: pan-y pinch-zoom; }
  .reference-landing .hero-art { object-position: var(--hero-pan, 64%) center; }
  .food-catalogue-viewport { border-radius: 0; }
  .spirits-hotspot.is-discovery, .food-hotspot.is-discovery { z-index: 3; }
  .spirits-hotspot.is-discovery .spirits-lift { animation: mobileBottleShine 3s ease-in-out both; }
  .food-hotspot.is-discovery .food-hotspot-preview { animation: mobileFoodShine 3s ease-in-out both; }
}
@keyframes mobileBottleShine {
  0%, 100% { opacity: 0; transform: translateY(0) scale(1); filter: brightness(1); }
  18%, 78% { opacity: 1; transform: translateY(-9px) scale(1.07); filter: brightness(1.12) drop-shadow(0 0 6px #e7ba6570); }
  45% { opacity: 1; transform: translateY(-9px) scale(1.07); filter: brightness(1.3) drop-shadow(0 0 9px #e7ba6580); }
}
@keyframes mobileFoodShine {
  0%, 100% { opacity: 0; transform: translateY(0) scale(1); filter: brightness(1); }
  18%, 78% { opacity: 1; transform: translateY(-4px) scale(1.18); filter: brightness(1.1) drop-shadow(0 3px 5px #b78b5550); }
  45% { opacity: 1; transform: translateY(-4px) scale(1.18); filter: brightness(1.2); }
}
@media (prefers-reduced-motion: reduce) {
  .spirits-hotspot.is-discovery .spirits-lift, .food-hotspot.is-discovery .food-hotspot-preview { animation: none; }
}
.hero > picture, .contact-partnership > picture, .food-catalogue > picture { display: contents; }
.food-catalogue > picture > img { width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 1080px) {
  html { scroll-padding-top: 88px; }
  main section[id], #brands, #shipments, .global-footer { scroll-margin-top: 0; }
  .reference-landing .site-header { padding-top: max(6px, env(safe-area-inset-top)); }
  .mobile-menu {
    height: 100vh;
    height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
    align-content: start;
    padding: max(106px, calc(env(safe-area-inset-top) + 96px)) max(24px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom));
    visibility: hidden;
    background: #171411fa;
    -webkit-backdrop-filter: blur(18px);
  }
  .mobile-menu.is-open { visibility: visible; }
  .mobile-menu > a:not(.mobile-cta) { min-height: 54px; font: 400 25px/1.3 Georgia, serif; letter-spacing: 0; }
  .mobile-menu .language-switch { margin: 20px 0 8px; }
  .mobile-menu .language-switch button { min-width: 64px; min-height: 44px; padding: 8px 16px; }
  .mobile-menu .mobile-cta { min-height: 48px; padding: 12px 20px; line-height: 1.4; }
  .reference-landing .menu-toggle { flex-shrink: 0; }
  .shipment-controls button, .food-roll-toggle, .spirits-motion-toggle,
  .hero-motion-toggle, .footer-wechat button, .wechat-close { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
  .shipment-controls svg, .food-roll-toggle svg, .spirits-motion-toggle svg,
  .hero-motion-toggle svg, .footer-wechat button svg { width: 18px; height: 18px; }
  .footer-contact-link { min-height: 44px; margin-top: 2px; }
  .footer-base-links a { display: inline-flex; align-items: center; min-height: 44px; }
  .footer-wordmark { display: inline-block; min-height: 44px; }
  .footer-contact-link, .footer-office address { overflow-wrap: anywhere; }
  .button, .hero-explore { white-space: normal; line-height: 1.4; text-align: center; }
  .button svg, .hero-explore svg, .shipment-details svg { flex-shrink: 0; }
  .section-head, .food-heading, .shipment-layout, .beer-panel, .sku-intro { min-width: 0; }
  .section-head > *, .food-heading > *, .shipment-layout > *, .beer-panel > * { min-width: 0; }
  .spirits-tooltip { max-height: calc(100dvh - 112px); overflow-y: auto; }
  .spirits-tooltip > a, .spirits-enquiry a { min-height: 44px; }
  .enquiry-dialog, .wechat-dialog { max-height: calc(100dvh - max(32px, env(safe-area-inset-top) + env(safe-area-inset-bottom))); overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
  .motion-ready .reveal { transform: translateY(14px); transition-duration: .4s; }
  .motion-ready .reveal.is-visible { transform: none; }
}

@media (min-width: 701px) and (max-width: 1080px) {
  .beverages .product-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-panel { height: 290px; }
  .product-panel-featured { height: 340px; }
  .product-panel:nth-child(2) { height: 340px; }
  .journey { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .journey-step { min-height: 200px; padding: 24px; }
  .journey-step.has-next::before, .journey-step.has-next::after { display: none; }
  .work h2 { font-size: 52px; line-height: 1.08; }
}

@media (min-width: 901px) and (max-width: 1080px) {
  .stats-grid { right: 6%; left: 18%; }
  .stats-value { font-size: 46px; }
  .stats-plus { font-size: 26px; }
  .stats-origin { display: none; }
}

@media (max-width: 700px) {
  html { scroll-padding-top: calc(80px + env(safe-area-inset-top)); }
  .section { padding: 48px 20px; }
  .section-head { gap: 22px; margin-bottom: 28px; }
  .section-head p, .food-heading p { font-size: 16px; line-height: 1.65; }
  .section-kicker, .eyebrow { letter-spacing: 0; line-height: 1.5; }
  .reference-landing .site-header { min-height: 74px; padding-right: max(16px, env(safe-area-inset-right)); padding-left: max(16px, env(safe-area-inset-left)); }
  .reference-logo { width: 192px; height: 60px; }
  .company-lockup { gap: 8px; }
  .company-emblem { width: 48px; height: 54px; }
  .company-wordmark { gap: 4px; }
  .company-name { font-size: 21px; }
  .company-name-en { font-size: 10px; }
  .reference-landing .hero { min-height: 680px; height: min(760px, max(680px, 94svh)); }
  .reference-landing .hero-content { top: max(102px, calc(env(safe-area-inset-top) + 94px)); padding: 0 20px; }
  .reference-landing .hero h1 { font-size: 32px; line-height: 1.08; text-wrap: balance; }
  .reference-landing .hero h1 span:last-child { font-size: 30px; }
  .hero-origin { margin-bottom: 12px; }
  .hero-categories { gap: 0 8px; margin-top: 12px; font-size: 14px; line-height: 1.5; }
  .hero-categories a { display: inline-flex; align-items: center; min-height: 44px; }
  .hero-pillars { margin-top: 10px; }
  .hero-pillars a { min-height: 72px; font-size: 11px; line-height: 1.35; }
  .hero-bottom { right: 20px; left: 20px; bottom: max(20px, env(safe-area-inset-bottom)); gap: 12px; }
  .hero-values { font-size: 10px; gap: 5px 9px; white-space: normal; line-height: 1.5; }
  .hero-explore { min-height: 48px; padding: 10px 16px; gap: 14px; }
  .hero-motion-toggle { bottom: 120px; }
  .beverages .product-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-panel { height: 256px; }
  .product-panel-featured { grid-column: 1 / -1; height: 310px; }
  .product-panel:last-child { grid-column: 1 / -1; height: 220px; }
  .product-panel:last-child img { object-position: center 60%; }
  .product-panel-copy { left: 16px; right: 16px; bottom: 18px; }
  .product-panel-copy h2 { font-size: 18px; }
  .product-panel-copy p { font-size: 13px; line-height: 1.45; }
  .product-panel-arrow { width: 44px; height: 44px; right: 12px; top: 12px; }
  .product-panel-arrow svg { width: 18px; height: 18px; }
  .stats-scene { padding: 28px 20px 20px; }
  .stats-heading h2 { font-size: 34px; }
  .stats-heading > span { font-size: 11px; line-height: 1.6; }
  .stats-grid { margin-top: max(148px, calc(100% / 3 + 28px)); gap: 0; }
  .stats-metric { padding: 20px 8px 16px; grid-template-rows: 28px 1fr minmax(30px, auto); }
  .stats-metric:nth-child(n+3) { border-top: 1px solid #aa823e45; }
  .stats-metric dt span { font-size: 10px; line-height: 1.4; align-self: center; }
  .stats-value { font-size: 44px; }
  .stats-metric dd p { min-height: 32px; margin: 6px 0 12px; font-size: 11px; }
  .stats-index { font-size: 10px; }
  .beverages .shipment-showcase { margin: 0 20px; padding-top: 40px; border-top: 0; }
  .beverages .shipment-layout { gap: 24px; }
  .beverages .shipment-heading { gap: 18px; }
  .beverages .shipment-heading h3 { font-size: 32px; }
  .shipment-heading > p { font-size: 16px; line-height: 1.65; }
  .shipment-details { gap: 12px; }
  .shipment-details li { font-size: 14px; }
  .shipment-enquiry { min-height: 48px; padding: 10px 0; font-size: 14px; }
  .shipment-gallery { aspect-ratio: 1.15; }
  .shipment-item { width: 58%; top: 14px; }
  .shipment-item[data-position="previous"] { transform: translateX(-106%) translateY(18px) scale(.84); }
  .shipment-item[data-position="next"] { transform: translateX(6%) translateY(18px) scale(.84); }
  .shipment-gallery-caption { flex-wrap: wrap; align-items: center; padding: 14px 0; }
  .shipment-current { flex: 1 1 150px; }
  .shipment-controls { margin-left: auto; }
  .shipment-thumbnails { gap: 5px; padding-bottom: 4px; }
  .shipment-thumbnails button { min-height: 44px; max-width: 64px; padding: 3px; }
  .beer-section { padding-top: 44px; }
  .beer-panel { border-radius: 8px; }
  .beer-copy { padding: 24px 20px; }
  .beer-copy h2 { font-size: 30px; line-height: 1.15; }
  .beer-media { padding: 24px 16px; min-height: 0; }
  .beer-shelf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
  .beer-product-image { height: 150px; }
  .beer-can-crop { transform: none; }
  .crop-psb img { position: static; width: 100%; height: 100%; object-fit: cover; object-position: 50.5% center; }
  .beer-shelf-grid figcaption { font-size: 12px; line-height: 1.45; }
  .beer-range-note, .beer-copy .legal-note { font-size: 12px !important; line-height: 1.6; }
  .sku-showcase { padding: 24px 18px; border-radius: 8px; }
  .sku-intro { gap: 14px; }
  .sku-intro h3 { font-size: 27px; line-height: 1.18; }
  .sku-intro p:not(.eyebrow) { font-size: 15px; line-height: 1.6; }
  .sku-rail { grid-template-columns: repeat(9, 210px); overscroll-behavior-x: contain; scroll-padding-inline: 2px; scroll-snap-type: x proximity; }
  .sku-item { border-radius: 8px; }
  .sku-item:hover { transform: none; }
  .sku-item h4, .sku-item p { line-height: 1.5; }
  .spirits-enquiry p { font-size: 12px; }
  .spirits-viewport, .food-catalogue-viewport { overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
  .spirits-scene { min-width: 880px; margin-top: calc(max(100cqw, 880px) * -.02486187845); }
  .spirits-copy { width: min(310px, calc(100vw - 68px)); }
  .spirits-copy h2 { font-size: 32px; }
  .spirits-summary { font-size: 14px; }
  .food-product-tooltip { padding: 14px 16px; }
  .food-product-tooltip > strong { font-size: 19px; }
  .work h2 { font-size: 38px; line-height: 1.08; }
  .journey { grid-template-columns: 1fr; gap: 0; }
  .journey-step { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 8px 14px; min-height: 0; padding: 22px 0; background: transparent; border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; }
  .journey-step > span { grid-row: 1 / 3; padding-top: 3px; letter-spacing: 0; }
  .journey-step h3 { margin: 0; font-size: 15px; line-height: 1.4; letter-spacing: 0; }
  .journey-step p { grid-column: 2; font-size: 15px; line-height: 1.6; }
  .journey-step.has-next::before, .journey-step.has-next::after { display: none; }
  .food-section { padding: 44px 20px; }
  .food-heading h2 { font-size: 30px; }
  .food-heading { margin-bottom: 24px; }
  .food-catalogue { min-width: 960px; }
  .food-brand-logos { margin-inline: -20px; }
  .food-brand-group { gap: 28px; padding-right: 28px; }
  .food-brand-logo { width: 124px; flex-basis: 124px; height: 70px; }
  .food-enquiry p { font-size: 12px; }
  .food-enquiry .button { width: 100%; padding: 12px 16px; }
  .final-cta.contact-partnership { min-height: 0; }
  .contact-artwork { object-position: 44% center; }
  .contact-partnership .final-content { padding: 44px 0 40px; }
  .contact-partnership h2 { font-size: 38px; line-height: 1.1; }
  .contact-partnership .hero-actions { align-items: stretch; }
  .contact-partnership .button { min-width: 0; width: 100%; padding: 12px 16px; min-height: 48px; font-size: 12px; }
  .contact-values { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 0; }
  .contact-values li { padding: 0 14px; }
  .contact-values li:nth-child(2) { border-right: 0; }
  .contact-values span { font-size: 11px; line-height: 1.4; }
  .contact-signature p { font-size: 22px; }
  .footer-destination > div { left: 20px; right: 20px; }
  .footer-office-grid { padding: 28px 20px; gap: 22px; }
  .footer-office address { font-size: 14px; }
  .footer-contact-link { font-size: 14px; }
  .footer-social { min-height: 88px; font-size: 12px; }
  .footer-social small { font-size: 10px; }
  .footer-base { padding: 24px 20px; }
  .footer-base-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
  .footer-disclaimer { padding: 0 20px max(24px, env(safe-area-inset-bottom)); font-size: 12px; }
  .enquiry-heading h2 { font-size: 26px; }
  .enquiry-review-actions { gap: 10px; }
  .enquiry-review-actions > .enquiry-icon { flex: 0 0 44px; }
  .enquiry-review-actions > :not(.enquiry-icon) { flex: 1 1 auto; white-space: normal; }
  .enquiry-dialog { padding: 0; }
  html:lang(ja) .reference-landing .hero h1, html:lang(zh) .reference-landing .hero h1 { font-size: 28px; line-height: 1.35; }
  html:lang(ja) .reference-landing .hero h1 span:last-child, html:lang(zh) .reference-landing .hero h1 span:last-child { font-size: 27px; }
  html:lang(ja) .hero-pillars, html:lang(zh) .hero-pillars { line-height: 1.5; }
}

@media (max-width: 360px) {
  .reference-logo { width: 176px; }
  .company-name { font-size: 19px; }
  .reference-landing .hero h1 { font-size: 29px; }
  .reference-landing .hero h1 span:last-child { font-size: 28px; }
  .hero-categories { font-size: 13px; gap: 0 6px; }
  .hero-values { font-size: 9px; }
  .product-panel { height: 245px; }
  .product-panel-copy p { font-size: 12px; }
  .stats-scene { padding-right: 12px; padding-left: 12px; }
  .stats-value { font-size: 38px; }
  .stats-metric { padding-right: 6px; padding-left: 6px; }
  .stats-metric dd p { font-size: 10px; }
  .shipment-thumbnails { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .shipment-thumbnails button { max-width: 54px; }
  .beer-copy { padding: 24px 16px; }
  .beer-copy h2, .food-heading h2 { font-size: 27px; }
  .work h2 { font-size: 34px; }
  .food-brands-heading h3 { font-size: 23px; }
  .contact-partnership h2 { font-size: 34px; }
  html:lang(ja) .enquiry-heading h2 { font-size: 22px; line-height: 1.35; }
}

@media (max-height: 600px) and (max-width: 1080px) {
  .mobile-menu { padding-top: max(90px, calc(env(safe-area-inset-top) + 80px)); }
  .mobile-menu > a:not(.mobile-cta) { min-height: 48px; font-size: 22px; padding: 10px 0; }
}

@media (hover: none) {
  .product-panel:hover img, .button:hover, .beer-shelf-grid figure:hover img { transform: none; }
}
