:root{--cream:#faf7ee;--cream-deep:#f1ead3;--navy:#284ea1;--rust:#284ea1;--rust-deep:#203e80;--rust-tint:#eaf0fb;--navy-soft:#586b84;--line:#e9e0c7;--radius-card:16px;--shadow:none}
html{scroll-behavior:smooth;scroll-padding-top:170px}body{font-family:'DM Sans',sans-serif;background:var(--cream)}button,input,textarea{font-family:inherit!important}button,a,input,textarea{touch-action:manipulation}:focus-visible{outline:3px solid var(--rust);outline-offset:4px}[hidden]{display:none!important}.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--navy);color:white;padding:14px}.skip-link:focus{top:12px}
header.top{padding:18px max(24px,calc((100vw - 1160px)/2));background:rgba(250,247,238,.97)}.brand-row{max-width:1160px;margin:auto}.wm-logo{height:48px}.status-row{max-width:1160px;margin:9px auto 0}.cart-btn{padding:13px 20px}.brand-text .tag{font-size:10px}
.brew-hero{max-width:1160px;margin:48px auto 38px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:48px;padding:0 24px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.brew-hero h1{font:600 clamp(48px,6.5vw,86px)/.99 'Fraunces',serif;letter-spacing:-.055em;color:var(--navy);margin:22px 0}.brew-hero h1 em{font-weight:500;color:var(--rust)}.hero-copy>p{max-width:380px;color:var(--navy-soft);line-height:1.7;font-size:15px}.hero-cta{display:inline-flex;gap:28px;align-items:center;text-decoration:none;background:var(--navy);color:var(--cream);padding:16px 24px;border-radius:100px;font-size:14px;font-weight:700;margin:15px 0 22px;transition:transform .2s}.hero-cta:hover{transform:translateY(-3px)}.hero-small{font-size:11px;color:var(--navy-soft);display:flex;gap:16px;align-items:center}.hero-art{position:relative;background:#e7ebdf;border-radius:180px 180px 22px 22px;min-height:390px;display:grid;place-items:center;overflow:hidden}.hero-art svg{width:86%;max-height:370px;transform:rotate(-9deg);filter:drop-shadow(8px 20px 15px #29443c26)}.art-caption{position:absolute;bottom:23px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.2em;color:var(--navy)}.hero-stamp{position:absolute;right:13px;top:18px;border:1px solid var(--navy);border-radius:50%;width:82px;height:82px;display:grid;place-content:center;text-align:center;font:italic 17px/1.15 'Fraunces';color:var(--navy);transform:rotate(12deg)}
.pickup-strip{max-width:1112px;margin:0 auto 42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:20px 0;color:var(--navy-soft);font-size:12px}.pickup-strip span{display:flex;align-items:center;gap:12px}.pickup-strip b{font:italic 24px 'Fraunces';color:var(--rust)}.menu-intro{max-width:1160px;padding:0 24px;margin:0 auto;display:flex;justify-content:space-between;align-items:end;gap:24px}.menu-intro h2{font:600 40px 'Fraunces';color:var(--navy);letter-spacing:-1.5px;margin:8px 0}.menu-intro p{font-size:12px;color:var(--navy-soft)}.search-wrap{max-width:none;width:320px;margin:0;padding:0}.search-icon{left:14px}.search-wrap input{padding:14px 40px;border-width:1px}#searchClear{right:12px}.menu-tools{max-width:1112px;margin:16px auto 0;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--navy-soft)}.availability-filter{display:flex;align-items:center;gap:8px;cursor:pointer}.availability-filter input{accent-color:var(--navy);width:17px;height:17px}
nav.tabs{top:108px;padding:16px max(24px,calc((100vw - 1112px)/2));gap:9px}.tab-btn{border-color:transparent;font-size:13px}.tab-btn:hover{border-color:var(--navy)}main{max-width:1160px;padding:0 24px 32px}section.category{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:35px;scroll-margin-top:176px}.cat-heading,.cat-rule,.cat-note{grid-column:1/-1}.cat-heading{border-bottom:1px solid var(--line);padding-bottom:13px}.cat-title{font-size:30px;font-style:normal;font-weight:600}.cat-rule{display:none}.cat-note{margin:0;font-style:normal}.item-card{margin:0;padding:22px;gap:18px;justify-content:space-between;border:1px solid var(--line);transition:border-color .2s,transform .2s}.item-card:hover{border-color:#9aabc1;transform:translateY(-3px)}.item-name{font-size:21px;font-style:normal}.item-desc{line-height:1.6;margin-top:8px}.item-price{font-style:normal;font-size:17px;margin-top:14px}.step-btn{width:36px;height:36px}.menu-photo{aspect-ratio: 4/3}.shop-message,.closed-banner{max-width:1112px}.float-bar{max-width:600px}.site-foot{border-top:1px solid var(--line);margin-top:28px}.site-foot .line1{font-size:24px!important}.owner-link{display:inline-block;margin-top:20px;font-size:11px;color:var(--navy-soft)}.drawer{visibility:hidden}.drawer.show{visibility:visible}.no-results{max-width:1112px;margin:auto}.no-results button{display:block;margin:15px auto;background:var(--navy);border:0;color:white;border-radius:100px;padding:12px 20px;cursor:pointer}
@media(min-width:800px){.drawer{max-width:520px;left:auto;right:24px;transform:translateY(110%);border-radius:24px 24px 0 0}.drawer.show{transform:translateY(0)}}
@media(max-width:900px){section.category{grid-template-columns:repeat(2,minmax(0,1fr))}.pickup-strip,.menu-tools{margin-left:24px;margin-right:24px}.brew-hero{gap:24px;margin-top:32px}.hero-art{min-height:330px}.pickup-strip{flex-wrap:wrap}}
@media(max-width:600px){header.top{padding:12px 18px}.wm-logo{height:40px}.status-row{font-size:10px}nav.tabs{top:94px;padding:12px 18px}.brew-hero{grid-template-columns:1fr;gap:24px;padding:0 20px;margin:28px auto}.brew-hero h1{font-size:58px;margin:15px 0}.hero-art{min-height:240px;border-radius:120px 120px 16px 16px}.hero-art svg{height:235px}.hero-stamp{width:65px;height:65px;font-size:14px}.art-caption{bottom:12px}.hero-copy>p{font-size:14px}.hero-cta{margin:6px 0 14px}.pickup-strip{margin:0 20px 28px;gap:14px;padding:16px 0;display:grid}.pickup-strip b{font-size:19px}.menu-intro{padding:0 20px;align-items:stretch;flex-direction:column;gap:12px}.menu-intro h2{font-size:35px}.menu-intro p{margin:0}.search-wrap{width:100%}.menu-tools{margin:14px 20px}.menu-tools>span{font-size:10px}main{padding:0 16px 20px}section.category{grid-template-columns:1fr;gap:12px;padding-top:24px}.item-card{padding:20px}.cat-title{font-size:27px}.hero-small{font-size:10px}.cat-subtitle{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.item-card:hover,.hero-cta:hover{transform:none}}
.menu-retry{background:var(--rust);color:white;border:0;border-radius:20px;padding:7px 14px;margin-left:8px;cursor:pointer}.menu-retry:disabled{opacity:.5}
.float-bar,.toast{visibility:hidden;pointer-events:none}.float-bar.show,.toast.show{visibility:visible}.float-bar.show{pointer-events:auto}.hero-stamp{right:38px;top:48px}.hero-art svg text{font-size:32px}
@media(max-width:600px){.hero-stamp{right:32px;top:24px}}
/* Menu-first storefront and a checkout that puts required details first. */
.menu-intro{margin-top:34px}.drawer{max-height:min(92dvh,900px)}.drawer-head{flex-shrink:0}.drawer-body{min-height:0;overscroll-behavior:contain;scroll-padding:16px}.drawer-foot{flex-shrink:0;padding-bottom:max(18px,env(safe-area-inset-bottom));box-shadow:0 -6px 20px #284ea10a}.plate-section{margin-top:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;margin-bottom:20px}.plate-section h3,.checkout-review h3{font:600 21px 'Fraunces',serif;color:var(--navy);margin:0 0 5px}.checkout-intro{font-size:12px;color:var(--navy-soft);margin:0 0 16px}.pickup-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pickup-fields .field{margin:0}.pickup-fields input{width:100%;min-width:0;font-size:16px;border-radius:8px;padding:12px 10px}.pickup-fields label{font-size:10px;letter-spacing:.02em}.checkout-review h3{display:flex;justify-content:space-between;align-items:center}.checkout-review h3>span{font:500 12px 'DM Sans',sans-serif;color:var(--navy-soft)}.checkout-notes{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.checkout-notes summary,.extras-section summary{cursor:pointer;color:var(--navy);font-size:13px;font-weight:700;padding:8px 0}.checkout-notes summary span,.extras-section summary span{font-weight:400;font-size:11px;color:var(--navy-soft);margin-left:8px}.checkout-notes textarea{font-size:16px}.extras-section{border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:18px 0}.extras-section .extra-row{padding:12px 0}.cart-line:last-child{border-bottom:0}.pay-btn{min-height:48px}.send-error{font-size:12px}.drawer-foot .total-row{margin-bottom:10px}.drawer-foot .pay-hint{font-size:10px}.err-msg{line-height:1.4}.mini-btn{min-width:32px;min-height:32px}
@media(max-width:600px){.drawer{left:0;right:0;width:100%;height:100dvh;max-height:100dvh;border-radius:0}.drawer-handle{display:none}.drawer-head{padding:16px 18px}.drawer-body{padding:16px 16px 8px}.drawer-foot{padding:12px 16px max(12px,env(safe-area-inset-bottom))}.plate-section{padding:15px;margin-bottom:18px}.checkout-intro{font-size:11px}.pickup-fields{gap:10px}.checkout-notes{margin-top:12px}.drawer-close{width:36px!important;height:36px!important}.menu-intro{margin-top:24px}.drawer-head h2{font-size:25px;font-style:normal}}
@media(max-width:350px){.pickup-fields{grid-template-columns:1fr}}
/* Shop status uses semantic colors independently of the brand palette. */
.status-dot.open{background:#238247;box-shadow:0 0 0 3px rgba(35,130,71,.16)}
.status-dot.closed{background:#b33228;box-shadow:0 0 0 3px rgba(179,50,40,.16)}
.status-dot.open + #statusText{color:#216c3d}
.status-dot.closed + #statusText{color:#a12d25}
.closed-banner{background:#b33228;color:#fff}
.sold-badge{background:#fbece9;color:#a12d25;border-color:#e6b5af}
.best-seller-badge{display:inline-block;align-self:flex-start;padding:4px 8px;margin-bottom:7px;border:1px solid #c7a657;border-radius:4px;background:#f7edcd;color:#795c1e;font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1.4}.extra-name .best-seller-badge{margin:4px 0 0}
.item-choices{margin-top:12px}.item-choices fieldset{min-width:0}.extra-info .item-choices{display:flex;flex-wrap:wrap;gap:12px}.extra-info .v60-choice span{padding:7px 9px;font-size:10px}
