:root{--blue:#4189dd;--deep:#13396b;--sky:#e8f2fc;--sun:#f4a524;--henna:#c2562b;--cream:#fffaf1;--ink:#14243a;--muted:#6b7686;--fd:'DM Serif Display',Georgia,serif;--fb:'Nunito Sans',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--fb);line-height:1.6;font-size:1.04rem;padding-bottom:76px}
@media(min-width:900px){body{padding-bottom:0}}
img{max-width:100%;display:block;height:auto}a{color:var(--deep)}
svg{width:1.1em;height:1.1em;vertical-align:-.15em}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;color:#000;padding:.5rem}
.wrap{width:min(1100px,100% - 2.4rem);margin-inline:auto}
h1,h2,h3{font-family:var(--fd);font-weight:400;line-height:1.05;margin:0 0 .7rem;color:var(--deep)}
h2{font-size:clamp(2.1rem,8.5vw,3.2rem)}
.eyebrow{font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:.74rem;color:var(--henna);margin:0 0 .5rem}
.eyebrow.light{color:var(--sun)}
.tbc{color:#8a919c;font-size:.8rem;font-style:italic;line-height:1.45;margin:.5rem 0 1rem}
figure{margin:0;position:relative;overflow:hidden}
figcaption{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.62);color:#fff;font-size:.68rem;padding:.15rem .5rem;border-radius:6px}
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.3rem;border-radius:14px;font-weight:800;text-decoration:none;border:2px solid transparent}
.btn-blue{background:var(--blue);color:#fff;box-shadow:0 4px 0 var(--deep)}.btn-blue:hover{background:#3479c9}
.btn-line{border-color:var(--deep);color:var(--deep);background:#fff}
.btn-sm{padding:.5rem .9rem;font-size:.9rem;box-shadow:none}
.top{position:sticky;top:0;z-index:40;background:rgba(255,250,241,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid #eadfcb}
.top-in{display:flex;align-items:center;gap:1rem;min-height:62px}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--deep);font-family:var(--fd);font-size:1.6rem;line-height:1;margin:0}
.logo small{display:block;font-family:var(--fb);font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--henna);margin-top:.2rem}
.star{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff}
.top nav{display:none;margin-left:auto;gap:1.4rem}.top nav a{text-decoration:none;font-weight:700}
.top-call{display:none}@media(min-width:900px){.top nav{display:flex}.top-call{display:inline-flex}}
.hero{background:linear-gradient(180deg,var(--sky),var(--cream));padding:2.2rem 0 3rem;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;right:-90px;top:-90px;width:280px;height:280px;border-radius:50%;background:var(--blue);opacity:.12}
.hero-grid{display:grid;gap:2rem;position:relative}
@media(min-width:900px){.hero-grid{grid-template-columns:1fr 1fr;align-items:center;gap:3rem}.hero{padding:4rem 0}}
.hello{display:inline-block;background:#fff;border:2px solid var(--blue);color:var(--blue);border-radius:999px;padding:.25rem .9rem;font-weight:800;margin:0 0 1rem}
.hello span{color:var(--muted);font-weight:600}
.hero h1{font-size:clamp(2.6rem,12vw,4.6rem)}
.hero h1 em{color:var(--blue)}
.sub{font-size:1.1rem;margin:0 0 1.4rem;max-width:34rem;color:#33445c}
.cta{display:flex;flex-wrap:wrap;gap:.7rem}.cta .btn{flex:1 1 150px}
@media(min-width:620px){.cta .btn{flex:0 0 auto}}
.badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}
.badges p{margin:0;display:flex;align-items:center;gap:.35rem;background:#fff;border-radius:14px;padding:.55rem .9rem;box-shadow:0 2px 0 #e5dccb;font-size:.9rem}
.badges strong{font-size:1.2rem}.badges svg{color:var(--sun)}
.badges .holiday{background:var(--deep);color:#fff;box-shadow:none;max-width:22rem}
.hero-pic{border-radius:50% 50% 24px 24px/40% 40% 24px 24px;aspect-ratio:1/1;border:6px solid #fff;box-shadow:0 18px 40px rgba(19,57,107,.18)}
.hero-pic img{width:100%;height:100%;object-fit:cover}
section{padding:3.6rem 0}
.today .wrap{display:grid;gap:1.6rem}@media(min-width:900px){.today .wrap{grid-template-columns:1.3fr 1fr;align-items:start}}
.board{background:#fff;border-radius:24px;padding:1.8rem 1.4rem;border:2px solid #eadfcb;position:relative}
.board::after{content:"";position:absolute;left:1.4rem;right:1.4rem;top:-7px;height:14px;background:radial-gradient(circle at 7px 7px,var(--sun) 5px,transparent 6px) 0 0/22px 14px repeat-x}
.dishes{list-style:none;padding:0;margin:1rem 0}
.dishes li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.2rem .8rem;padding:.65rem 0;border-bottom:2px dotted #e2d6c0;font-weight:700;font-size:1.02rem}
.dishes li::before{content:"✦";color:var(--blue);margin-right:.4rem}
.dishes li span{flex:1}.dishes small{font-weight:600;color:var(--henna);font-size:.8rem}.dishes small.tbc{margin:0;color:#8a919c}
.pics{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.pics figure{border-radius:20px}.pics figure:first-child{grid-column:1/-1}
.pics img{width:100%;aspect-ratio:1;object-fit:cover}.pics figure:first-child img{aspect-ratio:16/10}
.reviews{background:var(--deep);color:#fff;background-image:radial-gradient(circle at 90% 10%,rgba(65,137,221,.5),transparent 40%)}
.reviews h2{color:#fff}
.rgrid{display:grid;gap:1rem;margin-top:1.4rem}@media(min-width:860px){.rgrid{grid-template-columns:repeat(3,1fr)}}
.rgrid blockquote{margin:0;background:#fff;color:var(--ink);border-radius:22px 22px 22px 4px;padding:1.3rem}
.rgrid p{margin:0 0 .7rem;font-family:var(--fd);font-size:1.3rem;line-height:1.3;color:var(--deep)}
.rgrid cite{font-style:normal;font-size:.8rem;font-weight:700;color:var(--henna)}
.vgrid{display:grid;gap:2rem}@media(min-width:900px){.vgrid{grid-template-columns:1fr 1.1fr}}
address{font-style:normal;font-size:1.2rem;font-weight:700}
.phone{display:inline-block;font-family:var(--fd);font-size:2rem;color:var(--blue);text-decoration:none;margin-top:.4rem}
.vcard h3{font-size:1.5rem;margin:1.2rem 0 .2rem}.hours{margin:0;font-size:1.1rem}
.map{border-radius:24px;overflow:hidden;min-height:340px;border:4px solid #fff;box-shadow:0 10px 30px rgba(19,57,107,.15);background:var(--sky)}
.map iframe{width:100%;height:100%;min-height:380px;border:0;display:block}
.foot{background:#0d2647;color:#c4d0e0;padding:2.4rem 0 2rem;font-size:.9rem}.foot a{color:#fff}
.foot .logo{color:#fff;margin-bottom:.8rem}.foot .logo small{color:var(--sun)}
.sample{color:#fff;margin-top:1.2rem}.credits{font-size:.78rem;color:#93a3b9}
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));background:rgba(255,250,241,.97);border-top:1px solid #e2d6c0;box-shadow:0 -6px 20px rgba(0,0,0,.08)}
.mbar a{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.8rem;border-radius:14px;font-weight:800;text-decoration:none}
.mb-call{background:var(--blue);color:#fff}.mb-dir{background:var(--deep);color:#fff}
@media(min-width:900px){.mbar{display:none}}
/* real-photo additions */
.credit{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.62);font-size:.66rem;padding:.15rem .5rem;border-radius:6px;line-height:1.35;max-width:calc(100% - 16px)}
.credit a{color:#fff;text-decoration:none}.credit a:hover{text-decoration:underline}
.hero-pic .credit{left:50%;transform:translateX(-50%);bottom:12px;white-space:nowrap}
.pics figure:first-child{grid-column:auto}.pics figure:first-child img{aspect-ratio:1}
.logo-img{width:120px;height:auto;margin:0 0 .8rem;border-radius:12px;background:#fff;padding:.4rem;box-shadow:0 2px 0 #e5dccb}
.store{margin:1rem 0 .4rem;border-radius:16px;border:4px solid #fff;box-shadow:0 8px 24px rgba(19,57,107,.12)}.store img{width:100%;aspect-ratio:1060/444;object-fit:cover}
