:root{--mustard:#F4C21B;--ink:#231815;--red:#D1321F;--paper:#FFFBF0;--pink:#F29AB0;--text:#231815;--muted:#5b4a43;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#1d1512;--text:#FFF4DA;--muted:#cdb9a8}}
:root[data-theme="dark"]{--paper:#1d1512;--text:#FFF4DA;--muted:#cdb9a8}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font-family:"Work Sans",system-ui,sans-serif;line-height:1.6;font-size:17px}
h1,h2,h3{font-family:"Bowlby One",Impact,"Arial Black",sans-serif;font-weight:400;line-height:1.05;margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}

.hero{background:var(--mustard);color:var(--ink);padding:28px 0 64px;border-bottom:8px solid var(--ink)}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:56px}
.brand{font-family:"Bowlby One",Impact,sans-serif;font-size:20px;text-decoration:none}
.open{background:var(--ink);color:var(--mustard);padding:6px 14px;border-radius:99px;font-size:14px;font-weight:700}
.hero h1{font-size:clamp(44px,10vw,104px);max-width:11ch}
.hero p{font-size:20px;max-width:34ch;margin:24px 0 32px;font-weight:500}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-block;padding:15px 26px;border-radius:10px;font-weight:700;text-decoration:none;border:3px solid var(--ink)}
.btn.main{background:var(--red);color:#fff;box-shadow:5px 5px 0 var(--ink)}
.btn.main:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink)}
.btn.alt{background:transparent;color:var(--ink)}
.btn.alt:hover{background:var(--ink);color:var(--mustard)}
@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn.main:hover{transform:none}html{scroll-behavior:auto}}

section{padding:64px 0}
h2{font-size:clamp(30px,5vw,46px);margin-bottom:12px}
.lead{color:var(--muted);max-width:52ch;margin:0 0 32px}

.menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.item{border:3px solid var(--ink);border-radius:14px;padding:22px;background:var(--paper)}
.item.rec{background:var(--pink);color:var(--ink)}
.item.rec2{background:var(--mustard);color:var(--ink)}
.item h3{font-size:22px;margin-bottom:8px}
.item p{margin:0}
.note{margin-top:24px;font-weight:700}

.rating{background:var(--ink);color:var(--paper)}
:root[data-theme="dark"] .rating,.rating{--rt:#FFF4DA}
.rating{color:#FFF4DA}
.score{display:flex;align-items:baseline;gap:14px;margin-bottom:28px;flex-wrap:wrap}
.score b{font-family:"Bowlby One",Impact,sans-serif;font-size:72px;line-height:1;color:var(--mustard);font-weight:400}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
blockquote{margin:0;padding:0 0 0 16px;border-left:5px solid var(--mustard)}
blockquote p{margin:0 0 6px}
blockquote cite{font-size:14px;opacity:.75;font-style:normal}

.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
.facts h3{font-size:20px;margin-bottom:6px;color:var(--red)}
.facts p{margin:0}

.contact{background:var(--red);color:#fff;text-align:center}
.contact h2{margin-bottom:16px}
.contact p{margin:0 auto 28px;max-width:44ch}
.contact .btn.main{background:var(--mustard);color:var(--ink)}
footer{padding:24px 0;text-align:center;font-size:14px;color:var(--muted)}

.logo{display:block;height:64px;width:auto;max-width:60vw}
.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.hero-photo{width:100%;aspect-ratio:4/5;object-fit:cover;border:5px solid var(--ink);border-radius:18px;box-shadow:10px 10px 0 var(--ink);transform:rotate(2deg)}
@media (max-width:760px){.hero-grid{grid-template-columns:1fr}.hero-photo{aspect-ratio:4/3;transform:none;box-shadow:6px 6px 0 var(--ink)}}
.gallery{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:stretch}
.gallery img{width:100%;height:100%;object-fit:cover;border:3px solid var(--ink);border-radius:14px;display:block}
@media (max-width:760px){.gallery{grid-template-columns:1fr}.gallery img.tall{height:320px}}
