/* BOW + Kakey Mae mobile quality layer — v13.18 */
html{max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%}
body{max-width:100%;overflow-x:clip}
img,picture,video,canvas,svg,iframe{max-width:100%}
img,video{height:auto}
input,select,textarea,button{max-width:100%}
@media(max-width:860px){
 :root{--mobile-gutter:clamp(16px,4.5vw,24px)}
 body{overflow-wrap:anywhere}main,section,footer{min-width:0}
 .wrap,.container,.inner,.content,.section-inner{width:100%!important;max-width:100%!important;padding-left:var(--mobile-gutter)!important;padding-right:var(--mobile-gutter)!important}
 h1{font-size:clamp(2.25rem,11vw,4rem)!important;line-height:.96!important}h2{font-size:clamp(1.85rem,8vw,3rem)!important;line-height:1!important}h3{line-height:1.12}p,li{line-height:1.62}
 a,button,input,select,textarea,summary{min-height:44px}button,.button,[role="button"],input[type="submit"],input[type="button"]{display:inline-flex;align-items:center;justify-content:center}
 input,select,textarea{font-size:16px!important}textarea{min-height:130px}label,form,form>*,fieldset>*{min-width:0}
 .grid,.cards,.card-grid,.package-grid,.packages-grid,.product-grid,.products-grid,.gallery-grid,.form-grid,.field-grid,.fields,.split,.columns,.two-column,.three-column,.story-teaser,.faq-grid,.network-process{grid-template-columns:minmax(0,1fr)!important}
 .actions,.button-row,.cta-row,.form-actions{flex-wrap:wrap;gap:12px!important}.actions>.button,.button-row>.button,.cta-row>.button,.form-actions>button{width:100%}
 table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 dialog{max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;margin:auto!important;overflow:auto}
 .site-header{min-height:72px;height:auto!important}.site-header .wrap,.site-header .container{min-height:72px;padding-top:10px!important;padding-bottom:10px!important}.site-header img,.site-header svg{max-height:52px;width:auto}
 .primary-nav,.navigation{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.primary-nav::-webkit-scrollbar,.navigation::-webkit-scrollbar{display:none}.primary-nav a,.navigation a{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
 .hero,.page-intro,.network-hero{min-height:0!important;padding-top:clamp(34px,8vw,64px)!important;padding-bottom:clamp(36px,9vw,70px)!important}
 .hero img,.hero-image img,.interior img,.story-teaser img{width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important}
 section,.section,.statement,.interior,.packages,.bundles,.destinations,.process,.request,.payment-preview,.legal,.recruiting-section,.shop-section,.cocktail-menu-section{padding-top:clamp(38px,9vw,64px)!important;padding-bottom:clamp(38px,9vw,64px)!important}
 .site-footer,.experience-footer{padding-top:44px!important;padding-bottom:32px!important}.site-footer .wrap,.experience-footer .wrap{display:grid!important;grid-template-columns:1fr!important;gap:24px!important}
}

@media(max-width:560px){
 :root{--mobile-gutter:16px}.site-header{position:relative!important}.site-header .wrap,.site-header .container{gap:10px!important}
 .primary-nav,.navigation{margin-left:-16px!important;margin-right:-16px!important;padding-left:16px!important;padding-right:16px!important}
 .network-form,.event-quote-form,#party-bus-form{padding:18px!important;border-radius:18px!important}.network-search{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
 .cocktail-menu-section img,.shop-section img,.product-card img,.catalog-card img{aspect-ratio:4/3;object-fit:cover!important}.hero-image{overflow:hidden!important;border-radius:0!important}.hero-image img{background:#050505}
}
@media(hover:none) and (pointer:coarse){a,button,[role="button"],input[type="checkbox"],input[type="radio"],select{touch-action:manipulation}}

/* BOW unified phone header and Party Bus coach correction */
@media(max-width:760px){
 .site-header:has(.work-menu,.work-menu-static){height:auto!important;min-height:0!important;position:relative!important}
 .site-header:has(.work-menu,.work-menu-static) .header-inner{width:100%!important;max-width:100%!important;min-height:0!important;padding:12px 16px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;align-items:center!important;gap:11px 12px!important}
 .site-header:has(.work-menu,.work-menu-static) .brand{grid-column:1!important;grid-row:1!important;min-width:0!important;display:flex!important;align-items:center!important;gap:9px!important;font-size:clamp(18px,5.8vw,27px)!important;line-height:.9!important;white-space:nowrap!important}
 .site-header:has(.work-menu,.work-menu-static) .brand img{width:clamp(54px,16vw,72px)!important;height:clamp(48px,14vw,64px)!important;max-height:none!important;object-fit:contain!important;flex:0 0 auto!important}
 .site-header:has(.work-menu,.work-menu-static) .brand-bottom{font-size:.46em!important;letter-spacing:.28em!important;margin-top:8px!important}
 .site-header:has(.work-menu,.work-menu-static) .primary-nav{grid-column:1/-1!important;grid-row:2!important;width:100%!important;margin:0!important;padding:0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:visible!important;border:1px solid #ffffff26!important;border-radius:8px!important;background:#ffffff05!important}
 .site-header:has(.work-menu,.work-menu-static) .primary-nav a{min-width:0!important;min-height:46px!important;padding:9px 5px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:normal!important;border:0!important;border-right:1px solid #ffffff20!important;font-size:clamp(10px,2.9vw,13px)!important;line-height:1.15!important;letter-spacing:.08em!important}
 .site-header:has(.work-menu,.work-menu-static) .primary-nav a:last-child{border-right:0!important}.site-header:has(.work-menu,.work-menu-static) .primary-nav a.active,.site-header:has(.work-menu,.work-menu-static) .primary-nav a[aria-current="page"]{background:transparent!important;color:#fff!important;box-shadow:none!important;font-size:clamp(10px,2.9vw,13px)!important;font-weight:inherit!important}
 .site-header:has(.work-menu,.work-menu-static) .work-menu,.site-header:has(.work-menu,.work-menu-static) .work-menu-static{grid-column:2!important;grid-row:1!important;width:auto!important;max-width:132px!important;min-height:44px!important;margin:0!important;justify-self:end!important;border:1px solid #ffffff35!important;border-radius:7px!important;background:#ffffff08!important;color:#fff!important;font-size:13px!important;white-space:nowrap!important}
 .site-header:has(.work-menu,.work-menu-static) .work-menu{padding:10px 11px!important}.site-header:has(.work-menu,.work-menu-static) .work-menu-static summary{min-height:44px!important;padding:10px 11px!important;display:flex!important;align-items:center!important;justify-content:center!important}
 .site-header:has(.work-menu,.work-menu-static) .work-menu-panel{z-index:100!important;right:0!important;left:auto!important;min-width:230px!important}
 .hero .hero-image{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;overflow:visible!important;background:#050505!important}
 .hero .hero-image>img{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/9!important;object-fit:contain!important;object-position:center!important;background:#050505!important}
 .hero .hero-image figcaption{position:static!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;padding:14px 16px!important}
}
@media(max-width:390px){
 .site-header:has(.work-menu,.work-menu-static) .header-inner{padding:10px 12px!important;gap:9px!important}.site-header:has(.work-menu,.work-menu-static) .brand img{width:50px!important;height:45px!important}.site-header:has(.work-menu,.work-menu-static) .brand{font-size:17px!important}.site-header:has(.work-menu,.work-menu-static) .work-menu,.site-header:has(.work-menu,.work-menu-static) .work-menu-static{max-width:112px!important;font-size:11px!important}
}

/* Complete customer imagery on phones: no center-cropping of product photography. */
@media(max-width:760px){
 .visual-options,.gallery,.flavor-grid,.cocktail-menu-section,.shop-section{align-items:start!important}
 .visual-options>*,.gallery>*,.flavor-card,.product-card,.catalog-card{height:auto!important;min-height:0!important;overflow:visible!important}
 .visual-options img,.gallery img,.flavor-card .flavor-photo,.cocktail-menu-section img,.shop-section img,.product-card img,.catalog-card img{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}
 .visual-options img,.flavor-card .flavor-photo{background:#f5f2ec!important}
}

/* BOW immutable mobile header geometry — v13.8
   Main routes use a button while Party Bus uses details/summary. These final
   cascade rules give both the exact same visible box model. */
@media (max-width:760px){
 .site-header:has(.work-menu,.work-menu-static){height:132px!important;min-height:132px!important;max-height:132px!important;box-sizing:border-box!important;overflow:visible!important}
 .site-header:has(.work-menu,.work-menu-static) .header-inner{height:132px!important;min-height:132px!important;max-height:132px!important;box-sizing:border-box!important;padding:8px 16px!important;gap:10px 12px!important;grid-template-columns:minmax(0,1fr) 118px!important;grid-template-rows:60px 46px!important}
 .site-header:has(.work-menu,.work-menu-static) .brand{width:auto!important;height:60px!important;margin:0!important;padding:0!important;align-self:center!important;transform:none!important;font-size:clamp(18px,5.8vw,27px)!important}
 .site-header:has(.work-menu,.work-menu-static) .brand img{width:54px!important;height:52px!important;max-width:54px!important;max-height:52px!important;margin:0!important;object-fit:contain!important;object-position:center!important}
 .site-header:has(.work-menu,.work-menu-static) .primary-nav{height:46px!important;min-height:46px!important;max-height:46px!important;align-self:stretch!important;box-sizing:border-box!important}
 .site-header:has(.work-menu,.work-menu-static) .primary-nav a{height:44px!important;min-height:44px!important;max-height:44px!important;box-sizing:border-box!important;margin:0!important;padding:9px 5px!important;text-decoration:none!important;font-size:clamp(10px,2.9vw,13px)!important;line-height:1.15!important;font-weight:inherit!important}
 .site-header:has(.work-menu,.work-menu-static) .work-menu,
 .site-header:has(.work-menu,.work-menu-static) .work-menu-static{width:118px!important;min-width:118px!important;max-width:118px!important;height:44px!important;min-height:44px!important;max-height:44px!important;box-sizing:border-box!important;align-self:center!important;transform:none!important;font-size:13px!important}
 .site-header:has(.work-menu,.work-menu-static) .work-menu{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:0 10px!important}
 .site-header:has(.work-menu,.work-menu-static) .work-menu svg{width:14px!important;height:14px!important;flex:0 0 14px!important}
 .site-header:has(.work-menu,.work-menu-static) .work-menu-static summary{width:116px!important;height:42px!important;min-height:42px!important;max-height:42px!important;box-sizing:border-box!important;padding:0 10px!important;list-style:none!important;gap:6px!important}
 .site-header:has(.work-menu,.work-menu-static) .work-menu-static summary::-webkit-details-marker{display:none!important}
 .site-header:has(.work-menu,.work-menu-static) .work-menu-static summary::after{content:'⌄';display:inline-block;font-size:14px;line-height:1;transform:translateY(-1px)}
}
@media (max-width:390px){
 .site-header:has(.work-menu,.work-menu-static) .header-inner{height:132px!important;min-height:132px!important;max-height:132px!important;padding:8px 12px!important;gap:10px 8px!important;grid-template-columns:minmax(0,1fr) 112px!important;grid-template-rows:60px 46px!important}
 .site-header:has(.work-menu,.work-menu-static) .brand{height:60px!important;font-size:17px!important}
 .site-header:has(.work-menu,.work-menu-static) .brand img{width:50px!important;height:48px!important;max-width:50px!important;max-height:48px!important}
 .site-header:has(.work-menu,.work-menu-static) .work-menu,
 .site-header:has(.work-menu,.work-menu-static) .work-menu-static{width:112px!important;min-width:112px!important;max-width:112px!important;height:44px!important;max-height:44px!important;font-size:11px!important}
 .site-header:has(.work-menu,.work-menu-static) .work-menu-static summary{width:110px!important;height:42px!important;max-height:42px!important}
}

/* Identical active-route indicator on every BOW mobile route. */
@media (max-width:760px){
 .site-header:has(.work-menu,.work-menu-static) .primary-nav a[aria-current="page"],
 .site-header:has(.work-menu,.work-menu-static) .primary-nav a.active{
  border-bottom:2px solid #fff!important;
 }
}
