:root{--bg:#f8f1e7;--surface:#fff9f1;--surface2:#fbf5ec;--accent:#d76332;--gold:#b87932;--text:#2d211b;--muted:#74645a;--line:rgba(140,95,60,.18);--shadow:0 10px 30px rgba(84,52,32,.09);--max:500px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#e9dfd1}body{margin:0;font-family:"DM Sans",system-ui,sans-serif;color:var(--text);background:radial-gradient(circle at 10% 5%,rgba(215,99,50,.08),transparent 22rem),#e9dfd1}button,input,select{font:inherit}button{border:0;cursor:pointer;color:inherit}img{display:block;width:100%}.app-shell{width:min(100%,var(--max));margin:auto;min-height:100vh;background:var(--bg);box-shadow:0 0 50px rgba(78,49,29,.08);overflow:hidden}.brand-header{position:relative;display:flex;align-items:flex-start;min-height:145px;padding:calc(28px + env(safe-area-inset-top)) 20px 25px;overflow:hidden}.brand-copy{display:flex;gap:12px;align-items:center;z-index:2}.brand-mark{width:50px;height:50px;display:grid;place-items:center;color:var(--accent);background:rgba(255,255,255,.48);border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 16px rgba(84,52,32,.07)}.brand-mark svg{width:34px}.brand-name{font-weight:800;font-size:1.08rem;letter-spacing:.045em}.brand-name strong{color:var(--accent)}.brand-tagline{margin-top:3px;font:italic 600 .88rem "Playfair Display",serif;color:var(--gold)}.brand-ornament{position:absolute;right:-15px;top:5px;width:170px;color:rgba(215,99,50,.23)}.sticky-tools{position:sticky;top:0;z-index:30;padding:10px 16px 12px;background:rgba(248,241,231,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(140,95,60,.08)}.search-wrap{position:relative;display:flex;align-items:center;padding:0 13px;background:var(--surface);border:1px solid var(--line);border-radius:18px}.search-wrap input{width:100%;height:48px;border:0;outline:0;background:transparent;padding:0 38px 0 10px;color:var(--text)}.search-icon{width:20px;height:20px;stroke:var(--muted);stroke-width:1.8;fill:none}.icon-btn{position:absolute;right:11px;width:30px;height:30px;border-radius:50%;background:#f1e4d7;color:var(--muted);font-size:1.35rem}.hidden{display:none!important}.chip-row,.card-rail,.pairing-rail,.related-rail{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.chip-row::-webkit-scrollbar,.card-rail::-webkit-scrollbar,.pairing-rail::-webkit-scrollbar,.related-rail::-webkit-scrollbar{display:none}.chip-row{margin-top:10px}.chip{flex:0 0 auto;padding:9px 13px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.82rem;font-weight:700}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 14px rgba(215,99,50,.2)}.content-section{padding:25px 16px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:14px}.section-heading h2{margin:0;font-size:1.25rem}.eyebrow{margin:0 0 4px;color:var(--gold);text-transform:uppercase;font-size:.67rem;letter-spacing:.1em;font-weight:800}.eyebrow.fire{color:var(--accent);text-transform:none;letter-spacing:.02em}.text-action{background:transparent;color:var(--accent);font-size:.78rem;font-weight:800;white-space:nowrap}.card-rail{gap:12px;padding:2px 2px 8px;scroll-snap-type:x proximity}.feature-card{position:relative;flex:0 0 43%;min-width:150px;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 5px 16px rgba(84,52,32,.07);scroll-snap-align:start;text-align:left}.feature-photo{aspect-ratio:1.15/.82;object-fit:cover;background:#eadbcb}.feature-copy{padding:10px 11px 12px}.feature-copy h3{margin:0 0 7px;font-size:.9rem;line-height:1.25}.feature-price{color:var(--accent);font-weight:800;font-size:.9rem}.card-badge{position:absolute;top:9px;left:9px;z-index:2;padding:5px 8px;border-radius:999px;background:rgba(255,249,241,.94);color:#a84c27;font-size:.61rem;font-weight:800}.rail-dots{display:flex;justify-content:center;gap:5px}.rail-dots span{width:5px;height:5px;border-radius:99px;background:#d9cabc}.rail-dots .active{width:18px;background:var(--accent)}.explore-section{padding-top:30px}.explore-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.explore-card{min-height:94px;padding:12px;text-align:left;border-radius:17px;border:1px solid var(--line);box-shadow:0 5px 16px rgba(84,52,32,.06);background:linear-gradient(120deg,rgba(255,249,241,.97) 0 55%,rgba(255,249,241,.58) 77%),var(--image) center/cover}.explore-card strong{display:block;max-width:70%;font-size:.93rem}.explore-card small{display:block;margin-top:6px;color:var(--muted);font-size:.68rem}.menu-heading{align-items:center}.filter-btn{display:flex;gap:6px;align-items:center;padding:9px 12px;border-radius:999px;border:1px solid var(--accent);color:var(--accent);background:var(--surface);font-size:.78rem;font-weight:800}.active-filter-info{margin:-3px 0 8px;color:var(--muted);font-size:.76rem}.menu-list{display:grid;gap:10px}.menu-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px;border-radius:17px;background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 15px rgba(84,52,32,.05);text-align:left}.menu-thumb{width:72px;height:72px;border-radius:14px;object-fit:cover;background:#eadbcb}.category-badge{display:inline-flex;padding:3px 7px;border-radius:999px;background:#f5e3d3;color:#9e542e;font-size:.59rem;font-weight:800}.menu-copy h3{margin:4px 0;font-size:.91rem}.menu-copy p{display:-webkit-box;margin:0;color:var(--muted);font-size:.72rem;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menu-price{display:grid;justify-items:end;gap:10px;white-space:nowrap}.menu-price strong{color:var(--accent);font-size:.81rem}.chevron{color:#b9a79a;font-size:1.15rem}.outline-wide-btn{width:100%;min-height:48px;margin-top:14px;border-radius:16px;border:1px solid var(--accent);background:rgba(255,249,241,.55);color:var(--accent);font-weight:800}.site-footer{padding:32px 20px calc(34px + env(safe-area-inset-bottom));text-align:center;color:var(--muted)}.footer-mark{color:var(--text);font-weight:800;letter-spacing:.05em}.footer-mark strong{color:var(--accent)}.site-footer p{margin:5px 0 4px;font:italic 600 .9rem "Playfair Display",serif;color:var(--gold)}.site-footer small{font-size:.7rem}.overlay{position:fixed;inset:0;z-index:100;display:none;justify-content:center;align-items:flex-end;background:rgba(39,27,20,.48);backdrop-filter:blur(4px)}.overlay.open{display:flex}.detail-sheet,.filter-sheet{width:min(100%,var(--max));max-height:92dvh;background:var(--bg);border-radius:24px 24px 0 0;overflow-y:auto;box-shadow:0 -20px 60px rgba(39,27,20,.22);animation:rise .24s ease-out}@keyframes rise{from{transform:translateY(18px);opacity:.6}to{transform:none;opacity:1}}.detail-sheet{position:relative}.sheet-close{position:absolute;right:14px;top:14px;z-index:5;width:38px;height:38px;border-radius:50%;background:rgba(255,249,241,.94);font-size:1.45rem;box-shadow:0 5px 16px rgba(84,52,32,.1)}.sheet-close.in-flow{position:static}.detail-image-wrap{height:260px;background:#eadbcb;overflow:hidden}.detail-image-wrap img{height:100%;object-fit:cover}.detail-content{padding:18px 18px calc(28px + env(safe-area-inset-bottom))}.detail-topline{display:flex;justify-content:space-between;gap:12px}.tag-pill{padding:6px 9px;border-radius:999px;background:#f4e1d0;color:#9e542e;font-size:.66rem;font-weight:800}.detail-price{color:var(--accent);font-weight:800}.detail-content>h2{margin:10px 0 7px;font-size:1.55rem}.detail-lead{margin:0 0 20px;color:var(--muted);line-height:1.55}.detail-info-block{padding:16px 0;border-top:1px solid var(--line)}.detail-info-block h3{margin:0 0 10px;font-size:.98rem}.detail-info-block p{margin:0;color:var(--muted);line-height:1.6;font-size:.85rem}.tag-wrap{display:flex;flex-wrap:wrap;gap:8px}.info-tag{padding:8px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:.75rem}.pairing-rail,.related-rail{gap:10px}.pair-card,.related-card{flex:0 0 122px;background:var(--surface);border:1px solid var(--line);border-radius:15px;overflow:hidden;text-align:left}.pair-card img,.related-card img{height:78px;object-fit:cover}.pair-card span,.related-card div{display:block;padding:8px;font-size:.72rem;font-weight:700}.related-card small{display:block;margin-top:4px;color:var(--accent)}.filter-sheet{padding:14px 18px calc(20px + env(safe-area-inset-bottom))}.sheet-grabber{width:42px;height:4px;margin:0 auto 14px;background:#d4c4b8;border-radius:99px}.filter-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.filter-head h2{margin:0}.filter-label{display:block;margin-bottom:7px;font-size:.78rem;font-weight:800}.filter-sheet select{width:100%;height:48px;padding:0 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text)}.filter-toggle-group{margin:14px 0 18px;border-top:1px solid var(--line)}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.toggle-row strong,.toggle-row small{display:block}.toggle-row small{margin-top:2px;color:var(--muted)}.toggle-row input{width:22px;height:22px;accent-color:var(--accent)}.filter-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:10px}.secondary-btn,.primary-btn{min-height:48px;border-radius:14px;font-weight:800}.secondary-btn{background:var(--surface);border:1px solid var(--line)}.primary-btn{background:var(--accent);color:#fff}.empty-state{padding:30px 20px;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:18px}.empty-state strong{display:block;margin-bottom:4px;color:var(--text)}@media(min-width:700px){body{padding:26px 0}.app-shell{min-height:calc(100vh - 52px);border-radius:28px}.overlay{align-items:center}.detail-sheet,.filter-sheet{border-radius:24px}.detail-sheet{max-height:88vh}.filter-sheet{max-width:470px;max-height:80vh}}

.splash-screen{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;min-height:100dvh;padding:24px;background:radial-gradient(circle at 20% 15%,rgba(215,99,50,.09),transparent 19rem),radial-gradient(circle at 85% 80%,rgba(184,121,50,.08),transparent 20rem),#f8f1e7;overflow:hidden;transition:opacity .38s ease,visibility .38s ease}.splash-screen.is-leaving{opacity:0;visibility:hidden;pointer-events:none}.splash-inner{position:relative;z-index:2;display:grid;justify-items:center;width:min(100%,360px);text-align:center}.splash-logo{width:94px;height:94px;display:grid;place-items:center;color:var(--accent);background:rgba(255,249,241,.82);border:1px solid var(--line);border-radius:29px;box-shadow:0 18px 45px rgba(84,52,32,.12);animation:splashLogoIn .7s cubic-bezier(.2,.8,.2,1) both}.splash-logo svg{width:58px}.splash-brand{margin-top:22px;font-size:1.55rem;font-weight:800;letter-spacing:.065em;animation:splashUp .55s .2s ease both}.splash-brand strong{color:var(--accent)}.splash-subtitle{margin-top:11px;color:var(--gold);font-size:.77rem;font-weight:800;letter-spacing:.32em;text-indent:.32em;animation:splashUp .55s .34s ease both}.splash-rule{width:60px;height:1px;margin:14px 0 12px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:splashUp .55s .42s ease both}.splash-tagline{color:var(--gold);font-family:"Playfair Display",serif;font-size:.96rem;font-style:italic;font-weight:600;animation:splashUp .55s .5s ease both}.splash-loader{display:flex;gap:7px;margin-top:28px;animation:splashUp .55s .62s ease both}.splash-loader i{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:splashDot 1s infinite ease-in-out}.splash-loader i:nth-child(2){animation-delay:.14s}.splash-loader i:nth-child(3){animation-delay:.28s}.splash-decor{position:absolute;color:rgba(215,99,50,.12);font-size:7rem;user-select:none}.splash-decor-a{right:-18px;top:6%;transform:rotate(14deg)}.splash-decor-b{left:-18px;bottom:4%;transform:rotate(-18deg);font-size:6rem}.menu-preload{opacity:0}.menu-ready{animation:menuFadeIn .45s ease both}@keyframes splashLogoIn{from{opacity:0;transform:scale(.88) translateY(10px)}to{opacity:1;transform:none}}@keyframes splashUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes splashDot{0%,60%,100%{transform:translateY(0);opacity:.34}30%{transform:translateY(-5px);opacity:1}}@keyframes menuFadeIn{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.splash-screen,.splash-logo,.splash-brand,.splash-subtitle,.splash-rule,.splash-tagline,.splash-loader,.splash-loader i,.menu-ready{animation:none!important;transition-duration:.1s!important}}
