:root{--bg:#f5f1e8;--surface:#fffdf8;--ink:#1c1915;--muted:#6f675d;--accent:#9e2d21;--accent-dark:#782017;--gold:#bd9761;--line:#d9d0c2;--max:1180px;--radius:18px;--shadow:0 18px 50px rgba(36,28,20,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit}button,input{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:#fff;padding:.8rem 1rem;border-radius:.5rem}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:50;min-height:76px;padding:.8rem max(1rem,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:rgba(245,241,232,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(100,85,68,.14)}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;font:700 1.45rem Georgia,serif}.brand strong,.brand small{display:block}.brand strong{font:700 1.08rem Georgia,serif}.brand small{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}nav{display:flex;align-items:center;gap:1.4rem}nav a{text-decoration:none;font-weight:650;font-size:.92rem}.nav-toggle{display:none;border:0;background:transparent;font-weight:700}.button{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:999px;padding:.82rem 1.25rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-weight:750;cursor:pointer;transition:.18s}.button:hover{background:var(--accent-dark);transform:translateY(-1px)}.button-outline{background:transparent;color:inherit;border-color:currentColor}.button-small{padding:.6rem 1rem}.hero{position:relative;min-height:690px;display:flex;align-items:flex-end;overflow:hidden;background:#1c1915}.hero-image,.hero-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{background:linear-gradient(90deg,rgba(18,14,10,.83),rgba(18,14,10,.31) 58%,rgba(18,14,10,.1)),linear-gradient(0deg,rgba(18,14,10,.45),transparent 55%)}.hero-copy{position:relative;z-index:2;width:min(var(--max),calc(100% - 2rem));margin:0 auto;padding:7rem 0 6rem;color:#fff}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.74rem;color:var(--accent);margin:0 0 .65rem}.hero .eyebrow{color:#e1bb84}.hero h1{font:700 clamp(3.4rem,8vw,7.4rem)/.92 Georgia,serif;max-width:780px;margin:.2rem 0 1.4rem}.hero-copy>p:not(.eyebrow){max-width:650px;font-size:1.16rem;color:#f4eee6}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.info-strip{width:min(var(--max),calc(100% - 2rem));margin:-2rem auto 0;position:relative;z-index:3;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(3,1fr);padding:1.4rem 1.6rem}.info-strip div{padding:.35rem 1.4rem;border-right:1px solid var(--line)}.info-strip div:last-child{border:0}.info-strip span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.info-strip strong,.info-strip a{font:700 1.05rem Georgia,serif;text-decoration:none}.section{width:min(var(--max),calc(100% - 2rem));margin:0 auto;padding:7rem 0}.intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.intro h2,.section h2,.order-band h2,.contact h2{font:700 clamp(2.3rem,5vw,4.6rem)/1 Georgia,serif;margin:.2rem 0 1.2rem}.intro p{font-size:1.08rem}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.section-heading>p{color:var(--muted);font-size:.85rem}.menu-section{padding-top:4rem}.menu-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2.2rem}.tabs{display:flex;background:#e7dfd2;border-radius:999px;padding:.25rem}.tabs button{border:0;background:transparent;border-radius:999px;padding:.7rem 1rem;font-weight:750;cursor:pointer}.tabs button[aria-selected="true"]{background:var(--ink);color:#fff}.search-field input{width:min(340px,42vw);padding:.8rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.menu-content{display:grid;gap:3.4rem}.menu-category h3{font:700 2rem Georgia,serif;margin:0 0 1rem;padding-bottom:.7rem;border-bottom:1px solid var(--gold)}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.8rem}.menu-item{display:grid;grid-template-columns:1fr auto;gap:.3rem 1.2rem;padding:1rem 0;border-bottom:1px solid var(--line)}.menu-item h4{font:700 1.02rem Georgia,serif;margin:0}.menu-item .price{font-weight:850;white-space:nowrap}.menu-item p{grid-column:1/-1;margin:0;color:var(--muted);font-size:.91rem}.empty-state{padding:2.5rem;background:var(--surface);border-radius:var(--radius);border:1px dashed var(--line);text-align:center}.allergen-note{margin-top:3rem;padding:1rem 1.2rem;border-left:4px solid var(--gold);background:#ece4d7;color:#50493f;font-size:.88rem}.order-band{background:var(--ink);color:#fff;padding:5rem max(1rem,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;align-items:center;gap:3rem}.order-band>div{max-width:720px}.order-band .eyebrow{color:#e1bb84}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:180px;gap:1rem}.gallery-grid figure{margin:0;overflow:hidden;border-radius:var(--radius);background:#d9d0c2}.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(6){grid-column:span 7;grid-row:span 2}.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(5){grid-column:span 5;grid-row:span 2}.gallery-grid figure:nth-child(3),.gallery-grid figure:nth-child(4),.gallery-grid figure:nth-child(7){grid-column:span 4;grid-row:span 2}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:.25s}.gallery-grid img:hover{transform:scale(1.025)}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem}.contact-card{background:var(--surface);padding:3rem;border-radius:var(--radius);box-shadow:var(--shadow)}address{font-style:normal;font-size:1.05rem}.contact-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.8rem}.map{width:100%;height:100%;min-height:480px;border:0;border-radius:var(--radius)}footer{padding:3rem max(1rem,calc((100vw - var(--max))/2));background:#0e0d0b;color:#e8e1d8;display:grid;grid-template-columns:1fr 2fr 1fr;gap:2rem;align-items:center;font-size:.85rem}footer strong,footer span{display:block}.footer-links{display:flex;justify-content:center;gap:1.4rem;flex-wrap:wrap}footer a{color:inherit}dialog{width:min(900px,calc(100% - 2rem));height:min(760px,calc(100% - 2rem));border:0;border-radius:var(--radius);padding:0;box-shadow:0 28px 90px rgba(0,0,0,.42)}dialog::backdrop{background:rgba(0,0,0,.68)}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;border-bottom:1px solid var(--line)}.dialog-header h2{margin:0;font:700 1.5rem Georgia,serif}.dialog-close{border:0;background:transparent;font-size:2rem;cursor:pointer}#form-frame{width:100%;height:calc(100% - 70px);border:0;display:none}.form-placeholder{padding:3rem;max-width:650px;margin:auto;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:820px){.nav-toggle{display:block}nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--surface);padding:1.2rem;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}nav[data-open="true"]{display:flex}.hero{min-height:610px}.hero-copy{padding-bottom:4rem}.info-strip{grid-template-columns:1fr;margin-top:0;border-radius:0;width:100%}.info-strip div{border-right:0;border-bottom:1px solid var(--line)}.intro,.contact{grid-template-columns:1fr}.menu-toolbar,.section-heading,.order-band{align-items:stretch;flex-direction:column}.menu-grid{grid-template-columns:1fr}.search-field input{width:100%}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:280px}.gallery-grid figure{grid-column:1!important;grid-row:span 1!important}.map{min-height:380px}footer{grid-template-columns:1fr;text-align:center}.footer-links{order:3}.section{padding:5rem 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}