:root{
  --cream:#fff8ef;--ivory:#fffdf8;--cocoa:#3b2418;--caramel:#b06c3a;--gold:#d7a85d;--blush:#f5dfd5;--terracotta:#8f3f2b;--muted:#7a665b;--line:rgba(59,36,24,.14);--shadow:0 24px 70px rgba(59,36,24,.14);--radius:28px;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--cocoa);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:18px clamp(18px,4vw,56px);background:rgba(255,248,239,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:800}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--cocoa);color:var(--cream);font-family:Georgia,serif}.brand-name{font-size:1.05rem}.site-nav{display:flex;gap:24px;color:var(--muted);font-weight:650}.site-nav a:hover{color:var(--cocoa)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 22px;font-weight:800;transition:.25s ease}.nav-cta,.btn-primary{background:var(--cocoa);color:var(--cream);box-shadow:0 12px 30px rgba(59,36,24,.18)}.nav-cta:hover,.btn-primary:hover{transform:translateY(-2px);background:var(--terracotta)}.btn-secondary{border:1px solid var(--line);background:rgba(255,255,255,.55);color:var(--cocoa)}.section-pad{max-width:var(--max);margin:0 auto;padding:clamp(58px,8vw,110px) clamp(18px,4vw,36px)}.hero{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:clamp(36px,6vw,76px);min-height:calc(100vh - 82px)}.eyebrow{margin:0 0 14px;color:var(--caramel);text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:900}.hero h1,.intro h2,.section-heading h2,.catering h2,.delivery h2,.contact h2,.page-content h1{font-family:Georgia,"Times New Roman",serif;line-height:1.02;letter-spacing:-.045em;margin:0;color:var(--cocoa)}.hero h1{font-size:clamp(3.15rem,7vw,6.85rem)}.hero-text{font-size:clamp(1.05rem,1.8vw,1.28rem);max-width:620px;color:var(--muted);margin:24px 0 0}.hero-actions,.contact-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.hero-card{position:relative}.photo-frame{border-radius:42px;min-height:560px;box-shadow:var(--shadow);border:10px solid rgba(255,255,255,.52);background:radial-gradient(circle at 68% 18%,rgba(255,255,255,.9),transparent 17%),linear-gradient(135deg,#8f3f2b,#d7a85d 46%,#fff0d9);position:relative;overflow:hidden}.photo-frame:after,.menu-image:after,.gallery-grid div:after{content:"";position:absolute;inset:18%;background:rgba(255,248,239,.48);border-radius:999px;filter:blur(18px)}.floating-card{position:absolute;left:-28px;bottom:42px;background:rgba(255,253,248,.92);backdrop-filter:blur(16px);border:1px solid var(--line);box-shadow:var(--shadow);padding:18px 22px;border-radius:22px}.floating-card span{display:block;color:var(--muted);font-size:.82rem}.floating-card strong{display:block;font-family:Georgia,serif;font-size:1.1rem}.intro{text-align:center;max-width:900px}.intro h2,.section-heading h2,.catering h2,.delivery h2,.contact h2{font-size:clamp(2.1rem,4.2vw,4.4rem)}.intro p:last-child,.catering p,.delivery p{font-size:1.08rem;color:var(--muted);max-width:760px;margin:22px auto 0}.section-heading{max-width:800px;margin-bottom:34px}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.menu-card{background:rgba(255,253,248,.72);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 18px 55px rgba(59,36,24,.07)}.menu-image{height:210px;border-radius:22px;background:linear-gradient(135deg,var(--blush),#f8c87c,var(--terracotta));position:relative;overflow:hidden}.menu-card h3{font-family:Georgia,serif;font-size:1.45rem;margin:20px 0 8px}.menu-card p{color:var(--muted);margin:0 0 18px}.menu-card a{font-weight:900;color:var(--terracotta)}.catering-panel,.contact-card{background:var(--cocoa);color:var(--cream);border-radius:42px;padding:clamp(32px,6vw,70px);box-shadow:var(--shadow);position:relative;overflow:hidden}.catering-panel:before,.contact-card:before{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:rgba(215,168,93,.22);right:-120px;top:-150px}.catering h2,.contact h2{color:var(--cream);position:relative}.catering p{color:rgba(255,248,239,.78);margin-left:0}.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:160px;gap:14px}.gallery-grid div{border-radius:24px;background:linear-gradient(135deg,#f3d0a2,#9f4e32);position:relative;overflow:hidden}.gallery-grid div:nth-child(1),.gallery-grid div:nth-child(4){grid-column:span 2;grid-row:span 2}.gallery-grid div:nth-child(2),.gallery-grid div:nth-child(3),.gallery-grid div:nth-child(5),.gallery-grid div:nth-child(6){grid-column:span 2}.delivery{background:rgba(255,253,248,.62);border:1px solid var(--line);border-radius:42px;margin-top:40px;margin-bottom:40px}.contact{text-align:center}.contact-card{max-width:920px;margin:0 auto}.contact-actions{justify-content:center}.site-footer{display:flex;justify-content:space-between;gap:24px;padding:34px clamp(18px,4vw,56px);border-top:1px solid var(--line);background:var(--ivory)}.site-footer p{margin:.2rem 0;color:var(--muted)}.footer-links{display:flex;gap:18px;flex-wrap:wrap;font-weight:800}.reveal{opacity:0;transform:translateY(18px);transition:.7s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:900px){.site-nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.photo-frame{min-height:420px}.menu-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid div,.gallery-grid div:nth-child(1),.gallery-grid div:nth-child(4){grid-column:span 1;grid-row:span 1}.site-footer{flex-direction:column}.floating-card{left:18px}}@media(max-width:620px){.hero h1{font-size:3.05rem}.menu-grid{grid-template-columns:1fr}.hero-actions .btn,.contact-actions .btn{width:100%}.photo-frame{min-height:340px}.section-pad{padding-left:18px;padding-right:18px}.brand-name{font-size:.95rem}.nav-cta{padding:10px 16px}.gallery-grid{grid-auto-rows:140px}.catering-panel,.contact-card{border-radius:30px}}
