/* Café Kornblume (example): cream, espresso and terracotta, italic serif accents */
:root{--cream:#FBF4EC;--warm:#F4E6D7;--ink:#3A2418;--muted:#6E5547;--terra:#B5522A;--line:rgba(58,36,24,.14)}
body{background:var(--cream);color:var(--ink);font:400 17px/1.6 "Geist",system-ui,sans-serif}
.wrap{width:min(1100px,100% - 40px);margin-inline:auto}
h1,h2,h3{margin:0;line-height:1.05;letter-spacing:-.03em;font-weight:650}
h1{font-size:clamp(42px,6vw,74px)}
h2{font-size:clamp(30px,3.8vw,46px);margin-bottom:16px}
h3{font-size:22px;margin-bottom:12px}
h1 em,h2 em,.brand em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;color:var(--terra);letter-spacing:-.01em}
p{margin:0 0 14px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;background:var(--terra);color:#fff;font:600 16px/1 "Geist",sans-serif;text-decoration:none}
.btn:hover{background:#9A4522}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn.small{padding:10px 16px;font-size:14px}

.top{position:sticky;top:0;z-index:20;background:rgba(251,244,236,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:24px;height:66px}
.brand{font-weight:650;font-size:24px;letter-spacing:-.03em;text-decoration:none}
.brand em{font-size:28px}
.menu{display:flex;gap:24px;margin-left:auto}
.menu a{text-decoration:none;font-size:15px;color:var(--muted)}
.menu a:hover{color:var(--terra)}

.hero{padding:64px 0 56px}
.hero-in{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center}
.lead{font-size:19px;color:var(--muted);max-width:32em;margin:22px 0 28px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.today{position:relative;background:#fff;border-radius:24px;padding:28px 28px 24px;box-shadow:0 20px 50px -20px rgba(58,36,24,.35)}
.today h2{font-size:26px;margin-bottom:14px}
.today dl{display:grid;grid-template-columns:1fr auto;gap:8px 16px;margin:0}
.today dt{color:var(--muted)}
.today dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.today .note{margin:16px 0 0;padding-top:14px;border-top:1px dashed var(--line);font-size:14px;color:var(--terra);font-weight:600}
.cup{position:absolute;right:-18px;top:-46px;width:92px;height:auto}

.section{padding:76px 0}
.section.warm{background:var(--warm)}
.sub{color:var(--muted);max-width:42em;margin-bottom:32px}
.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.menu-col{background:#fff;border-radius:20px;padding:24px}
.items{list-style:none;padding:0;margin:0}
.items li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dotted var(--line)}
.items li:last-child{border-bottom:0}
.items b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.items i,.week i{font-style:normal;font-size:12px;font-weight:600;color:var(--terra);margin-left:6px;text-transform:uppercase;letter-spacing:.06em}
.fineprint{font-size:14px;color:var(--muted);margin-top:20px}

.lunch{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}
.lunch p{color:var(--muted)}
.week{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.week li{display:grid;grid-template-columns:110px 1fr auto;gap:16px;align-items:baseline;background:#fff;border-radius:16px;padding:16px 20px}
.week b{color:var(--terra);font-weight:600}
.week em{font-style:normal;font-weight:600;font-variant-numeric:tabular-nums}

.two{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
.two p{color:var(--muted)}
.box{background:#fff;border-radius:20px;padding:26px}
.section.warm .box{background:var(--cream)}
.box ul{margin:0;padding-left:20px;color:var(--muted)}
.box li{margin:5px 0}
.box a{color:var(--terra);font-weight:600}

.foot{background:var(--ink);color:#F1E2D3;padding:40px 0;font-size:14px;line-height:1.7}
.foot-in{display:flex;flex-wrap:wrap;gap:20px 48px;align-items:flex-start}
.foot nav{display:flex;gap:18px}
.foot .made{flex-basis:100%;margin:8px 0 0;opacity:.85}

@media (max-width:900px){
  .hero-in,.two,.lunch{grid-template-columns:1fr}
  .menu-grid{grid-template-columns:1fr 1fr}
  .menu{display:none}
  .top-in .btn{margin-left:auto}
  .cup{right:10px}
}
@media (max-width:560px){
  .menu-grid{grid-template-columns:1fr}
  .week li{grid-template-columns:1fr auto}
  .week b{grid-column:1/-1}
  .section{padding:54px 0}
}
