Redesign nachgeschärft: lesbarer Hero, saubere Übergänge, stärkere Explosion, Speisekarte mit Farbbändern

- Körnung neutral und echte Überblendung (Abschnitte isoliert), keine harten Kanten mehr an Flammen/Wellen
- Hero: Burger kleiner, Wortmarke raus, KNOCKOUT wieder lesbar
- Fotoband durch Plakat-Abschnitt Crispy Tenders ersetzt, Wings-Freisteller nachgeschnitten
- Zutaten: korrekt zentriert, Schweben relativ (kein Pendeln), kräftigere Explosion, pausiert außerhalb des Bildes
- Speisekarte: Kategorie-Leiste klebt wieder (body overflow), Bänder in Rot/Gelb/Dunkel mit Flammen
- Kontrast auf Orange, Kopfleiste mit Hintergrund beim Scrollen, Menü sperrt das Scrollen, leeres lenis.min.js entfernt
- Flammen und Funken laufen nur, solange sie sichtbar sind

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-10-02 01:30:14 +00:00
1 parent 12d8f41fd8
commit 08f687822f
16 files changed
+220 -131

No files matched your search

+111 -77
View File
@@ -69,7 +69,7 @@
--white: #fff;
/* Texturen */
--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='1.6 0 0 0 -.3 1.6 0 0 0 -.3 1.6 0 0 0 -.3 0 0 0 0 1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
--mottle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='4' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .28 0 0 0 0 .06 0 0 0 1.3 -.5'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)'/%3E%3C/svg%3E");
--grain-soft: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .2 0 0 0 0 .05 0 0 0 .2 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
--halftone: radial-gradient(circle at center, var(--dot, rgba(0, 0, 0, .55)) 0 1.5px, transparent 1.9px);
@@ -94,6 +94,8 @@ html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--nav-h) + 1
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
html, body { overflow-x: clip; }
@supports not (overflow: clip) { body { overflow-x: hidden; } }
html:has(body.menu-open) { overflow: hidden; }
body {
margin: 0;
background: var(--grain-soft) 0 0 / 240px, var(--cream);
@@ -101,7 +103,6 @@ body {
font-family: var(--f-body);
font-size: clamp(1rem, .95rem + .3vw, 1.15rem);
line-height: 1.55;
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
}
img, svg { display: block; max-width: 100%; height: auto; }
@@ -145,6 +146,8 @@ p:last-child { margin-bottom: 0; }
.h2 { font-size: clamp(3.4rem, 11.5vw, 11rem); color: var(--red); }
.display.h2 { margin-bottom: .22em; }
.display.x3d { line-height: .94; }
.hero__big.x3d { line-height: .82; }
.h2--sm { font-size: clamp(3rem, 8.5vw, 8rem); }
.lead { font-size: clamp(1.08rem, 1rem + .45vw, 1.35rem); max-width: 36ch; }
.lead strong { font-weight: 800; }
@@ -245,7 +248,7 @@ p:last-child { margin-bottom: 0; }
}
.burst {
display: grid; place-items: center;
width: clamp(92px, 11vw, 160px); aspect-ratio: 1;
width: 5.8em; aspect-ratio: 1;
font-family: var(--f-sticker); text-transform: uppercase; text-align: center; line-height: .95;
font-size: clamp(1rem, .8rem + 1vw, 1.7rem);
color: var(--ink);
@@ -266,12 +269,13 @@ p:last-child { margin-bottom: 0; }
/* ============ Texturen & Licht ============
.fx-Ebenen liegen hinter dem Inhalt (z-index 0), der Inhalt (.wrap) darüber. */
.section > .wrap, .hero > *, .page-hero > .wrap { position: relative; z-index: 2; }
.fx { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.section, .footer, .only-here, .tenders { isolation: isolate; }
.section > .wrap, .hero > *, .page-hero > .wrap, .tenders > .wrap { position: relative; z-index: 2; }
.fx { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.fx > * { position: absolute; }
/* Feuerwirbel: SVG als Maske, Farbe frei wählbar */
.fx__swirl {
left: 50%; top: var(--swirl-y, 50%); width: var(--swirl-size, max(1900px, 150vw)); aspect-ratio: 1;
left: 50%; top: var(--swirl-y, 50%); width: var(--swirl-size, min(1500px, 115vw)); aspect-ratio: 1;
translate: -50% -50%;
background: var(--swirl, rgba(90, 0, 0, .42));
-webkit-mask: url(../img/fx/flame-swirl.svg) center / contain no-repeat;
@@ -279,8 +283,8 @@ p:last-child { margin-bottom: 0; }
}
.fx__spot { inset: 0; background: radial-gradient(var(--spot-size, 60% 55%) at var(--spot-x, 50%) var(--spot-y, 45%), var(--spot, rgba(255, 90, 40, .55)), transparent 70%); }
.fx__vignette { inset: 0; background: radial-gradient(120% 90% at 50% 45%, transparent 55%, var(--vignette, rgba(40, 0, 0, .45))); }
.fx__grain { inset: 0; background: var(--grain) 0 0 / 240px; opacity: var(--grain-o, .16); mix-blend-mode: var(--grain-mode, multiply); }
.fx__mottle { inset: 0; background: var(--mottle) 0 0 / 600px; opacity: var(--mottle-o, .12); mix-blend-mode: multiply; }
.fx__grain { inset: 0; background: var(--grain) 0 0 / 240px; opacity: var(--grain-o, .22); mix-blend-mode: var(--grain-mode, overlay); }
.fx__mottle { inset: 0; background: var(--mottle) 0 0 / 600px; opacity: var(--mottle-o, .12); mix-blend-mode: multiply; -webkit-mask: linear-gradient(transparent, #000 160px); mask: linear-gradient(transparent, #000 160px); }
.fx__dots {
inset: 0; background: var(--halftone) 0 0 / var(--dot-size, 10px) var(--dot-size, 10px);
opacity: var(--dots-o, .22);
@@ -316,6 +320,8 @@ p:last-child { margin-bottom: 0; }
.flames i:nth-child(1) { top: 0; background: linear-gradient(var(--yellow-hot), var(--yellow) 60%); --ft: 13s; }
.flames i:nth-child(2) { top: 18%; background: linear-gradient(var(--orange), var(--red-hot)); --fw: 900px; --ft: 10s; -webkit-mask-image: url(../img/fx/flame-edge-2.svg); mask-image: url(../img/fx/flame-edge-2.svg); animation-direction: reverse; }
.flames i:nth-child(3) { top: 40%; background: var(--flame-front, currentColor); --fw: 1250px; --ft: 15s; }
.flames i, .cta__burst, .fx__sparks i { animation-play-state: paused; }
.flames.is-live i, .cta__fire.is-live .cta__burst, .fx__sparks.is-live i { animation-play-state: running; }
@keyframes flicker { to { -webkit-mask-position: var(--fw, 1100px) 100%; mask-position: var(--fw, 1100px) 100%; } }
.flames--down { top: auto; bottom: 1px; transform: translateY(100%) scaleY(-1); }
@@ -364,6 +370,9 @@ p:last-child { margin-bottom: 0; }
transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}
.nav.is-hidden { transform: translateY(calc(-100% - 12px)); }
.nav::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(251, 238, 214, .92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 6px 20px rgba(21, 13, 12, .12); opacity: 0; transition: opacity .3s, background-color .3s; }
.nav.is-scrolled::before { opacity: 1; }
.nav.is-dark::before { background: rgba(23, 11, 9, .82); }
.nav__brand { display: flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--ink); }
.nav__brand img { height: 58px; width: auto; }
.nav__brand .wm { width: 150px; height: auto; color: var(--ink); }
@@ -426,9 +435,8 @@ body.menu-open .menu-panel { transform: scale(1); opacity: 1; visibility: visibl
--spot: rgba(255, 110, 40, .55); --spot-y: 48%; --spot-size: 45% 50%;
--swirl: rgba(110, 4, 2, .5);
--dot: rgba(70, 0, 0, .9); --dots-o: .2;
--grain-o: .22;
--grain-o: .3;
}
.hero .fx__grain { mix-blend-mode: overlay; opacity: .35; }
.hero__stage { position: relative; display: grid; place-items: center; }
.hero__title { position: relative; z-index: 1; text-align: left; margin: 0; }
.hero__eyebrow {
@@ -451,24 +459,15 @@ body.menu-open .menu-panel { transform: scale(1); opacity: 1; visibility: visibl
.hero__big .part { display: inline-block; letter-spacing: .02em; }
.hero__burger {
position: absolute; z-index: 2;
left: 50%; top: 55%;
width: clamp(250px, 34vw, 620px);
left: 50%; top: 60%;
width: clamp(240px, 29vw, 540px);
transform: translate(-50%, -50%);
pointer-events: none;
}
.hero__burger .blast__food { position: relative; z-index: 2; width: 100%; height: auto; filter: drop-shadow(0 34px 34px rgba(60, 0, 0, .45)) saturate(1.08); }
.hero__glow { position: absolute; z-index: 0; left: 50%; top: 52%; width: 120%; aspect-ratio: 1; translate: -50% -50%; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 190, 60, .55), rgba(255, 90, 20, .25) 55%, transparent); filter: blur(10px); }
.hero__wm {
position: absolute; z-index: 4;
left: 50%; top: 84%;
width: clamp(240px, 34vw, 600px);
transform: translate(-50%, -50%) rotate(-6deg);
color: var(--yellow);
}
.hero__wm svg, .hero__wm img { width: 100%; height: auto; }
.hero__wm .wm-fill { filter: drop-shadow(3px 0 0 var(--ink)) drop-shadow(-3px 0 0 var(--ink)) drop-shadow(0 3px 0 var(--ink)) drop-shadow(0 -3px 0 var(--ink)) drop-shadow(0 6px 0 var(--ink)) drop-shadow(0 16px 16px rgba(30, 0, 0, .45)); }
.hero__st1 { position: absolute; z-index: 5; left: 3%; top: 70%; --r: -12deg; }
.hero__st2 { position: absolute; z-index: 5; right: 4%; top: 66%; --r: 9deg; }
.hero__glow { position: absolute; z-index: 0; left: 50%; top: 55%; width: 105%; aspect-ratio: 1; translate: -50% -50%; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 170, 50, .32), rgba(255, 90, 20, .14) 55%, transparent); }
.hero__st1 { position: absolute; z-index: 5; left: 4%; top: 74%; --r: -12deg; }
.hero__st2 { position: absolute; z-index: 5; right: 4%; top: 72%; --r: 9deg; }
.hero__rooster { position: absolute; z-index: 5; right: 9%; top: 2%; width: clamp(80px, 9vw, 150px); transform: rotate(12deg); }
.hero__bottom {
position: relative; z-index: 5;
@@ -494,6 +493,7 @@ body.menu-open .menu-panel { transform: scale(1); opacity: 1; visibility: visibl
}
.open-badge.is-open::before { background: #1fa83a; box-shadow: 0 0 0 0 rgba(31, 168, 58, .6); animation: ping 1.8s infinite; }
.open-badge.is-closed::before { background: var(--red); }
@media (max-width: 480px) { .open-badge { border-radius: 16px; line-height: 1.25; } }
@keyframes ping { 70% { box-shadow: 0 0 0 10px rgba(31, 168, 58, 0); } 100% { box-shadow: 0 0 0 0 rgba(31, 168, 58, 0); } }
/* ============ Ticker (zwei gekreuzte Bänder) ============ */
@@ -523,7 +523,7 @@ body.menu-open .menu-panel { transform: scale(1); opacity: 1; visibility: visibl
@keyframes ticker { to { transform: translateX(-50%); } }
/* ============ Champions ============ */
.champs { text-align: center; overflow-x: clip; --mottle-o: .06; --grain-o: .08; --dot: rgba(229, 19, 11, .7); --dots-o: .14; --dots-mask: radial-gradient(90% 80% at 50% 40%, transparent 45%, #000 95%); }
.champs { text-align: center; overflow-x: clip; --mottle-o: .12; --grain-o: .16; --dot: rgba(229, 19, 11, .7); --dots-o: .14; --dots-mask: radial-gradient(90% 80% at 50% 40%, transparent 45%, #000 95%); }
.champs .h2 { max-width: 12ch; margin: 0 auto .3em; --sw: 0; }
.champs .lead { margin: 0 auto 2.2rem; }
.champs__cards {
@@ -559,7 +559,8 @@ body.menu-open .menu-panel { transform: scale(1); opacity: 1; visibility: visibl
.champ__rays { inset: -50%; background: repeating-conic-gradient(from 0deg at 50% 62%, rgba(255, 220, 120, .22) 0 6deg, transparent 6deg 15deg); -webkit-mask: radial-gradient(closest-side at 50% 62%, #000, transparent); mask: radial-gradient(closest-side at 50% 62%, #000, transparent); }
.champ--ink { --champ-bg: radial-gradient(100% 70% at 50% 85%, #5a1307, var(--ink) 60%); --champ-depth: #000; }
.champ__embers { inset: 0; background: radial-gradient(60% 40% at 50% 100%, rgba(255, 90, 18, .65), transparent 70%), radial-gradient(30% 25% at 20% 95%, rgba(255, 190, 40, .35), transparent), radial-gradient(30% 25% at 85% 92%, rgba(255, 60, 10, .4), transparent); }
.champ .fx__grain { inset: 0; mix-blend-mode: overlay; opacity: .4; }
.champ .fx__grain { inset: 0; opacity: .3; }
.champ--orange .champ__kicker, .champ--orange .champ__go { color: var(--ink); }
.champ__kicker { font-family: var(--f-sticker); text-transform: uppercase; font-size: .95rem; letter-spacing: .08em; color: var(--yellow); transform: translateZ(30px); }
.champ__name {
font-size: clamp(2.6rem, 1.6rem + 3.4vw, 5.2rem); color: var(--cream); margin-top: .2em;
@@ -571,8 +572,8 @@ body.menu-open .menu-panel { transform: scale(1); opacity: 1; visibility: visibl
.champ__food { position: relative; z-index: 2; display: block; width: 112%; margin: auto -6% 0; transform: translateZ(80px); transition: transform .7s var(--ease-pop); }
.champ__food .blast__food { position: relative; z-index: 2; width: 100%; height: auto; filter: drop-shadow(0 26px 22px rgba(0, 0, 0, .45)); }
.champ:hover .champ__food { transform: translateZ(80px) scale(1.07) rotate(-2deg); }
.champ__foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; transform: translateZ(30px); }
.champ__price { font-size: clamp(1.1rem, .9rem + .6vw, 1.5rem); background-color: var(--yellow); color: var(--ink); }
.champ__foot { position: relative; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; transform: translateZ(100px); }
.champ .champ__price { font-size: clamp(1.1rem, .9rem + .6vw, 1.5rem); background-color: var(--yellow); color: var(--ink); }
.champ--ink .champ__price { background-color: var(--red); color: var(--white); }
.champ__go { display: inline-flex; align-items: center; gap: .4em; font-family: var(--f-sticker); text-transform: uppercase; font-size: .95rem; }
.champ__go svg { width: 1.1em; height: 1.1em; transition: transform .3s var(--ease-pop); }
@@ -581,25 +582,25 @@ body.menu-open .menu-panel { transform: scale(1); opacity: 1; visibility: visibl
/* ============ Wings (Crunch-Time-Plakat) ============ */
.wings {
overflow-x: clip;
background: radial-gradient(80% 60% at 70% 40%, #ff7426, var(--orange) 45%, #e04205);
--spot: rgba(255, 200, 90, .4); --spot-x: 72%; --spot-y: 35%;
background: var(--orange);
--spot: rgba(255, 190, 70, .55); --spot-x: 72%; --spot-y: 55%; --spot-size: 45% 55%; --grain-o: .3;
--dot: rgba(140, 30, 0, .9); --dots-o: .18; --dots-mask: linear-gradient(160deg, #000, transparent 45%);
}
.wings .fx__grain { mix-blend-mode: overlay; opacity: .4; }
.wings__stage { position: relative; display: grid; grid-template-columns: 1fr 1fr; grid-template-areas: "kick kick" "big big" "info hero"; align-items: start; }
.wings__stage .kicker { grid-area: kick; justify-self: start; }
.wings .classic-wings, .wings .sauce { color: var(--ink); }
.wings__big {
grid-area: big; position: relative; z-index: 1;
font-size: clamp(4.6rem, 15vw, 15.5rem); color: var(--cream); margin: 0;
--ext: #9a2800;
text-shadow: 0 2px 0 var(--ext), 0 4px 0 var(--ext), 0 6px 0 var(--ext), 0 8px 0 var(--ext), 0 10px 0 var(--ext), 0 12px 0 var(--ext), 0 24px 30px rgba(90, 20, 0, .45);
}
.wings__hero { grid-area: hero; position: relative; z-index: 2; margin-top: clamp(-14rem, -16vw, -5rem); }
.wings__hero { grid-area: hero; position: relative; z-index: 2; margin-top: clamp(-8rem, -8vw, -3rem); }
.wings__hero .blast__food { position: relative; z-index: 2; width: 100%; max-width: 680px; margin-left: auto; filter: drop-shadow(0 30px 30px rgba(90, 20, 0, .5)) saturate(1.1) contrast(1.04); }
.wings__hero .burst { position: absolute; z-index: 4; left: 6%; top: 8%; --r: -12deg; }
.wings__hero .burst { position: absolute; z-index: 4; left: 2%; bottom: 6%; --r: -12deg; }
.wings__info { grid-area: info; position: relative; z-index: 3; align-self: end; padding-bottom: 2rem; }
.wings__claim { font-size: clamp(1.4rem, 1rem + 1.6vw, 2.4rem); color: var(--yellow); margin-bottom: .6rem; max-width: 14ch; text-shadow: 0 2px 0 #8a2400, 0 4px 0 #8a2400, 0 10px 16px rgba(0, 0, 0, .25); }
.wings__lead { color: var(--cream); }
.wings__claim { font-size: clamp(1.5rem, 1rem + 1.6vw, 2.4rem); color: var(--ink); margin-bottom: .6rem; max-width: 14ch; }
.wings__lead { color: var(--ink); font-weight: 500; }
.sauce-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(1rem, 2vw, 1.8rem); margin-top: clamp(4rem, 7vw, 6rem); perspective: 1200px; }
.sauce {
@@ -618,11 +619,11 @@ body.menu-open .menu-panel { transform: scale(1); opacity: 1; visibility: visibl
.sauce:nth-child(odd) { --r: -2deg; }
.sauce:nth-child(even) { --r: 2deg; }
.sauce:hover { --r: 0deg; }
.sauce__img { aspect-ratio: 1; display: grid; place-items: center; margin: -3.4rem auto .4rem; width: 92%; position: relative; transform: translateZ(60px); }
.sauce__img { aspect-ratio: 5 / 4; display: grid; place-items: center; margin: -3.4rem auto .4rem; width: 92%; position: relative; transform: translateZ(60px); }
.sauce__img::before { content: ""; position: absolute; inset: 14% 4% 10%; border-radius: 50%; background: radial-gradient(closest-side, var(--sauce), transparent); opacity: .55; filter: blur(14px); }
.sauce__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; transition: transform .6s var(--ease-pop); filter: drop-shadow(0 16px 14px rgba(70, 20, 0, .35)); }
.sauce:hover .sauce__img img { transform: scale(1.1) rotate(-4deg); }
.sauce h3 { font-family: var(--f-display); text-transform: uppercase; font-weight: 400; font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.3rem); line-height: .95; margin: 0 0 .35rem; color: var(--red); text-shadow: 0 1px 0 var(--oxblood), 0 2px 0 var(--oxblood), 0 3px 0 var(--oxblood), 0 8px 10px rgba(0, 0, 0, .15); transform: translateZ(30px); }
.sauce h3 { min-height: 1.9em; display: grid; place-items: center; font-family: var(--f-display); text-transform: uppercase; font-weight: 400; font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.3rem); line-height: .95; margin: 0 0 .35rem; color: var(--red); text-shadow: 0 1px 0 var(--oxblood), 0 2px 0 var(--oxblood), 0 3px 0 var(--oxblood), 0 8px 10px rgba(0, 0, 0, .15); transform: translateZ(30px); }
.sauce p { font-size: .95rem; margin: 0; }
.sauce .price { display: inline-block; margin-top: .7rem; transform: translateZ(20px); }
@@ -649,20 +650,22 @@ body.menu-open .menu-panel { transform: scale(1); opacity: 1; visibility: visibl
.classic-wings__prices .price { background: var(--red); color: var(--white); }
.classic-wings__prices .price small { font-family: var(--f-body); font-weight: 700; font-size: .8em; opacity: .9; margin-right: .3em; }
/* ============ Photo band ============ */
.band { position: relative; height: clamp(360px, 70vw, 900px); overflow: hidden; background: #d9c8b2; }
.band img { position: absolute; inset: -10% 0; width: 100%; height: 120%; object-fit: cover; filter: saturate(1.15) contrast(1.06); }
.band__shade { position: absolute; inset: 0; z-index: 1; background: radial-gradient(90% 80% at 50% 45%, transparent 50%, rgba(60, 10, 0, .45)), linear-gradient(transparent 60%, rgba(23, 11, 9, .55)); }
.band .wave { color: var(--orange); }
.band .wave--top { top: -1px; transform: none; }
.band__tag { position: absolute; z-index: 4; right: 6%; bottom: 26%; --r: 7deg; font-size: clamp(1rem, .7rem + 1.4vw, 2rem); }
/* ============ Tenders (Papier-Plakat) ============ */
.tenders { background: var(--cream); overflow-x: clip; --dot: rgba(229, 19, 11, .8); --dots-o: .16; --dots-mask: radial-gradient(60% 70% at 72% 55%, #000, transparent 75%); --mottle-o: .12; padding-bottom: clamp(8rem, 13vw, 12rem); }
.tenders .torn { color: var(--cream); }
.tenders__rays { inset: -20%; background: repeating-conic-gradient(from 0deg at 68% 55%, rgba(229, 19, 11, .13) 0 7deg, transparent 7deg 16deg); -webkit-mask: radial-gradient(closest-side at 68% 55%, #000 30%, transparent); mask: radial-gradient(closest-side at 68% 55%, #000 30%, transparent); }
.tenders__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 2rem; align-items: center; }
.tenders__title { color: var(--red); max-width: 8ch; }
.tenders .lead { font-weight: 500; }
.tenders__food { position: relative; }
.tenders__food .blast__food { position: relative; z-index: 2; width: 100%; filter: drop-shadow(0 30px 26px rgba(110, 40, 0, .3)) saturate(1.08); }
.tenders__tag { position: absolute; z-index: 4; right: 2%; top: -4%; --r: 8deg; font-size: clamp(1rem, .7rem + 1.2vw, 1.8rem); }
/* ============ Buckets ============ */
.buckets { overflow-x: clip; background: radial-gradient(120% 70% at 50% 100%, #3a0d05, var(--ink) 60%); --spot: rgba(255, 80, 20, .28); --spot-y: 100%; --spot-size: 80% 60%; }
.buckets .fx__grain { mix-blend-mode: soft-light; opacity: .5; }
.buckets { overflow-x: clip; background: var(--ink); --spot: rgba(255, 80, 20, .35); --spot-y: 100%; --spot-size: 90% 70%; --swirl: rgba(150, 25, 5, .3); --swirl-y: 75%; --grain-o: .35; }
.fx__embers { inset: auto 0 0 0; height: 60%; background: radial-gradient(40% 50% at 20% 100%, rgba(255, 110, 20, .35), transparent 70%), radial-gradient(40% 50% at 80% 100%, rgba(255, 60, 10, .35), transparent 70%), radial-gradient(60% 40% at 50% 100%, rgba(255, 170, 40, .25), transparent 70%); }
.fx__sparks { inset: 0; }
.fx__sparks i { position: absolute; bottom: -10px; width: var(--sz, 4px); height: var(--sz, 4px); border-radius: 50%; background: #ffcf5a; box-shadow: 0 0 8px 2px rgba(255, 140, 30, .8); opacity: 0; animation: spark var(--d, 6s) linear var(--dl, 0s) infinite; }
.fx__sparks i { position: absolute; bottom: -10px; width: var(--sz, 4px); height: var(--sz, 4px); border-radius: 50%; background: #ffd56a; box-shadow: 0 0 10px 3px rgba(255, 140, 30, .85), 0 0 22px 6px rgba(255, 80, 20, .35); opacity: 0; animation: spark var(--d, 6s) linear var(--dl, 0s) infinite; }
@keyframes spark {
0% { transform: translate(0, 0); opacity: 0; }
10% { opacity: 1; }
@@ -670,7 +673,7 @@ body.menu-open .menu-panel { transform: scale(1); opacity: 1; visibility: visibl
100% { transform: translate(var(--dx, 40px), calc(-1 * var(--h, 600px))); opacity: 0; }
}
.buckets .h2 { color: var(--yellow); --ext: #8a1f00; font-size: clamp(3.4rem, 9.5vw, 9.5rem); }
.buckets__head { display: grid; grid-template-columns: 1.4fr .6fr; gap: 2rem; align-items: end; }
.buckets__head { display: grid; grid-template-columns: auto minmax(0, 30ch); gap: 2rem 4rem; align-items: end; justify-content: start; }
.buckets__head .lead { color: var(--cream); opacity: .92; }
.fight-card-row { display: grid; grid-template-columns: 1fr auto 1fr; gap: clamp(1rem, 3vw, 2.5rem); align-items: center; margin-top: clamp(3rem, 6vw, 5rem); }
.fight-card.is-tilting { transition: transform .15s ease-out; }
@@ -689,30 +692,31 @@ body.menu-open .menu-panel { transform: scale(1); opacity: 1; visibility: visibl
.fight-card::before {
content: ""; position: absolute; inset: auto 0 0 0; height: 64px;
background-color: #fff;
background-image: linear-gradient(90deg, rgba(224, 20, 14, .55) 50%, transparent 50%), linear-gradient(rgba(224, 20, 14, .55) 50%, transparent 50%);
background-image: linear-gradient(90deg, rgba(229, 19, 11, .8) 50%, transparent 50%), linear-gradient(rgba(229, 19, 11, .8) 50%, transparent 50%);
background-size: 32px 32px;
opacity: .9;
}
.fight-card__class { font-family: var(--f-sticker); text-transform: uppercase; color: var(--red-deep); font-size: 1rem; letter-spacing: .08em; }
.fight-card h3 { font-family: var(--f-display); font-weight: 400; text-transform: uppercase; margin: .15em 0 .3em; font-size: clamp(2.8rem, 2rem + 3vw, 5rem); line-height: .86; color: var(--red); --ext: var(--oxblood); text-shadow: 1px 1px 0 var(--ext), 2px 2px 0 var(--ext), 3px 3px 0 var(--ext), 4px 4px 0 var(--ext), 5px 5px 0 var(--ext), 8px 10px 14px rgba(0, 0, 0, .2); }
.fight-card ul { list-style: none; margin: 0 0 1.2rem; padding: 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.fight-card ul { list-style: none; margin: 0 0 1.2rem; padding: 0 clamp(0px, 9vw, 150px) 0 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.fight-card li { background: var(--white); border: 2px solid var(--ink); border-radius: 999px; padding: .25em .7em; font-weight: 700; font-size: .92rem; }
.fight-card__foot { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: end; gap: 1rem; padding-bottom: 38px; }
.fight-card__foot .price { font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem); }
.fight-card__foot img { width: clamp(130px, 15vw, 230px); margin: -5rem -1rem -2.4rem 0; filter: drop-shadow(0 14px 12px rgba(0, 0, 0, .35)); transition: transform .6s var(--ease-pop); }
.fight-card__foot img { position: relative; z-index: 2; width: clamp(150px, 18vw, 280px); margin: -7rem -1.5rem -2.6rem 0; filter: drop-shadow(0 14px 12px rgba(0, 0, 0, .35)); transition: transform .6s var(--ease-pop); }
.fight-card:hover .fight-card__foot img { transform: scale(1.08) rotate(-5deg); }
.buckets__note { margin-top: 2.5rem; text-align: center; opacity: .8; font-size: .95rem; }
/* ============ Take away (route) ============ */
.takeaway { overflow-x: clip; background: radial-gradient(90% 80% at 30% 30%, var(--yellow-hot), var(--yellow) 50%, #f3a800); color: var(--ink); --spot: rgba(255, 255, 220, .5); --spot-x: 25%; --spot-y: 25%; --dot: rgba(229, 19, 11, .85); --dots-o: .16; --dots-mask: linear-gradient(200deg, #000, transparent 50%); --mottle-o: .06; --grain-o: .1; }
.takeaway { overflow-x: clip; background: var(--yellow); color: var(--ink); --spot: rgba(255, 255, 220, .5); --spot-x: 25%; --spot-y: 25%; --dot: rgba(229, 19, 11, .85); --dots-o: .16; --dots-mask: linear-gradient(200deg, #000, transparent 50%); --mottle-o: .06; --grain-o: .1; }
.takeaway .torn { color: var(--yellow); }
.takeaway__burst { right: -12%; top: -8%; width: min(900px, 70vw); aspect-ratio: 1; background: repeating-conic-gradient(rgba(229, 19, 11, .14) 0 6deg, transparent 6deg 15deg); -webkit-mask: radial-gradient(closest-side, #000 25%, transparent); mask: radial-gradient(closest-side, #000 25%, transparent); }
.takeaway .h2 { color: var(--white); --stroke-c: var(--ink); --sw: .04em; --ext: var(--ink); max-width: 13ch; }
.takeaway__lead { max-width: 40ch; margin-top: 1.4rem; font-weight: 500; }
.route { position: relative; margin-top: clamp(6rem, 10vw, 9rem); }
.route__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.route__svg path { fill: none; stroke: var(--ink); stroke-width: 3; stroke-dasharray: 10 12; stroke-linecap: round; opacity: .55; }
.route__rider { position: absolute; left: 0; top: 0; width: clamp(64px, 7vw, 100px); z-index: 3; will-change: transform; pointer-events: none; }
.stops { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.2rem, 3vw, 3rem); }
.stops { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.2rem, 3vw, 3rem); align-items: start; }
.stop {
border: 3px solid var(--ink); border-radius: var(--radius);
padding: clamp(1.3rem, 2.4vw, 2rem);
@@ -738,7 +742,7 @@ body.menu-open .menu-panel { transform: scale(1); opacity: 1; visibility: visibl
.stop__links svg { width: 1em; height: 1em; }
/* ============ Visit ============ */
.visit { --mottle-o: .07; --grain-o: .08; }
.visit { --mottle-o: .12; --grain-o: .16; }
.wave--deep svg { filter: drop-shadow(0 -8px 10px rgba(0, 0, 0, .12)); }
.visit__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.visit .h2 { max-width: 10ch; }
@@ -768,17 +772,17 @@ body.menu-open .menu-panel { transform: scale(1); opacity: 1; visibility: visibl
.visit__deco .sticker { position: absolute; z-index: 4; right: -10%; top: 0; --r: 8deg; }
/* ============ Final CTA ============ */
.cta { text-align: center; overflow-x: clip; background: radial-gradient(80% 70% at 50% 55%, #ff2a12, var(--red) 40%, #9a0a05); --spot: rgba(255, 140, 40, .5); --spot-y: 60%; --swirl: rgba(100, 3, 1, .45); --swirl-y: 60%; --dot: rgba(70, 0, 0, .9); --dots-o: .2; }
.cta .fx__grain { mix-blend-mode: overlay; opacity: .35; }
.cta { text-align: center; overflow-x: clip; background: var(--red); --spot: rgba(255, 140, 40, .55); --grain-o: .3; --spot-y: 60%; --swirl: rgba(100, 3, 1, .45); --swirl-y: 60%; --dot: rgba(70, 0, 0, .9); --dots-o: .2; }
.cta .h2 { font-size: clamp(5rem, 20vw, 20rem); color: var(--yellow); --ext: #7d0603; position: relative; z-index: 1; }
.cta__fire { position: relative; width: clamp(220px, 30vw, 460px); margin: clamp(-5rem, -6vw, -2rem) auto 0; }
.cta__burst {
position: absolute; left: 50%; bottom: -6%; width: 170%; aspect-ratio: 1; translate: -50% 0;
background: linear-gradient(var(--yellow-hot), var(--orange) 55%, var(--red-hot));
position: absolute; left: 50%; bottom: -4%; width: 160%; aspect-ratio: 1; translate: -50% 0;
background: linear-gradient(var(--orange), var(--red-hot) 70%);
-webkit-mask: url(../img/fx/flame-burst.svg) center / contain no-repeat; mask: url(../img/fx/flame-burst.svg) center / contain no-repeat;
filter: drop-shadow(0 0 40px rgba(255, 120, 30, .6));
transform-origin: 50% 90%; animation: burn 1.8s ease-in-out infinite alternate;
transform-origin: 50% 90%; animation: burn 1.9s ease-in-out infinite alternate;
}
.cta__burst--back { width: 210%; bottom: -8%; background: linear-gradient(var(--yellow-hot), var(--yellow) 40%, var(--orange)); filter: drop-shadow(0 0 50px rgba(255, 160, 40, .55)); animation-duration: 2.4s; animation-delay: -.8s; }
.cta__burst--front { width: 120%; bottom: -6%; background: linear-gradient(var(--red-hot), var(--red-deep)); animation-duration: 1.5s; animation-delay: -.4s; scale: -1 1; }
@keyframes burn { 0% { transform: scale(1, 1) skewX(0deg); } 50% { transform: scale(1.03, .96) skewX(1.5deg); } 100% { transform: scale(.98, 1.05) skewX(-1.5deg); } }
.cta__rooster { position: relative; width: 74%; margin: 0 auto; transform: rotate(-8deg); }
.cta .lead { margin: 1.6rem auto 2rem; color: var(--white); max-width: 30ch; position: relative; }
@@ -786,13 +790,15 @@ body.menu-open .menu-panel { transform: scale(1); opacity: 1; visibility: visibl
/* ============ Footer ============ */
.footer { position: relative; background: var(--ink); color: var(--cream); padding: clamp(4rem, 8vw, 6rem) 0 0; overflow: hidden; }
.footer .fx__grain { mix-blend-mode: soft-light; opacity: .5; }
.footer > .wrap, .footer__giant { position: relative; z-index: 2; }
.footer > .wrap { position: relative; z-index: 2; }
.footer__giant { z-index: 1; }
.footer__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 2rem; }
.footer h2 { font-family: var(--f-sticker); font-weight: 400; text-transform: uppercase; font-size: 1.05rem; color: var(--yellow); margin: 0 0 .9rem; letter-spacing: .04em; }
.footer ul { list-style: none; margin: 0; padding: 0; }
.footer li { margin: .35rem 0; }
.footer a { text-decoration: none; transition: color .2s; }
.footer li a { display: inline-block; padding: .35rem 0; }
.footer__bottom a { display: inline-block; padding: .5rem .15rem; }
.footer a:hover { color: var(--yellow); }
.footer__brand p { max-width: 30ch; opacity: .85; }
.footer__brand img { width: 84px; margin-bottom: 1rem; }
@@ -833,7 +839,6 @@ body.menu-open .menu-panel { transform: scale(1); opacity: 1; visibility: visibl
--spot: rgba(255, 110, 40, .5); --spot-x: 72%; --spot-y: 55%; --swirl: rgba(110, 4, 2, .5); --swirl-y: 60%;
--dot: rgba(70, 0, 0, .9); --dots-o: .2;
}
.page-hero .fx__grain { mix-blend-mode: overlay; opacity: .35; }
.page-hero .display { font-size: clamp(5rem, 16vw, 16rem); color: var(--cream); --ext: #7d0603; }
.page-hero .lead { color: var(--cream); margin-top: 1.6rem; }
.page-hero__img { position: absolute; right: 1%; bottom: 12%; width: clamp(240px, 36vw, 600px); z-index: 2; }
@@ -860,8 +865,28 @@ body.nav-visible .cat-nav { top: var(--nav-h); }
.cat-nav a.is-active { background: var(--red); border-color: var(--red); color: var(--white); }
.menu-cat { padding: clamp(3.5rem, 7vw, 6rem) 0 0; scroll-margin-top: calc(var(--nav-h) + 70px); }
.menu-cat--band { position: relative; isolation: isolate; margin-top: clamp(5rem, 9vw, 8rem); padding: clamp(3rem, 6vw, 5rem) 0 clamp(5rem, 8vw, 7rem); }
.cat-bg { position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; translate: -50% 0; background: var(--cat-bg); }
.cat-bg .flames { --fh: clamp(60px, 8vw, 130px); }
.cat-bg .fx { overflow: hidden; }
.cat-bg .torn--in { color: var(--cream); }
.menu-cat--red { --cat-bg: var(--red); --spot: rgba(255, 140, 50, .45); --spot-y: 60%; --swirl: rgba(100, 3, 1, .4); --dot: rgba(70, 0, 0, .9); --dots-o: .16; --grain-o: .3; color: var(--cream); }
.menu-cat--yellow { --cat-bg: var(--yellow); --spot: rgba(255, 255, 220, .5); --dot: rgba(229, 19, 11, .8); --dots-o: .12; --grain-o: .2; }
.menu-cat--ink { --cat-bg: var(--ink); --spot: rgba(255, 80, 20, .3); --spot-y: 100%; --spot-size: 90% 70%; --swirl: rgba(150, 25, 5, .28); --grain-o: .35; color: var(--cream); }
.menu-cat--red .menu-cat__head .display { color: var(--cream); --ext: #7d0603; }
.menu-cat--ink .menu-cat__head .display { color: var(--yellow); --ext: #8a1f00; }
.menu-cat--red .item h3 { color: var(--yellow); }
.menu-cat--ink .item h3 { color: var(--yellow); }
.menu-cat--red .item__price, .menu-cat--ink .item__price { color: var(--cream); }
.menu-cat--red .item__dots, .menu-cat--ink .item__dots { border-color: rgba(251, 238, 214, .4); }
.menu-cat--red .item, .menu-cat--ink .item { border-color: rgba(251, 238, 214, .2); }
.menu-cat--red .item p, .menu-cat--ink .item p { opacity: .9; }
.menu-cat--red .menu-extra span, .menu-cat--ink .menu-extra span { background: rgba(0, 0, 0, .22); }
.menu-cat--red .dish--special { box-shadow: 0 6px 0 var(--oxblood), 0 0 0 3px var(--cream), 0 26px 40px -8px rgba(60, 0, 0, .55); }
.menu-cat--yellow .dish { box-shadow: 0 6px 0 #c98c00, 0 22px 36px -8px rgba(120, 70, 0, .35); }
.page-end { position: relative; height: clamp(26px, 3vw, 44px); margin-top: clamp(3rem, 6vw, 5rem); }
.menu-cat__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: clamp(1.8rem, 4vw, 3rem); }
.menu-cat__head .display { font-size: clamp(3.4rem, 9vw, 8rem); color: var(--red); --ext: var(--oxblood); }
.menu-cat__head .display { font-size: clamp(3rem, 8.6vw, 8rem); color: var(--red); --ext: var(--oxblood); }
.menu-cat__head p { max-width: 46ch; margin: 0; font-weight: 500; }
.dish-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 2vw, 1.8rem); margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
@@ -873,7 +898,7 @@ body.nav-visible .cat-nav { top: var(--nav-h); }
--media-h: clamp(220px, min(22vw, calc(.92 * (100cqi + 2 * var(--pad-x)))), 300px);
--checker: conic-gradient(var(--red) 25%, var(--white) 0 50%, var(--red) 0 75%, var(--white) 0);
position: relative; display: flex; flex-direction: column; align-items: center; text-align: center;
container-type: inline-size;
container-type: inline-size; color: var(--ink);
padding: calc(var(--sq) * 2 + clamp(1.2rem, 2.4vw, 1.7rem)) var(--pad-x) calc(var(--sq) * 2 + clamp(1.2rem, 2.4vw, 1.6rem));
background:
var(--checker) 0 0 / calc(var(--sq) * 2) calc(var(--sq) * 2) repeat-x,
@@ -904,7 +929,7 @@ body.nav-visible .cat-nav { top: var(--nav-h); }
.dish__media img { position: absolute; z-index: 1; left: 11%; top: 6%; width: 78%; height: 88%; object-fit: contain; filter: drop-shadow(0 16px 16px rgba(21, 13, 12, .25)); transition: transform .7s var(--ease-pop); }
.dish:hover .dish__media img { transform: scale(1.06) rotate(-2deg); }
/* Die neuen Speisenfotos (assets/img/menu/) bringen ihren Kontaktschatten schon mit, deshalb kein zweiter CSS-Schatten */
.dish__media img.shot, .hero__burger img.shot { filter: none; }
.dish__media img.shot { filter: none; }
.dish__badge { position: absolute; z-index: 2; right: calc(var(--pad-x) * .6); top: 14%; font-size: .85rem; --r: 7deg; border-width: 3px; }
.dish__body { width: 100%; display: flex; flex-direction: column; align-items: center; gap: .75rem; flex: 1; }
.dish p { font-size: .95rem; margin: 0; opacity: .85; max-width: 34ch; }
@@ -946,7 +971,7 @@ body.nav-visible .cat-nav { top: var(--nav-h); }
}
.dish--special .price { background: var(--cream); color: var(--red-deep); }
.dish--promo { justify-content: center; gap: 1.1rem; }
.dish--promo { justify-content: center; gap: 1.1rem; grid-column: span 2; }
.dish__kicker { letter-spacing: .32em; }
.dish--promo .promo-row { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .9rem 0 0; border-top: 1px solid rgba(247, 235, 217, .35); text-align: left; }
.dish--promo .promo-row strong { font-family: var(--f-wide); font-weight: 900; text-transform: uppercase; font-size: 1.15rem; line-height: 1; letter-spacing: -.01em; }
@@ -982,7 +1007,6 @@ body.nav-visible .cat-nav { top: var(--nav-h); }
border: 4px solid var(--yellow);
}
.only-here > img, .only-here > div:not(.fx) { position: relative; z-index: 2; }
.only-here .fx__grain { mix-blend-mode: soft-light; opacity: .5; }
.only-here img { width: clamp(100px, 12vw, 170px); transform: rotate(-8deg); }
.only-here h2 { font-family: var(--f-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.4rem, 1.6rem + 3vw, 4.4rem); line-height: .9; margin: 0 0 .5rem; color: var(--yellow); }
@@ -993,7 +1017,7 @@ body.nav-visible .cat-nav { top: var(--nav-h); }
.legal { padding: calc(var(--nav-h) + clamp(2.5rem, 6vw, 5rem)) 0 clamp(4rem, 8vw, 7rem); }
.legal .display { font-size: clamp(3.6rem, 11vw, 9rem); color: var(--red); --ext: var(--oxblood); margin-bottom: 2rem; }
.legal__body { max-width: 760px; }
.legal__body h2 { font-family: var(--f-sticker); font-weight: 400; text-transform: uppercase; font-size: clamp(1.2rem, 1rem + .6vw, 1.5rem); margin: 2.4rem 0 .7rem; color: var(--red-deep); }
.legal__body h2 { overflow-wrap: anywhere; hyphens: auto; font-family: var(--f-sticker); font-weight: 400; text-transform: uppercase; font-size: clamp(1.2rem, 1rem + .6vw, 1.5rem); margin: 2.4rem 0 .7rem; color: var(--red-deep); }
.legal__body h3 { font-size: 1.1rem; margin: 1.6rem 0 .4rem; }
.legal__body ul { padding-left: 1.2rem; }
.legal__body .credits { font-size: .92rem; }
@@ -1026,13 +1050,15 @@ body.nav-visible .cat-nav { top: var(--nav-h); }
/* ============ Fliegende Zutaten ============ */
.blast__bits { position: absolute; inset: 0; pointer-events: none; }
.bit { position: absolute; z-index: 3; translate: -50% -50%; will-change: transform; }
.bit__in { display: block; }
.bit { position: absolute; z-index: 3; }
.bit__c { display: block; translate: -50% -50%; }
.bit__in, .bit__fl { display: block; }
.bit img { display: block; width: 100%; height: auto; filter: drop-shadow(0 12px 10px rgba(40, 0, 0, .35)); }
.bit--b { z-index: 1; }
.bit--b img { filter: blur(1.2px) brightness(.88) drop-shadow(0 8px 8px rgba(40, 0, 0, .3)); }
.hero__burger .blast__bits, .visit__deco .blast__bits, .wings__hero .blast__bits { z-index: auto; }
.champ__food .bit--f { z-index: 3; }
@media (max-width: 820px) { .bit--b img { filter: brightness(.9) drop-shadow(0 6px 6px rgba(40, 0, 0, .3)); } }
/* ============ Motion setup ============ */
html.js [data-pop] .pw { display: inline-block; will-change: transform; }
@@ -1076,10 +1102,9 @@ html.js.anim .juggle { visibility: hidden; }
.hero__eyebrow > span { display: inline; }
.hero__big { font-size: 30vw; line-height: .8; }
.hero__big .part { display: block; }
.hero__burger { top: auto; bottom: 8vw; transform: translateX(-50%); width: 56vw; }
.hero__wm { top: auto; bottom: 0; width: 72vw; transform: translate(-50%, 0) rotate(-6deg); }
.hero__st1 { left: 0; top: auto; bottom: 38vw; }
.hero__st2 { right: 0; top: auto; bottom: 26vw; }
.hero__burger { top: auto; bottom: 2vw; transform: translateX(-50%); width: 60vw; }
.hero__st1 { left: 0; top: auto; bottom: 4vw; font-size: .8rem; }
.hero__st2 { right: 0; top: auto; bottom: 4vw; font-size: .8rem; }
.hero__rooster { right: 6vw; top: 30vw; width: 24vw; }
.hero__bottom { grid-template-columns: 1fr; margin-top: 2.2rem; }
.hero__cta { justify-content: flex-start; }
@@ -1087,8 +1112,12 @@ html.js.anim .juggle { visibility: hidden; }
.champ:nth-child(2) { margin-top: 0; }
.champ { min-height: 0; }
.wings__stage { grid-template-columns: 1fr; grid-template-areas: "kick" "big" "hero" "info"; }
.wings__hero { margin-top: -2rem; }
.wings__hero { margin-top: 1rem; }
.wings__info { padding-bottom: 0; }
.tenders__grid { grid-template-columns: 1fr; }
.tenders__food { max-width: 560px; margin: 2rem auto 0; }
.fight-card ul { padding-right: 0; }
.fight-card__foot img { width: 44vw; }
.flames { --fh: clamp(60px, 16vw, 110px); }
.flames i { --fw: 700px; }
.wings__head, .buckets__head, .visit__grid { grid-template-columns: 1fr; }
@@ -1115,9 +1144,14 @@ html.js.anim .juggle { visibility: hidden; }
.sauce { padding: .8rem .6rem 1rem; }
.sauce p { display: none; }
.sauce h3 { font-size: 1.45rem; overflow-wrap: anywhere; }
.sauce .price { font-size: .82rem; white-space: normal; }
.sauce .price { font-size: .74rem; padding: .5em .6em; }
.dish-grid, .dish-grid--4, .dish-grid--2 { grid-template-columns: 1fr; }
.dish--promo { grid-column: auto; }
.footer__grid { grid-template-columns: 1fr; }
.btn { font-size: 1rem; padding: .95em 1.4em 1em; }
.hero__cta .btn { flex: 1 1 auto; }
}
@media (max-width: 400px) {
#menu-btn .roll { display: none; }
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 88 KiB

View File
Whitespace-only changes.
+73 -29
View File
@@ -84,6 +84,7 @@
if (y > 140 && y - lastY > 6) nav.classList.add('is-hidden');
else if (lastY - y > 6 || y < 140) nav.classList.remove('is-hidden');
document.body.classList.toggle('nav-visible', !nav.classList.contains('is-hidden') && y > 10);
nav.classList.toggle('is-scrolled', y > 60);
lastY = y;
}
window.addEventListener('scroll', onScroll, { passive: true });
@@ -137,7 +138,7 @@
/* ---------- Mobile Bestell-Leiste ---------- */
var orderbar = $('#orderbar');
var heroEl = $('.hero') || $('.page-hero');
var heroEl = $('.hero__cta .btn') || $('.page-hero');
if (orderbar && heroEl && 'IntersectionObserver' in window) {
new IntersectionObserver(function (entries) {
orderbar.classList.toggle('is-visible', !entries[0].isIntersecting);
@@ -185,23 +186,29 @@
],
'burger-sm': [
['onion-2', 6, 10, 15, -14, 'b', 1], ['bacon', 94, 6, 20, 24, 'b', 1],
['lettuce-1', -4, 70, 20, -20, 'f', 1], ['tomato', 102, 64, 17, 18, 'f', 1], ['pickle', 72, 102, 11, 8, 'f', 0], ['sesame-1', 30, -4, 3, 0, 'f', 0]
['lettuce-1', -4, 70, 20, -20, 'f', 1], ['tomato', 102, 64, 17, 18, 'f', 1], ['sesame-1', 30, -4, 3, 0, 'f', 0]
],
'chicken-sm': [
['bacon', 98, 10, 20, 24, 'b', 1, 1], ['crumb-1', 6, 4, 8, 0, 'b', 0], ['crumb-2', 88, -4, 7, 30, 'b', 0],
['lettuce-2', -6, 70, 20, -24, 'f', 1], ['tomato', 104, 64, 15, 18, 'f', 1], ['crumb-3', 26, 104, 8, 10, 'f', 0], ['crumb-4', 66, 104, 8, 60, 'f', 0]
['bacon', 98, 10, 20, 24, 'b', 1, 1], ['crumb-1', 6, 4, 10, 0, 'b', 0], ['crumb-2', 88, -4, 9, 30, 'b', 0],
['lettuce-2', -6, 70, 20, -24, 'f', 1], ['tomato', 104, 64, 15, 18, 'f', 1]
],
'wrap-sm': [
['jalapeno-2', 6, 6, 11, -20, 'b', 1], ['onion-2', 96, 6, 13, 20, 'b', 1],
['lettuce-3', -8, 70, 20, -18, 'f', 1], ['tomato', 104, 64, 15, 22, 'f', 1], ['crumb-5', 28, 104, 8, 0, 'f', 0], ['jalapeno-1', 74, 104, 9, 40, 'f', 0]
['lettuce-3', -8, 70, 20, -18, 'f', 1], ['tomato', 104, 64, 15, 22, 'f', 1]
],
tenders: [
['crumb-6', 2, 20, 11, 0, 'b', 1], ['crumb-7', 98, 14, 10, 40, 'b', 0], ['chili', 104, 78, 20, 20, 'b', 1],
['crumb-1', 14, -6, 12, 10, 'f', 1], ['crumb-3', 64, -14, 11, 90, 'f', 1], ['crumb-4', 90, 8, 11, 120, 'f', 0],
['crumb-8', -4, 84, 12, 70, 'f', 1], ['jalapeno-1', 40, 108, 11, -10, 'f', 0], ['crumb-5', 78, 106, 10, 30, 'f', 0]
],
wings: [
['crumb-6', 4, 30, 8, 0, 'b', 0], ['crumb-7', 96, 18, 7, 40, 'b', 1], ['chili', 100, 72, 18, 20, 'b', 0], ['jalapeno-1', -4, 62, 11, -30, 'b', 1],
['crumb-1', 12, 4, 9, 10, 'f', 1], ['crumb-2', 32, -8, 7, 50, 'f', 1], ['crumb-3', 58, -10, 8, 90, 'f', 1], ['crumb-4', 84, 2, 8, 120, 'f', 1],
['crumb-5', 104, 40, 7, 0, 'f', 0], ['crumb-8', -4, 88, 8, 70, 'f', 0], ['jalapeno-2', 88, 102, 11, -10, 'f', 1], ['crumb-2', 46, 104, 6, 30, 'f', 0, 1]
['crumb-6', 2, 34, 11, 0, 'b', 0], ['crumb-7', 98, 22, 10, 40, 'b', 1], ['chili', 102, 74, 20, 20, 'b', 0], ['jalapeno-1', -6, 66, 12, -30, 'b', 1],
['crumb-1', 14, 10, 12, 10, 'f', 1], ['crumb-3', 60, 8, 11, 90, 'f', 1], ['crumb-4', 88, 12, 11, 120, 'f', 1],
['crumb-5', 104, 46, 10, 0, 'f', 0], ['crumb-8', -2, 92, 11, 70, 'f', 0], ['jalapeno-2', 86, 104, 12, -10, 'f', 1], ['crumb-2', 48, 106, 9, 30, 'f', 0, 1]
]
};
var mobileBits = window.matchMedia('(max-width: 820px)').matches;
var bitScale = mobileBits ? 1.35 : 1;
var blasts = $$('[data-blast]').map(function (box) {
var set = PRESETS[box.getAttribute('data-blast')];
if (!set) return null;
@@ -212,10 +219,15 @@
var bits = [];
set.forEach(function (b) {
if (mobileBits && !b[6]) return;
// Verschachtelt, damit sich nichts in die Quere kommt:
// .bit (Scroll-Explosion) > .bit__c (CSS-Zentrierung) > .bit__in (Intro) > .bit__fl (Schweben) > img (feste Drehung)
var size = b[3] * bitScale;
var el = document.createElement('span');
el.className = 'bit bit--' + b[5];
el.style.left = b[1] + '%'; el.style.top = b[2] + '%'; el.style.width = b[3] + '%';
el.style.left = b[1] + '%'; el.style.top = b[2] + '%'; el.style.width = size + '%';
var c = document.createElement('span'); c.className = 'bit__c';
var inner = document.createElement('span'); inner.className = 'bit__in';
var fl = document.createElement('span'); fl.className = 'bit__fl';
var img = document.createElement('img');
img.alt = ''; img.decoding = 'async'; img.draggable = false;
if (lazy) img.loading = 'lazy';
@@ -225,16 +237,26 @@
// Größe als Fläche: lange, schmale Zutaten (Salatblatt, Bacon) wirken so gleich groß wie runde
img.onload = function () {
var ratio = img.naturalWidth / img.naturalHeight;
el.style.width = (b[3] * Math.sqrt(ratio)).toFixed(2) + '%';
el.style.width = (size * Math.sqrt(ratio)).toFixed(2) + '%';
};
img.src = BITS + b[0] + '.webp';
inner.appendChild(img); el.appendChild(inner); holder.appendChild(el);
bits.push({ el: el, inner: inner, img: img, x: b[1], y: b[2], layer: b[5] });
fl.appendChild(img); inner.appendChild(fl); c.appendChild(inner); el.appendChild(c); holder.appendChild(el);
bits.push({ el: el, inner: inner, fl: fl, x: b[1], y: b[2], layer: b[5] });
});
box.appendChild(holder);
return { box: box, bits: bits, hero: !lazy };
}).filter(Boolean);
/* ---------- Flammen nur animieren, solange sie sichtbar sind ---------- */
if ('IntersectionObserver' in window) {
var flameIO = new IntersectionObserver(function (entries) {
entries.forEach(function (en) { en.target.classList.toggle('is-live', en.isIntersecting); });
});
$$('.flames, .cta__fire, .fx__sparks').forEach(function (el) { flameIO.observe(el); });
} else {
$$('.flames, .cta__fire, .fx__sparks').forEach(function (el) { el.classList.add('is-live'); });
}
/* ---------- Funken (Buckets) ---------- */
if (!reduce) {
$$('[data-sparks]').forEach(function (wrap) {
@@ -254,14 +276,17 @@
/* ---------- 3D-Neigung der Karten (nur Maus) ---------- */
if (!reduce && window.matchMedia('(hover: hover) and (pointer: fine)').matches) {
$$('[data-tilt]').forEach(function (card) {
var r = null;
card.addEventListener('pointerenter', function () { r = card.getBoundingClientRect(); });
card.addEventListener('pointermove', function (e) {
var r = card.getBoundingClientRect();
if (!r) r = card.getBoundingClientRect();
var nx = (e.clientX - r.left) / r.width - .5, ny = (e.clientY - r.top) / r.height - .5;
card.classList.add('is-tilting');
card.style.setProperty('--ty', (nx * 14).toFixed(2) + 'deg');
card.style.setProperty('--tx', (-ny * 12).toFixed(2) + 'deg');
});
card.addEventListener('pointerleave', function () {
r = null;
card.classList.remove('is-tilting');
card.style.setProperty('--tx', '0deg'); card.style.setProperty('--ty', '0deg');
});
@@ -356,7 +381,6 @@
.fromTo(chars, { scale: 0, opacity: 0, y: function () { return rand(40, 100); }, rotation: function () { return rand(-18, 18); }, transformOrigin: '50% 90%' },
{ scale: 1, opacity: 1, y: 0, rotation: 0, duration: .75, stagger: .045, ease: 'back.out(2.2)' }, .05)
.fromTo(burgerImg, { scale: .45, y: 140, rotation: -12, opacity: 0 }, { scale: 1, y: 0, rotation: 0, opacity: 1, duration: 1.1, ease: 'back.out(1.5)' }, .3)
.fromTo('.hero__wm .wm-fill', { xPercent: -30, opacity: 0, rotation: -8 }, { xPercent: 0, opacity: 1, rotation: 0, duration: .8, ease: 'back.out(1.8)' }, .75)
.fromTo($$('[data-sticker]', hero), { '--s': 0 }, { '--s': 1, duration: .6, stagger: .12, ease: 'back.out(3)' }, .9)
.fromTo(['.hero__bottom .lead', '.hero__cta'], { y: 30, opacity: 0 }, { y: 0, opacity: 1, duration: .7, stagger: .1, ease: 'power3.out' }, .8)
.add(function () {
@@ -423,29 +447,49 @@
/* ---- Zutaten: schweben, beim Laden aus dem Essen platzen, beim Scrollen wegfliegen ---- */
blasts.forEach(function (bl) {
var W = function () { return bl.box.offsetWidth; };
var vec = function (b) {
var w = bl.box.offsetWidth, h = bl.box.offsetHeight;
return { x: (b.x - 50) / 100 * w, y: (b.y - 50) / 100 * h };
return { x: (b.x - 50) / 100 * W(), y: (b.y - 50) / 100 * bl.box.offsetHeight };
};
// Explosionsziel: kräftig nach außen, mit Drall zur Seite und nach oben
var away = function (b, k) {
var v = vec(b), len = Math.sqrt(v.x * v.x + v.y * v.y) || 1;
var side = b.side;
return {
x: v.x * .5 + (v.x / len) * W() * k + (-v.y / len) * W() * .18 * side,
y: v.y * .3 + (v.y / len) * W() * k * .55 - W() * .45 * k
};
};
var floats = [];
var tl = gsap.timeline({ paused: true });
bl.bits.forEach(function (b, i) {
gsap.to(b.img, { y: rand(-16, -8), rotation: rand(-10, 10), duration: rand(1.8, 3.2), yoyo: true, repeat: -1, ease: 'sine.inOut', delay: rand(0, 1.5) });
var spin = rand(120, 300) * (i % 2 ? 1 : -1);
var grow = b.layer === 'b' ? 1.05 : 1.35;
b.side = i % 2 ? 1 : -1;
floats.push(gsap.to(b.fl, { y: '+=' + rand(-16, -8), rotation: '+=' + rand(-8, 8), duration: rand(1.8, 3.2), yoyo: true, repeat: -1, ease: 'sine.inOut', delay: rand(0, 1.5), paused: true }));
var spin = rand(160, 340) * b.side;
var grow = b.layer === 'b' ? 1.15 : 1.9;
if (bl.hero) {
gsap.from(b.inner, { x: function () { return -vec(b).x; }, y: function () { return -vec(b).y; }, scale: .2, opacity: 0, rotation: -spin / 2, duration: 1.2, ease: 'back.out(1.3)', delay: .55 + i * .035 });
gsap.to(b.el, {
x: function () { return vec(b).x * 1.7; }, y: function () { return vec(b).y * 1.7 - 80; },
rotation: spin, scale: grow, ease: 'power1.in',
scrollTrigger: { trigger: bl.box.closest('section') || bl.box, start: 'top top', end: 'bottom top', scrub: .6, invalidateOnRefresh: true }
});
gsap.from(b.inner, { x: function () { return -vec(b).x; }, y: function () { return -vec(b).y; }, scale: .2, opacity: 0, rotation: -spin / 3, duration: 1.2, ease: 'back.out(1.3)', delay: .55 + i * .035 });
tl.to(b.el, { x: function () { return away(b, 1).x; }, y: function () { return away(b, 1).y; }, rotation: spin, scale: grow, duration: 1, ease: 'power2.in' }, 0)
.to(b.el, { opacity: 0, duration: .25, ease: 'none' }, .75);
} else {
var tl = gsap.timeline({ scrollTrigger: { trigger: bl.box, start: 'top 95%', end: 'bottom 5%', scrub: .7, invalidateOnRefresh: true } });
tl.fromTo(b.el, { x: function () { return -vec(b).x * .6; }, y: function () { return -vec(b).y * .6; }, scale: .4, opacity: 0, rotation: -spin / 3 },
{ x: 0, y: 0, scale: 1, opacity: 1, rotation: 0, duration: .42, ease: 'power2.out' })
.to(b.el, { duration: .12 })
.to(b.el, { x: function () { return vec(b).x * 1.3; }, y: function () { return vec(b).y * 1.3 - 40; }, scale: grow, rotation: spin, duration: .46, ease: 'power2.in' });
{ x: 0, y: 0, scale: 1, opacity: 1, rotation: 0, duration: .4, ease: 'power2.out' }, 0)
.to(b.el, { x: function () { return away(b, .8).x; }, y: function () { return away(b, .8).y; }, scale: grow, rotation: spin, duration: .45, ease: 'power2.in' }, .55)
.to(b.el, { opacity: 0, duration: .12, ease: 'none' }, .88);
}
});
var sec = bl.box.closest('section') || bl.box;
ST.create({
animation: tl, invalidateOnRefresh: true, scrub: .6,
trigger: bl.hero ? sec : bl.box,
start: bl.hero ? 'top top' : 'top 92%',
end: bl.hero ? '65% top' : 'bottom 12%'
});
// Schweben nur, solange die Zutaten im Bild sind (spart Akku und Rechenzeit)
ST.create({
trigger: bl.box, start: 'top bottom', end: 'bottom top',
onToggle: function (self) { floats.forEach(function (t) { self.isActive ? t.play() : t.pause(); }); }
});
});
/* ---- Feuerwirbel dreht sich langsam mit ---- */
+1 -2
View File
@@ -27,7 +27,6 @@
</script>
<script src="assets/js/gsap.min.js" defer></script>
<script src="assets/js/ScrollTrigger.min.js" defer></script>
<script src="assets/js/lenis.min.js" defer></script>
<script src="assets/js/main.js" defer></script>
</head>
<body>
@@ -51,7 +50,7 @@
<a class="pill pill--red" href="https://www.lieferando.de/speisekarte/chickago-boys" target="_blank" rel="noopener">
<span class="roll"><span>Jetzt bestellen</span><span aria-hidden="true">Jetzt bestellen</span></span>
</a>
<button class="pill pill--outline" id="menu-btn" type="button" aria-expanded="false" aria-controls="menu-panel">
<button class="pill pill--outline" id="menu-btn" type="button" aria-label="Menü" aria-expanded="false" aria-controls="menu-panel">
<span class="roll"><span class="menu-label">Menü</span><span aria-hidden="true" class="menu-label">Menü</span></span>
<span class="nav__burger" aria-hidden="true"><i></i><i></i><i></i></span>
</button>
+1 -2
View File
@@ -27,7 +27,6 @@
</script>
<script src="assets/js/gsap.min.js" defer></script>
<script src="assets/js/ScrollTrigger.min.js" defer></script>
<script src="assets/js/lenis.min.js" defer></script>
<script src="assets/js/main.js" defer></script>
</head>
<body>
@@ -51,7 +50,7 @@
<a class="pill pill--red" href="https://www.lieferando.de/speisekarte/chickago-boys" target="_blank" rel="noopener">
<span class="roll"><span>Jetzt bestellen</span><span aria-hidden="true">Jetzt bestellen</span></span>
</a>
<button class="pill pill--outline" id="menu-btn" type="button" aria-expanded="false" aria-controls="menu-panel">
<button class="pill pill--outline" id="menu-btn" type="button" aria-label="Menü" aria-expanded="false" aria-controls="menu-panel">
<span class="roll"><span class="menu-label">Menü</span><span aria-hidden="true" class="menu-label">Menü</span></span>
<span class="nav__burger" aria-hidden="true"><i></i><i></i><i></i></span>
</button>
+26 -16
View File
@@ -60,7 +60,6 @@
</script>
<script src="assets/js/gsap.min.js" defer></script>
<script src="assets/js/ScrollTrigger.min.js" defer></script>
<script src="assets/js/lenis.min.js" defer></script>
<script src="assets/js/main.js" defer></script>
</head>
<body>
@@ -84,7 +83,7 @@
<a class="pill pill--red" href="https://www.lieferando.de/speisekarte/chickago-boys" target="_blank" rel="noopener">
<span class="roll"><span>Jetzt bestellen</span><span aria-hidden="true">Jetzt bestellen</span></span>
</a>
<button class="pill pill--outline" id="menu-btn" type="button" aria-expanded="false" aria-controls="menu-panel">
<button class="pill pill--outline" id="menu-btn" type="button" aria-label="Menü" aria-expanded="false" aria-controls="menu-panel">
<span class="roll"><span class="menu-label">Menü</span><span aria-hidden="true" class="menu-label">Menü</span></span>
<span class="nav__burger" aria-hidden="true"><i></i><i></i><i></i></span>
</button>
@@ -125,7 +124,6 @@
<span class="hero__glow" aria-hidden="true"></span>
<img class="shot blast__food" src="assets/img/menu/us-burger.webp" width="853" height="616" alt="US Burger von Chickago Boys mit Cheddar, Spiegelei und Bacon" fetchpriority="high">
</div>
<div class="hero__wm" data-intro aria-hidden="true"><div class="wm-fill"><span class="wm-mask wm-mask--block"></span></div></div>
<span class="sticker hero__st1" data-intro data-sticker>Knusprig<br>paniert</span>
<span class="sticker sticker--ink hero__st2" data-intro data-sticker>Mild oder<br>scharf?</span>
<img class="hero__rooster die-cut" src="assets/img/rooster.svg" alt="" width="179" height="264" data-intro data-sticker>
@@ -195,7 +193,7 @@
<span class="kicker kicker--ink" data-reveal>Round 1</span>
<h2 class="wings__big puffy" id="wings-title" data-pop>Wings mit Punch</h2>
<div class="wings__hero blast" data-blast="wings" data-reveal>
<img class="blast__food" src="assets/img/cut-chicken-wings.webp" width="1000" height="813" loading="lazy" alt="Ein Berg knuspriger Chicken Wings">
<img class="blast__food" src="assets/img/cut-chicken-wings.webp" width="891" height="631" loading="lazy" alt="Ein Berg knuspriger Chicken Wings">
<span class="burst" data-sticker><span>K.O.<br>Crunch</span></span>
</div>
<div class="wings__info" data-reveal>
@@ -243,18 +241,28 @@
</div>
</section>
<!-- ============ PHOTO BAND ============ -->
<div class="band" aria-hidden="true">
<div class="wave wave--top"><svg viewBox="0 0 1440 120" preserveAspectRatio="none"><path fill="currentColor" d="M0 0h1440v58c-150 40-330 62-540 30S470 20 300 44 70 96 0 80Z"/></svg></div>
<img src="assets/img/foto-menu-tenders.webp" width="1400" height="1400" loading="lazy" alt="" data-parallax>
<span class="band__shade"></span>
<span class="sticker band__tag" data-sticker>Crispy Tenders<br>ab 9,50 €</span>
</div>
<!-- ============ TENDERS ============ -->
<section class="section tenders" aria-labelledby="tenders-title">
<div class="torn" aria-hidden="true"></div>
<div class="fx" aria-hidden="true"><div class="tenders__rays"></div><div class="fx__dots"></div><div class="fx__mottle"></div><div class="fx__grain"></div></div>
<div class="wrap tenders__grid">
<div class="tenders__text">
<span class="kicker" data-reveal>Round 2</span>
<h2 class="display h2 x3d tenders__title" id="tenders-title" data-pop>Crispy Tenders</h2>
<p class="lead" data-reveal>Zarte Hähnchenfilets, knusprig paniert – pur oder in Buffalo-, Chipotle-Honey-BBQ- oder Teriyaki-Sauce. Mild oder scharf.</p>
<a class="btn" href="speisekarte.html#chicken" data-reveal>Zur Karte <svg aria-hidden="true"><use href="#i-arrow"/></svg></a>
</div>
<div class="tenders__food blast" data-blast="tenders" data-reveal>
<img class="blast__food" src="assets/img/menu/crispy-chicken-tenders-10-stueck.webp" width="848" height="502" loading="lazy" alt="Zehn knusprig panierte Crispy-Chicken Tenders">
<span class="sticker sticker--red tenders__tag" data-sticker>5 Stück<br>ab 9,50 €</span>
</div>
</div>
</section>
<!-- ============ BUCKETS ============ -->
<section class="section bg-ink on-dark buckets" data-nav-dark id="buckets" aria-labelledby="buckets-title">
<div class="flames" aria-hidden="true" style="--flame-front: var(--ink)"><i></i><i></i><i></i></div>
<div class="fx" aria-hidden="true"><div class="fx__spot"></div><div class="fx__embers"></div><div class="fx__sparks" data-sparks></div><div class="fx__grain"></div></div>
<div class="fx" aria-hidden="true"><div class="fx__swirl" data-swirl></div><div class="fx__spot"></div><div class="fx__embers"></div><div class="fx__sparks" data-sparks></div><div class="fx__grain"></div></div>
<div class="wrap">
<div class="buckets__head">
<div>
@@ -273,7 +281,7 @@
</ul>
<div class="fight-card__foot">
<span class="price">42,00 €</span>
<img src="assets/img/cut-chicken-wings.webp" width="1000" height="813" loading="lazy" alt="">
<img src="assets/img/cut-chicken-wings.webp" width="891" height="631" loading="lazy" alt="">
</div>
</article>
<span class="vs" aria-hidden="true" data-sticker>VS</span>
@@ -285,7 +293,7 @@
</ul>
<div class="fight-card__foot">
<span class="price">68,00 €</span>
<img src="assets/img/cut-chicken-wings.webp" width="1000" height="813" loading="lazy" alt="">
<img src="assets/img/cut-chicken-wings.webp" width="891" height="631" loading="lazy" alt="">
</div>
</article>
</div>
@@ -296,7 +304,7 @@
<!-- ============ TAKE AWAY ============ -->
<section class="section bg-yellow takeaway" id="bestellen" aria-labelledby="takeaway-title">
<div class="torn" aria-hidden="true"></div>
<div class="fx" aria-hidden="true"><div class="fx__spot"></div><div class="fx__dots"></div><div class="fx__mottle"></div><div class="fx__grain"></div></div>
<div class="fx" aria-hidden="true"><div class="fx__spot"></div><div class="takeaway__burst"></div><div class="fx__dots"></div><div class="fx__mottle"></div><div class="fx__grain"></div></div>
<div class="wrap">
<span class="kicker kicker--ink" data-reveal>Take away</span>
<h2 class="display h2 stroke x3d" id="takeaway-title" data-pop>Hol’s dir. Oder lass kommen.</h2>
@@ -392,11 +400,13 @@
<!-- ============ CTA ============ -->
<section class="section bg-red on-red cta" aria-labelledby="cta-title">
<div class="flames" aria-hidden="true" style="--flame-front: var(--red)"><i></i><i></i><i></i></div>
<div class="fx" aria-hidden="true"><div class="fx__spot"></div><div class="fx__swirl" data-swirl></div><div class="fx__dots"></div><div class="fx__vignette"></div><div class="fx__grain"></div></div>
<div class="fx" aria-hidden="true"><div class="fx__spot"></div><div class="fx__swirl" data-swirl></div><div class="fx__dots"></div><div class="fx__grain"></div></div>
<div class="wrap">
<h2 class="display h2 x3d" id="cta-title" data-pop>Hunger?</h2>
<div class="cta__fire">
<span class="cta__burst cta__burst--back" aria-hidden="true"></span>
<span class="cta__burst" aria-hidden="true"></span>
<span class="cta__burst cta__burst--front" aria-hidden="true"></span>
<img class="cta__rooster die-cut" src="assets/img/rooster.svg" width="179" height="264" alt="" data-sticker>
</div>
<p class="lead" data-reveal>Dann ab in den Ring: jetzt online bestellen oder direkt bei uns anrufen.</p>
+8 -5
View File
@@ -27,7 +27,6 @@
</script>
<script src="assets/js/gsap.min.js" defer></script>
<script src="assets/js/ScrollTrigger.min.js" defer></script>
<script src="assets/js/lenis.min.js" defer></script>
<script src="assets/js/main.js" defer></script>
</head>
<body>
@@ -51,7 +50,7 @@
<a class="pill pill--red" href="https://www.lieferando.de/speisekarte/chickago-boys" target="_blank" rel="noopener">
<span class="roll"><span>Jetzt bestellen</span><span aria-hidden="true">Jetzt bestellen</span></span>
</a>
<button class="pill pill--outline" id="menu-btn" type="button" aria-expanded="false" aria-controls="menu-panel">
<button class="pill pill--outline" id="menu-btn" type="button" aria-label="Menü" aria-expanded="false" aria-controls="menu-panel">
<span class="roll"><span class="menu-label">Menü</span><span aria-hidden="true" class="menu-label">Menü</span></span>
<span class="nav__burger" aria-hidden="true"><i></i><i></i><i></i></span>
</button>
@@ -177,7 +176,8 @@
</section>
<!-- BEEF BURGER -->
<section class="menu-cat" id="beef-burger" aria-labelledby="h-bburger">
<section class="menu-cat menu-cat--band menu-cat--red" id="beef-burger" aria-labelledby="h-bburger">
<div class="cat-bg" aria-hidden="true"><div class="flames" style="--flame-front: var(--red)"><i></i><i></i><i></i></div><div class="fx"><div class="fx__spot"></div><div class="fx__swirl"></div><div class="fx__dots"></div><div class="fx__grain"></div></div><div class="torn torn--in"></div></div>
<div class="menu-cat__head">
<h2 class="display x3d" id="h-bburger" data-pop>Beef Burger</h2>
<p>Alle Burger mit Rindfleisch-Patty, Cheddar, Tomaten, Salat, sauren Gurken und Zwiebeln.</p>
@@ -260,7 +260,8 @@
</section>
<!-- BEILAGEN -->
<section class="menu-cat" id="beilagen" aria-labelledby="h-beilagen">
<section class="menu-cat menu-cat--band menu-cat--yellow" id="beilagen" aria-labelledby="h-beilagen">
<div class="cat-bg" aria-hidden="true"><div class="flames" style="--flame-front: var(--yellow)"><i></i><i></i><i></i></div><div class="fx"><div class="fx__spot"></div><div class="fx__dots"></div><div class="fx__grain"></div></div><div class="torn torn--in"></div></div>
<div class="menu-cat__head">
<h2 class="display x3d" id="h-beilagen" data-pop>Beilagen</h2>
<p>Der perfekte Sidekick für Wings und Burger.</p>
@@ -316,7 +317,8 @@
</section>
<!-- GETRÄNKE -->
<section class="menu-cat" id="getraenke" aria-labelledby="h-getraenke">
<section class="menu-cat menu-cat--band menu-cat--ink" id="getraenke" aria-labelledby="h-getraenke">
<div class="cat-bg" aria-hidden="true"><div class="flames" style="--flame-front: var(--ink)"><i></i><i></i><i></i></div><div class="fx"><div class="fx__spot"></div><div class="fx__swirl"></div><div class="fx__dots"></div><div class="fx__grain"></div></div><div class="torn torn--in"></div></div>
<div class="menu-cat__head">
<h2 class="display x3d" id="h-getraenke" data-pop>Getränke</h2>
<p>Kalt, groß und zum Teilen. Bier, Wein und Cocktails gibt’s bei uns an der Bar.</p>
@@ -359,6 +361,7 @@
<p>Informationen zu Allergenen und kennzeichnungspflichtigen Zusatzstoffen bekommst du jederzeit bei uns im Restaurant oder telefonisch unter <a href="tel:+496313107985">0631 3107985</a>. Alle Preise in Euro inklusive gesetzlicher Mehrwertsteuer. Stand: 09/2026.</p>
</div>
</div>
<div class="page-end" aria-hidden="true"><div class="torn torn--in"></div></div>
</main>
<footer class="footer on-dark" data-nav-dark>