:root{--red:#b8322a;--red2:#8f2219;--cream:#fbf3e4;--paper:#fffaf0;--basil:#2f5d3a;--gold:#e8b04a;--ink:#2b1d17;--f1:'DM Serif Display',Georgia,serif;--f2:'Work Sans',system-ui,sans-serif;--f3:'Caveat',cursive}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font:16px/1.6 var(--f2);color:var(--ink);background:var(--cream)}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:var(--f1);font-weight:400;line-height:1.05}
.script{font:700 1.7rem/1 var(--f3);color:var(--red);display:block}
.btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--red);color:#fff;text-decoration:none;font-weight:800;padding:.75rem 1.3rem;border-radius:8px;border:2px solid var(--red);transition:.2s}
.btn:hover{background:var(--red2);border-color:var(--red2);transform:translateY(-2px)}
.btn.big{padding:1rem 1.5rem;font-size:1.05rem}.btn.line{background:transparent;color:var(--red)}.btn.line:hover{color:#fff}
.topbar{background:var(--basil);color:#f3ead6;text-align:center;font-size:.85rem;padding:.45rem 1rem;font-weight:500}
.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem clamp(1rem,4vw,3rem);background:rgba(251,243,228,.95);backdrop-filter:blur(8px);border-bottom:1px solid #ecdcbf}
.logo{text-decoration:none;display:flex;flex-direction:column;line-height:1}.logo .p{font:2rem var(--f1);color:var(--red)}.logo .s{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;font-weight:600;color:var(--basil)}
.nav nav{display:flex;gap:1.6rem;font-weight:600}.nav nav a{text-decoration:none}.nav nav a:hover{color:var(--red)}
.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:2rem;padding:clamp(2rem,5vw,4rem) clamp(1.2rem,5vw,4rem) clamp(3rem,6vw,5rem);max-width:1400px;margin:auto}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.8rem);color:var(--ink);margin:.4rem 0 1.2rem}.hero h1 em{color:var(--red)}
.hero .script{font-size:2.3rem;color:var(--basil)}
.lede{font-size:1.15rem;max-width:34rem;color:#4b3a30}.cta{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.8rem 0}
.badges{display:flex;flex-wrap:wrap;gap:.6rem}.badges span{background:var(--paper);border:1px dashed #d8c29b;border-radius:99px;padding:.4rem .9rem;font-size:.85rem}.badges b{color:var(--red)}
.h-img{position:relative;display:grid;place-items:center}
.pie{width:min(100%,560px);aspect-ratio:1;object-fit:cover;border-radius:50%;border:14px solid var(--paper);box-shadow:0 30px 60px -25px rgba(90,30,10,.55);animation:spin-in 1.4s cubic-bezier(.2,.8,.2,1) both}
@keyframes spin-in{from{transform:rotate(-40deg) scale(.85);opacity:0}}
.sticker{position:absolute;top:6%;right:4%;background:var(--gold);color:var(--ink);width:120px;height:120px;border-radius:50%;display:grid;place-items:center;text-align:center;font:700 1.5rem/1 var(--f3);transform:rotate(12deg);box-shadow:0 10px 20px -10px rgba(0,0,0,.4)}.sticker b{font-size:1.9rem}
.check{height:26px;background:conic-gradient(var(--red) 25%,var(--paper) 0 50%,var(--red) 0 75%,var(--paper) 0) 0 0/26px 26px}
.sec-t{text-align:center;font-size:clamp(2.3rem,5vw,3.6rem);margin-bottom:2.5rem}.sec-t .script{margin-bottom:.3rem}
.faves{padding:clamp(3.5rem,7vw,6rem) clamp(1.2rem,5vw,4rem)}
.fav-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:1300px;margin:auto}
.fav-grid figure{background:var(--paper);border-radius:14px;overflow:hidden;box-shadow:0 18px 30px -22px rgba(90,30,10,.6);transition:transform .3s}
.fav-grid figure:hover{transform:translateY(-6px) rotate(-.6deg)}
.fav-grid img{aspect-ratio:4/3.3;width:100%;object-fit:cover}.fav-grid figcaption{padding:1rem 1.2rem 1.3rem;font-size:.92rem;color:#5b4a3e}.fav-grid b{display:block;font:1.4rem var(--f1);color:var(--ink);font-weight:400}
.menu{background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Ccircle cx='20' cy='20' r='1.5' fill='%23ffffff' fill-opacity='.12'/%3E%3C/svg%3E");padding:clamp(3rem,7vw,6rem) clamp(.8rem,4vw,3rem)}
.menu-card{max-width:1100px;margin:auto;background:var(--paper);border-radius:6px;padding:clamp(2rem,5vw,4rem);box-shadow:0 30px 60px -20px rgba(0,0,0,.45);outline:2px solid var(--gold);outline-offset:-14px}
.sec-t.light{margin-bottom:1rem}.note{text-align:center;font-size:.88rem;color:#7b6656;margin-bottom:2rem;font-style:italic}
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin-bottom:2rem}
.tabs button{font:600 .95rem var(--f2);background:transparent;border:1.5px solid #e2cfaa;border-radius:99px;padding:.55rem 1.1rem;cursor:pointer;color:var(--ink)}
.tabs button.on{background:var(--basil);border-color:var(--basil);color:#fff}
.panel{display:none;animation:fade .4s}.panel.on{display:block}@keyframes fade{from{opacity:0;transform:translateY(8px)}}
.panel h3{font-size:2.2rem;color:var(--red);text-align:center}.pd{text-align:center;color:#7b6656;margin:.2rem 0 1.5rem}
.items{list-style:none;padding:0;columns:2;column-gap:3rem;margin-top:1.4rem}.items li{break-inside:avoid;padding:.65rem 0}
.row{display:flex;align-items:baseline;gap:.5rem}.nm{font:1.22rem var(--f1)}.row i{flex:1;border-bottom:2px dotted #d4bd94;transform:translateY(-4px)}.pr{font-weight:800;color:var(--red);white-space:nowrap}
.items p{font-size:.88rem;color:#6d5a4c;margin-top:.15rem}
.foot{margin-top:1.4rem;font-size:.88rem;color:#6d5a4c;border-top:1px dashed #e2cfaa;padding-top:1rem}
.menu-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem;margin-top:2.5rem;text-align:center;font-size:.9rem;color:#6d5a4c}
.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(4rem,8vw,7rem) clamp(1.2rem,5vw,4rem);max-width:1300px;margin:auto}
.st-img{position:relative;padding-bottom:3rem}.st-img img{border-radius:10px;box-shadow:0 20px 40px -20px rgba(0,0,0,.4)}
.st-2{position:absolute;width:52%;right:-4%;bottom:0;border:8px solid var(--paper);transform:rotate(3deg)}
.st-txt h2{font-size:clamp(2.2rem,4vw,3.2rem);margin:.4rem 0 1.2rem}.st-txt p+p{margin-top:1rem}.sig{font:700 1.8rem var(--f3);color:var(--basil)}
.reviews{background:var(--basil);color:#f3ead6;padding:clamp(4rem,8vw,6.5rem) clamp(1.2rem,5vw,4rem)}.reviews .sec-t{color:#fff}.reviews .script{color:var(--gold)}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;max-width:1250px;margin:auto}
.rev-grid blockquote{background:var(--paper);color:var(--ink);padding:1.8rem 1.6rem;border-radius:4px;box-shadow:0 14px 28px -14px rgba(0,0,0,.5);position:relative}
.rev-grid blockquote:before{content:"★★★★★";display:block;color:var(--gold);letter-spacing:.12em;margin-bottom:.6rem}
.rev-grid p{font-size:1rem}.rev-grid cite{display:block;margin-top:1rem;font:700 1.35rem var(--f3);color:var(--red);font-style:normal}
.tilt1{transform:rotate(-1deg)}.tilt2{transform:rotate(.8deg)}.tilt3{transform:rotate(-.4deg)}
.gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:0}.gallery img{aspect-ratio:1;width:100%;object-fit:cover;transition:transform .4s}.gallery img:hover{transform:scale(1.04);position:relative;z-index:2}
.visit{display:grid;grid-template-columns:1fr 1.2fr;min-height:520px}
.v-card{padding:clamp(3rem,6vw,5rem) clamp(1.2rem,5vw,4rem);background:var(--paper)}.v-card h2{font-size:clamp(2.2rem,4vw,3rem);margin-bottom:1.5rem}
.hours{border-collapse:collapse;width:100%;max-width:28rem}.hours th,.hours td{text-align:left;padding:.8rem 0;border-bottom:1px dashed #e2cfaa;vertical-align:top}.hours th{font:1.2rem var(--f1);font-weight:400;width:8rem}
.small{font-size:.82rem;color:#7b6656;margin-top:.8rem}.addr{margin:1.5rem 0}.v-btns{display:flex;flex-wrap:wrap;gap:.7rem}
.visit iframe{width:100%;height:100%;min-height:420px;border:0;background:#eadcc2}
footer{background:var(--ink);color:#cdbba5;text-align:center;padding:2.5rem 1rem 7rem;font-size:.9rem}.f-logo{font:2rem var(--f1);color:#fff;margin-bottom:.4rem}footer .small{color:#9d8a76}
.sticky,.sticky2{display:none}
.rv{opacity:0;translate:0 26px;transition:opacity .7s,translate .7s}.rv.in{opacity:1;translate:0 0}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;translate:none}.pie{animation:none}}
@media (max-width:900px){
 .nav nav,.nav .btn{display:none}.nav{justify-content:center}
 .hero{grid-template-columns:1fr;text-align:center;padding-top:1.5rem}.h-img{order:-1}.pie{width:78%}.sticker{width:92px;height:92px;font-size:1.15rem;right:2%}.sticker b{font-size:1.4rem}
 .lede{margin:auto}.cta,.badges{justify-content:center}.cta .btn{width:100%;justify-content:center}
 .fav-grid{grid-template-columns:1fr 1fr;gap:.9rem}.fav-grid figcaption{padding:.7rem .8rem;font-size:.8rem}.fav-grid b{font-size:1.1rem}
 .items{columns:1}.menu-card{outline-offset:-8px}.tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:.4rem}.tabs button{flex:none}
 .story,.visit{grid-template-columns:1fr}.rev-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(3,1fr)}
 .sticky{display:flex;flex-direction:column;align-items:center;position:fixed;left:10px;right:86px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:30;background:var(--red);color:#fff;text-decoration:none;font-weight:800;padding:.6rem;border-radius:10px;box-shadow:0 10px 26px -6px rgba(0,0,0,.5);line-height:1.2}
 .sticky small{font-weight:500;opacity:.9}
 .sticky2{display:grid;place-items:center;position:fixed;right:10px;width:68px;bottom:calc(10px + env(safe-area-inset-bottom));height:52px;z-index:30;background:var(--basil);color:#fff;text-decoration:none;font-weight:800;border-radius:10px;box-shadow:0 10px 26px -6px rgba(0,0,0,.5)}
 .sticky,.sticky2{opacity:0;transform:translateY(130%);transition:.35s}.scrolled .sticky,.scrolled .sticky2{opacity:1;transform:none}
}
@media (max-width:600px){.tb{display:none}}
