@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,h4,p,ul,dl,dd{margin:0}ul{padding:0;list-style:none}button,input{font:inherit}img{max-width:100%;display:block}}@layer base{:root{--ink:#17201c;--ink-muted:#5b645f;--forest:#1f4437;--forest-deep:#153429;--sage:#dce6dc;--cream:#f6f3ec;--paper:#fffdf9;--terracotta:#c66545;--terracotta-soft:#f2ddd3;--gold-soft:#f4e9c9;--line:#dddcd4;--shadow:0 18px 45px #1c282214;--font-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:Georgia, "Times New Roman", serif}html{background:var(--cream)}body{min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 10% 15%, #dce6dc73, transparent 28rem), var(--cream);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:3px;outline:3px solid #c665458c}.page-shell{width:min(1120px,100% - 40px);margin-inline:auto}.eyebrow{color:var(--terracotta);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:800;line-height:1.2;display:inline-block}}@layer components{.storefront-hero{color:#fffdf8;background:var(--forest-deep);isolation:isolate;position:relative;overflow:hidden}.storefront-hero:before{z-index:-1;content:"";background-image:linear-gradient(120deg,#ffffff09 1px,#0000 1px),linear-gradient(30deg,#ffffff06 1px,#0000 1px);background-size:36px 36px,48px 48px;position:absolute;inset:0}.storefront-hero__glow{filter:blur(2px);background:#c6654547;border-radius:50%;width:520px;height:520px;position:absolute;top:-180px;right:-100px}.storefront-hero__content{justify-content:space-between;align-items:center;gap:48px;min-height:300px;padding-block:56px;display:flex;position:relative}.storefront-brand{align-items:center;gap:28px;max-width:720px;display:flex}.storefront-brand__logo{width:96px;height:96px;color:var(--forest-deep);background:var(--paper);font-family:var(--font-display);border:1px solid #ffffff38;border-radius:26px;flex:0 0 96px;place-items:center;font-size:2.75rem;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 32px #04140d3d}.storefront-brand__logo img{object-fit:contain;padding:8px}.storefront-brand .eyebrow{color:#e8a98f;margin-bottom:12px}.storefront-brand h1{max-width:14ch;font-family:var(--font-display);letter-spacing:-.045em;font-size:clamp(2.5rem,5vw,4.6rem);font-weight:500;line-height:.98}.storefront-brand p{color:#fffdf8b8;max-width:58ch;margin-top:16px;font-size:1.025rem}.table-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff29;border-radius:18px;flex-direction:column;gap:5px;min-width:210px;padding:19px 22px;display:flex;box-shadow:0 14px 35px #030e0a26}.table-card span{color:#ffffff9e;letter-spacing:.09em;text-transform:uppercase;font-size:.75rem;font-weight:700}.table-card strong{font-size:1rem}.storefront-content{padding-block:38px 72px}.notice{border:1px solid #0000;border-radius:16px;align-items:center;gap:13px;margin-bottom:16px;padding:15px 18px;font-size:.93rem;font-weight:600;display:flex}.notice--info{background:#edf3ee;border-color:#cddcd4}.notice--warning{background:var(--gold-soft);border-color:#e5d6a8}.notice__icon{color:#fff;background:var(--forest);width:25px;height:25px;font-family:var(--font-display);border-radius:50%;flex:0 0 25px;place-items:center;font-size:.9rem;font-weight:700;display:grid}.notice--warning .notice__icon{color:var(--ink);background:#dfc36e}.menu-nav{z-index:10;scrollbar-width:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf9e6;border:1px solid #dddcd4e6;border-radius:18px;gap:8px;margin-block:26px;padding:7px;display:flex;position:sticky;top:12px;overflow-x:auto;box-shadow:0 10px 28px #1c282214}.menu-nav::-webkit-scrollbar{display:none}.menu-nav a{color:var(--forest-deep);border-radius:12px;flex:none;padding:10px 17px;font-size:.88rem;font-weight:750;text-decoration:none;transition:color .15s,background .15s}.menu-nav a:hover{color:#fff;background:var(--forest)}.menu-list{gap:30px;margin-top:26px;display:grid}.menu-card{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:28px;scroll-margin-top:100px;overflow:hidden}.menu-card__header{border-bottom:1px solid var(--line);background:linear-gradient(110deg,#fffdf9 0%,#f2f4ed 100%);justify-content:space-between;align-items:flex-start;gap:30px;padding:30px 32px;display:flex}.menu-card__title-line{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.menu-card__header h2{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(1.9rem,4vw,2.65rem);font-weight:500;line-height:1}.menu-card__header p{max-width:62ch;color:var(--ink-muted);margin-top:10px}.availability{letter-spacing:.035em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.72rem;font-weight:800;line-height:1;display:inline-flex}.availability:before{content:"";border-radius:50%;width:7px;height:7px}.availability--open{color:#245c46;background:#dfeee4}.availability--open:before{background:#2c8b63}.availability--closed{color:#7d4634;background:var(--terracotta-soft)}.availability--closed:before{background:var(--terracotta)}.menu-schedule{flex:none;position:relative}.menu-schedule summary{border:1px solid var(--line);color:var(--forest);background:var(--paper);cursor:pointer;border-radius:11px;padding:9px 13px;font-size:.8rem;font-weight:750;list-style:none}.menu-schedule summary::-webkit-details-marker{display:none}.menu-schedule summary:after{content:"+";margin-left:8px}.menu-schedule[open] summary:after{content:"−"}.menu-schedule dl{z-index:5;border:1px solid var(--line);background:var(--paper);border-radius:14px;width:min(330px,100vw - 48px);padding:12px 14px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 45px #1c282229}.menu-schedule dl div{border-bottom:1px solid #eeede7;grid-template-columns:90px 1fr;gap:12px;padding:6px 2px;font-size:.76rem;display:grid}.menu-schedule dl div:last-child{border-bottom:0}.menu-schedule dt{font-weight:750}.menu-schedule dd{color:var(--ink-muted);text-align:right}.menu-layout{padding:10px 32px 36px}.catalogue-section{border-left:3px solid #0000;padding-top:30px}.catalogue-section--depth-0{border-left:0}.catalogue-section--depth-1,.catalogue-section--depth-2{margin-top:26px;padding:22px 0 0 22px}.catalogue-section__heading{margin-bottom:18px}.catalogue-section__heading h3{font-family:var(--font-display);letter-spacing:-.025em;font-size:1.55rem;font-weight:500}.catalogue-section--depth-1 .catalogue-section__heading h3,.catalogue-section--depth-2 .catalogue-section__heading h3{font-family:var(--font-sans);font-size:1.05rem;font-weight:800}.catalogue-section__heading p{max-width:64ch;color:var(--ink-muted);margin-top:5px;font-size:.9rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.product-card{background:#fff;border:1px solid #e6e4dc;border-radius:18px;grid-template-columns:150px minmax(0,1fr);min-height:172px;transition:border-color .16s,transform .16s,box-shadow .16s;display:grid;overflow:hidden}.product-card:hover{border-color:#cfcec4;transform:translateY(-2px);box-shadow:0 12px 28px #1c282217}.product-card__image{background:#e9ede5;place-items:center;min-height:100%;display:grid;position:relative;overflow:hidden}.product-card__image img{object-fit:cover}.product-card__image-placeholder{color:#1f443766;font-family:var(--font-display);font-size:3rem}.product-card__body{min-width:0;padding:18px}.product-card__heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.product-card__heading h4{font-size:1rem;line-height:1.3}.product-card__heading strong,.variant-list strong{color:var(--forest);flex:none;font-size:.9rem}.product-card__description{color:var(--ink-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:7px;font-size:.83rem;display:-webkit-box;overflow:hidden}.product-card__variant-name{color:var(--ink-muted);margin-top:9px;font-size:.75rem;font-weight:650}.variant-list{gap:6px;margin-top:12px;display:grid}.variant-list li{color:var(--ink-muted);border-top:1px solid #eeede8;justify-content:space-between;align-items:baseline;gap:12px;padding-top:6px;font-size:.78rem;display:flex}.tag-list{flex-wrap:wrap;gap:5px;margin-top:12px;display:flex}.tag-list li{color:#35594c;background:#e6efe8;border-radius:999px;padding:3px 7px;font-size:.64rem;font-weight:750}.product-card__allergens{color:#7c5548;margin-top:9px;font-size:.69rem}.product-card__allergens span{font-weight:800}.empty-state{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);text-align:center;border-radius:26px;padding:70px 28px}.empty-state h2{font-family:var(--font-display);margin-top:9px;font-size:2.2rem;font-weight:500}.empty-state p,.empty-copy{color:var(--ink-muted);margin-top:8px}.empty-copy{text-align:center;padding:28px 0 8px}.storefront-footer{color:#78817c;letter-spacing:.035em;justify-content:center;align-items:baseline;gap:7px;padding:26px 20px 38px;font-size:.72rem;display:flex}.storefront-footer strong{color:var(--forest);font-family:var(--font-display);font-size:1rem}.problem-page,.home-page{place-items:center;min-height:100vh;padding:30px;display:grid}.problem-card,.home-page__card{border:1px solid var(--line);background:var(--paper);width:min(600px,100%);box-shadow:var(--shadow);text-align:center;border-radius:30px;padding:clamp(34px,8vw,68px)}.problem-card h1,.home-page__card h1{font-family:var(--font-display);letter-spacing:-.045em;margin-top:12px;font-size:clamp(2.1rem,7vw,3.5rem);font-weight:500;line-height:1.03}.problem-card p,.home-page__card p{max-width:44ch;color:var(--ink-muted);margin:18px auto 0}.problem-card a,.problem-card button{color:#fff;background:var(--forest);cursor:pointer;border:0;border-radius:12px;margin-top:25px;padding:11px 18px;font-weight:750;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;background:var(--forest);width:58px;height:58px;font-family:var(--font-display);border-radius:17px;place-items:center;margin:0 auto 22px;font-size:1.75rem;display:grid}.loading-hero{background:var(--forest-deep);padding-block:72px}.loading-hero .page-shell{align-items:center;gap:28px;display:flex}.loading-lines{width:min(500px,70%)}.loading-content{gap:18px;padding-block:38px;display:grid}.skeleton{background:#dfe2db;border-radius:12px;animation:1.6s ease-in-out infinite pulse}.loading-hero .skeleton{background:#ffffff24}.skeleton--logo{border-radius:26px;flex:0 0 96px;width:96px;height:96px}.skeleton--eyebrow{width:120px;height:12px}.skeleton--title{width:75%;height:45px;margin-top:15px}.skeleton--copy{width:100%;height:18px;margin-top:15px}.skeleton--notice{height:58px}.skeleton--menu{border-radius:28px;height:340px}@keyframes pulse{0%,to{opacity:.62}50%{opacity:1}}}@layer responsive{@media (max-width:900px){.storefront-hero__content{flex-direction:column;align-items:flex-start;gap:30px}.table-card{width:100%}.product-grid{grid-template-columns:1fr}}@media (max-width:640px){.page-shell{width:min(100% - 24px,1120px)}.storefront-hero__content{min-height:0;padding-block:36px 30px}.storefront-brand{flex-direction:column;align-items:flex-start;gap:20px}.storefront-brand__logo{border-radius:21px;flex-basis:76px;width:76px;height:76px;font-size:2.25rem}.storefront-brand h1{font-size:2.7rem}.storefront-content{padding-block:22px 48px}.menu-nav{margin-block:18px}.menu-card{border-radius:21px}.menu-card__header{flex-direction:column;align-items:stretch;gap:18px;padding:24px 20px}.menu-schedule summary{width:fit-content}.menu-schedule dl{left:0;right:auto}.menu-layout{padding:4px 16px 24px}.catalogue-section{padding-top:24px}.catalogue-section--depth-1,.catalogue-section--depth-2{padding-left:14px}.product-card{grid-template-columns:112px minmax(0,1fr);min-height:142px}.product-card__body{padding:14px}.product-card__heading{flex-direction:column;gap:5px}.problem-page,.home-page{padding:16px}.problem-card,.home-page__card{border-radius:24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.skeleton{animation:none}.menu-nav a,.product-card{transition:none}}}
