/* KAIROS static template: food. Precompiled, no build step. Theme: light warm paper, one accent (from the logo). */
@font-face{font-family:"Display";font-style:normal;font-display:swap;font-weight:200 800;src:url(fonts/display-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Display";font-style:normal;font-display:swap;font-weight:200 800;src:url(fonts/display-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#F7F2EA;--paper:#FFFDF9;--ink:#231C16;--muted:#5E5247;--line:#E3D9CB;--radius:18px;--max:1180px;--pad:clamp(20px,5vw,56px)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.55 "Display",system-ui,"Segoe UI",Roboto,sans-serif}
img{display:block;max-width:100%;height:auto}
a{color:var(--accent-text)}
h1,h2{font-family:"Display",system-ui,sans-serif;letter-spacing:-.02em;line-height:1.02;margin:0}
h1{font-size:clamp(46px,8.4vw,112px);font-weight:760}
h2{font-size:clamp(30px,4.4vw,56px);font-weight:700}
.proposal{margin:0;background:var(--ink);color:#F7F2EA;text-align:center;font-size:13px;letter-spacing:.04em;padding:7px 12px}
.bar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px var(--pad);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{font-weight:720;font-size:20px;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:650;text-decoration:none;border:2px solid var(--accent);white-space:nowrap;transition:transform .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible,.g:focus-visible,.lb-close:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.btn-small{min-height:44px;padding:8px 18px;font-size:15px}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.hero{max-width:var(--max);margin:0 auto;padding:clamp(24px,5vw,64px) var(--pad);display:grid;gap:clamp(24px,4vw,56px);align-items:center}
.kicker{margin:0 0 14px;color:var(--muted);font-size:16px;font-weight:560}
.lead{font-size:19px;color:var(--muted);margin:18px 0 26px;max-width:36ch}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.rating{margin:22px 0 0;font-weight:600}
.stars{color:var(--accent-text)}
.hero-photo{margin:0;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;max-height:72vh}
.hero-photo img{width:100%;height:100%;object-fit:cover}
@media (min-width:900px){.hero{grid-template-columns:1.05fr .95fr;min-height:calc(100vh - 110px)}.hero-photo{max-height:78vh}}
.plate{padding:clamp(40px,7vw,96px) 0 0;text-align:center}
.plate h2{padding:0 var(--pad);margin-bottom:clamp(20px,3vw,36px)}
.plate-frame{margin:0 auto;width:min(100%,1400px);aspect-ratio:16/8;overflow:hidden}
.plate-frame img{width:100%;height:100%;object-fit:cover}
.gallery{max-width:var(--max);margin:0 auto;padding:clamp(20px,3vw,32px) var(--pad) clamp(40px,6vw,80px)}
.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(10px,1.6vw,18px)}
@media (min-width:760px){.grid{grid-template-columns:repeat(3,1fr)}}
.g{display:block;width:100%;padding:0;border:0;background:var(--line);border-radius:12px;overflow:hidden;cursor:zoom-in;aspect-ratio:1}
.g img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.g:hover img{transform:scale(1.03)}
.review{background:var(--paper);border-block:1px solid var(--line);padding:clamp(48px,8vw,110px) var(--pad)}
.review blockquote{margin:0 auto;max-width:900px}
.review p{font-size:clamp(24px,3.2vw,40px);line-height:1.22;font-weight:520;letter-spacing:-.01em;margin:0 0 20px}
.review footer{color:var(--muted);font-size:16px}
.visit{max-width:var(--max);margin:0 auto;padding:clamp(48px,7vw,96px) var(--pad);display:grid;gap:clamp(24px,4vw,48px)}
@media (min-width:900px){.visit{grid-template-columns:1fr 1.1fr;align-items:start}}
.address{font-size:19px;margin:16px 0 22px}
.hours{border-collapse:collapse;width:100%;max-width:420px;margin-bottom:26px}
.hours caption{text-align:left;font-weight:700;padding-bottom:8px}
.hours th,.hours td{padding:9px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:450}
.hours td{text-align:right;font-variant-numeric:tabular-nums}
.map{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);min-height:360px;background:var(--paper)}
.map iframe{display:block;width:100%;height:100%;min-height:360px;border:0}
.foot{border-top:1px solid var(--line);padding:28px var(--pad) 40px;color:var(--muted);font-size:15px;text-align:center}
.foot a{color:var(--ink)}
.note{font-size:13px}
.lightbox{padding:0;border:0;background:transparent;max-width:min(94vw,1200px);max-height:92vh}
.lightbox::backdrop{background:rgba(20,16,12,.88)}
.lightbox img{max-height:88vh;width:auto;border-radius:10px}
.lb-close{position:absolute;top:8px;right:8px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#111;font-size:26px;line-height:1;cursor:pointer}
/* Signature moment: the plate. One round photo opens into the full band while it enters the viewport. */
@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){
.plate-frame img{animation:plate linear both;animation-timeline:view();animation-range:entry 10% cover 45%}
@keyframes plate{from{clip-path:circle(24% at 50% 50%);transform:scale(1.14) rotate(-4deg)}to{clip-path:circle(80% at 50% 50%);transform:none}}
}}
