/* Shared page structure and the finished shop. */
.desktop-nav a[aria-current="page"],.mobile-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px}
.hero-copy .button-row{flex-wrap:wrap;gap:12px}
.hero-copy .button-row .button{min-width:132px;justify-content:center}
.hero-copy .button.outline{border:1px solid #f8f1eb88;color:var(--cream);background:transparent}
.hero-copy .button.outline:hover{background:#f8f1eb12}
.location-heading{width:min(1680px,calc(100% - 96px));margin-bottom:36px}
.location-layout{width:min(1800px,calc(100% - 64px));grid-template-columns:minmax(320px,.85fr) minmax(0,1.75fr);gap:36px;align-items:center}
.location-board{grid-template-columns:minmax(0,1fr) minmax(250px,300px);gap:28px;align-items:center}
.trailer-stage{width:100%;height:auto;min-width:0;padding:0;margin:0;align-self:center}
.trailer-cut{width:135%;height:auto;margin:0 0 0 -30%;overflow:visible;aspect-ratio:2/1;filter:none}
.trailer-cut img{position:static;width:100%;height:auto;max-width:none;clip-path:none;filter:none;mix-blend-mode:normal;transform:none;border-radius:20px}
.location-heading h2{max-width:none}
/* Bring the homepage menu closer to the location section. */
body[data-page="home"] #find-us{padding-bottom:56px}
body[data-page="home"] #menu{padding-top:56px}
@media(max-width:760px){body[data-page="home"] #find-us{padding-bottom:40px}body[data-page="home"] #menu{padding-top:40px}}
.location-info-card{padding:28px 24px}
.location-info-card h3{font-size:2.4rem}
.location-info-card .location-hours{font-size:.9rem}
.menu-item>div{min-width:0;flex:1}
.menu-sidebar{display:grid;gap:32px;min-width:0}
.menu-category-preview{grid-column:1/-1;padding:32px 0;border-bottom:1px solid var(--line);min-width:0}
.menu-category-preview .eyebrow{margin:0 0 12px}
.menu-category-preview h3{font-family:var(--hand);font-size:clamp(1.8rem,3vw,2.2rem);line-height:1.2;color:var(--wine);margin:0 0 14px}
.menu-category-preview>p:not(.eyebrow){font-size:1rem;line-height:1.8;max-width:54ch}
.menu-category-preview .food-coming-soon{color:var(--wine);font-weight:600;margin-top:18px}
.food-partner{padding:28px;border:1px solid var(--pink);border-radius:20px;color:var(--ink)}
.food-partner>.eyebrow{margin:0 0 14px}
.food-partner h3{font-family:var(--hand);font-size:2rem;line-height:1.2;color:var(--wine);margin:0 0 12px}
.food-partner p:not(.eyebrow){font-size:1rem;line-height:1.8;margin:0 0 18px}
.food-partner .food-partner-chefs{color:var(--wine);font-weight:600}
.food-partner .text-link{font-size:.9375rem;max-width:100%}
@media(max-width:760px){.food-partner{padding:24px}.menu-sidebar{gap:26px}}
.menu-item .customize-drink{min-height:44px;margin-top:8px}
.menu-item.is-sold-out h3,.menu-item.is-sold-out .price{color:#795361}
.menu-item .customize-drink.stock-unavailable{display:inline-flex;align-items:center;min-height:38px;padding:6px 15px;border:1px solid #d5aaac;border-radius:24px;background:var(--pink-light);color:var(--wine);opacity:1;cursor:not-allowed;-webkit-text-fill-color:var(--wine)}
.menu-stock-hint{font-size:.875rem;line-height:1.6;color:var(--muted);margin:10px 0}
.cart-stock-notice{display:inline-block;font-size:.875rem;line-height:1.6;color:var(--wine);background:var(--pink-light);border-radius:12px;padding:8px 12px;margin:12px 0 0}
.temperature-choice:has(input:disabled){color:var(--muted);cursor:not-allowed}
#sip-link[aria-disabled="true"]{color:#795361;cursor:not-allowed}
.menu-item .menu-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;margin:0 0 18px;background:var(--pink-light)}
.menu-item p.drink-formats{font-size:.875rem;color:var(--wine);line-height:1.6;margin-top:12px}
.menu-order-tools.pickup-paused{background:#f0d5d266;border:1px solid var(--pink);border-radius:16px;padding:16px 20px;margin:18px 0 8px}
.menu-order-tools .menu-order-headline{font-size:.9375rem;color:var(--wine);font-weight:600;max-width:none}
.menu-order-tools .menu-order-detail{font-size:.875rem;max-width:52ch;line-height:1.65;margin-top:4px}
.cart-dock-label{display:grid;text-align:left;gap:2px}
.cart-dock-status{font-size:.875rem;font-weight:400;color:var(--pink-light)}
.event-calendar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:16px 0 4px}
.event-calendar summary{color:var(--wine);font-size:.9375rem;cursor:pointer;padding:13px 0;min-height:44px}
.calendar-options{display:grid;gap:4px;padding-bottom:10px}
.calendar-options a{color:var(--wine);font-size:.875rem;line-height:1.6;min-height:44px;padding:8px 0;text-decoration:underline;text-underline-offset:4px}
.booking-extra-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:6px 0 24px}
.booking-extra-details summary{color:var(--wine);cursor:pointer;min-height:48px;padding:16px 0;font-size:.9375rem}
.booking-extra-details>p{font-size:.875rem;color:var(--muted);margin-bottom:20px;line-height:1.7}
.booking-extra-details .form-grid{margin-bottom:22px}
.menu-category-preview.food-introduction{padding:20px 0 12px;border-bottom:0}
.food-introduction h3{margin-bottom:8px}
.food-introduction>p:not(.eyebrow){font-size:.9375rem;line-height:1.7}
.food-introduction .food-coming-soon{margin-top:10px;font-size:.875rem!important;font-weight:400;color:var(--muted)}
.menu-item.food-menu-item{display:block;padding:24px 0}
.food-menu-item h3{font-size:1.3rem;line-height:1.35}
.food-menu-item p{font-size:1rem;line-height:1.75}
.food-menu-item .food-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;margin:0 0 16px}
.food-menu-item .food-preview-label{display:inline-block;color:var(--wine);font-size:.875rem;margin-top:14px}
.food-menu-item .food-price{display:inline-block;font-size:1rem;margin-top:14px}
.food-menu-item .add-food,.menu-item .customize-drink{display:flex;width:fit-content;max-width:100%;min-height:46px;margin-top:14px}
.food-quantity-controls{display:flex;align-items:center;gap:8px}
.food-quantity-button{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--cream);color:var(--wine);font:inherit;font-size:1.25rem;cursor:pointer}
.food-quantity-button:disabled{opacity:.4;cursor:default}
.food-quantity-button:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.food-quantity-value{min-width:22px;text-align:center;font-variant-numeric:tabular-nums}
.food-cart-line .order-line-controls{align-items:center;flex-wrap:wrap}
.food-cart-line .cart-price-pending{color:var(--wine);font-size:.875rem}
/* Small brand interactions never affect cart or checkout. */
.star-field{z-index:2}
.playful-star{border:0;padding:0;display:inline-grid;place-items:center;background:transparent;pointer-events:auto;touch-action:none;cursor:grab;animation:none!important;line-height:1;font-family:inherit}
.star-field .playful-star{width:56px;height:56px;z-index:2;opacity:.72}
.playful-star:focus-visible{outline:2px dashed currentColor;outline-offset:5px;border-radius:50%}
.playful-star.is-grabbing{cursor:grabbing}
.spin-art,.spin-kick{display:block;line-height:1;pointer-events:none}
.hero-star .spin-art{animation:star-turn 42s linear infinite}
.star-b .spin-art,.star-e .spin-art{animation-direction:reverse}
.star-c .spin-art{animation-duration:31s}.star-d .spin-art{animation-duration:50s}
.motion-paused .spin-art,.hero.is-offscreen .spin-art,.tab-hidden .spin-art{animation-play-state:paused}
.tiny-star.playful-star{position:relative;color:#a54e68;font-size:1em;width:1.15em;height:1.15em;vertical-align:-.12em;margin-inline:2px}
.tiny-star.playful-star::before{content:'';position:absolute;inset:-10px}
.secret-sparkle{position:absolute;left:50%;top:50%;font-size:14px;pointer-events:none;animation:secret-spark .6s ease-out both}
@keyframes secret-spark{from{opacity:.9;transform:translate(-50%,-50%) scale(.6)}to{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.1)}}
.footer-whisper{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;margin-left:auto;max-width:100%}
.footer-whisper>p{color:var(--wine);font-family:var(--hand);font-size:1.35rem;line-height:1.3}
.secret-mascot{position:relative;flex:none;width:86px;height:108px;border:0;border-radius:12px;background:transparent;color:var(--wine);padding:0;cursor:pointer}
.secret-mascot:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
.footer-mascot-art{display:block;width:100%;height:100%;overflow:hidden;mix-blend-mode:multiply;transform-origin:50% 65%;pointer-events:none}
.secret-mascot.is-nodding .footer-mascot-art{animation:secret-nod .55s ease-in-out}
@keyframes secret-nod{0%,100%{transform:rotate(0)}35%{transform:rotate(-4deg)}70%{transform:rotate(2deg)}}
.secret-whisper{position:absolute;bottom:calc(100% - 5px);left:0;max-width:min(280px,80vw);padding:12px 18px;background:var(--pink-light);border:1px solid var(--pink);border-radius:18px 18px 18px 3px;color:var(--wine);font-size:.9375rem;line-height:1.5;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s;pointer-events:none}
.secret-whisper.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:760px){.menu-order-tools.pickup-paused{padding:14px 16px}.star-field .playful-star{width:44px;height:44px}.star-field .star-a{left:3%;top:11%}.star-field .star-f{display:grid;right:20%;bottom:5%;font-size:15px}.footer-whisper{gap:8px}.footer-whisper>p{font-size:1.1rem}.secret-mascot{width:76px;height:96px}.booking-extra-details summary .optional{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.secret-sparkle{display:none}.secret-whisper{transition:none}.hero-star .spin-art,.secret-mascot.is-nodding .footer-mascot-art{animation:none}}
.motion-paused .secret-sparkle{display:none}.motion-paused .secret-whisper{transition:none}.motion-paused .secret-mascot.is-nodding .footer-mascot-art{animation:none}
.drink-dialog .drink-photo{width:100%;height:auto;max-height:300px;object-fit:contain;border-radius:12px;margin-bottom:18px}
.order-section{border-radius:0;margin:0;padding-block:72px;border-bottom:0}
.order-inner{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px}
.shop-nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.shop-nav a{padding:12px 18px;border:1px solid #f8f1eb66;border-radius:50px;color:var(--cream);font-size:.9rem;min-height:48px}
.shop-nav a:hover{background:#f8f1eb15}
.order-review{min-height:200px}
.order-review h3{font-family:var(--hand);font-size:2.2rem;line-height:1.2}
.order-inner .order-review .button{background:var(--wine);color:var(--cream);border-color:var(--wine)}
.order-inner .order-review .button:disabled{opacity:.65}
.take-home-section{width:100%;max-width:none;padding:60px max(48px,calc((100% - 1240px)/2)) 72px;background:var(--pink-light);border-bottom:1px solid var(--line)}
.take-home-section .section-heading{margin-bottom:30px}
.take-home-section .section-heading h2{font-size:2.8rem}
.product-card{display:block;padding:30px;border:1px solid #65052924;background:var(--cream);box-shadow:none;border-radius:18px}
.product-copy h3{font-size:2.3rem}
.product-copy p{max-width:40ch}
.product-copy .text-link{min-height:44px;display:inline-flex;align-items:center}
.take-home-section>.text-link{display:inline-flex;align-items:center;min-height:48px;margin-top:28px}
.dedicated-page{min-height:calc(100vh - 280px);padding-block:78px 90px}
.dedicated-page h1{font-family:var(--hand);color:var(--wine);font-size:clamp(3.1rem,5vw,4.6rem);line-height:1.1;margin:0 0 32px;letter-spacing:-.025em}
.story-layout{gap:70px;align-items:start}
.story-copy>p:not(.eyebrow):not(.signature){font-size:1.05rem;line-height:1.85}
.story-visual{position:sticky;top:145px}
.story-collaborator{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(36px,5vw,70px);align-items:center;margin-top:clamp(3rem,6vw,5rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid #65052940}
.collaborator-intro{min-width:0}
.story-collaborator h2{font-size:clamp(2.3rem,4vw,3rem);line-height:1.15;margin:0 0 12px}
.collaborator-role{font-size:1rem;line-height:1.6;color:var(--wine);margin:0 0 28px}
.collaborator-copy{max-width:62ch}
.collaborator-copy p{font-size:1.05rem;line-height:1.85;margin:0 0 16px}
.collaborator-copy p:last-child{margin-bottom:0}
.lucy-frame{width:100%;max-width:384px;margin:8px auto;transform:rotate(-1.5deg)}
.lucy-frame>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
@media(max-width:760px){.story-collaborator{grid-template-columns:minmax(0,1fr);gap:32px}.collaborator-copy p{font-size:1rem}.lucy-frame{max-width:344px;transform:rotate(-1deg)}}
.gallery-photo>img{object-fit:cover}
.gallery-photo>img.drinks-carrier,.gallery-thumbnails button[data-photo="1"] img{object-position:center bottom}
.booking-section .section-heading{align-items:start;margin-bottom:48px}
.booking-section .section-heading h1{margin-bottom:0}
.booking-section .section-heading>p{max-width:30ch}
.booking-section .contact-card h3{font-size:clamp(2.5rem,4vw,3.2rem);line-height:1.15}
.booking-section .contact-card h3>span{display:block}
.booking-section .contact-card h3>span+span{margin-top:.12em}
.booking-section .contact-card{position:static}
.site-footer nav{flex-wrap:wrap;gap:10px 24px}
.site-footer>p{line-height:1.3}
.customer-checkout-footer{gap:20px;flex-wrap:wrap}
@media(min-width:761px) and (max-width:1200px){
 .location-layout{grid-template-columns:1fr;gap:28px}
 .location-board{grid-template-columns:minmax(0,1fr) 300px}
 .trailer-stage{display:block;grid-row:2;max-width:650px}
 .trailer-cut{width:100%;margin-left:-8%}
 .story-layout{gap:36px}
 .order-inner{gap:36px}
 .desktop-nav{gap:16px}
}
@media(max-width:760px){
 .hero-copy .button-row{gap:10px;max-width:355px;margin-inline:auto}
 .hero-copy .button-row .button:first-child{flex-basis:100%}
 .hero-copy .button-row .button{flex:1;min-width:0}
 .location-heading{width:calc(100% - 40px);margin-bottom:28px}
 .location-layout{width:calc(100% - 40px);grid-template-columns:minmax(0,1fr);gap:16px}
 .location-board{gap:26px}
 .trailer-stage{height:auto;grid-row:2;padding-top:12px;max-width:560px}
 .trailer-cut{width:112%;margin-left:-13%}
 .location-info-card{padding:26px}
 .order-section{padding-block:52px}
 .order-inner{grid-template-columns:minmax(0,1fr);gap:28px}
 .order-inner h2{font-size:2.8rem}
 .shop-nav{margin-top:20px}
 .take-home-section{padding:44px 20px 52px}
 .take-home-section .section-heading h2{font-size:2.6rem}
 .product-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .product-card{padding:26px}
 .dedicated-page{padding-block:42px 56px}
 .dedicated-page h1{font-size:clamp(2.7rem,11vw,3.4rem);margin-bottom:26px}
 .story-layout{grid-template-columns:minmax(0,1fr);gap:34px}
 .story-visual{position:static;min-width:0}
 .booking-section .section-heading{margin-bottom:30px}
 .booking-section .section-heading>p{margin-top:20px}
 .booking-section .contact-card h3{font-size:clamp(1.9rem,8vw,2.3rem);line-height:1.16;margin:20px 0 22px}
 .site-footer{padding-bottom:40px}
 body[data-page="home"] .site-footer{padding-bottom:95px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.text-link{transition:none}}

/* Menu and ordering share one surface; the cart stays within reach. */
body.has-ordering{padding-bottom:calc(var(--cart-height,62px) + 48px)}
.menu-page .menu-section{padding-top:44px;padding-bottom:60px;border-bottom:0}
.menu-page .section-heading{align-items:center;margin-bottom:28px}
.menu-page h1{font-family:var(--hand);font-size:clamp(2.9rem,4.2vw,4rem);line-height:1.08;color:var(--wine);font-weight:400}
.menu-page .section-heading .eyebrow{margin-bottom:12px}
.menu-page-intro p{margin-bottom:10px}
.menu-page-intro .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:.9rem}
.menu-page .sip-finder-shell{margin-bottom:24px}
.menu-page .menu-order-tools{padding:10px 0 16px;gap:12px}
.menu-page .menu-order-tools p{font-size:.875rem;max-width:38ch}
.menu-page .order-count{min-height:44px;display:inline-flex;align-items:center}
.cart-dock{position:fixed;z-index:90;right:28px;bottom:max(24px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:14px;min-height:62px;padding:14px 24px;border:1px solid #f8f1eb66;border-radius:100px;background:var(--wine);color:var(--cream);box-shadow:0 6px 24px #39051a30;font-weight:600;cursor:pointer;font-size:1rem}
.cart-dock:hover{background:#4b0524}
.cart-dock-icon{display:inline-flex;width:24px;flex:none}
.cart-dock-icon svg{width:24px;height:24px}
.cart-dock-count{display:inline-grid;place-items:center;min-width:28px;min-height:28px;border-radius:100px;background:var(--cream);color:var(--wine);font-size:.875rem;padding:0 6px}
.cart-dock-total{border-left:1px solid #f8f1eb55;padding-left:14px;white-space:nowrap}
.cart-toast{position:fixed;z-index:89;right:28px;bottom:calc(var(--cart-height,62px) + 40px);max-width:min(400px,calc(100% - 40px));display:flex;align-items:center;gap:12px;padding:16px 22px;border:1px solid var(--pink);background:var(--cream);color:var(--wine);border-radius:18px;box-shadow:0 5px 20px #39051a18;opacity:0;visibility:hidden;transform:translateY(24px) scale(.92);transform-origin:bottom right;transition:opacity .22s ease,transform .3s ease,visibility .3s;pointer-events:none;font-size:.9375rem;line-height:1.45}
.cart-toast.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.cart-toast-mark{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:var(--pink-light);font-size:1rem}
.cart-bump .cart-dock-icon{animation:cart-bump .55s ease}
@keyframes cart-bump{0%,100%{transform:rotate(0) scale(1)}35%{transform:rotate(-10deg) scale(1.2)}65%{transform:rotate(7deg) scale(1.1)}}
.cart-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(520px,100%);height:100dvh;max-width:100%;max-height:100dvh;padding:0 30px 30px;border:0;border-left:1px solid var(--pink);background:var(--cream);color:var(--wine);overflow:auto;overscroll-behavior:contain;box-shadow:-12px 0 50px #30031522}
.cart-drawer[open]{animation:cart-enter .25s ease-out}
@keyframes cart-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
.cart-drawer::backdrop{background:#30031580}
.cart-drawer-top{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 0 20px;background:var(--cream);border-bottom:1px solid var(--line)}
.cart-drawer-top h2{font-size:2.5rem}
.cart-drawer-top button{min-height:44px;flex:none}
.cart-pickup{padding-top:22px}
.cart-pickup p{margin-top:12px;font-size:.875rem;line-height:1.6}
.cart-drawer .order-review{padding:22px 0 10px;min-height:0}
.cart-drawer .order-review>.button{background:var(--wine);border-color:var(--wine);color:var(--cream);justify-content:center}
.cart-drawer .order-review>.button:disabled{background:#d8c0c7;border-color:#d8c0c7;color:#624453}
.cart-drawer .order-review>.add-another{display:flex;justify-content:center;min-height:44px;margin:14px auto 0}
body:has(dialog[open]){overflow:hidden}
@media(max-width:760px){
 .menu-page .menu-section{padding-top:30px;padding-bottom:32px}
 .menu-page .section-heading{display:block;margin-bottom:20px}
 .menu-page-intro{margin-top:16px}
 .menu-page-intro p{margin-bottom:0;font-size:.95rem}
 .cart-dock{left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom,0px));padding:13px 20px;gap:12px;min-height:60px}
 .cart-dock-label{margin-right:auto;line-height:1.3}
 .cart-toast{left:20px;right:20px;bottom:calc(var(--cart-height,60px) + 28px + env(safe-area-inset-bottom,0px));max-width:none;padding:14px 18px;transform-origin:bottom center}
 .cart-drawer{padding:0 22px calc(25px + env(safe-area-inset-bottom,0px))}
 .cart-drawer-top{padding-top:max(20px,env(safe-area-inset-top,0px))}
 .cart-drawer-top h2{font-size:2.2rem}
 .cart-drawer .order-review{padding-inline:0}
 body[data-page="home"] .site-footer{padding-bottom:40px}
}
@media(prefers-reduced-motion:reduce){.cart-toast{transition:none;transform:none}.cart-drawer[open],.cart-bump .cart-dock-icon{animation:none}}
.motion-paused .cart-toast{transition:none}.motion-paused .cart-drawer[open],.motion-paused .cart-bump .cart-dock-icon{animation:none}

.drink-note-option{margin:22px 0;padding:14px 0;border-block:1px solid var(--line)}
.drink-note-option summary{cursor:pointer;min-height:44px;align-content:center;font-size:1rem;font-weight:600}
.drink-note-option label{display:block;margin:12px 0 8px}
.drink-note-option textarea{display:block;width:100%;box-sizing:border-box;min-height:96px;padding:12px;border:1px solid var(--pink);border-radius:10px;background:#fffaf6;color:var(--wine);font:inherit;font-size:1rem;line-height:1.5;resize:vertical}
.drink-note-option textarea:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.drink-note-option .modifier-hint{margin:10px 0 6px}
.drink-note-count{display:block;text-align:right;font-size:.875rem}
.customer-drink-note{white-space:pre-wrap;overflow-wrap:anywhere}
