@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Mono:wght@400;500&family=Oswald:wght@500;600;700&display=swap');

:root { --black:#070707; --red:#ee1212; --cream:#f7f0df; --gold:#ecb832; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--black); }
body { margin:0; color:var(--cream); background:var(--black); font-family:"DM Mono",monospace; }
a { color:inherit; text-decoration:none; }
.topbar { position:absolute; z-index:5; top:0; left:0; right:0; display:flex; justify-content:space-between; align-items:center; padding:22px 5vw; letter-spacing:.25em; font-size:.72rem; font-weight:500; }
.wordmark { font-family:"Oswald",sans-serif; font-size:1.15rem; letter-spacing:.42em; padding-left:.42em; }
.top-cta { color:var(--red); }
.hero { min-height:100svh; position:relative; display:flex; align-items:flex-end; overflow:hidden; isolation:isolate; }
.hero-image,.buffet-image { position:absolute; inset:0; background-position:center; background-size:cover; z-index:-2; }
.hero-image { background-image:url('hamburg.jpg'); background-position:center 58%; filter:saturate(1.15) contrast(1.1); }
.hero-overlay { position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.14) 36%,rgba(0,0,0,.9) 90%),linear-gradient(90deg,rgba(0,0,0,.64),transparent 65%); }
.hero-copy { padding:0 5vw 11vh; max-width:850px; }
.eyebrow { margin:0 0 12px; font-size:.65rem; letter-spacing:.18em; }
.red { color:var(--red); }.gold { color:var(--gold); }
h1,h2 { margin:0; font-family:"Oswald",sans-serif; text-transform:uppercase; line-height:.86; letter-spacing:-.035em; }
h1 { font-size:clamp(3.7rem,11.8vw,9.5rem); font-weight:700; font-style:italic; color:var(--cream); }
h1 span { color:var(--red); display:inline-block; transform:skew(-5deg); }
.hero-sub { margin:22px 0 28px; font-family:"Oswald",sans-serif; font-size:clamp(1.25rem,3vw,2.3rem); letter-spacing:.03em; }
.hero-actions { display:flex; gap:10px; flex-wrap:wrap; }
.button { display:inline-block; padding:15px 18px; font-size:.7rem; letter-spacing:.13em; font-weight:500; }
.button-red { background:var(--red); color:white; }.button-ghost { border:1px solid rgba(247,240,223,.65); }
.hero-note { position:absolute; right:5vw; bottom:28px; margin:0; color:rgba(247,240,223,.75); font-size:.55rem; letter-spacing:.12em; writing-mode:vertical-rl; }
.statement { padding:100px 7vw 108px; max-width:1000px; }
h2 { font-size:clamp(3.4rem,10vw,8rem); }
.statement h2 { margin-bottom:30px; color:var(--cream); }.statement p:not(.eyebrow) { max-width:510px; font-size:.9rem; line-height:1.8; color:#c9c1b4; }
.buffet { min-height:780px; position:relative; display:flex; align-items:flex-end; isolation:isolate; overflow:hidden; }
.buffet-image { background-image:url('buffet-promo.jpg'); background-position:center 48%; z-index:-2; }
.buffet:after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.65) 38%,rgba(0,0,0,.05) 80%),linear-gradient(0deg,rgba(0,0,0,.6),transparent); }
.buffet-copy { padding:0 7vw 80px; max-width:650px; }.buffet-copy h2 { color:var(--cream); }.opening-kicker { margin:23px 0 2px; color:var(--red); font:700 .83rem "Oswald",sans-serif; letter-spacing:.17em; }.price { margin:0 0 8px; font:700 clamp(5.5rem,16vw,11rem)/.85 "Bebas Neue",sans-serif; color:var(--gold); }.price small { font:600 .26em "Oswald",sans-serif; }.opening { color:var(--cream); font:700 .83rem "Oswald",sans-serif; letter-spacing:.13em; line-height:1.5; }.opening span { color:var(--gold); font-size:.78em; }.buffet-detail { max-width:390px; line-height:1.75; font-size:.84rem; }
.visit { padding:105px 7vw 110px; background:var(--cream); color:var(--black); }.visit h2 { margin-bottom:52px; }.visit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; max-width:950px; }.visit-grid div { border-top:3px solid var(--red); padding-top:14px; }.visit-grid strong,.visit-grid span,.visit-grid a { display:block; }.visit-grid strong { font:600 1rem "Oswald",sans-serif; letter-spacing:.1em; }.visit-grid span,.visit-grid a { margin-top:8px; font-size:.72rem; line-height:1.8; }.visit-grid a { color:#a00; text-decoration:underline; }.reserve { margin-top:60px; }.contact { margin:18px 0 0; font-size:.72rem; letter-spacing:.03em; }
footer { padding:34px 5vw; display:flex; justify-content:space-between; gap:18px; font-size:.6rem; letter-spacing:.1em; } footer div { display:flex; gap:20px; color:#aaa; }
.drinks { padding:110px 7vw; background:#111; }.drinks-heading { max-width:650px; }.drinks-heading h2 { color:var(--cream); }.drinks-heading p:not(.eyebrow) { max-width:380px; margin:27px 0 0; color:#bcb4aa; font-size:.86rem; line-height:1.75; }.drink-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:1050px; margin-top:65px; border-top:1px solid rgba(247,240,223,.35); border-left:1px solid rgba(247,240,223,.35); }.drink-list article { min-height:215px; padding:28px; border-right:1px solid rgba(247,240,223,.35); border-bottom:1px solid rgba(247,240,223,.35); }.drink-list span { color:var(--red); font:600 .7rem "DM Mono",monospace; letter-spacing:.1em; }.drink-list h3 { margin:46px 0 12px; color:var(--cream); font:600 clamp(1.7rem,3vw,2.6rem)/.91 "Oswald",sans-serif; letter-spacing:-.03em; }.drink-list p { margin:0; color:#bcb4aa; font-size:.72rem; line-height:1.6; }.drink-note { margin:28px 0 0; color:var(--gold); font:600 .68rem "DM Mono",monospace; letter-spacing:.12em; }
@media (max-width:640px) { .topbar{padding-top:18px}.hero-copy{padding-bottom:88px}.hero-note{display:none}.statement{padding:78px 7vw}.buffet{min-height:720px}.buffet:after{background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.2) 75%)}.buffet-copy{padding:0 7vw 54px}.drinks{padding:78px 7vw}.drink-list{grid-template-columns:1fr;margin-top:46px}.drink-list article{min-height:185px;padding:24px}.drink-list h3{margin-top:34px}.visit{padding:75px 7vw}.visit-grid{grid-template-columns:1fr;gap:22px}.reserve{margin-top:42px;width:100%;text-align:center}footer{display:block;line-height:2}footer div{margin-top:12px;gap:12px;flex-wrap:wrap} }
.menu-page { background:var(--black); }.menu-topbar { position:relative; background:#090909; }.menu-hero { min-height:62svh; padding:19vh 7vw 10vh; background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.35)),url('../hamburg.jpg') center/cover; }.menu-hero h1 { margin-top:18px; }.menu-hero > p:last-child { max-width:510px; margin:28px 0 0; font-size:.7rem; line-height:1.8; letter-spacing:.1em; }.menu-section { padding:105px 7vw; }.menu-section h2 { margin-top:15px; }.menu-hamburg { background:#0c0c0c; }.menu-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:1050px; margin-top:60px; border-top:1px solid rgba(247,240,223,.3); border-left:1px solid rgba(247,240,223,.3); }.menu-card { min-height:270px; padding:30px; border-right:1px solid rgba(247,240,223,.3); border-bottom:1px solid rgba(247,240,223,.3); }.menu-number { margin:0; color:var(--red); font-size:.7rem; letter-spacing:.1em; }.menu-card h3 { margin:52px 0 14px; color:var(--cream); font:600 clamp(1.8rem,3.5vw,3rem)/.9 "Oswald",sans-serif; letter-spacing:-.03em; }.menu-card > p:not(.menu-number) { max-width:300px; margin:0; color:#bcb4aa; font-size:.75rem; line-height:1.7; }.menu-card span { display:block; margin-top:28px; color:var(--gold); font-size:.62rem; letter-spacing:.12em; }.menu-buffet { background:linear-gradient(90deg,rgba(0,0,0,.95),rgba(0,0,0,.45)),url('../buffet-promo.jpg') center/cover; }.menu-price-block { display:flex; align-items:end; gap:46px; max-width:900px; margin-top:55px; }.menu-price-block strong,.menu-price-block b,.menu-price-block small { display:block; }.menu-price-block strong { color:var(--red); font:.85rem "Oswald",sans-serif; letter-spacing:.15em; }.menu-price-block b { margin-top:5px; color:var(--gold); font:700 clamp(3.8rem,8vw,7rem)/.85 "Bebas Neue",sans-serif; }.menu-price-block small { margin-top:8px; font-size:.62rem; letter-spacing:.11em; }.menu-price-block p { max-width:330px; margin:0 0 3px; color:var(--cream); font-size:.78rem; line-height:1.8; }.regular-price,.menu-pending { margin:27px 0 0; color:var(--gold); font-size:.68rem; letter-spacing:.12em; }.menu-drinks { background:#121212; }.drinks-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }.menu-visit { padding:100px 7vw; background:var(--cream); color:var(--black); }.menu-visit h2 { margin:15px 0 46px; }.menu-visit .button { color:white; }
@media (max-width:640px) { .menu-hero { min-height:55svh; padding:15vh 7vw 8vh; }.menu-section { padding:78px 7vw; }.menu-cards,.drinks-cards { grid-template-columns:1fr; margin-top:45px; }.menu-card { min-height:215px; padding:24px; }.menu-card h3 { margin-top:35px; }.menu-price-block { display:block; margin-top:42px; }.menu-price-block p { margin-top:25px; }.menu-visit { padding:78px 7vw; } }
