:root{--ink:#15251e;--green:#12382b;--sage:#dce6d9;--cream:#f7f2e8;--paper:#fffdf8;--accent:#c8663f;--line:#ded8cc;--danger:#a12f2f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--cream)}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.skip{position:fixed;top:-5rem;left:1rem;background:#fff;padding:.8rem;z-index:100;color:#000}.skip:focus{top:1rem}.hero{background:var(--green);color:#fff;padding:3.5rem max(1.25rem,calc((100% - 1180px)/2));display:flex;justify-content:space-between;align-items:end;min-height:250px}.hero h1{font-family:Georgia,serif;font-size:clamp(2.5rem,8vw,5.3rem);font-weight:400;line-height:.95;margin:.4rem 0 1rem}.hero p:last-child{color:#d9e4dd;margin:0}.eyebrow{font-size:.72rem;letter-spacing:.2em;font-weight:800;color:var(--accent);margin:0}.cart-pill{border:1px solid #ffffff50;background:#fff;color:var(--green);border-radius:2rem;padding:.8rem 1rem;display:flex;gap:.75rem;align-items:center;font-weight:700}.cart-pill b{background:var(--accent);color:#fff;border-radius:50%;width:1.6rem;height:1.6rem;display:grid;place-items:center}.categories{position:sticky;top:0;z-index:5;display:flex;gap:.5rem;overflow:auto;padding:.8rem max(1rem,calc((100% - 1180px)/2));background:#f7f2e8ec;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);scrollbar-width:none}.categories a{color:var(--ink);text-decoration:none;white-space:nowrap;border:1px solid var(--line);border-radius:2rem;padding:.6rem 1rem;font-weight:650}.categories a:focus-visible,.categories a:hover{background:var(--green);color:#fff}.menu{max-width:1180px;margin:auto;padding:2rem 1rem 7rem}.category{scroll-margin-top:5rem;margin-bottom:3.5rem}.section-title p{color:var(--accent);letter-spacing:.18em;font-size:.65rem;font-weight:800}.section-title h2{font-family:Georgia,serif;font-size:2.2rem;font-weight:400;margin:.2rem 0 1.2rem}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.dish{background:var(--paper);border:1px solid var(--line);border-radius:1rem;overflow:hidden}.dish>button{width:100%;height:100%;border:0;background:none;padding:0;display:grid;grid-template-columns:1fr 42%;text-align:left;color:inherit;cursor:pointer}.dish-copy{padding:1.4rem;display:flex;flex-direction:column;align-items:start}.dish h3{font-family:Georgia,serif;font-size:1.45rem;margin:0 0 .5rem}.dish p{color:#58645e;line-height:1.5;margin:0 0 .6rem}.dish small{color:#7b4e3d;margin-bottom:.8rem}.dish strong{margin-top:auto}.dish-image{position:relative;min-height:185px;background:var(--sage);display:grid;place-items:center;font-size:2rem}.dish-image img{width:100%;height:100%;object-fit:cover}.dish-image i{position:absolute;right:.65rem;bottom:.65rem;background:var(--paper);font-style:normal;border-radius:50%;width:2.3rem;height:2.3rem;display:grid;place-items:center;box-shadow:0 3px 12px #0002}.dish>button:hover .dish-image img{transform:scale(1.03)}.dish-image img{transition:transform .25s}.sheet{border:0;padding:0;width:min(580px,100%);max-height:min(88vh,800px);margin:auto auto 0;border-radius:1.3rem 1.3rem 0 0;background:var(--paper);color:var(--ink)}.sheet::backdrop{background:#081a14a8}.sheet-inner{display:flex;flex-direction:column;max-height:88vh}.sheet header{display:flex;gap:1rem;padding:1.25rem;border-bottom:1px solid var(--line)}.sheet h2{font-family:Georgia,serif;font-size:1.8rem;margin:0}.sheet header p{margin:.25rem 0;color:#657068}.icon{border:0;background:var(--cream);border-radius:50%;width:2.5rem;height:2.5rem;font-size:1.6rem;flex:none}.option-scroll,.cart-lines{overflow:auto;padding:0 1.25rem}fieldset{border:0;padding:1.25rem 0;margin:0;border-bottom:1px solid var(--line)}legend{width:100%;font-weight:750;margin-bottom:.65rem}legend em,legend span{float:right;font-size:.7rem;font-style:normal;background:var(--accent);color:#fff;padding:.25rem .5rem;border-radius:1rem}legend span{background:var(--sage);color:var(--ink)}.choice{display:flex;justify-content:space-between;padding:.75rem 0;cursor:pointer}.choice>span{display:flex;gap:.7rem}.choice input{width:1.25rem;height:1.25rem;accent-color:var(--green)}.choice b{font-size:.9rem}.add,.button{margin:1rem 1.25rem;border:0;background:var(--green);color:#fff;border-radius:.75rem;padding:1rem 1.2rem;font-weight:800;text-align:center;text-decoration:none;cursor:pointer}.add:disabled,.button:disabled{opacity:.55;cursor:not-allowed}.form-error{color:var(--danger);font-weight:650;margin:.6rem 1.25rem}.cart-line{display:grid;grid-template-columns:1fr auto;padding:1.1rem 0;border-bottom:1px solid var(--line)}.cart-line h3{margin:0}.cart-line p{margin:.3rem 0;color:#68726d}.stepper{display:flex;align-items:center;gap:.7rem}.stepper button{border:1px solid var(--line);border-radius:50%;background:#fff;width:2rem;height:2rem}.remove{grid-column:1;border:0;background:none;color:var(--danger);padding:.7rem 0;text-align:left}.cart-total{display:flex;justify-content:space-between;padding:1.2rem 1.25rem 0;font-size:1.2rem}.notice{font-size:.76rem;color:#657068;margin:.3rem 1.25rem}.mobile-cart{position:fixed;z-index:4;bottom:max(1rem,env(safe-area-inset-bottom));left:1rem;right:1rem;max-width:550px;margin:auto;border:0;border-radius:.9rem;padding:1rem 1.2rem;background:var(--green);color:#fff;display:flex;justify-content:space-between;font-weight:800;box-shadow:0 8px 30px #0004}footer{background:var(--green);color:#fff;text-align:center;padding:3rem 1rem}footer p{font-family:Georgia,serif;font-size:1.5rem}.simple-head{max-width:760px;margin:auto;padding:2.5rem 1rem 1rem;display:flex;gap:1rem}.simple-head h1{font-family:Georgia,serif;font-size:clamp(2rem,6vw,3.5rem);margin:.3rem 0}.back{border:0;background:none;font-size:1.6rem}.checkout{max-width:760px;margin:auto;padding:0 1rem 5rem}.panel{background:var(--paper);border:1px solid var(--line);border-radius:1rem;padding:1.25rem;margin:1rem 0}.panel h2{font-family:Georgia,serif;margin-top:0}.panel label:not(.pay){display:block;font-weight:700;margin:1rem 0}.panel label span{font-weight:400;color:#66716b}.panel input:not([type=radio]),.panel textarea{display:block;width:100%;border:1px solid #a9aea9;background:#fff;border-radius:.5rem;padding:.8rem;margin-top:.35rem}.panel textarea{min-height:90px;resize:vertical}.pay{display:flex;gap:.7rem;align-items:center;border:1px solid var(--line);border-radius:.6rem;padding:1rem;margin:.7rem 0;font-weight:700}.pay input{width:1.2rem;height:1.2rem;accent-color:var(--green)}.pay small{display:block;color:#68726d;font-weight:400}.summary{padding:1rem}.summary div{display:flex;justify-content:space-between;font-size:1.2rem}.summary small{color:#68726d}.submit{width:calc(100% - 2.5rem)}.state{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:620px;margin:auto;padding:2rem}.state h1,.track h1{font-family:Georgia,serif;font-size:clamp(2.3rem,8vw,4.3rem);font-weight:400;margin:.6rem}.state p{line-height:1.6;color:#59645f}.state-icon{width:4rem;height:4rem;background:var(--sage);border-radius:50%;display:grid;place-items:center;font-size:2rem}.spinner{display:block;width:2.5rem;height:2.5rem;border:.25rem solid var(--sage);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.link{border:0;background:none;color:var(--green);font-weight:750;padding:1rem;text-decoration:underline}.track{max-width:650px;margin:auto;text-align:center;padding:4rem 1rem}.order-no{color:#66716b}.progress{display:flex;gap:.35rem;margin:2rem}.progress span{height:.4rem;flex:1;background:var(--line);border-radius:1rem}.progress .active{background:var(--accent)}.details{text-align:left}.details div{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--line)}.poll-note{color:#66716b;font-size:.85rem}.track .button,.track .link{display:block;width:fit-content;margin:1rem auto}.muted{color:#66716b}@media(max-width:680px){.hero{min-height:215px;padding-top:2.5rem}.hero .cart-pill{align-self:start}.hero .cart-pill span{display:none}.grid{grid-template-columns:1fr}.dish>button{grid-template-columns:1fr 36%}.dish-image{min-height:165px}.sheet{max-height:92vh}.sheet-inner{max-height:92vh}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}:focus-visible{outline:3px solid #e69574;outline-offset:3px}

.pickup-confirmation{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #b9cbbb;border-radius:12px;background:#eef5ed}.pickup-confirmation>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:var(--green);color:#fff;font-weight:900}.pickup-confirmation strong,.pickup-confirmation small{display:block}.pickup-confirmation small{margin-top:3px;color:#58645e;line-height:1.45}.checkout-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.checkout-section-heading h2{margin-bottom:0}.member-prefill-badge{padding:5px 9px;border-radius:999px;background:#e2eee1;color:var(--green);font-size:.75rem;font-weight:800;white-space:nowrap}.profile-prefill{margin:8px 0 4px;color:#66716b;font-size:.88rem}.profile-prefill.is-ready{color:#236447}.payment-login{padding:1rem;border:1px solid var(--line);border-radius:.75rem;background:var(--cream);text-align:center}.payment-login p{margin:0 0 1rem;color:#58645e;line-height:1.5}.payment-login .button{display:inline-block;margin:0}.panel label>small{display:block;margin-top:6px;color:#68726d;font-weight:400}.panel input:focus,.panel textarea:focus{outline:3px solid #c8663f40;border-color:var(--accent)}@media(max-width:480px){.checkout-section-heading{align-items:flex-start;flex-direction:column}.member-prefill-badge{margin-top:-4px}}

.hero{position:relative;display:block;min-height:510px;padding:0 max(1.25rem,calc((100% - 1180px)/2)) 4.25rem;overflow:hidden;background:radial-gradient(circle at 88% 16%,#315b49 0,transparent 27%),linear-gradient(132deg,#0d2e23 0%,#153f30 58%,#102f25 100%)}.hero:after{content:"";position:absolute;inset:auto -8% -45% 45%;height:520px;border:1px solid #d7bd7a30;border-radius:50%;transform:rotate(-11deg);pointer-events:none}.takeout-nav{position:relative;z-index:2;height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff1f}.takeout-brand{display:flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none;font:700 .78rem/1 Georgia,serif;letter-spacing:.14em}.takeout-brand img{width:54px;height:40px;object-fit:contain;filter:brightness(0) invert(1)}.service-badge{display:flex;align-items:center;gap:.55rem;padding:.55rem .8rem;border:1px solid #ffffff24;border-radius:2rem;color:#e2ebe6;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.service-badge i{width:.48rem;height:.48rem;background:#8bd08c;border-radius:50%;box-shadow:0 0 0 4px #8bd08c20}.hero-inner{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:3rem;padding-top:5rem}.hero-copy h1{font-family:Georgia,serif;font-size:clamp(3rem,7vw,5.8rem);font-weight:400;line-height:.94;letter-spacing:-.045em;margin:.65rem 0 1.5rem;max-width:820px}.hero-copy h1 em{color:#d7bd7a;font-weight:400}.hero-copy>p:not(.eyebrow){color:#c7d7cf;line-height:1.7}.hero-trust{display:flex;gap:1.3rem;margin-top:1.7rem;color:#aebfb6;font-size:.72rem}.hero-trust span:before{content:"✓";color:#d7bd7a;margin-right:.4rem}.hero-mark{position:absolute;right:3%;bottom:-3.5rem;color:#ffffff08;font:400 18rem/1 Georgia,serif;letter-spacing:-.1em;pointer-events:none}.hero .cart-pill{position:relative;flex:none;min-width:150px;justify-content:space-between;padding:.8rem .85rem .8rem 1.15rem;box-shadow:0 12px 35px #05150d55}.categories{padding-top:.9rem;padding-bottom:.9rem;background:#f7f2e8f2}.categories>span{align-self:center;margin-right:.55rem;color:#8e8171;font:italic 1.05rem Georgia,serif;white-space:nowrap}.categories a{border-color:transparent;padding:.58rem .9rem;font-size:.85rem}.menu{padding-top:3.5rem}.section-title{position:relative;display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:1.25rem}.section-title p{grid-column:1;margin:0 0 .35rem}.section-title h2{grid-column:1;margin:0}.section-title>span{grid-column:2;grid-row:1/3;color:#8a8f8b;font-size:.75rem;padding-bottom:.4rem}.dish{border-color:#e4ded3;box-shadow:0 8px 30px #173c2b09;transition:transform .2s,box-shadow .2s}.dish:hover{transform:translateY(-3px);box-shadow:0 14px 38px #173c2b14}.dish-copy strong{color:var(--green);font-size:.92rem}.empty-menu{padding:0;max-width:none}.empty-state{position:relative;min-height:580px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5rem 1.25rem;background:linear-gradient(180deg,#f7f2e8,#f2eadc);overflow:hidden}.empty-state:before,.empty-state:after{content:"";position:absolute;border:1px solid #bba37225;border-radius:50%;width:260px;height:260px;left:-130px;top:14%}.empty-state:after{width:160px;height:160px;left:auto;top:auto;right:-65px;bottom:8%}.empty-art{position:relative;width:86px;height:86px;display:grid;place-items:center;margin-bottom:1.75rem;border:1px solid #b99c6380;border-radius:50%;color:var(--green);font:500 1.45rem Georgia,serif}.empty-art:before{content:"";position:absolute;inset:7px;border:1px solid #b99c6338;border-radius:50%}.empty-art i{position:absolute;right:-5px;top:4px;color:var(--accent);font-size:.8rem;font-style:normal;background:var(--cream);padding:.2rem}.empty-state h2{font:400 clamp(2.5rem,7vw,4.5rem)/1.05 Georgia,serif;letter-spacing:-.035em;margin:.7rem 0 1rem}.empty-state>p:not(.eyebrow){max-width:510px;color:#667069;line-height:1.75;margin:0}.empty-actions{display:flex;gap:.7rem;margin:1.7rem 0}.empty-actions .button{margin:0}.secondary-button{border:1px solid #9ca59e;color:var(--green);border-radius:.75rem;padding:1rem 1.2rem;font-weight:750;text-decoration:none;background:transparent}.empty-state>small{color:#747d78}.empty-state>small a{color:var(--green);font-weight:750}.mobile-cart{padding:.85rem 1.1rem;text-align:left}.mobile-cart span{display:flex;flex-direction:column}.mobile-cart small{color:#b9c9c1;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.13rem}footer{display:flex;align-items:end;justify-content:space-between;text-align:left;padding:4rem max(1.25rem,calc((100% - 1180px)/2));background:#0b271e}footer>div{display:flex;align-items:center;gap:1.5rem}.footer-logo img{width:68px;height:auto;filter:brightness(0) invert(1)}footer p{margin:0;font-size:1.35rem;line-height:1.25}footer p em{color:#d7bd7a;font-weight:400}footer>small{color:#8ca097}@media(max-width:680px){.hero{min-height:470px;padding-top:0;padding-bottom:3rem}.takeout-nav{height:72px}.service-badge{font-size:.57rem}.hero-inner{padding-top:3.4rem;align-items:start}.hero-copy h1{font-size:clamp(2.8rem,13vw,4.2rem)}.hero-copy>p:not(.eyebrow) br{display:none}.hero-trust{flex-direction:column;gap:.45rem}.hero .cart-pill{position:absolute;right:0;top:1.6rem;min-width:auto}.hero .cart-pill span{display:none}.hero-mark{font-size:11rem;bottom:-2rem}.empty-state{min-height:540px}.empty-actions{width:100%;max-width:360px;flex-direction:column}.empty-actions .button,.secondary-button{width:100%}footer{display:block}footer>small{display:block;margin-top:2rem}.grid{gap:.8rem}}

/* Compact header and intentional micro-interactions */
.hero{min-height:330px;padding-bottom:2rem}.takeout-nav{height:68px}.takeout-brand img{width:46px;height:34px}.hero-inner{align-items:center;padding-top:2.2rem}.hero-copy h1{max-width:900px;font-size:clamp(2.35rem,5vw,4.25rem);line-height:1;margin:.45rem 0 .7rem}.hero-copy>p:not(.eyebrow){margin:.4rem 0}.hero-trust{margin-top:1rem}.hero-mark{font-size:12rem;bottom:-3.7rem}.cart-pill{transition:transform .18s ease,box-shadow .18s ease}.cart-pill:hover{transform:translateY(-2px);box-shadow:0 16px 38px #05150d70}.cart-pill:active,.add:active,.button:active,.secondary-button:active{transform:scale(.97)}.dish-image:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#fff3 45%,transparent 65%);transform:translateX(-120%);transition:transform .6s ease}.dish:hover .dish-image:after{transform:translateX(120%)}.reveal-section{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.8,.2,1)}.reveal-section.is-visible{opacity:1;transform:none}.sheet{animation:sheet-in .28s cubic-bezier(.2,.8,.2,1)}.sheet::backdrop{animation:fade-in .2s ease}.cart-sheet{width:min(620px,100%)}.cart-sheet h2{display:flex;align-items:baseline;gap:.55rem}.cart-sheet h2 small{font:500 .68rem/1 system-ui;color:#78817c;text-transform:uppercase;letter-spacing:.08em}.cart-line{grid-template-columns:76px minmax(0,1fr) auto;gap:.9rem;align-items:center}.cart-thumb{width:76px;height:76px;overflow:hidden;border-radius:.75rem;background:#dce6d9}.cart-thumb img{width:100%;height:100%;object-fit:cover}.cart-thumb-empty{display:grid;place-items:center;color:#567061;font:600 1rem Georgia,serif;background:radial-gradient(circle at 70% 20%,#fff8,transparent 30%),#dce6d9}.cart-info{min-width:0}.cart-info h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-line .stepper{align-self:center}.cart-line .remove{grid-column:auto;padding:.4rem 0 0;font-size:.72rem}.cart-sheet .add{display:flex;justify-content:space-between;align-items:center}.cart-sheet .add span{font-size:1.2rem}.stepper button{transition:background .15s,color .15s,transform .15s}.stepper button:hover{background:var(--green);color:#fff}.stepper button:active{transform:scale(.9)}.mobile-cart{animation:cart-rise .3s cubic-bezier(.2,.8,.2,1)}
@keyframes sheet-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes fade-in{from{background:#081a1400}to{background:#081a14a8}}@keyframes cart-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:680px){.hero{min-height:300px;padding-bottom:1.7rem}.takeout-nav{height:60px}.takeout-brand img{width:40px}.takeout-brand span{font-size:.66rem}.service-badge{padding:.42rem .6rem}.hero-inner{padding-top:1.65rem}.hero-copy h1{font-size:clamp(2.25rem,10.5vw,3.2rem);margin:.4rem 0 .55rem}.hero-copy>p:not(.eyebrow){font-size:.82rem}.hero-trust{display:none}.hero-mark{font-size:8rem;bottom:-2.6rem}.hero .cart-pill{top:1.15rem}.cart-line{grid-template-columns:62px minmax(0,1fr);gap:.75rem}.cart-thumb{width:62px;height:62px}.cart-line .stepper{grid-column:2;justify-self:end;margin-top:-2.4rem}.cart-info{padding-right:0}.cart-info p{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-sheet h2 small{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){.reveal-section{opacity:1;transform:none}.sheet,.sheet::backdrop,.mobile-cart{animation:none}.dish-image:after{display:none}}

.cart-line{position:relative;grid-template-columns:76px minmax(0,1fr) auto;transition:opacity .18s ease,transform .18s ease}.cart-actions{align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:.55rem}.cart-actions .remove{display:flex;align-items:center;gap:.28rem;width:auto;padding:.25rem 0;margin:0;color:#8b5143;font-size:.7rem;line-height:1}.cart-actions .remove span{font-size:1rem}.cart-line.is-removing{opacity:0;transform:translateX(18px)}.cart-line.quantity-pop [data-line-total]{animation:price-pop .2s ease}.cart-info strong{display:block;margin-top:.2rem}.cart-actions .stepper{margin:0}.cart-actions .stepper span{min-width:1.2rem;text-align:center;font-variant-numeric:tabular-nums}@keyframes price-pop{50%{color:var(--accent);transform:scale(1.04)}}
@media(max-width:680px){.cart-line{grid-template-columns:62px minmax(0,1fr) auto;align-items:start}.cart-actions{grid-column:3;grid-row:1;min-height:62px}.cart-line .cart-actions .stepper{grid-column:auto;justify-self:auto;margin:0}.cart-actions .remove{margin-left:auto}.cart-info p{max-width:150px}.cart-lines{padding-left:1rem;padding-right:1rem}}
@media(max-width:390px){.cart-line{grid-template-columns:54px minmax(0,1fr)}.cart-thumb{width:54px;height:54px}.cart-actions{grid-column:2;grid-row:2;min-height:auto;flex-direction:row-reverse;align-items:center;margin-top:.6rem}.cart-info p{max-width:190px}.cart-actions .remove{margin:0 auto 0 0}}
@media(prefers-reduced-motion:reduce){.cart-line{transition:none}.cart-line.quantity-pop [data-line-total]{animation:none}}

.hero{min-height:205px;padding-bottom:1.5rem}.hero-inner{padding-top:1.35rem}.hero-copy h1{display:none}.hero-copy>p:not(.eyebrow){margin:.25rem 0 0;color:#d6e2dc;font-size:.88rem}.hero-trust{margin-top:.55rem}.hero-mark{font-size:8rem;bottom:-2.7rem}.cart-bump b{animation:badge-bump .25s ease}.mobile-cart{will-change:transform}@keyframes badge-bump{50%{transform:scale(1.28);background:#d77b55}}@media(max-width:680px){.hero{min-height:168px;padding-bottom:1rem}.hero-inner{padding-top:.85rem}.hero-copy>p:not(.eyebrow){font-size:.75rem}.hero-mark{font-size:6rem;bottom:-2rem}.hero .cart-pill{top:.65rem}}
@media(prefers-reduced-motion:reduce){.cart-bump b{animation:none}}

.categories a{transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.categories a.is-active{background:var(--green);color:#fff;box-shadow:0 3px 12px #12382b1c}.cart-fly{position:fixed;z-index:10000;margin:0;object-fit:cover;border-radius:14px;box-shadow:0 14px 35px #071d1555;pointer-events:none;will-change:transform,opacity}.cart-fly.fallback{display:grid;place-items:center;background:linear-gradient(145deg,#dce6d9,#b8cdbf);color:var(--green);font:700 1rem Georgia,serif}.cart-toast{position:fixed;z-index:10001;left:50%;bottom:calc(max(1rem,env(safe-area-inset-bottom)) + 76px);max-width:calc(100% - 2rem);padding:.7rem 1rem;border:1px solid #ffffff26;border-radius:2rem;background:#102f25f2;color:#fff;box-shadow:0 9px 30px #06191244;font-size:.78rem;font-weight:700;opacity:0;transform:translate(-50%,10px);transition:opacity .2s ease,transform .2s ease;pointer-events:none;white-space:nowrap}.cart-toast:before{content:"✓";display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;margin-right:.45rem;border-radius:50%;background:#d7bd7a;color:#173c2b}.cart-toast.show{opacity:1;transform:translate(-50%,0)}.cart-land{animation:cart-land .34s cubic-bezier(.2,.85,.3,1)}@keyframes cart-land{45%{transform:scale(1.08) rotate(-1deg)}70%{transform:scale(.96)}to{transform:scale(1)}}
.categories{scroll-snap-type:x proximity;scroll-padding-inline:clamp(3rem,12vw,9rem);overscroll-behavior-inline:contain}.categories a{display:inline-flex;align-items:center;min-height:40px;scroll-snap-align:center}.categories a.is-active{box-shadow:0 4px 16px #12382b26}.categories a.is-active:after{content:"";width:5px;height:5px;margin-left:7px;border-radius:50%;background:#d7bd7a}.categories>span{flex:0 0 auto}@media(max-width:680px){.categories{gap:.35rem;padding-inline:12px}.categories>span{margin-right:.2rem;font-size:.9rem}.categories a{min-height:42px;padding-inline:.82rem}}
.dish{position:relative}.dish-stepper{position:absolute;z-index:2;right:.65rem;bottom:.65rem;height:2.65rem;display:grid;grid-template-columns:2.65rem minmax(2rem,auto) 2.65rem;align-items:center;overflow:hidden;border:1px solid #d5d7d2;border-radius:1.4rem;background:var(--paper);color:var(--green);box-shadow:0 5px 18px #071d1538}.dish-stepper button{height:100%;border:0;background:transparent;color:inherit;font-size:1.35rem;font-weight:700;cursor:pointer}.dish-stepper button:hover,.dish-stepper button:focus-visible{background:var(--green);color:#fff}.dish-stepper span{min-width:2rem;padding:0 .25rem;text-align:center;font-size:.88rem;font-weight:850;font-variant-numeric:tabular-nums}.dish-stepper:not(.has-items){grid-template-columns:auto 2.65rem;border-color:var(--green);background:var(--green);color:#fff}.dish-stepper:not(.has-items) [data-card-minus]{display:none}.dish-stepper:not(.has-items) span{min-width:auto;padding-left:.9rem;font-size:.72rem;letter-spacing:.02em}.dish-stepper:not(.has-items) [data-card-plus]{border-left:1px solid #ffffff35}.dish-stepper:not(.has-items) button:hover,.dish-stepper:not(.has-items) button:focus-visible{background:#fff;color:var(--green)}
.option-status{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.15rem 0 .55rem;padding:.55rem .7rem;border-radius:.65rem;background:#f2eee6;color:#667069;font-size:.72rem}.option-status strong{white-space:nowrap;font-size:.7rem}.is-warning .option-status{background:#fff0ea;color:#8c3d27}.is-warning .option-status strong:before{content:"! ";font-weight:900}.is-complete .option-status{background:#e7f0e9;color:#23613e}.is-complete .option-status strong:before{content:"✓ ";font-weight:900}.option-none{color:#737b76}.option-quantity-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem}.option-quantity-row>b{font-size:.78rem;white-space:nowrap}.option-quantity-stepper{height:2.35rem;display:grid;grid-template-columns:2.35rem 2.25rem 2.35rem;align-items:center;overflow:hidden;border:1px solid #cbd2cc;border-radius:1.2rem;background:#fff}.option-quantity-stepper button{height:100%;border:0;background:transparent;color:var(--green);font-size:1.2rem;font-weight:800;cursor:pointer}.option-quantity-stepper button:not(:disabled):hover,.option-quantity-stepper button:not(:disabled):focus-visible{background:var(--green);color:#fff}.option-quantity-stepper button:disabled{color:#b7bdb9;cursor:not-allowed}.option-quantity-stepper output{text-align:center;font-size:.85rem;font-weight:850;font-variant-numeric:tabular-nums}.option-status+ .choice{margin-top:.35rem}@media(max-width:430px){.option-status{align-items:flex-start;flex-direction:column;gap:.25rem}.option-quantity-row{grid-template-columns:minmax(0,1fr) auto}.option-quantity-row>b{grid-column:1/-1;margin-top:-.35rem}}
.pickup-panel{border-color:#cbd8cf;background:linear-gradient(145deg,#fffdf8,#edf4ee)}.pickup-panel h2{margin-bottom:.7rem}.pickup-panel p{line-height:1.55;margin:.4rem 0 .8rem}.pickup-panel>small{display:block;color:#52635a;line-height:1.5}.stripe-only{border-color:#b8cec0;background:#f4f8f5}.stripe-only>b{width:1.8rem;height:1.8rem;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff}.stripe-only small{margin:0}.submit{letter-spacing:.01em}
@media(prefers-reduced-motion:reduce){.categories a{transition:none}.cart-toast{transition:none}.cart-land{animation:none}}
.dish-stepper:not(.has-items){grid-template-columns:2.65rem}.dish-stepper:not(.has-items) [data-item-count]{display:none}.dish-stepper:not(.has-items) [data-card-plus]{border-left:0}

.categories{transition:box-shadow .2s ease,border-color .2s ease}.categories.is-scrolled{border-bottom-color:#cfc6b8;box-shadow:0 8px 24px #173c2b0c}.dish>button:focus-visible .dish-image i,.dish:hover .dish-image i{transform:rotate(90deg);background:var(--green);color:#fff}.dish-image i{transition:transform .22s ease,background-color .22s ease,color .22s ease}.choice{margin:.2rem -.55rem;padding:.75rem .55rem;border-radius:.6rem;transition:background-color .16s ease,transform .16s ease}.choice:has(input:checked){background:#e7eee5}.choice:has(input:checked)>span{font-weight:700}.choice:active{transform:scale(.99)}.add,.button,.secondary-button{position:relative;overflow:hidden;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.add:before,.button:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff20 46%,transparent 67%);transform:translateX(-120%)}.add:hover:before,.button:hover:before{transform:translateX(120%);transition:transform .55s ease}.add:hover,.button:hover{filter:brightness(1.08);box-shadow:0 8px 22px #12382b1c}.cart-total strong,[data-line-total]{font-variant-numeric:tabular-nums}.track.status-pulse h1{animation:status-soft .38s ease}.progress span{transition:background-color .35s ease,transform .35s ease}.track.status-pulse .progress .active{transform:scaleY(1.45)}.empty-art{animation:empty-float 4s ease-in-out infinite}.service-badge i{animation:online-pulse 2.6s ease-out infinite}@keyframes status-soft{50%{opacity:.68;transform:translateY(-2px)}}@keyframes empty-float{50%{transform:translateY(-5px)}}@keyframes online-pulse{50%{box-shadow:0 0 0 7px #8bd08c05}}@media(hover:none){.add:hover:before,.button:hover:before{transition:none;transform:translateX(-120%)}.dish:hover{transform:none}}@media(prefers-reduced-motion:reduce){.categories,.dish-image i,.choice,.add,.button,.secondary-button,.progress span{transition:none}.empty-art,.service-badge i,.track.status-pulse h1{animation:none}}

/* Optical centering: do not rely on the + glyph baseline. */
.dish-image i{position:absolute;display:block;transform-origin:50% 50%;font-size:0;line-height:0}.dish-image i:before{content:"+";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 0 2px;font:400 1.3rem/1 Arial,sans-serif;color:var(--ink)}.dish:hover .dish-image i:before,.dish>button:focus-visible .dish-image i:before{color:#fff}
/* Every native dialog gets a matching entrance and exit. */
dialog[open]{transform-origin:center bottom;animation:dialog-enter .28s cubic-bezier(.2,.82,.25,1) both}dialog[open]::backdrop{animation:backdrop-enter .24s ease both}dialog[open].dialog-closing{animation:dialog-exit .19s cubic-bezier(.4,0,.8,.2) both;pointer-events:none}dialog[open].dialog-closing::backdrop{animation:backdrop-exit .19s ease both}.cart-sheet[open]{transform-origin:center bottom}@keyframes dialog-enter{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dialog-exit{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(18px) scale(.975)}}@keyframes backdrop-enter{from{background:#081a1400;backdrop-filter:blur(0)}to{background:#081a14a8;backdrop-filter:blur(2px)}}@keyframes backdrop-exit{from{background:#081a14a8;backdrop-filter:blur(2px)}to{background:#081a1400;backdrop-filter:blur(0)}}
@media(min-width:681px){.sheet{margin:auto;border-radius:1.3rem}.sheet[open]{transform-origin:center center}@keyframes dialog-enter{from{opacity:0;transform:translateY(10px) scale(.955)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dialog-exit{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.97)}}}
@media(prefers-reduced-motion:reduce){dialog[open],dialog[open]::backdrop,dialog[open].dialog-closing,dialog[open].dialog-closing::backdrop{animation:none}.dish-image i{transition:none}}
.sheet-inner:focus{outline:none}
.sheet header+.option-scroll,.sheet header+.cart-lines{padding-top:.75rem}
.option-scroll fieldset{border-bottom:0}
.option-scroll fieldset+fieldset{position:relative;margin-top:.75rem;padding-top:1.75rem;border-top:0}
.option-scroll fieldset+fieldset:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--line)}

/* Dimensional bottom drawer — overrides the centered desktop dialog. */
.sheet,.sheet.cart-sheet{position:fixed;inset:auto 0 0;width:min(680px,calc(100% - 24px));max-width:680px;max-height:min(90dvh,820px);margin:0 auto;border:1px solid #ffffffb8;border-bottom:0;border-radius:24px 24px 0 0;background:linear-gradient(165deg,#fffefa 0%,#fbf7ef 58%,#f4ede1 100%);box-shadow:0 -1px 0 #fff inset,0 -10px 30px #071d151c,0 -35px 90px #071d1547;overflow:visible;transform-origin:50% 100%;isolation:isolate}.sheet:before{content:"";position:absolute;z-index:5;top:10px;left:50%;width:46px;height:5px;border-radius:9px;background:linear-gradient(180deg,#8e968f,#d7ddd8);box-shadow:0 1px 0 #fff,0 2px 5px #173c2b28;transform:translateX(-50%);pointer-events:none}.sheet:after{content:"";position:absolute;z-index:-1;inset:-7px 12px auto;height:34px;border-radius:25px 25px 0 0;background:linear-gradient(180deg,#ffffff8f,transparent);filter:blur(.5px);pointer-events:none}.sheet .sheet-inner{max-height:min(90dvh,820px);border-radius:24px 24px 0 0;overflow:hidden}.sheet header{padding-top:1.8rem;background:linear-gradient(180deg,#ffffff85,transparent)}.sheet[open]{animation:drawer-rise .48s cubic-bezier(.16,.86,.24,1) both}.sheet[open]::backdrop{background:#061b147a;backdrop-filter:blur(5px) saturate(.8);animation:drawer-backdrop-in .35s ease both}.sheet[open].dialog-closing{animation:drawer-sink .25s cubic-bezier(.55,.05,.85,.35) both}.sheet[open].dialog-closing::backdrop{animation:drawer-backdrop-out .25s ease both}@keyframes drawer-rise{0%{opacity:.2;transform:perspective(1000px) translateY(105%) rotateX(-8deg) scale(.94)}58%{opacity:1;transform:perspective(1000px) translateY(-10px) rotateX(1.2deg) scale(1.006)}78%{transform:perspective(1000px) translateY(3px) rotateX(-.4deg) scale(.999)}100%{opacity:1;transform:perspective(1000px) translateY(0) rotateX(0) scale(1)}}@keyframes drawer-sink{0%{opacity:1;transform:perspective(1000px) translateY(0) rotateX(0) scale(1)}100%{opacity:.3;transform:perspective(1000px) translateY(105%) rotateX(-7deg) scale(.96)}}@keyframes drawer-backdrop-in{from{background:#061b1400;backdrop-filter:blur(0)}to{background:#061b147a;backdrop-filter:blur(5px) saturate(.8)}}@keyframes drawer-backdrop-out{from{background:#061b147a;backdrop-filter:blur(5px) saturate(.8)}to{background:#061b1400;backdrop-filter:blur(0)}}
@media(min-width:900px){.sheet,.sheet.cart-sheet{width:min(720px,calc(100% - 48px));max-width:720px;border-radius:28px 28px 0 0}.sheet .sheet-inner{border-radius:28px 28px 0 0}.sheet:before{top:11px;width:52px}}
@media(max-width:680px){.sheet,.sheet.cart-sheet{width:100%;max-height:92dvh;border-left:0;border-right:0;border-radius:22px 22px 0 0}.sheet .sheet-inner{max-height:92dvh;border-radius:22px 22px 0 0}.sheet:after{inset:-5px 9px auto}}
@media(prefers-reduced-motion:reduce){.sheet[open],.sheet[open]::backdrop,.sheet[open].dialog-closing,.sheet[open].dialog-closing::backdrop{animation:none}}

.legal-links{display:flex;justify-content:center;gap:20px;padding:18px;background:#081f18;color:#d7bd7a;font-size:.75rem}.legal-links a{color:inherit;text-underline-offset:3px}
.takeout-nav>[data-member-nav]{margin-left:auto}.member-pill{display:inline-flex;align-items:center;gap:8px;padding:.55rem .8rem;border:1px solid #ffffff55;border-radius:999px;color:#fff;text-decoration:none;font-size:.85rem}.member-pill b{color:#f0c67c}.fulfillment-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.fulfillment-options label{display:flex!important;align-items:center;gap:10px;border:1px solid #d9d2c7;border-radius:12px;padding:14px;cursor:pointer}.fulfillment-options input{width:auto!important}@media(max-width:700px){.member-pill span{display:none}.fulfillment-options{grid-template-columns:1fr}}

/* Shared visual language with the GRILL' INN homepage. */
:root {
  --ink: #151310;
  --green: #211e1a;
  --sage: #e9e2d7;
  --cream: #f4f0e8;
  --paper: #f7f3ec;
  --accent: #c8a66a;
  --line: #d5ccbd;
}

body {
  background: var(--cream);
  color: var(--ink);
}

.hero {
  background:
    radial-gradient(circle at 88% 16%, rgba(200, 166, 106, .16) 0, transparent 28%),
    linear-gradient(132deg, #151310 0%, #211e1a 58%, #12110f 100%);
}

.hero-copy > p:not(.eyebrow),
.hero-trust,
.service-badge {
  color: #c9c0b3;
}

.hero-copy h1 em,
.hero-trust span::before,
footer p em {
  color: var(--accent);
}

.service-badge i {
  background: var(--accent);
  box-shadow: 0 0 0 4px rgba(200, 166, 106, .14);
}

.mobile-cart,
.add,
.button,
.dish-stepper:not(.has-items) {
  background: var(--green);
}

.cart-pill {
  background: var(--paper);
  color: var(--ink);
}

.cart-pill b {
  background: var(--accent);
  color: #1c160e;
}

.categories {
  background: rgba(244, 240, 232, .94);
}

.categories a:focus-visible,
.categories a:hover,
.categories a.is-active {
  background: var(--green);
  color: #fff;
}

.dish,
.panel {
  box-shadow: 0 8px 30px rgba(60, 32, 25, .08);
}

.dish-copy strong,
.link,
.empty-art,
.empty-state > small a,
.secondary-button {
  color: #611f27;
}

.empty-state {
  background: linear-gradient(180deg, #f4f0e8, #e9e2d7);
}

.pickup-panel,
.stripe-only,
.pickup-confirmation {
  border-color: #d5ccbd;
  background: linear-gradient(145deg, #f7f3ec, #eee7dc);
}

.sheet::backdrop {
  background: rgba(18, 17, 15, .72);
}

.cart-toast {
  background: rgba(21, 19, 16, .96);
}

.cart-toast::before {
  background: var(--accent);
  color: var(--ink);
}

footer {
  background: #12110f;
}

:focus-visible {
  outline-color: var(--accent);
}

#app{min-height:100vh}

.availability-notice{position:fixed;z-index:20;left:50%;bottom:max(6.25rem,calc(env(safe-area-inset-bottom) + 5.25rem));width:min(680px,calc(100% - 2rem));display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:1px solid #e2b5a4;border-radius:14px;background:#fff5ef;color:#6f281e;box-shadow:0 14px 45px #23130d33;transform:translateX(-50%)}
.availability-notice[hidden]{display:none}.availability-notice strong,.availability-notice p{display:block;margin:0}.availability-notice p{margin-top:.25rem;color:#7b554b;font-size:.84rem;line-height:1.45}.availability-notice button{flex:none;border:0;border-radius:9px;padding:.75rem .9rem;background:#6f281e;color:#fff;font-weight:800;cursor:pointer}.availability-notice button:disabled{opacity:.6}.orders-closed .service-badge{border-color:#efaa9566;color:#ffd5c8}.orders-closed .service-badge i{background:#ef8e72;box-shadow:0 0 0 4px #ef8e7225}.orders-closed .service-badge{font-size:0}.orders-closed .service-badge:after{content:"Commandes fermées";font-size:.7rem}.orders-closed [data-item],.orders-closed [data-card-plus],.orders-closed [data-checkout]{cursor:not-allowed;opacity:.48}.orders-closed .dish{filter:saturate(.72)}
@media(max-width:600px){.availability-notice{align-items:stretch;flex-direction:column}.availability-notice button{width:100%}}
