/* Entwurf 01 is the visual baseline. Keep the revised arrow-free controls. */
:root{--ink:#191b17;--cream:#f4efdf;--orange:#fa9849;--muted:#65665c;--line:#191b1730}
html{overflow-x:clip}
.site-header{height:108px;border-bottom:1px solid #f4efdf26}.brand{width:194px}
.home-hero{height:auto;min-height:770px;display:grid;grid-template-columns:47% 53%;padding:30px var(--gutter) 72px;position:relative;overflow:hidden}
.hero-copy{position:relative;inset:auto;z-index:2;padding-top:12px;text-align:left}
.hero-copy .eyebrow{display:flex;align-items:center;gap:11px;font-size:.78rem;letter-spacing:.13em}
.asterisk{display:inline-block;line-height:1;animation:slow-turn 26s linear infinite}.hero-copy .asterisk{color:var(--orange);font-size:24px}
.home-hero h1{font-size:clamp(64px,6.2vw,111px);line-height:1.015;margin:28px 0 25px;position:relative;max-width:800px}
.home-hero h1>span{display:block;animation:copy-in .85s var(--ease) both}.home-hero h1>span:nth-child(2){animation-delay:.12s}.home-hero h1>span:nth-child(3){animation-delay:.24s}
.hero-description{font-size:1.05rem;color:#c7c7b9;line-height:1.65;margin-bottom:24px}
.hero-footer{display:flex;align-items:center;gap:18px;margin-top:28px;font-size:.8rem;color:#a8aa9b;line-height:1.45}
.mini-stamp{border:1px solid var(--orange);padding:10px 12px;transform:rotate(-6deg);font-size:.7rem;letter-spacing:.04em;color:var(--orange);font-weight:800;line-height:1.25}
.hero-visual{position:relative;inset:auto;transform:none;min-width:0;min-height:650px;width:auto;max-width:none;margin-left:-20px;margin-right:-25px;pointer-events:auto}
.hero-outline{border:1px solid #f4efdf13;position:absolute;width:90%;aspect-ratio:1;top:13%;left:5%;border-radius:50%;transform:rotate(-20deg)}
.hero-outline:after{content:'';position:absolute;inset:22px;border:1px dashed #f4efdf12;border-radius:50%}
.burger-stage{position:absolute;inset:20px -20px 40px}.burger-poster{top:25%;height:58%;mask-image:radial-gradient(ellipse,#000 47%,transparent 73%)}
.hero-controls{position:absolute;bottom:3px;left:9%;right:4%;display:flex;justify-content:space-between;align-items:center;gap:16px}
.text-button,.replay-button{border:1px solid #f4efdf35;border-radius:100px;padding:10px 17px;min-height:43px;font-size:.82rem;color:var(--cream);background:#ffffff03}
.text-button:hover,.replay-button:hover{border-color:var(--orange);background:#fa98490c;color:var(--orange)}
.marquee{background:var(--orange);color:var(--ink);border-block:2px solid var(--ink);padding:17px 0;transform:rotate(-1.3deg);margin:-1px -2px 0;position:relative;z-index:2;box-shadow:0 14px 0 var(--cream)}
.marquee-track{gap:36px;animation-duration:34s;font-size:clamp(26px,3vw,43px);font-weight:1000;letter-spacing:-.045em;line-height:1.25}.marquee-track i{font-size:40px;color:var(--ink)}
.favorites{padding-top:115px;padding-bottom:108px}.section-heading{margin-bottom:55px}.section-heading h2{font-size:clamp(48px,5.35vw,86px);margin-top:17px}.section-heading .eyebrow{color:var(--ink)}
.favorites-grid{gap:26px}.favorite-art{height:330px;border-radius:140px 140px 8px 8px;background:#f5d0a6;isolation:isolate}
.favorite-art:after{content:'';border:1px solid #191b1720;position:absolute;inset:15px;border-radius:inherit;z-index:-1}
.favorite-art img{padding:12px}.favorite-art.is-photo img{padding:0;mask-image:linear-gradient(transparent,#000 22%)}
.favorite-art.theme-garden{background:#dce0b9}.favorite-art.theme-honey{background:#f7b98e}.favorite-heading{margin-top:24px}.favorite-heading h3{font-size:clamp(26px,2.35vw,40px)}
.product-badge{background:var(--cream);color:var(--ink);border:1px solid var(--ink);padding:7px 11px;font-size:.69rem;font-weight:850;letter-spacing:.05em;display:inline-block;line-height:1.2;transform:rotate(-5deg);box-shadow:3px 3px 0 #191b1720}
.favorite-art .product-badge{position:absolute;top:26px;left:23px;z-index:2;max-width:calc(100% - 46px)}.theme-peanut .product-badge{background:var(--orange)}
.inside-section{background:var(--ink);color:var(--cream);overflow:hidden;display:block;min-height:0;text-align:left}.inside-section:after{display:none}
.inside-caption{border-bottom:1px solid #f4efdf26;padding:20px var(--gutter);font-size:.75rem;letter-spacing:.1em}
.inside-layout{padding-top:90px;padding-bottom:100px;display:grid;grid-template-columns:50% 43%;gap:7%;align-items:center}
.inside-image{position:relative;inset:auto;align-self:stretch;min-height:550px;z-index:auto}
.inside-image>img{width:125%;max-width:none;height:100%;object-fit:cover;object-position:center;border-radius:250px 250px 8px 8px;position:absolute;left:-14%;mask-image:linear-gradient(90deg,#000 75%,transparent)}
.inside-copy{position:relative;padding:0}.inside-copy>.eyebrow{color:var(--cream)}.inside-copy h2{font-size:clamp(38px,3.55vw,62px);line-height:1.04;margin:20px 0}
.inside-copy>p:not(.eyebrow){color:#bdbfb2;max-width:430px}.ingredient-story{list-style:none;padding:0;margin:27px 0 19px}
.ingredient-story li{display:flex;gap:21px;padding:17px 0;border-top:1px solid #f4efdf30}.ingredient-story li>span{color:var(--orange);font-size:.8rem;padding-top:3px}
.ingredient-story h3{font-size:23px;letter-spacing:-.025em;margin-bottom:7px}.ingredient-story p{font-size:.9rem;color:#bdbfb2;line-height:1.6;max-width:370px}
.drinks-teaser{display:grid;grid-template-columns:48% 52%;align-items:center;min-height:800px;padding:98px var(--gutter) 103px;overflow:hidden;max-width:1680px;margin:0 auto;background:var(--cream);border-radius:0}
.drinks-copy h2{font-size:clamp(65px,6.65vw,116px);line-height:.99;margin:25px 0}.outlined{color:transparent;-webkit-text-stroke:2px var(--ink)}
.drinks-copy>p:not(.eyebrow){font-size:1rem;line-height:1.7;margin:27px 0}.drinks-art{position:relative;min-width:0;height:570px}
.drinks-ring{position:absolute;left:0;right:0;top:10%;aspect-ratio:1;background:var(--orange);border-radius:50%}.drinks-ring:after{content:'';position:absolute;inset:20px;border:1px solid #191b1740;border-radius:50%}
.teaser-drink{width:78%;left:-13%;top:0;height:100%}.teaser-mascot{right:-14%;top:23%;width:75%;height:77%}
.big-cta{padding:64px var(--gutter) 63px;background:var(--orange);border-top:2px solid var(--ink);text-align:left}
.big-cta>p{font-size:.76rem;font-weight:800;letter-spacing:.09em}.big-cta h2{font-size:clamp(55px,8.1vw,144px);line-height:1;letter-spacing:-.065em;margin:26px 0}
.menu-intro{min-height:358px;padding-top:55px;padding-bottom:42px}.menu-intro h1{font-size:clamp(53px,6.5vw,108px);line-height:.99;margin:17px 0 19px}.menu-accent{color:#c9581d}
.mascot-circle{right:6%;left:auto;top:11%;width:74%;border-radius:50%;background:var(--orange);transform:none}.menu-mascot{width:75%;height:103%;right:6%;left:auto;top:-2%}
.menu-card-art{height:365px;border-radius:7px}.menu-card-art:before{content:'';position:absolute;left:17%;top:8%;width:66%;aspect-ratio:1;border-radius:50%;background:#fff4d340;z-index:-1;border:1px solid #191b1720}
.menu-card-art .product-badge{position:absolute;left:25px;top:25px;z-index:2}.menu-card-art.theme-honey{background:#f3bb92}.menu-card-art.theme-garden{background:#dce0b9}.menu-card-art.theme-fries{background:#ecd1a2}.menu-card-art.theme-peach{background:#f0bd91}.menu-card-art.theme-berry{background:#e9bdc0}
body[data-category=getraenke] .mascot-circle{background:#e8babe}
@keyframes slow-turn{to{transform:rotate(360deg)}}@keyframes copy-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@media(min-width:1800px){.home-hero{min-height:900px}.hero-visual{min-height:720px}.favorite-art{height:390px}.menu-card-art{height:430px}}
@media(max-width:1180px){.site-header{height:94px}.brand{width:180px}.home-hero{min-height:710px;grid-template-columns:48% 52%}.home-hero h1{font-size:6.4vw}.hero-visual{min-height:600px}.hero-copy .button{font-size:.85rem;padding:16px 22px}.favorite-art{height:270px}.favorites-grid{gap:20px}.inside-layout{grid-template-columns:47% 48%;gap:5%}.inside-image{min-height:620px}.inside-copy h2{font-size:3.8vw}.drinks-art{height:500px}.drinks-teaser{min-height:700px}.menu-intro{min-height:340px}.menu-card-art{height:320px}}
@media(max-width:850px){.home-hero{grid-template-columns:1fr;min-height:0;padding-top:30px;padding-bottom:40px}.hero-copy{padding-top:7px}.home-hero h1{font-size:clamp(58px,10vw,82px);margin-top:24px}.hero-description{font-size:1rem}.hero-footer{position:absolute;right:0;bottom:0;margin:0;flex-direction:column;align-items:flex-start;gap:12px;max-width:135px}.hero-visual{height:650px;min-height:0;margin:40px -5% 0;width:auto}.burger-stage{inset:15px 0 45px}.hero-controls{left:7%;right:7%;bottom:0}.hero-outline{width:85%;top:6%;left:7.5%}.favorites{padding-top:80px;padding-bottom:75px}.section-heading{margin-bottom:36px}.section-heading h2{font-size:58px}.favorites-grid{gap:16px}.favorite-art{height:225px}.favorite-art .product-badge{font-size:.62rem;padding:6px 8px;left:14px;max-width:calc(100% - 28px)}.favorite-heading h3{font-size:25px}.inside-layout{grid-template-columns:1fr;padding-block:60px 65px;gap:45px}.inside-image{height:400px;min-height:0;margin-right:25%}.inside-image>img{width:135%;left:0;mask-image:none;border-radius:220px 220px 6px 6px}.inside-copy{max-width:630px}.inside-copy h2{font-size:55px}.inside-copy>p:not(.eyebrow){max-width:550px}.ingredient-story p{max-width:500px}.drinks-teaser{padding-block:70px;min-height:620px;grid-template-columns:47% 53%;gap:0}.drinks-copy h2{font-size:65px}.drinks-art{height:410px}.menu-intro{min-height:305px;padding-block:35px}.menu-intro h1{font-size:7.4vw}.menu-mascot{right:0;width:100%}.mascot-circle{width:100%;right:0;top:18%}.menu-card-art{height:270px}}
@media(max-width:600px){.site-header{height:87px}.site-header .brand{width:132px}.home-hero{padding-top:20px;padding-bottom:30px}.hero-copy .eyebrow{font-size:.68rem;letter-spacing:.08em;gap:8px}.hero-copy .asterisk{font-size:22px}.home-hero h1{font-size:clamp(47px,11.5vw,70px);line-height:1.025;letter-spacing:-.067em;margin:25px 0 22px}.hero-description{font-size:.96rem;line-height:1.65;margin-bottom:24px}.hero-copy .button{font-size:.87rem;min-height:56px;width:auto;padding:15px 21px}.hero-footer{display:none}.hero-visual{height:500px;margin:30px -20px 0;width:auto;max-width:none}.hero-outline{top:13%}.burger-stage{inset:18px -1px 45px}.hero-controls{left:5%;right:5%;bottom:2px;gap:10px}.text-button,.replay-button{font-size:.76rem;min-height:40px;padding:9px 15px}.marquee{padding:13px 0}.marquee-track{gap:24px;font-size:29px}.marquee-track i{font-size:27px}.favorites{padding-block:68px 62px}.section-heading h2{font-size:49px;line-height:1.02;margin-top:16px}.favorites-grid{gap:37px}.favorite-art{height:320px;border-radius:160px 160px 8px 8px;max-width:460px}.favorite-art .product-badge{font-size:.69rem;padding:7px 11px;left:26px;top:29px}.favorite-art img{padding:7px 10px}.favorite-art.is-photo img{padding:0}.favorite-heading{margin-top:22px}.favorite-heading h3{font-size:35px}.inside-caption{font-size:.68rem;letter-spacing:.04em;padding-block:17px}.inside-layout{padding-block:42px 54px;gap:39px}.inside-image{height:300px;margin-right:0}.inside-image>img{width:100%;border-radius:180px 180px 6px 6px}.inside-copy h2{font-size:clamp(34px,8.7vw,50px);margin:16px 0 21px}.inside-copy>p:not(.eyebrow){font-size:.95rem}.ingredient-story{margin-top:22px}.ingredient-story li{gap:16px}.ingredient-story p{font-size:.89rem}.drinks-teaser{grid-template-columns:1fr;padding:57px var(--gutter) 40px;gap:30px;min-height:0}.drinks-copy h2{font-size:80px;margin:23px 0}.drinks-copy>p:not(.eyebrow){font-size:.95rem;margin:23px 0}.drinks-art{height:430px;max-width:420px;width:100%;margin:auto}.drinks-ring{left:6%;right:6%;top:10%}.teaser-drink{left:-5%;width:72%;height:94%;top:0}.teaser-mascot{right:-9%;top:23%;width:73%;height:73%}.big-cta{padding-block:43px 42px}.big-cta>p{font-size:.68rem;letter-spacing:.06em}.big-cta h2{font-size:clamp(42px,10.7vw,63px);line-height:1.08;margin:23px 0}.menu-intro{min-height:328px;padding-block:32px 29px}.menu-intro h1{font-size:clamp(39px,9.5vw,56px);margin:20px 0}.menu-mascot-stage{height:62%;top:38%;width:38%;right:1%}.menu-mascot{top:0;height:100%}.mascot-circle{top:25%;width:95%}.menu-card-art{height:310px}.menu-card-art .product-badge{font-size:.66rem;left:19px;top:23px}.menu-card-art.theme-peach,.menu-card-art.theme-berry{height:355px}}
@media(max-width:380px){.site-header .brand{width:114px}.home-hero h1{font-size:11.6vw}.hero-copy .button{font-size:.79rem}.hero-visual{height:447px}.favorite-art{height:275px}.menu-intro{min-height:302px}.menu-card-art{height:275px}.drinks-copy h2{font-size:72px}.drinks-art{height:370px}}

/* Flying labels sit outside the image mask, with enough space for their tilt. */
.product-visual{position:relative;overflow:visible;isolation:isolate;--badge-tilt:-9deg;--badge-from-x:-18px;--badge-from-turn:-13deg}
.favorite-card:nth-child(3n + 2) .product-visual,.menu-card:nth-child(3n + 2) .product-visual{--badge-tilt:7deg;--badge-from-x:18px;--badge-from-turn:15deg}
.favorite-card:nth-child(3n) .product-visual,.menu-card:nth-child(3n) .product-visual{--badge-tilt:-6deg;--badge-from-x:8px;--badge-from-turn:-11deg}
.favorites-grid{padding-top:32px;row-gap:66px}.menu-grid{padding-top:28px;row-gap:72px}
.badge-flight{position:absolute;top:-13px;left:22px;width:max-content;max-width:calc(100% - 44px);z-index:3;pointer-events:none;transform-origin:45% 65%}
.badge-flight>.product-badge{display:block;max-width:100%;padding:13px 17px;border:2px solid var(--ink);font-size:clamp(1rem,1.28vw,1.25rem);font-weight:950;letter-spacing:.015em;line-height:1.13;text-align:left;white-space:normal;overflow-wrap:break-word;transform:rotate(var(--badge-tilt));transform-origin:45% 65%;box-shadow:5px 6px 0 #191b1726}
.product-visual.theme-peanut .product-badge{background:var(--orange)}
.product-visual.theme-honey .product-badge{background:var(--cream)}
.product-visual.theme-garden .product-badge{background:var(--ink);color:var(--cream)}
.menu-card.reveal{animation:none}
.js-motion .reveal:not(.is-visible) .badge-flight{opacity:0}
.js-motion .reveal.is-visible .badge-flight{animation:badge-arrive .95s var(--ease) var(--badge-delay,0s) both}
.js-motion .reveal.is-visible .product-badge{animation:badge-drift 4.8s ease-in-out calc(var(--badge-delay,0s) + .95s) infinite both}
@keyframes badge-arrive{
  0%{opacity:0;transform:translate(var(--badge-from-x),-76px) rotate(var(--badge-from-turn)) scale(.78)}
  55%{opacity:1}
  70%{opacity:1;transform:translate(3px,7px) rotate(3deg) scale(1.04)}
  86%{transform:translate(-2px,-3px) rotate(-1deg) scale(.99)}
  100%{opacity:1;transform:translate(0,0) rotate(0deg) scale(1)}
}
@keyframes badge-drift{
  0%,100%{transform:translateY(0) rotate(var(--badge-tilt))}
  50%{transform:translateY(-5px) rotate(calc(var(--badge-tilt) + 2deg))}
}
@media(min-width:601px) and (max-width:1000px){.favorite-card .badge-flight{left:16px;max-width:calc(100% - 32px)}.favorite-card .product-badge{font-size:.94rem;padding:11px 13px}}
@media(max-width:600px){.favorites-grid{padding-top:27px;row-gap:64px}.menu-grid{padding-top:25px;row-gap:66px}.badge-flight{top:-12px;left:21px;max-width:calc(100% - 42px)}.badge-flight>.product-badge{font-size:1.06rem;padding:12px 16px}}
@media(max-width:380px){.badge-flight{left:18px;max-width:calc(100% - 36px)}.badge-flight>.product-badge{font-size:1rem;padding:11px 14px}}

/* The headline, handwritten accent and mascot share the burger's playful rhythm. */
.home-hero h1{margin-bottom:37px}
.home-hero h1>.hero-line{animation:none;perspective:700px}
.hero-line-inner{display:block;transform-origin:0 70%;animation:hero-type-arrive .85s cubic-bezier(.16,1,.3,1) both}
.hero-line:nth-child(2) .hero-line-inner{animation-delay:.13s}
.hero-line:nth-child(3) .hero-line-inner{animation-delay:.29s}
.hero-crunch-line{padding-top:.06em}
.hero-crunch{position:relative;display:inline-block;transform:rotate(-3deg);transform-origin:15% 75%;padding-bottom:.07em}
.hero-crunch-letters{display:inline-block;white-space:nowrap;transform-origin:30% 80%}
.hero-crunch-letters>span{display:inline-block;transform-origin:50% 85%;animation:crunch-letter-groove 5.8s ease-in-out calc(2.4s + var(--letter,0)*.07s) infinite}
.hero-crunch-letters>span:nth-child(2){--letter:1}.hero-crunch-letters>span:nth-child(3){--letter:2}.hero-crunch-letters>span:nth-child(4){--letter:3}.hero-crunch-letters>span:nth-child(5){--letter:4}.hero-crunch-letters>span:nth-child(6){--letter:5}.hero-crunch-letters>span:nth-child(7){--letter:6}
.crunch-underline{position:absolute;left:0;bottom:-.08em;width:100%;height:.28em;overflow:visible;pointer-events:none;color:var(--orange)}
.crunch-underline path{stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-dasharray:540;stroke-dashoffset:0;animation:crunch-draw .65s var(--ease) .75s both}
.crunch-underline path+path{stroke-width:2.5;animation-delay:.93s;opacity:.65}
.crunch-sparks{position:absolute;width:.48em;height:.62em;right:-.49em;top:-.12em;overflow:visible;pointer-events:none;color:var(--cream);transform-origin:0 100%;animation:crunch-spark 5.8s ease-in-out 2.4s infinite both}
.crunch-sparks path{stroke:currentColor;stroke-width:4;stroke-linecap:round}
.has-crunched .hero-crunch-letters{animation:crunch-land .7s ease-out both}
.has-crunched .crunch-sparks{animation:crunch-spark-hit .7s ease-out both,crunch-spark 5.8s ease-in-out 3.6s infinite}
.hero-copy .eyebrow{animation:hero-detail-arrive .65s var(--ease) .12s both}
.hero-copy .asterisk{animation:hero-star-turn 6s cubic-bezier(.65,0,.35,1) infinite}
.hero-description{animation:hero-detail-arrive .75s var(--ease) .5s both;margin-bottom:8px}
.hero-action-group{display:grid;grid-template-columns:minmax(0,1fr) clamp(100px,9vw,148px);align-items:center;gap:14px;max-width:520px;margin-top:3px;min-height:122px}
.hero-cta-entry{min-width:0;animation:hero-detail-arrive .8s var(--ease) .65s both}
.hero-copy .hero-cta{position:relative;isolation:isolate;overflow:hidden;font-size:clamp(.85rem,1vw,1rem);padding:16px 22px;min-height:58px;text-align:center;width:100%;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,background .3s}
.hero-cta>span{position:relative;z-index:1}
.hero-cta:before{content:'';position:absolute;inset:-45% auto -45% -60%;width:34%;background:linear-gradient(90deg,transparent,#fff8,transparent);transform:skewX(-25deg) translateX(-150%);animation:hero-button-shine 6.4s ease-in-out 2s infinite;pointer-events:none}
.hero-copy .hero-cta:hover,.hero-copy .hero-cta:focus-visible{transform:translateY(-4px) rotate(-2deg);background:#ffa95f;box-shadow:4px 6px 0 var(--cream)}
.hero-copy .hero-cta:active{transform:translateY(1px) rotate(0);box-shadow:1px 2px 0 var(--cream)}
.hero-mascot{position:relative;pointer-events:none;transform-origin:50% 85%;animation:hero-mascot-arrive 1s cubic-bezier(.22,1,.36,1) .75s both}
.hero-mascot img{position:relative;z-index:1;width:100%;height:auto;transform:rotate(5deg);transform-origin:50% 85%;animation:hero-mascot-groove 4.6s ease-in-out 1.75s infinite}
.hero-mascot:after{content:'';position:absolute;width:68%;height:8%;bottom:-1%;left:22%;border-radius:50%;background:#0005;filter:blur(3px);animation:hero-mascot-shadow 4.6s ease-in-out 1.75s infinite}
.hero-footer{margin-top:16px;gap:22px;animation:hero-detail-arrive .8s var(--ease) .95s both}
.hero-footer .mini-stamp{background:var(--orange);color:var(--ink);border:0;padding:11px 13px;font-size:.72rem;font-weight:900;box-shadow:3px 4px 0 #fa98492b;animation:hero-stamp-rock 7s ease-in-out 2.1s infinite}
.hero-copy.copy-paused *,.hero-copy.copy-paused *:before,.hero-copy.copy-paused *:after{animation-play-state:paused!important}
@keyframes hero-type-arrive{
  0%{opacity:0;transform:translate3d(-42px,45px,0) rotate(-7deg) rotateX(35deg) scale(.94)}
  70%{opacity:1;transform:translate3d(3px,-3px,0) rotate(.7deg) rotateX(0) scale(1.01)}
  100%{opacity:1;transform:none}
}
@keyframes hero-detail-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes crunch-letter-groove{0%,10%,100%{transform:none}3%{transform:translateY(-.065em) rotate(-3deg)}6%{transform:translateY(.015em) rotate(1deg)}}
@keyframes crunch-land{0%{transform:scale(1)}22%{transform:scale(1.055,.91) rotate(-1deg)}50%{transform:scale(.975,1.035) rotate(.6deg)}75%{transform:scale(1.01,.99)}100%{transform:none}}
@keyframes crunch-draw{from{stroke-dashoffset:540}to{stroke-dashoffset:0}}
@keyframes crunch-spark{0%,13%,100%{opacity:.35;transform:scale(.85)}4%,7%{opacity:1;transform:scale(1.15) rotate(5deg)}}
@keyframes crunch-spark-hit{0%{opacity:.3;transform:scale(.65)}35%{opacity:1;transform:scale(1.3) rotate(8deg)}100%{opacity:.35;transform:scale(.85)}}
@keyframes hero-star-turn{0%,12%{transform:rotate(0) scale(1)}22%{transform:rotate(180deg) scale(1.2)}30%,100%{transform:rotate(360deg) scale(1)}}
@keyframes hero-button-shine{0%,70%{transform:skewX(-25deg) translateX(-150%)}85%,100%{transform:skewX(-25deg) translateX(650%)}}
@keyframes hero-mascot-arrive{0%{opacity:0;transform:translate(65px,24px) rotate(23deg) scale(.65)}55%{opacity:1;transform:translate(-7px,-10px) rotate(-9deg) scale(1.05)}78%{transform:translate(3px,3px) rotate(5deg) scale(.98)}100%{opacity:1;transform:none}}
@keyframes hero-mascot-groove{0%,100%{transform:translateY(0) rotate(5deg)}22%{transform:translate(-3px,-9px) rotate(-6deg)}42%{transform:translate(0,1px) rotate(3deg) scale(1.025,.97)}57%{transform:translate(2px,-5px) rotate(-3deg)}75%{transform:translateY(0) rotate(5deg)}}
@keyframes hero-mascot-shadow{0%,75%,100%{opacity:.6;transform:scaleX(1)}22%{opacity:.3;transform:scaleX(.8)}42%{opacity:.65;transform:scaleX(1.05)}57%{opacity:.4;transform:scaleX(.9)}}
@keyframes hero-stamp-rock{0%,12%,100%{transform:rotate(-6deg)}5%{transform:translateY(-3px) rotate(-10deg)}8%{transform:rotate(-3deg)}}
@media(max-width:1180px){.hero-action-group{gap:10px;grid-template-columns:minmax(0,1fr) 100px}.hero-copy .hero-cta{padding:14px 16px}.hero-footer{font-size:.75rem;gap:16px}}
@media(max-width:850px){.hero-action-group{max-width:475px;grid-template-columns:minmax(0,1fr) 130px;gap:20px}.hero-footer{position:relative;inset:auto;margin-top:8px;flex-direction:row;align-items:center;max-width:none}.home-hero h1{margin-bottom:37px}}
@media(max-width:600px){.hero-action-group{grid-template-columns:minmax(0,1fr) 94px;gap:10px;min-height:108px;max-width:420px}.hero-copy .hero-cta{font-size:.87rem;min-height:58px;padding:14px 15px;line-height:1.35}.hero-description{margin-bottom:7px}.home-hero h1{margin-bottom:30px}.hero-footer{display:none}.crunch-sparks{right:-.43em;width:.42em}.hero-visual{margin-top:20px}}
@media(max-width:380px){.hero-action-group{grid-template-columns:minmax(0,1fr) 82px;gap:8px}.hero-copy .hero-cta{font-size:.82rem;padding:13px 14px}}

/* Both categories share one layout; reserve the larger of their descriptions. */
.menu-intro{padding-block:36px;overflow:hidden}
.menu-intro h1{white-space:nowrap}
#menu-description{display:grid}
#menu-description>span{grid-area:1/1;visibility:hidden}
body[data-category=food] #menu-description>[data-menu-description=food],body[data-category=getraenke] #menu-description>[data-menu-description=getraenke]{visibility:visible}
#menu-mascot-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.menu-intro .food-mascot,.menu-intro.is-changing .food-mascot{animation:none;top:0;height:100%}
.menu-intro .mascot-circle{transform-origin:50% 70%;transition:opacity .4s,transform .7s cubic-bezier(.2,1.5,.5,1),background .5s}
.mascot-story-active .food-mascot{opacity:0}
.mascot-story-active:not(.mascot-story-arriving) .mascot-circle{opacity:0;transform:scale(.65)}
.mascot-story-arriving .mascot-circle{opacity:1;transform:scale(1)}
@media(max-width:1180px){.menu-intro{padding-block:32px}}
@media(max-width:850px){.menu-intro{padding-block:28px}}
@media(max-width:600px){.menu-intro{padding-block:32px}.menu-intro-copy{align-self:flex-start}.menu-intro-copy>p:last-child{max-width:min(44vw,185px)}.menu-mascot-stage{top:56%;height:44%;width:30%}.mascot-story-active .menu-mascot-stage{z-index:1}.site-header .brand{flex-shrink:1;min-width:0}}

/* Beef cutouts use the same moving product presentation as the other burgers. */
.menu-card-art.theme-midnight,.dialog-art.theme-midnight{background:#cbb99e}
.menu-card-art.theme-angus,.dialog-art.theme-angus{background:#485349}
.menu-card-art.theme-angus:before{background:#f4efdf0b;border-color:#f4efdf26}
.product-visual.theme-midnight .product-badge{background:var(--ink);color:var(--cream)}
.product-visual.theme-angus .product-badge{background:var(--cream);color:var(--ink)}
.menu-card-art.theme-midnight img,.menu-card-art.theme-angus img{padding:20px 28px}
.dialog-art.theme-midnight>img,.dialog-art.theme-angus>img{padding:24px 28px}
.menu-card-art.is-photo:before{display:none}
.menu-card-art.is-photo img{object-fit:cover;object-position:50% 54%;padding:0}
.menu-card-art.is-photo:hover img,.menu-card-art.is-photo:focus-visible img{transform:scale(1.035)}

/* Clear food sections share the existing animated product cards. */
.menu-groups{display:grid;gap:100px}
.menu-product-group{min-width:0;scroll-margin-top:115px}
.menu-group-heading{margin-bottom:22px}
.menu-group-label{display:flex;align-items:center;gap:14px;font-size:.76rem;font-weight:750;letter-spacing:.14em;margin:0 0 22px}
.menu-group-label>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;font-size:.7rem;letter-spacing:0;color:var(--muted)}
.menu-group-label:after{content:'';height:1px;flex:1;background:var(--line);margin-left:8px}
.menu-group-heading h2{font-size:clamp(42px,5.1vw,80px);line-height:1.05;letter-spacing:-.06em;text-transform:uppercase;margin:0;padding-bottom:.12em}
.menu-group-heading h2 em{display:inline-block;font-style:normal;color:#c9581d;transform:rotate(-2deg);transform-origin:0 65%}
#menu-sides .menu-group-heading h2 em{color:#66723b}
#menu-drinks .menu-group-heading h2 em{color:#a34234}
.menu-card-art.theme-sweet-heat,.dialog-art.theme-sweet-heat{background:#eec29e}
.menu-card-art.theme-pickle,.dialog-art.theme-pickle{background:#d2d8b4}
.menu-card-art.theme-slaw,.dialog-art.theme-slaw{background:#d5dfcf}
.product-visual.theme-pickle .product-badge{background:#d7dfb3}
.product-visual.theme-slaw .product-badge{background:var(--cream)}
@media(max-width:600px){.menu-groups{gap:76px}.menu-group-heading{margin-bottom:18px}.menu-group-label{margin-bottom:20px;font-size:.7rem}.menu-group-heading h2{font-size:clamp(35px,10vw,56px)}.menu-group-heading h2 em{display:block}.menu-group-label>span{width:29px;height:29px}}

/* Peanut Crunch uses the same transparent product treatment as the other burgers. */
.favorite-art.theme-peanut,.menu-card-art.theme-peanut,.dialog-art.theme-peanut{background:#e0c296}

.menu-card-art.theme-plain-fries,.dialog-art.theme-plain-fries{background:#e4c997}
.menu-card-art.theme-rice,.dialog-art.theme-rice{background:#cad6c1}
.product-visual.theme-rice .product-badge{background:var(--cream)}

/* Homepage-only quality concept: kinetic typography and hand-drawn botanical accents. */
.quality-section{position:relative;isolation:isolate;overflow:hidden;background:#273025;color:var(--cream);scroll-margin-top:15px;--quality-x:0px;--quality-y:0px;--quality-tilt:0deg}
.quality-inner{padding-block:62px 60px}
.quality-stage-grid{display:grid;grid-template-columns:49% 51%;align-items:center;min-height:510px}
.quality-heading{position:relative;z-index:2;padding-block:30px}
.quality-heading>.eyebrow{display:flex;align-items:center;gap:12px;color:#d8dccd}
.quality-spark{font-size:27px;line-height:1;color:var(--orange);animation:quality-turn 18s linear infinite}
.quality-heading h2{font-size:clamp(38px,4.7vw,76px);line-height:1.08;margin:27px 0 29px}
.quality-title-line{display:block;overflow:hidden;padding:.06em 0 .12em;margin-bottom:-.12em}
.quality-title-line>span{display:block;transform-origin:0 80%;white-space:nowrap}
.quality-title-last{overflow:visible;margin-top:.03em}
.quality-title-last>.quality-word{position:relative;display:inline-block;color:var(--orange);transform:rotate(-3deg)}
.quality-word:after{content:'';position:absolute;bottom:-.09em;left:1%;width:98%;height:.08em;border-bottom:3px solid currentColor;border-radius:50%;transform-origin:left center}
.quality-lead{max-width:465px;color:#d8dccd;font-size:clamp(.96rem,1.1vw,1.1rem);line-height:1.8;margin-top:34px}
.quality-art{position:relative;min-width:0;height:clamp(400px,42vw,670px);isolation:isolate}
.quality-ghost{position:absolute;left:12%;top:0;font-size:clamp(180px,22vw,360px);line-height:1;font-weight:1000;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1px #f4efdf30;transform:rotate(-9deg);user-select:none;z-index:-2}
.quality-halo{position:absolute;inset:14% 6% 8%;border:1px solid #f4efdf22;border-radius:50%;z-index:-1;background:radial-gradient(ellipse,#e6aa5015 0,transparent 68%)}
.quality-halo:after{content:'';position:absolute;inset:-13px;border:1px dashed #f4efdf17;border-radius:50%;animation:quality-turn 65s linear infinite}
.quality-graphic-arrival{position:absolute;inset:0;z-index:1}
.quality-parallax,.quality-float{width:100%;height:100%}
.quality-parallax{transform:translate3d(var(--quality-x),var(--quality-y),0) rotate(var(--quality-tilt));will-change:transform}
.quality-float{animation:quality-float 6.5s ease-in-out infinite;transform-origin:50% 65%}
.quality-sprout{position:absolute;right:5%;top:3%;width:24%;height:auto;color:#d9e5b4;transform:rotate(10deg);stroke-dasharray:230;stroke-dashoffset:0}
.quality-ribbon{position:absolute;white-space:nowrap;--ribbon-angle:-9deg;transform:rotate(var(--ribbon-angle));width:max-content;max-width:98%;animation:quality-ribbon-rock 7s ease-in-out infinite}
.quality-ribbon>span{display:block;padding:.23em .33em .26em;font-size:clamp(29px,3.4vw,55px);line-height:1.05;font-weight:950;letter-spacing:-.045em;background:var(--orange);color:var(--ink);box-shadow:3px 7px 0 #17201455}
.quality-ribbon-one{top:30%;left:12%}
.quality-ribbon-two{top:49%;left:1%;--ribbon-angle:5deg;animation-delay:-2s}
.quality-ribbon-two>span{background:var(--cream)}
.quality-ribbon-three{top:69%;left:8%;--ribbon-angle:-5deg;animation-delay:-4s}
.quality-ribbon-three>span{background:#d9e5b4}
.quality-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;margin-top:21px;padding-top:30px;border-top:1px solid #f4efdf2a}
.quality-number{display:block;font-size:.7rem;letter-spacing:.1em;color:var(--orange);margin-bottom:13px}
.quality-principle h3{font-size:clamp(22px,2vw,29px);line-height:1.14;letter-spacing:-.035em;margin-bottom:12px}
.quality-principle p{font-size:.93rem;line-height:1.7;color:#c9cebf;max-width:385px}
.js-motion .quality-motion-ready:not(.quality-entered) .quality-title-line>span,.js-motion .quality-motion-ready:not(.quality-entered) .quality-graphic-arrival{opacity:0}
.quality-entered .quality-title-line>span{animation:quality-type-in .85s cubic-bezier(.16,1,.3,1) both}
.quality-entered .quality-title-line:nth-child(2)>span{animation-delay:.13s}
.quality-entered .quality-title-line:nth-child(3)>span{animation-delay:.26s}
.quality-entered .quality-word:after{animation:quality-underline .8s var(--ease) .55s both}
.quality-entered .quality-graphic-arrival{animation:quality-graphic-in 1.25s cubic-bezier(.16,1,.3,1) .12s both}
.quality-entered .quality-ribbon>span{animation:quality-strip-in 1s cubic-bezier(.16,1,.3,1) .2s both}
.quality-entered .quality-ribbon-two>span{animation-delay:.35s}
.quality-entered .quality-ribbon-three>span{animation-delay:.5s}
.quality-entered .quality-sprout{animation:quality-sprout-in 1.6s var(--ease) .35s both}
.quality-paused *,.quality-paused *:before,.quality-paused *:after{animation-play-state:paused!important}
@keyframes quality-type-in{from{opacity:0;transform:translate3d(-30px,75%,0) rotate(-4deg)}to{opacity:1}}
@keyframes quality-graphic-in{from{opacity:0;transform:translate3d(110px,60px,0) rotate(9deg) scale(.88)}to{opacity:1;transform:none}}
@keyframes quality-strip-in{from{opacity:0;transform:translate3d(100px,0,0) scaleX(.85)}to{opacity:1;transform:none}}
@keyframes quality-sprout-in{from{stroke-dashoffset:230;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@keyframes quality-turn{to{transform:rotate(360deg)}}
@keyframes quality-underline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes quality-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1.2deg)}}
@keyframes quality-ribbon-rock{0%,100%{transform:rotate(var(--ribbon-angle))}50%{transform:translateY(-7px) rotate(calc(var(--ribbon-angle) + 2deg))}}
@media(max-width:1180px){.quality-stage-grid{grid-template-columns:51% 49%;min-height:480px}.quality-heading h2{font-size:4.7vw}.quality-principles{gap:28px}}
@media(max-width:850px){.quality-inner{padding-block:42px 48px}.quality-stage-grid{grid-template-columns:1fr;min-height:0}.quality-heading{max-width:640px;padding-block:15px 5px}.quality-heading h2{font-size:clamp(43px,7.2vw,61px)}.quality-lead{max-width:560px;font-size:1rem;line-height:1.7}.quality-art{width:84%;max-width:570px;height:450px;justify-self:center;margin-top:9px}.quality-ghost{font-size:290px;top:0;left:12%}.quality-ribbon>span{font-size:43px}.quality-principles{gap:24px;margin-top:15px}.quality-principle h3{font-size:23px}.quality-principle p{font-size:.88rem}}
@media(max-width:600px){.quality-inner{padding-block:43px 42px}.quality-heading>.eyebrow{font-size:.64rem;letter-spacing:.13em}.quality-heading h2{font-size:clamp(30px,8.6vw,49px);margin:22px 0 24px}.quality-lead{font-size:.93rem;line-height:1.75;margin-top:28px}.quality-art{height:clamp(285px,80vw,390px);width:100%;margin-top:23px}.quality-ghost{font-size:clamp(190px,58vw,290px);left:8%;top:0}.quality-ribbon>span{font-size:clamp(24px,7.7vw,43px)}.quality-principles{grid-template-columns:1fr;gap:25px;margin-top:24px;padding-top:28px}.quality-principle{padding-left:35px;position:relative}.quality-number{position:absolute;left:0;top:6px;margin:0}.quality-principle h3{font-size:24px;margin-bottom:8px}.quality-principle p{max-width:none;font-size:.9rem}}
