:root{--bg:#f7f3ea;--card:#fffdf8;--ink:#151714;--muted:#596057;--accent:#7c2d12;--accent2:#1f4d35;--line:#ddd5c7;--fs:18px}*{box-sizing:border-box}html{font-size:var(--fs);-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}.site-header{position:sticky;top:0;z-index:10;background:rgba(247,243,234,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:.8rem 1rem;display:flex;gap:1rem;align-items:center;justify-content:space-between}.brand{font-weight:900;font-size:1.05rem;color:var(--ink);text-decoration:none}.site-header nav{display:flex;gap:.45rem}.site-header nav a{min-height:46px;display:flex;align-items:center;padding:.55rem .7rem;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:750}.site-header nav a:focus-visible,.btn:focus-visible,.text-size button:focus-visible{outline:4px solid #f0b429;outline-offset:2px}main{min-height:70vh}.hero{max-width:900px;margin:auto;padding:3.6rem 1rem 2.2rem;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--accent2);font-size:.8rem}.hero h1{font-size:clamp(2.2rem,10vw,4.7rem);line-height:1;margin:.25rem 0 1rem}.hero p{font-size:1.15rem;max-width:680px;margin:0 auto 1.5rem;color:var(--muted)}.hero-actions{display:grid;gap:.85rem;max-width:540px;margin:1.6rem auto}.btn{display:flex;align-items:center;justify-content:center;min-height:58px;padding:.8rem 1rem;border-radius:14px;background:var(--accent);color:#fff;text-decoration:none;font-weight:900;font-size:1.05rem;border:2px solid var(--accent)}.btn.alt{background:var(--accent2);border-color:var(--accent2)}.info-strip{max-width:900px;margin:1rem auto 3rem;padding:0 1rem;display:grid;gap:.8rem}.info-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem}.page-head{max-width:900px;margin:auto;padding:1.4rem 1rem .5rem}.page-head h1{font-size:2rem;line-height:1.1;margin:.2rem 0}.page-head p{color:var(--muted);margin:.5rem 0}.text-size{display:flex;align-items:center;gap:.4rem;margin-top:1rem;flex-wrap:wrap}.text-size span{font-weight:800;margin-right:.2rem}.text-size button{border:2px solid var(--ink);background:var(--card);color:var(--ink);border-radius:10px;min-width:52px;min-height:48px;font-size:1rem;font-weight:900}.category-nav{display:flex;gap:.55rem;overflow:auto;padding:.5rem 1rem 1rem;max-width:900px;margin:auto;scrollbar-width:thin}.category-nav a{white-space:nowrap;background:var(--card);border:1px solid var(--line);padding:.65rem .8rem;border-radius:999px;color:var(--ink);text-decoration:none;font-weight:800}.menu-wrap,.catalog{max-width:900px;margin:auto;padding:0 1rem 3rem}.category,.menu-section{scroll-margin-top:95px;margin:1.5rem 0 2.4rem}.category h2,.menu-section h2{font-size:1.55rem;margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:3px solid var(--ink)}.product{padding:1rem 0;border-bottom:1px solid var(--line)}.product-top{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start}.product h3{font-size:1.15rem;line-height:1.25;margin:0}.price{font-size:1.15rem;font-weight:950;white-space:nowrap}.product p{color:var(--muted);margin:.35rem 0 0}.allergens{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.55rem}.allergen{font-size:.78rem;font-weight:800;background:#ece7dd;border-radius:7px;padding:.22rem .42rem}.soldout{opacity:.65}.soldout h3{text-decoration:line-through}.soldout-badge{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#8d1c13}.daily-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1rem;margin-top:1rem}.daily-card h2{font-size:1.45rem}.daily-dish{font-size:1.12rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.daily-dish:last-child{border-bottom:0}.daily-price{font-size:1.6rem;font-weight:950;text-align:center;margin:1.2rem 0 .3rem}.notice{background:#fff7d6;border:2px solid #8a6d00;border-radius:14px;padding:1rem;font-weight:700}.site-footer{border-top:1px solid var(--line);padding:2rem 1rem 3rem;display:flex;gap:.35rem;flex-direction:column;align-items:center;text-align:center;color:var(--muted)}.site-footer a{color:inherit}.powered{font-size:.78rem;margin-top:.5rem}@media(min-width:700px){.hero-actions{grid-template-columns:1fr 1fr}.info-strip{grid-template-columns:repeat(3,1fr)}.site-header{padding-inline:max(1rem,calc((100% - 900px)/2))}}
