:root{
  color-scheme: only light;
  --ink:#111111; --ink-2:#3A3C40; --mute:#6B6E73; --line:#E3E5E8; --line-2:#CFD2D6;
  --paper:#FFFFFF; --stone:#F3F4F5;
  --yellow:#FFC700; --yellow-2:#FFD84A;
  --c-lebistro:#FFC700; --c-nazoki:#B98A3E; --c-tiligo:#1A7FB5; --c-zuersti:#FFB23D; --c-savora:#12A150;
  --c: var(--yellow);
  --accent:var(--yellow); --on-accent:var(--ink);
  --f-brand:"Archivo Black","Arial Black",Arial,sans-serif;
  --f:"Space Grotesk","Helvetica Neue",Arial,sans-serif;
  --card:var(--stone); --r-card:22px;
  --f-mono:"Space Mono",ui-monospace,Menlo,monospace;
  --d-xxl:clamp(2.3rem,.8rem + 8.6vw,10rem);
  --d-xl:clamp(2.8rem,1.4rem + 6vw,7.2rem);
  --d-l:clamp(2.2rem,1.3rem + 3.6vw,4.6rem);
  --d-m:clamp(1.7rem,1.2rem + 1.9vw,2.8rem);
  --gutter:clamp(18px,4.5vw,72px);
  --maxw:1440px;
  --hdr-h:84px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth; scroll-padding-top:calc(var(--hdr-h) + 16px)}
html{-webkit-text-size-adjust:100%; text-size-adjust:100%}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--f); font-size:1.0625rem; line-height:1.62; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility}
img,video{max-width:100%; display:block}
img{height:auto}
a{color:inherit}
button{font:inherit; color:inherit}
:focus-visible{outline:2px solid var(--ink); outline-offset:3px; box-shadow:0 0 0 5px #fff}
.skip{position:absolute; left:-9999px; top:8px; z-index:300; background:#fff; color:var(--ink); padding:12px 18px; border-radius:10px; font-weight:600; text-decoration:none}
.skip:focus{left:12px}
@media (max-width:1199px){ html{scroll-padding-bottom:96px} }
::selection{background:var(--accent); color:var(--on-accent)}
.wrap{width:100%; max-width:calc(var(--maxw) + 2*var(--gutter)); margin-inline:auto; padding-inline:max(var(--gutter), env(safe-area-inset-left,0px)) max(var(--gutter), env(safe-area-inset-right,0px))}
.sr{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.d{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; letter-spacing:-.012em; line-height:.92; margin:0; text-wrap:balance}
.d-xxl{font-size:var(--d-xxl)} .d-xl{font-size:var(--d-xl)} .d-l{font-size:var(--d-l)} .d-m{font-size:var(--d-m); line-height:.98}
h1,h2,h3,h4{margin:0}
h3{font-size:clamp(1.25rem,1.05rem + .6vw,1.6rem); font-weight:600; line-height:1.2; letter-spacing:-.01em}
p{margin:0; max-width:60ch}
.lead{font-size:clamp(1.15rem,1rem + .45vw,1.4rem); line-height:1.5; color:var(--ink-2); max-width:46ch}
.label{display:inline-flex; align-items:center; gap:10px; font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--mute)}
.label::before{content:""; width:9px; height:9px; border-radius:50%; background:var(--c)}
.mono{font-family:var(--f-mono); font-size:.78rem; color:var(--mute)}
.hl{background:linear-gradient(transparent 58%, var(--c) 58%, var(--c) 90%, transparent 90%); padding-inline:.04em}
.h1-kicker{display:block; font-family:var(--f); font-size:clamp(.95rem,.88rem + .3vw,1.12rem); font-weight:600; letter-spacing:.01em; text-transform:none; margin-bottom:18px; opacity:.92}
.h1-kicker + .d{display:block}
.btn{position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:56px; padding:0 30px; border-radius:999px; background:var(--accent); color:var(--on-accent); font-family:var(--f-brand); font-weight:400; font-size:.92rem; letter-spacing:.04em; text-transform:uppercase; text-decoration:none; border:0; cursor:pointer; isolation:isolate; transition:transform .25s var(--ease)}
.btn::before{content:""; position:absolute; inset:0; z-index:-1; background:var(--ink); transform:translateY(101%); transition:transform .45s var(--ease-out)}
@media (hover:hover){.btn:hover{color:var(--accent-ink,var(--accent))}}
@media (hover:hover){.btn:hover::before{transform:none}}
.btn:active{transform:scale(.98)}
.btn svg{width:18px; height:18px; transition:transform .3s var(--ease)}
@media (hover:hover){.btn:hover svg{transform:translateX(4px)}}
.btn--dark{background:var(--ink); color:#fff} .btn--dark::before{background:var(--accent)} @media (hover:hover){.btn--dark:hover{color:var(--on-accent)}}
.btn--light{background:#fff; color:var(--ink)} .btn--light::before{background:var(--ink)} @media (hover:hover){.btn--light:hover{color:#fff}}
.btn--sv{background:#0E7F3E; color:#fff} .btn--sv::before{background:var(--ink)} @media (hover:hover){.btn--sv:hover{color:#7FE0A6}}
.btn--ghost{background:transparent; color:currentColor; box-shadow:inset 0 0 0 1.5px currentColor} .btn--ghost::before{background:var(--ink)} @media (hover:hover){.btn--ghost:hover{color:#fff}}
@media (hover:hover){.on-dark .btn--ghost:hover{color:var(--ink)}} .on-dark .btn--ghost::before{background:#fff}
.btn--c{background:var(--c)}
.btn--sm{min-height:46px; padding:0 22px; font-size:.82rem}
.tl{font-weight:600; text-decoration:none; background:linear-gradient(var(--c),var(--c)) 0 100%/100% 2px no-repeat; padding-bottom:4px; transition:background-size .35s var(--ease)}
@media (hover:hover){.tl:hover{background-size:100% 100%}}
.note{display:none; font-family:var(--f); font-size:12px; line-height:1.4; font-weight:500; letter-spacing:0; text-transform:none; background:#FFF6CF; color:#3D3000; border:1px dashed #C9A200; border-radius:6px; padding:6px 9px; max-width:46ch}
body:not(.show-notes) .note{display:none!important}
body.show-notes .note{display:inline-block!important}
.note b{font:inherit; font-weight:700; display:inline; margin:0; color:inherit; font-size:inherit; line-height:inherit}
.proto{position:fixed; right:14px; bottom:calc(84px + env(safe-area-inset-bottom,0px)); z-index:90; display:flex; gap:8px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:8px; padding:5px 5px 5px 12px; font-size:12px; box-shadow:0 8px 24px rgba(0,0,0,.1)}
@media (min-width:1024px){ .proto{bottom:14px} }
.proto button{border:0; background:var(--ink); color:#fff; border-radius:5px; padding:6px 10px; font-size:11px; cursor:pointer}
.hdr{position:fixed; inset:0 0 auto; z-index:60; padding-top:env(safe-area-inset-top,0px); color:var(--ink); transition:background-color .4s, box-shadow .4s, color .4s, transform .45s var(--ease)}
.hdr.is-solid{background:rgba(255,255,255,.97); box-shadow:0 1px 0 var(--line)}
.hdr.is-hidden{transform:translateY(-110%)}
.hdr.is-hidden:focus-within{transform:none}
body.has-dark-hero .hdr:not(.is-solid){color:#fff}
.hdr__in{height:var(--hdr-h); display:flex; align-items:center; gap:32px}
.hdr__logo img{height:56px; width:auto; transition:filter .4s}
body.has-dark-hero .hdr:not(.is-solid) .hdr__logo img{filter:brightness(0) invert(1)}
.nav{margin-left:auto; display:none; align-items:center; gap:clamp(22px,2.1vw,34px)}
.nav > a,.nav__dd > a,.nav__dd > button{font-weight:500; font-size:.95rem; text-decoration:none; padding:8px 0; background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat; transition:background-size .35s var(--ease)}
.nav > a[aria-current="page"],.nav__dd > a[aria-current="page"]{background-size:100% 1.5px} @media (hover:hover){.nav > a:hover,.nav__dd > a:hover,.nav__dd > button:hover{background-size:100% 1.5px}}
.nav sup{font-size:.62em; margin-left:3px; opacity:.7}
.nav__dd{position:relative}
.nav__panel{position:absolute; top:calc(100% + 18px); left:-28px; width:min(860px,88vw); background:#fff; color:var(--ink); padding:12px; border-radius:24px; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; box-shadow:0 30px 80px rgba(17,17,17,.18), 0 2px 8px rgba(17,17,17,.06); opacity:0; visibility:hidden; transform:translateY(10px) scale(.985); transform-origin:15% 0; transition:opacity .25s, transform .4s var(--ease-out), visibility .25s}
.nav__dd:focus-within .nav__panel{opacity:1; visibility:visible; transform:none} @media (hover:hover){.nav__dd:hover .nav__panel{opacity:1; visibility:visible; transform:none}}
.nav__panel::before{content:""; position:absolute; left:0; right:0; top:-18px; height:18px}
.nav__panel a{opacity:0; transform:translateY(8px); transition:opacity .3s, transform .45s var(--ease-out), background-color .3s, box-shadow .35s}
.nav__dd:focus-within .nav__panel a,.nav__dd.offen .nav__panel a{opacity:1; transform:none} @media (hover:hover){ .nav__dd:hover .nav__panel a{opacity:1; transform:none} }
.nav__panel a:nth-child(2){transition-delay:.04s} .nav__panel a:nth-child(3){transition-delay:.08s} .nav__panel a:nth-child(4){transition-delay:.12s} .nav__panel a:nth-child(5){transition-delay:.16s}
.nav__panel a:focus-visible{outline:3px solid var(--c,var(--ink)); outline-offset:2px}
.nav__panel--k{width:min(800px,88vw)}
.nav__panel--k a{position:relative; display:grid; grid-template-rows:minmax(0,1fr) auto auto; gap:4px; aspect-ratio:4/5; padding:14px 16px 26px; border-radius:18px; overflow:hidden; text-decoration:none; color:var(--ink); background:var(--stone)}
.nav__panel--k a::after{content:""; position:absolute; left:16px; right:16px; bottom:12px; height:4px; border-radius:4px; background:var(--c); transform:scaleX(.2); transform-origin:left; transition:transform .45s var(--ease-out)}
.nav__logo{display:grid; place-items:center; min-height:0; padding:10% 4%}
.nav__logo img{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; transition:transform .6s var(--ease-out)}
.nav__panel--k b{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:1.2rem; line-height:1}
.nav__panel--k small{color:var(--ink-2); font-size:.8rem; line-height:1.2}
@media (hover:hover){ .nav__panel--k a:hover{background:#fff; box-shadow:0 22px 44px -20px rgba(17,17,17,.4), 0 0 0 1px rgba(17,17,17,.05)} .nav__panel--k a:hover .nav__logo img{transform:translateY(-4px) scale(1.07)} .nav__panel--k a:hover::after{transform:scaleX(1)} }
.nav__dd > button{border:0; background-color:transparent; color:inherit; font-family:inherit; cursor:pointer; display:inline-flex; align-items:center; gap:5px}
.nav__dd > button svg{width:14px; height:14px; transition:transform .3s var(--ease-out)}
.nav__dd--mehr:focus-within > button svg,.nav__dd--mehr.offen > button svg{transform:rotate(180deg)} @media (hover:hover){ .nav__dd--mehr:hover > button svg{transform:rotate(180deg)} }
.nav__dd > button.ist-aktiv{background-size:100% 1.5px}
.nav__panel--mehr{left:auto; right:-22px; width:310px; grid-template-columns:1fr; gap:2px; padding:10px; transform-origin:85% 0}
.nav__panel--mehr a{display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:2px 12px; padding:12px 14px; border-radius:14px; text-decoration:none; color:var(--ink)}
.nav__panel--mehr b{font-weight:600; font-size:.98rem}
.nav__panel--mehr small{grid-column:1; color:var(--ink-2); font-size:.8rem; line-height:1.25}
.nav__panel--mehr svg{grid-column:2; grid-row:1 / span 2; width:18px; height:18px; opacity:.35; transition:transform .3s var(--ease-out), opacity .3s}
.nav__panel--mehr a[aria-current="page"]{background:var(--stone)}
@media (hover:hover){ .nav__panel--mehr a:hover{background:var(--stone)} .nav__panel--mehr a:hover svg{opacity:1; transform:translateX(3px)} }
.nav__dd.offen .nav__panel{opacity:1; visibility:visible; transform:none}
.mnav__mehr .mnav__sub{padding-top:14px}
.hdr .btn{display:none}
.burger{margin-left:auto; height:46px; border:0; background:none; display:flex; align-items:center; gap:12px; cursor:pointer; font-family:var(--f-brand); font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; padding:0}
.burger i{display:block; width:24px; height:2px; background:currentColor; position:relative}
.burger i::before,.burger i::after{content:""; position:absolute; left:0; width:24px; height:2px; background:currentColor; transition:transform .35s var(--ease)}
.burger i::before{top:-7px} .burger i::after{top:7px}
.nav-open .burger i{background:transparent}
.nav-open .burger i::before{transform:translateY(7px) rotate(45deg)}
.nav-open .burger i::after{transform:translateY(-7px) rotate(-45deg)}
@media (min-width:1200px){ .nav{display:flex} .hdr .btn{display:inline-flex} .burger{display:none} }
.mnav{position:fixed; inset:0; z-index:55; pointer-events:none}
.mnav__panel{position:absolute; inset:0; display:flex; flex-direction:column; gap:8px; overflow-y:auto; -webkit-overflow-scrolling:touch;
  background:var(--paper); color:var(--ink); opacity:0; visibility:hidden; transform:translateY(-12px);
  transition:opacity .3s var(--ease-out), transform .5s var(--ease-out), visibility 0s linear .5s;
  padding:calc(var(--hdr-h) + env(safe-area-inset-top,0px) + 2px) var(--gutter) calc(18px + env(safe-area-inset-bottom,0px))}
.nav-open .mnav{pointer-events:auto}
.nav-open .mnav__panel{opacity:1; visibility:visible; transform:none; transition:opacity .3s var(--ease-out), transform .5s var(--ease-out), visibility 0s}
.nav-open .hdr{background:var(--paper)!important; color:var(--ink)!important; box-shadow:none}
.nav-open .hdr .hdr__logo img{filter:none!important}
.mnav__panel > *{opacity:0; transform:translateY(10px); transition:opacity .3s, transform .5s var(--ease-out)}
.nav-open .mnav__panel > *{opacity:1; transform:none}
.nav-open .mnav__panel > :nth-child(2){transition-delay:.04s} .nav-open .mnav__panel > :nth-child(3){transition-delay:.08s} .nav-open .mnav__panel > :nth-child(4){transition-delay:.12s}
.nav-open .mnav__panel > :nth-child(5){transition-delay:.16s} .nav-open .mnav__panel > :nth-child(6){transition-delay:.2s}
.mnav__label{margin:10px 0 2px; font-family:var(--f-mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--mute)}
.mnav__label a{color:inherit; text-decoration:none; display:inline-block; padding:6px 0}
.mnav__k{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
.mnav__k a{position:relative; display:grid; grid-template-rows:78px auto auto; gap:3px; padding:12px 14px 22px; border-radius:18px; overflow:hidden; text-decoration:none; color:var(--ink); background:var(--stone)}
.mnav__k a::after{content:""; position:absolute; left:14px; right:14px; bottom:10px; height:3px; border-radius:3px; background:var(--c); transform:scaleX(.25); transform-origin:left; transition:transform .45s var(--ease-out)}
.mnav__k a:active::after{transform:scaleX(1)}
.mnav__k .nav__logo{padding:0; height:78px} .mnav__k .nav__logo img{max-height:70px; max-width:86%}
.mnav__k b{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:1rem; line-height:1}
.mnav__k small{color:var(--ink-2); font-size:.74rem; line-height:1.2}
.mnav__haupt{list-style:none; margin:8px 0 0; padding:0; display:grid}
.mnav__haupt a{display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:58px; text-decoration:none; color:var(--ink); font-family:var(--f-brand); text-transform:uppercase; font-size:clamp(1.6rem,7.6vw,2.3rem); line-height:1}
.mnav__haupt svg{width:22px; height:22px; flex:none; opacity:.3; transition:transform .3s var(--ease-out), opacity .3s}
.mnav__haupt a[aria-current="page"] span{text-decoration:underline var(--accent); text-decoration-thickness:.16em; text-underline-offset:.14em; text-decoration-skip-ink:none}
.mnav__haupt a:active svg{opacity:1; transform:translateX(4px)}
.mnav__mehr{display:grid; gap:2px}
.mnav__mehr a{display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1px 14px; min-height:58px; padding:8px 0; text-decoration:none; color:var(--ink)}
.mnav__mehr .nav__ico{grid-row:1 / span 2; width:40px; height:40px; padding:8px}
.mnav__mehr b{font-weight:600; font-size:1rem; line-height:1.2}
.mnav__mehr small{grid-column:2; color:var(--ink-2); font-size:.8rem; line-height:1.25}
.mnav__mehr svg:not(.nav__ico){grid-column:3; grid-row:1 / span 2; width:18px; height:18px; opacity:.3}
.mnav__mehr a[aria-current="page"] b{text-decoration:underline var(--accent); text-decoration-thickness:.2em; text-underline-offset:.2em}
.mnav__foot{margin-top:auto; padding-top:16px; display:grid; gap:6px}
.mnav__foot .btn{width:100%}
.mnav__kontakt{margin:0; display:flex; flex-wrap:wrap; justify-content:center; gap:0 20px; font-size:.92rem}
.mnav__kontakt a{color:var(--ink-2); text-decoration:none; padding:10px 0}
@media (min-width:700px){ .mnav__k{grid-template-columns:repeat(4,minmax(0,1fr))} .mnav__mehr{grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px} }
@media (prefers-reduced-motion:reduce){ .mnav__panel,.mnav__panel > *{transition:none!important; transform:none!important} }
@media (min-width:1200px){ .mnav{display:none} }
.mbar{position:fixed; left:0; right:0; bottom:0; z-index:50; padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom,0px)); background:rgba(255,255,255,.97); border-top:1px solid var(--line); display:flex; gap:14px; align-items:center; transform:translateY(110%); transition:transform .4s var(--ease)}
.mbar.is-on{transform:none}
.mbar .btn{flex:1; min-height:50px; padding:0 16px; white-space:nowrap}
.mbar span,.mbar__tel{font-size:.8rem; line-height:1.3; color:var(--mute)}
.mbar__tel{text-decoration:none; padding:6px 0; white-space:nowrap} .mbar__tel b{color:var(--ink); font-weight:600}
.mnav__foot a{text-decoration:none} .mnav__foot p a{display:inline-block; padding:6px 0}
.ftr li{display:flex; flex-wrap:wrap; align-items:center; gap:0 6px; min-height:40px}
@media (min-width:1200px){ .mbar{display:none} }
.shutter{position:fixed; inset:0; z-index:200; pointer-events:none; transform:translateY(-101%); transition:transform .3s cubic-bezier(.76,0,.24,1);
  background:repeating-linear-gradient(180deg,var(--yellow) 0 30px,#EDB700 30px 32px,#FFE07A 32px 34px,var(--yellow) 34px 36px); display:grid; place-items:center}
.shutter::after{content:""; position:absolute; left:0; right:0; bottom:0; height:22px; background:linear-gradient(#E3AA00,#B58600)}
.shutter img{width:clamp(150px,13vw,210px); height:auto}
.shutter__q{display:none; font-family:var(--f-brand); font-size:clamp(7rem,24vw,17rem); line-height:1; color:#fff}
.shutter[data-k="nz"]{background:repeating-linear-gradient(180deg,#1A1712 0 30px,#0D0B08 30px 32px,#2E271C 32px 34px,#1A1712 34px 36px)}
.shutter[data-k="nz"]::after{background:linear-gradient(#C9A15A,#8A6526)}
.shutter[data-k="nz"] img{width:clamp(170px,15vw,250px)}
.shutter[data-k="tg"]{background:repeating-linear-gradient(180deg,#1A7FB5 0 30px,#14699A 30px 32px,#4FA3D1 32px 34px,#1A7FB5 34px 36px)}
.shutter[data-k="tg"]::after{background:linear-gradient(#14699A,#0C4A6E)}
.shutter[data-k="tg"] img{width:clamp(240px,24vw,360px); filter:brightness(0) invert(1)}
.shutter[data-k="sv"]{background:repeating-linear-gradient(180deg,#12A150 0 30px,#0E8743 30px 32px,#4DC27F 32px 34px,#12A150 34px 36px)}
.shutter[data-k="sv"]::after{background:linear-gradient(#0E8743,#09622F)}
.shutter[data-k="sv"] img{display:none} .shutter[data-k="sv"] .shutter__q{display:block}
.shutter[data-k="zu"]{background:repeating-linear-gradient(180deg,#D52B1E 0 30px,#B92216 30px 32px,#E8574B 32px 34px,#D52B1E 34px 36px)}
.shutter[data-k="zu"]::after{background:linear-gradient(#B92216,#8E180F)}
.shutter[data-k="zu"] img{width:clamp(240px,24vw,360px); filter:brightness(0) invert(1)}
.shutter.is-down{transform:none}
html.shutter-start .shutter{transform:none; transition:none}
.hero{position:relative; height:100svh; min-height:620px; max-height:1100px; color:#fff; overflow:hidden; background:#1b1814}
.hero__media{position:absolute; inset:0; animation:hatch 1.2s var(--ease-out) both}
.hero__media video,.hero__media img{width:100%; height:100%; object-fit:cover}
.hero::after{content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.3) 20%,rgba(0,0,0,.42) 46%,rgba(0,0,0,.78) 100%)}
@keyframes hatch{from{transform:scale(1.06)}to{transform:none}}
.hero__in{position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:flex-end; gap:26px; padding-bottom:clamp(36px,6vw,84px)}
.hero h1{max-width:11ch}
.hero .h1-kicker{display:inline-block; width:max-content; max-width:calc(100vw - 2 * var(--gutter)); padding:6px 14px; border-radius:999px; background:rgba(17,17,17,.6); text-shadow:none}
@media (min-width:600px){ .hero .h1-kicker{white-space:nowrap} }
.hero__in h1,.hero__in p,.phero:not(.phero--light):not(.phero--split) .phero__in :is(h1,p,.crumbs){text-shadow:0 1px 16px rgba(0,0,0,.45)}
.hero__row{display:flex; flex-wrap:wrap; gap:18px 28px; align-items:center; justify-content:space-between}
.hero__act{display:flex; flex-wrap:wrap; gap:16px 26px; align-items:center}
.hero__sub{font-size:clamp(1.05rem,.95rem + .4vw,1.3rem); max-width:40ch; opacity:.92}
.vidbtn{border:1px solid rgba(255,255,255,.55); background:transparent; color:#fff; border-radius:999px; padding:8px 18px; min-height:44px; font-size:.8rem; cursor:pointer}
@media (hover:hover){.vidbtn:hover{background:rgba(255,255,255,.15)}}
.scroll-cue{position:absolute; left:50%; bottom:18px; z-index:2; width:1.5px; height:46px; background:rgba(255,255,255,.35); overflow:hidden}
.scroll-cue::after{content:""; position:absolute; left:0; top:-46px; width:100%; height:46px; background:#fff; animation:cue 2.2s var(--ease) infinite 2s}
@keyframes cue{to{transform:translateY(92px)}}
@media (max-width:760px){ .scroll-cue{display:none} }
.w{display:inline-block; overflow:hidden; vertical-align:top; padding-top:.12em; margin-top:-.12em; padding-bottom:.08em; margin-bottom:-.08em}
.w > span{display:inline-block; animation:wordUp .8s var(--ease-out) both; animation-delay:calc(.15s + var(--i) * 50ms)}
@keyframes wordUp{from{transform:translateY(135%)}to{transform:none}}
.rise{animation:softUp .7s var(--ease-out) both; animation-delay:calc(var(--d,1.25s) * .4)}
@keyframes softUp{from{transform:translateY(18px); opacity:.001}to{transform:none; opacity:1}}
.phero{position:relative; min-height:min(88svh,860px); display:flex; align-items:flex-end; color:#fff; overflow:hidden; background:#1b1814}
.phero__media{position:absolute; inset:0; animation:hatch 1.1s var(--ease-out) both}
.phero__media img{width:100%; height:100%; object-fit:cover}
.phero::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,0) 30%,rgba(0,0,0,.08) 55%,rgba(0,0,0,.72))}
.phero__in{position:relative; z-index:2; width:100%; padding-top:calc(var(--hdr-h) + 60px); padding-bottom:clamp(36px,5vw,72px); display:grid; gap:22px}
.phero .crumbs{font-size:.82rem; opacity:.85; display:flex; gap:8px}
.phero .crumbs a{text-decoration:none; display:inline-block; padding:10px 0; margin:-10px 0} @media (hover:hover){.phero .crumbs a:hover{text-decoration:underline}}
.phero__logo{height:104px; width:auto; max-width:260px; object-fit:contain}
.phero:not(.phero--split):not(.phero--light) .phero__logo{filter:brightness(0) invert(1)}
.phero__logo[src*="tiligo"]{height:72px} .phero__logo[src*="zuersti"]{height:76px}
.phero--light{color:var(--ink); background:var(--stone); min-height:auto}
.phero--light::after{display:none}
.sec{padding-block:clamp(96px,11vw,184px)}
.sec--tight{padding-block:clamp(64px,7vw,110px)}
.sec--stone{background:var(--stone); --card:#fff}
.sec--yellow{--card:rgba(255,255,255,.62)}
.sec--ink{background:var(--ink); color:#fff}
.sec--ink .lead{color:#C9CBCF}
.sec--yellow{background:var(--yellow)}
.head{display:grid; gap:22px; margin-bottom:clamp(44px,6vw,88px)}
@media (min-width:1000px){ .head--split{grid-template-columns:7fr 5fr; align-items:end} }
.belt{padding-block:clamp(44px,5vw,72px); overflow:hidden}
.belt__head{display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-bottom:30px}
.belt__head .label{margin-right:auto}
.belt__mask{overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.belt__track{display:flex; align-items:center; width:max-content; animation:belt var(--belt-t,70s) linear infinite; will-change:transform}
.belt.is-paused .belt__track{animation-play-state:paused} @media (hover:hover){.belt__mask:hover .belt__track{animation-play-state:paused}}
.belt__pause{border:1px solid var(--line-2); background:#fff; border-radius:999px; min-height:36px; min-width:44px; padding:0 14px; font:600 .78rem/1 var(--f); cursor:pointer}
@keyframes belt{to{transform:translateX(-50%)}}
.logo{flex:none; display:flex; align-items:center; justify-content:center; height:72px; padding-inline:clamp(26px,3.2vw,52px)}
.logo img{width:auto; max-width:190px; object-fit:contain; filter:grayscale(1) contrast(.85) brightness(1.05); opacity:.48; transition:filter .4s, opacity .4s}
@media (hover:hover){.logo:hover img{filter:none; opacity:1}}
.statement{font-size:clamp(1.7rem,1.1rem + 2.1vw,3.1rem); line-height:1.16; letter-spacing:-.02em; font-weight:500; max-width:24ch}
.scrub .sw{color:#8E9298; transition:color .3s linear}
.scrub .sw.on{color:var(--ink)}
.facts{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:clamp(48px,6vw,88px)}
.fact{background:var(--card); border-radius:var(--r-card); padding:26px 24px}
@media (min-width:900px){ .facts{grid-template-columns:repeat(4,1fr)} .facts--3{grid-template-columns:repeat(3,1fr)} .facts--2{grid-template-columns:repeat(2,1fr)} }
@media (max-width:899px){ .facts--3 .fact:last-child{grid-column:1/-1} }
.fact b{display:block; font-family:var(--f-brand); font-weight:400; font-size:clamp(2.4rem,1.6rem + 2.6vw,4rem); line-height:1}
.fact span{display:block; color:var(--mute); margin-top:8px; font-size:.95rem}
.doors{display:grid; gap:clamp(72px,9vw,150px)}
.door{--c:var(--c-lebistro); display:grid; gap:clamp(28px,4vw,80px); align-items:center; text-decoration:none; color:inherit}
.door--nazoki{--c:var(--c-nazoki)} .door--tiligo{--c:var(--c-tiligo)} .door--zuersti{--c:var(--c-zuersti)}
@media (min-width:1000px){ .door{grid-template-columns:7fr 5fr} .door:nth-child(even){grid-template-columns:5fr 7fr} .door:nth-child(even) .door__img{order:2} }
.kz-side{display:grid; gap:clamp(30px,4vw,52px); align-content:end; min-width:0}
.kz-fan{--s:clamp(92px,11vw,172px); position:relative; width:min(100%, calc(var(--s) * 3.4)); height:calc(var(--s) * 1.2)}
.kz-card{position:absolute; top:calc(var(--s) * .1); left:calc(var(--i) * (100% - var(--s)) / 3); width:var(--s); height:var(--s); z-index:calc(var(--i) + 1); text-decoration:none}
.kz-in{position:relative; display:grid; place-items:center; width:100%; height:100%; padding:17%; background:#fff; border-radius:22px; overflow:hidden;
  box-shadow:0 14px 34px rgba(17,17,17,.13), 0 2px 6px rgba(17,17,17,.07); transform:rotate(var(--r)); transition:transform .45s var(--ease-out)}
.kz-in::after{content:""; position:absolute; left:0; right:0; bottom:0; height:7px; background:var(--c)}
.kz-in img{width:100%; height:100%; object-fit:contain}
.kz-card:focus-visible{z-index:10} @media (hover:hover){.kz-card:hover{z-index:10}}
.kz-card:focus-visible{outline:none} .kz-card:focus-visible .kz-in{outline:3px solid var(--ink); outline-offset:4px}
.kz-fan:not(.is-live) .kz-card:focus-visible .kz-in{transform:rotate(0) translateY(-6px) scale(1.05)} @media (hover:hover){.kz-fan:not(.is-live) .kz-card:hover .kz-in{transform:rotate(0) translateY(-6px) scale(1.05)}}
.door__img{position:relative; overflow:hidden; aspect-ratio:5/4; background:#fff}
.door__img img{width:100%; height:100%; object-fit:cover; transform:scale(1.04); transition:transform 1.4s var(--ease-out)}
@media (hover:hover){.door:hover .door__img img{transform:scale(1)}}
.door__img::after{content:""; position:absolute; left:0; bottom:0; height:8px; width:100%; background:var(--c); transform:scaleX(0); transform-origin:left; transition:transform .8s var(--ease-out)}
@media (hover:hover){.door:hover .door__img::after{transform:scaleX(1)}}
.door__txt{display:grid; gap:20px; align-content:center}
.door__logo{height:84px; width:auto; max-width:220px; object-fit:contain}
.door--tiligo .door__logo{height:58px} .door--zuersti .door__logo{height:62px}
.door__dishes{display:flex; flex-wrap:wrap; gap:8px}
.door__dishes span{border:1px solid var(--line-2); border-radius:999px; padding:6px 14px; font-size:.88rem}
.door__go{display:inline-flex; align-items:center; gap:12px; font-family:var(--f-brand); text-transform:uppercase; font-size:.9rem; letter-spacing:.04em}
.door__go i{display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--c); transition:transform .4s var(--ease)}
.door--nazoki .door__go i,.door--tiligo .door__go i{color:#fff}
@media (hover:hover){.door:hover .door__go i{transform:translateX(6px)}}
.door__go svg{width:18px; height:18px}
.split{display:grid; gap:clamp(36px,5vw,96px); align-items:center}
@media (min-width:1000px){ .split{grid-template-columns:1fr 1fr} .split--rev > :first-child{order:2} }
.split__img{overflow:hidden; position:relative}
.split__img img{width:100%; aspect-ratio:4/5; object-fit:cover}
.split__txt{display:grid; gap:22px}
.checks{list-style:none; margin:0; padding:0; display:grid; gap:10px}
@media (min-width:700px){ .checks{grid-template-columns:1fr 1fr} }
@media (min-width:700px){ .checks li:last-child:nth-child(odd){grid-column:1/-1} }
.checks li{position:relative; padding:16px 18px 16px 58px; background:var(--card); color:var(--ink); border-radius:16px; line-height:1.4; font-weight:500}
.checks li::before{content:""; position:absolute; left:18px; top:50%; width:26px; height:26px; margin-top:-13px; border-radius:50%; background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat}
.full{margin:0; overflow:hidden; position:relative}
.full img{width:100%; height:clamp(380px,64vw,900px); object-fit:cover; transform:scale(var(--z,1.12)); will-change:transform}
.full--ganz img{height:auto; aspect-ratio:3/2; transform-origin:50% 60%}
.full figcaption{position:absolute; left:var(--gutter); bottom:22px; color:#fff; font-family:var(--f-mono); font-size:.78rem; text-shadow:0 1px 8px rgba(0,0,0,.5)}
.steps{list-style:none; margin:0; padding:0; position:relative}
.steps::before{content:""; position:absolute; left:19px; top:24px; bottom:24px; width:2px; background:var(--line)}
.steps::after{content:""; position:absolute; left:19px; top:24px; width:2px; height:calc((100% - 48px) * var(--p,0)); background:var(--accent)}
.steps li{position:relative; display:grid; grid-template-columns:72px 1fr; gap:6px 20px; padding:24px 0}
.steps .n{position:relative; z-index:1; width:40px; height:40px; border-radius:50%; background:var(--paper); box-shadow:inset 0 0 0 2px var(--line-2); display:grid; place-items:center; font-family:var(--f-brand); font-size:.95rem; transition:background .35s, box-shadow .35s; grid-row:span 2}
.sec--stone .steps .n{background:var(--stone)}
.steps li.is-past .n{background:var(--accent); color:var(--on-accent); box-shadow:none}
.steps h3{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:1.25rem; letter-spacing:.01em; padding-top:8px}
.steps p{color:var(--ink-2)}
.grid3{display:grid; gap:clamp(20px,2.5vw,36px); grid-template-columns:1fr}
@media (min-width:760px){ .grid3{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1100px){ .grid3{grid-template-columns:repeat(3,1fr)} }
.grid4{display:grid; gap:clamp(20px,2.5vw,36px); grid-template-columns:1fr}
@media (min-width:640px){ .grid4{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1200px){ .grid4{grid-template-columns:repeat(4,1fr)} }
.tile{display:grid; gap:14px; align-content:start; text-decoration:none; color:inherit}
.tile__img{overflow:hidden; background:#fff}
.tile__img img{width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform 1.1s var(--ease-out)}
@media (hover:hover){a.tile:hover .tile__img img{transform:scale(1.04)}}
.tile p{color:var(--mute); font-size:.97rem}
.occ{list-style:none; margin:0; padding:0; display:grid; gap:16px; grid-template-columns:1fr}
@media (min-width:760px){ .occ{grid-template-columns:repeat(6,1fr)} .occ li{grid-column:span 3} }
@media (min-width:1100px){ .occ li{grid-column:span 2} .occ li:nth-child(-n+2){grid-column:span 3} }
@media (min-width:760px){ .occ--4 li,.occ--4 li:nth-child(n){grid-column:span 3} }
.occ .tl{justify-self:start}
.occ li{display:grid; gap:14px; align-content:start; background:var(--card); border-radius:var(--r-card); padding:30px 28px 32px; min-height:200px; transition:transform .4s var(--ease)}
.occ b{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:clamp(1.4rem,1rem + 1.4vw,2.2rem); line-height:1}
.occ span{color:var(--ink-2)}
.extras{display:grid; gap:16px; grid-template-columns:1fr}
@media (min-width:700px){ .extras{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1100px){ .extras{grid-template-columns:repeat(3,1fr)} .extras:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,1fr)} }
.extras > div{background:var(--card); border-radius:var(--r-card); padding:28px 26px; display:grid; gap:8px; align-content:start}
.extras b{font-weight:600; font-size:1.1rem}
.extras span{color:var(--mute)}
.dishes{display:grid; gap:clamp(28px,3vw,48px) clamp(20px,2.5vw,40px); grid-template-columns:1fr}
@media (min-width:760px){ .dishes{grid-template-columns:repeat(12,1fr)} .dish{grid-column:span 4} .dish:nth-child(1){grid-column:span 7} .dish:nth-child(2){grid-column:span 5; align-self:end} .dishes--even .dish{grid-column:span 4!important; align-self:start} }
.dish{display:grid; gap:12px; align-content:start}
.dish__img{overflow:hidden; background:#fff}
.dish__img img{width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform 1.1s var(--ease-out)}
@media (hover:hover){.dish:hover .dish__img img{transform:scale(1.035)}}
.dish h3{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:1.3rem}
.dish p{color:var(--mute)}
.menu{list-style:none; margin:0; padding:0; display:grid; gap:10px; grid-template-columns:1fr}
@media (min-width:700px){ .menu{grid-template-columns:1fr 1fr} }
.menu li{background:var(--card); border-radius:16px; padding:18px 20px; display:grid; gap:4px; align-content:start}
.menu b{font-weight:700; text-transform:uppercase; letter-spacing:.02em; font-size:1rem}
.menu span{color:var(--mute); font-size:.95rem}
.menu .tag{font-family:var(--f-mono); font-size:.7rem; color:var(--ink); background:var(--stone); border-radius:4px; padding:1px 6px; justify-self:start; margin-top:4px}
.dishgrid{display:grid; gap:18px; grid-template-columns:1fr}
@media (min-width:700px){ .dishgrid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1100px){ .dishgrid{grid-template-columns:repeat(3,1fr)} .dishgrid--small{grid-template-columns:repeat(5,1fr)} }
@media (min-width:700px) and (max-width:1099px){ .dishgrid--small{grid-template-columns:repeat(3,1fr)} }
@media (min-width:700px){ .dishgrid--3{grid-template-columns:repeat(3,1fr)} }
@media (min-width:1100px){ .dishgrid--4{grid-template-columns:repeat(4,1fr)} }
.dishcard{display:grid; grid-template-rows:auto 1fr; background:var(--card); border-radius:var(--r-card); overflow:hidden; transition:transform .45s var(--ease), box-shadow .45s var(--ease)}
@media (hover:hover){.dishcard:hover{transform:translateY(-6px); box-shadow:0 22px 50px rgba(0,0,0,.09)}}
.dishcard__img{position:relative; background:#fff; overflow:hidden}
.dishcard__img img{width:100%; aspect-ratio:5/4; object-fit:cover; object-position:var(--pos,50% 68%); transform:scale(var(--sc,1.18)); transition:transform 1s var(--ease-out)}
@media (hover:hover){.dishcard:hover .dishcard__img img{transform:scale(calc(var(--sc,1.18) * 1.06))}}
.dishgrid--small .dishcard__img img{aspect-ratio:1}
.dishcard__tag{position:absolute; top:14px; left:14px; background:#1F7A45; color:#fff; font-size:.75rem; font-weight:700; padding:5px 11px; border-radius:999px}
.dishcard__body{display:grid; gap:12px; align-content:start; padding:22px 22px 24px}
.dishcard h3{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:1.35rem; line-height:1}
.dishgrid--small .dishcard h3{font-size:1.05rem}
.dishcard h4{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:1.35rem; line-height:1; margin:0}
.dishgrid--small .dishcard h4{font-size:1.05rem}
.dishcard__body > p{color:var(--ink-2); font-size:.95rem; line-height:1.45}
.zut{list-style:none; margin:2px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:6px}
.zut li{display:inline-flex; align-items:center; gap:7px; background:#fff; border-radius:999px; padding:5px 11px 5px 6px; font-size:.8rem; font-weight:500; line-height:1.2}
.sec--stone .zut li{background:var(--stone)}
.zut svg{width:22px; height:22px; flex:none; padding:3px; border-radius:50%; background:var(--accent); color:var(--on-accent)}
.allerg{display:flex; align-items:center; gap:8px; font-size:.78rem; color:var(--mute); margin-top:2px}
.allerg b{font-weight:600; color:var(--ink-2)}
.allerg span{border:1px dashed var(--line-2); border-radius:999px; padding:2px 9px}
.dishinfo{position:absolute; right:14px; bottom:14px; display:inline-flex; align-items:center; gap:8px; border:0; cursor:pointer; background:#fff; color:var(--ink); border-radius:999px; padding:9px 15px 9px 9px; min-height:44px; font:600 .82rem/1 var(--f); box-shadow:0 6px 18px rgba(0,0,0,.12); transition:transform .3s var(--ease), background-color .25s}
.dishinfo svg{width:26px; height:26px; padding:4px; border-radius:50%; background:var(--accent); fill:none; stroke:var(--on-accent); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .5s var(--ease-out)}
@media (hover:hover){.dishinfo:hover{transform:translateY(-2px); background:var(--accent); color:var(--on-accent)}}
@media (hover:hover){.dishinfo:hover svg{transform:rotate(-12deg) scale(1.08); background:#fff; stroke:var(--ink)}}
.bdlg{border:0; padding:0; background:transparent; width:min(960px,calc(100vw - 32px)); max-width:none; max-height:none; overflow:visible; color:var(--ink)}
.bdlg::backdrop{background:rgba(17,17,17,.55); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); animation:bdFade .35s ease both}
.bdlg.is-closing::backdrop{animation:bdFade .3s ease reverse both}
@keyframes bdFade{from{opacity:0}to{opacity:1}}
.bdlg__karte{position:relative; display:grid; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain; border-radius:26px; background:#fff; box-shadow:0 40px 80px -30px rgba(0,0,0,.5); animation:bdlgIn .45s var(--ease-out) both}
@keyframes bdlgIn{from{opacity:0; transform:translateY(24px) scale(.985)}}
.bdlg.is-closing .bdlg__karte{animation:bdlgOut .28s ease-in both}
@keyframes bdlgOut{to{opacity:0; transform:translateY(16px) scale(.985)}}
@media (min-width:820px){ .bdlg__karte{grid-template-columns:minmax(0,5fr) minmax(0,6fr)} }
@media (min-height:641px){ .bdlg__karte{max-height:calc(100vh - 150px); max-height:calc(100dvh - 150px)} }
.bdlg__bild{position:relative; min-height:220px; aspect-ratio:16/10; max-width:100%; background:var(--stone); overflow:hidden}
@media (min-width:820px){ .bdlg__bild{aspect-ratio:1/1; min-height:0; align-self:start; position:sticky; top:0} }
.bdlg__bild img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; animation:bdlgFoto 1.2s var(--ease-out) both}
@keyframes bdlgFoto{from{transform:scale(1.07)}}
.bdlg__tag{position:absolute; left:14px; top:14px; padding:6px 11px; border-radius:999px; background:#fff; font-family:var(--f-mono); font-size:.72rem; line-height:1}
.bdlg__x{position:absolute; top:12px; right:12px; z-index:3; width:44px; height:44px; padding:0; border-radius:50%; border:0; background:#fff; color:var(--ink); font-size:1.6rem; line-height:1; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.15); transition:transform .3s var(--ease)}
@media (hover:hover){ .bdlg__x:hover{transform:rotate(90deg)} }
.bdlg__x:focus-visible{outline:3px solid var(--ink); outline-offset:2px}
.bdlg__txt{display:flex; flex-direction:column; gap:10px; min-width:0; padding:clamp(22px,3.2vw,38px)}
.bdlg__kicker{display:inline-flex; align-items:center; gap:10px; font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--mute)}
.bdlg__kicker::before{content:""; width:9px; height:9px; border-radius:50%; background:var(--accent)}
.bdlg__txt h3{margin:0; padding-right:44px; font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:clamp(1.6rem,1.2rem + 1.5vw,2.4rem); line-height:1; text-wrap:balance}
.bdlg__sub{margin:0; color:var(--ink-2)}
.bdlg__h{margin:12px 0 2px; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--mute)}
.bdlg__layers{list-style:none; margin:0; padding:0; display:grid}
.schicht{display:grid; grid-template-columns:12px 34px minmax(0,1fr) auto; align-items:center; gap:0 12px; min-height:40px; border-bottom:1px solid var(--line)}
.schicht:last-child{border-bottom:0}
.schicht__balken{align-self:stretch; background:var(--g); margin:1px 0}
.schicht:first-child .schicht__balken{border-radius:6px 6px 0 0; margin-top:8px}
.schicht:last-child .schicht__balken{border-radius:0 0 6px 6px; margin-bottom:8px}
.schicht:only-child .schicht__balken{border-radius:6px}
.schicht--deckel .schicht__balken{border-radius:12px 12px 0 0!important}
.schicht--boden .schicht__balken{border-radius:0 0 12px 12px!important}
.schicht__icon{display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:color-mix(in srgb, var(--g) 16%, #fff)}
.schicht__icon svg{width:22px; height:22px; fill:none; stroke:var(--ink); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round}
.schicht--deckel .schicht__icon,.schicht--boden .schicht__icon{background:none}
.schicht__name{font-weight:600; font-size:.98rem; line-height:1.3}
.schicht--deckel .schicht__name,.schicht--boden .schicht__name{font-weight:500; color:var(--ink-2)}
.schicht__art{font-family:var(--f-mono); font-size:.7rem; letter-spacing:.04em; color:var(--mute); text-transform:uppercase}
.schicht--leer{grid-template-columns:1fr; color:var(--mute)}
.bdlg__layers.neu .schicht{animation:schichtRein .5s var(--ease-out) both; animation-delay:calc(.2s + var(--i) * 70ms)}
.bdlg__layers.neu .schicht__balken{transform-origin:50% 100%; animation:schichtBalken .45s var(--ease-out) both; animation-delay:calc(.2s + var(--i) * 70ms)}
.bdlg--burger .bdlg__layers.neu .schicht{animation-name:schichtVonUnten}
@keyframes schichtRein{from{opacity:0; transform:translateX(14px)}}
@keyframes schichtVonUnten{from{opacity:0; transform:translateY(12px)}}
@keyframes schichtBalken{from{transform:scaleY(0)}}
.bdlg__bottom{display:flex; flex-wrap:wrap; gap:4px 10px; align-items:baseline; margin:10px 0 0; padding:12px 14px; border-radius:14px; background:var(--stone); font-size:.9rem; color:var(--ink-2)}
.bdlg__bottom b{font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink)}
.bdlg__cta{align-self:flex-start; margin-top:6px}
@media (prefers-reduced-motion:reduce){ .bdlg *,.bdlg::backdrop{animation:none!important} }
.phero--split{background:#fff; color:var(--ink); min-height:auto; align-items:stretch}
.phero--split::after{display:none}
.phero--split .phero__in{grid-template-columns:1fr; align-items:center; gap:28px}
@media (min-width:1000px){ .phero--split .phero__in{grid-template-columns:minmax(0,5fr) minmax(0,7fr); padding-bottom:clamp(48px,6vw,96px)} }
.phero--split .phero__img{position:relative}
.phero--split .phero__img img{width:100%; aspect-ratio:4/3; object-fit:cover; animation:plate 1s var(--ease-out) both}
@keyframes plate{from{transform:scale(1.05) rotate(-2deg)}to{transform:none}}
.phero--split .phero__txt{display:grid; gap:22px; align-content:center}
.phero--split .crumbs{color:var(--mute)}
.phero--split .crumbs,.phero--light .crumbs{opacity:1}
.phero--split .phero__bar{height:10px; background:var(--c); margin-top:4px}
.film{display:grid; grid-auto-flow:column; grid-auto-columns:minmax(280px,30%); gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding-inline:max(var(--gutter), env(safe-area-inset-left,0px)) max(var(--gutter), env(safe-area-inset-right,0px)); scroll-padding-inline:max(var(--gutter), env(safe-area-inset-left,0px)); scrollbar-width:none; counter-reset:f}
.film::-webkit-scrollbar{display:none}
.film figure{margin:0; scroll-snap-align:start; display:grid; gap:12px; counter-increment:f}
.film img{width:100%; aspect-ratio:16/10; object-fit:cover}
.film figcaption{display:flex; gap:12px; align-items:baseline; font-weight:600}
.film figcaption::before{content:counter(f, decimal-leading-zero); font-family:var(--f-mono); font-size:.78rem; color:var(--mute); font-weight:400}
@media (max-width:700px){ .film{grid-auto-columns:82%} }
.film-nav{display:flex; gap:10px} .film-nav[hidden]{display:none}
.film-nav button{width:52px; height:52px; border-radius:50%; border:1.5px solid var(--ink); background:transparent; cursor:pointer; display:grid; place-items:center; transition:background .25s, color .25s}
@media (hover:hover){.film-nav button:hover{background:var(--ink); color:#fff}}
.film-nav svg{width:20px; height:20px}
.strip{display:grid; grid-auto-flow:column; grid-auto-columns:minmax(260px,32%); gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; padding-inline:max(var(--gutter), env(safe-area-inset-left,0px)) max(var(--gutter), env(safe-area-inset-right,0px)); scroll-padding-inline:max(var(--gutter), env(safe-area-inset-left,0px)); scrollbar-width:none}
.strip::-webkit-scrollbar{display:none}
.strip img{width:100%; aspect-ratio:3/4; object-fit:cover; scroll-snap-align:start}
@media (max-width:700px){ .strip{grid-auto-columns:78%} }
.rail{display:grid; grid-auto-flow:column; grid-auto-columns:minmax(230px,23%); gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding-inline:max(var(--gutter), env(safe-area-inset-left,0px)) max(var(--gutter), env(safe-area-inset-right,0px)); scroll-padding-inline:max(var(--gutter), env(safe-area-inset-left,0px)); scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.rail a{display:grid; gap:10px; align-content:start; text-decoration:none; color:inherit; scroll-snap-align:start}
.rail .ph-img{overflow:hidden; background:#fff}
.rail img{width:100%; aspect-ratio:1; object-fit:cover; transition:transform 1.1s var(--ease-out)}
@media (hover:hover){.rail a:hover img{transform:scale(1.04)}}
.rail b{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:1.05rem; line-height:1.1}
.rail small{color:var(--mute); font-size:.85rem; margin-top:-4px}
@media (max-width:700px){ .rail{grid-auto-columns:64%} }
@media (min-width:1000px){ .rail{grid-auto-flow:row; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-columns:auto; gap:28px 20px; overflow:visible; scroll-snap-type:none;
  max-width:calc(var(--maxw) + 2*var(--gutter)); margin-inline:auto} }
.refgrid{display:grid; gap:14px; grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:760px){ .refgrid{grid-template-columns:repeat(3,1fr)} }
@media (min-width:1100px){ .refgrid{grid-template-columns:repeat(4,1fr)} }
.ref{position:relative; display:grid; place-items:center; aspect-ratio:3/2; padding:22px; border-radius:var(--r-card); background:var(--card); transition:background .3s, transform .4s var(--ease)}
.ref img{max-height:64px; max-width:78%; width:auto; object-fit:contain; filter:grayscale(1) contrast(.85); opacity:.55; transition:filter .4s, opacity .4s, transform .5s var(--ease)}
@media (hover:hover){.ref:hover{background:#fff; transform:translateY(-4px); box-shadow:0 18px 40px rgba(0,0,0,.08)}}
@media (hover:hover){.ref:hover img{filter:none; opacity:1; transform:scale(1.04)}}
.ref span{position:absolute; left:16px; bottom:12px; font-size:.75rem; color:var(--mute); opacity:0; transform:translateY(4px); transition:opacity .3s, transform .3s}
@media (hover:hover){.ref:hover span{opacity:1; transform:none}}
@media (hover:none){ .ref span{opacity:1; transform:none} }
.faq{display:grid; gap:12px}
.faq details{background:var(--card); border-radius:18px; padding:0 24px}
.faq summary{cursor:pointer; list-style:none; padding:24px 52px 24px 0; font-weight:600; font-size:1.2rem; position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; position:absolute; right:0; top:14px; width:38px; height:38px; border-radius:50%; background:#fff; display:grid; place-items:center; font-size:1.4rem; font-weight:400; transition:transform .35s var(--ease), background .3s}
.faq details[open] summary::after{transform:rotate(45deg); background:var(--accent)}
.faq details > div{padding:0 0 26px; color:var(--ink-2); max-width:64ch}
.times{width:100%; border-collapse:separate; border-spacing:0 12px; margin-top:-12px}
.times th,.times td{text-align:left; vertical-align:top; padding:24px 26px; background:var(--card)}
.times th{border-radius:var(--r-card) 0 0 var(--r-card)} .times td{border-radius:0 var(--r-card) var(--r-card) 0}
.times th{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:1.3rem; width:46%; padding-right:20px}
.times th small{display:block; font-family:var(--f); text-transform:none; font-size:.9rem; color:var(--mute); margin-top:4px}
.times td{color:var(--ink-2); font-variant-numeric:tabular-nums}
.open{display:inline-flex; align-items:center; gap:7px; font-family:var(--f); text-transform:none; font-size:.82rem; font-weight:600; color:#1F7A45; margin-top:8px}
.open::before{content:""; width:8px; height:8px; border-radius:50%; background:#1F9D55; animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(31,157,85,.15)}}
.arch{position:relative; max-width:460px; width:100%; margin-inline:auto; padding-top:18%}
@media (max-width:600px){ .arch{width:88%} }
.arch svg{position:absolute; left:-6%; top:0; width:112%; height:auto; overflow:visible; pointer-events:none}
.arch text{font-family:var(--f-brand); font-size:18px; letter-spacing:.2em; fill:var(--ink)}
.arch__img{aspect-ratio:4/5; border-radius:999px 999px 0 0; overflow:hidden}
.arch__img img{width:100%; height:100%; object-fit:cover}
.arch__base{margin-top:14px; border-top:4px solid var(--yellow); padding-top:8px; display:flex; justify-content:space-between; font-family:var(--f-brand); font-size:.85rem}
.field{display:grid; gap:8px; align-content:start}
.field > label,.flabel{font-weight:600; font-size:.95rem}
.field small{color:var(--mute); font-size:.82rem}
.opt{font-weight:400; color:var(--mute)}
.inp{width:100%; min-height:56px; padding:15px 16px; border-radius:10px; border:1px solid #8E9298; background:#fff; font:inherit; font-size:16px; color:var(--ink); transition:border-color .2s, box-shadow .2s}
input.inp,select.inp{height:58px}
.inp:focus{outline:2px solid var(--ink); outline-offset:2px; border-color:var(--ink); box-shadow:0 0 0 5px rgba(255,199,0,.45)}
textarea.inp{min-height:130px; resize:vertical}
.inp[aria-invalid="true"]{border-color:#C23B22; background:#FFF7F5}
.err{color:#A8321C; font-size:.82rem; font-weight:500}
.choices{display:flex; flex-wrap:wrap; gap:8px}
.choice{position:relative}
.choice input{position:absolute; inset:0; opacity:0; cursor:pointer}
.choice span{display:inline-flex; align-items:center; gap:9px; min-height:48px; padding:0 18px; border-radius:999px; border:1px solid #8E9298; background:#fff; font-size:.95rem; cursor:pointer; transition:all .2s}
.choice input:checked + span{background:var(--ink); color:#fff; border-color:var(--ink)}
.choice input:focus-visible + span{outline:2px solid var(--ink); outline-offset:2px}
.choice span::before{content:""; flex:none; width:0; height:16px; margin-right:-9px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3.2L13 4.8' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat; transition:width .25s, margin .25s}
.choice input:checked + span::before{width:16px; margin-right:0}
.choice input:checked + span{animation:chipPop .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes chipPop{0%{transform:scale(.92)}60%{transform:scale(1.06)}100%{transform:none}}
#konzeptField .choices{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
@media (min-width:700px){ #konzeptField .choices{grid-template-columns:repeat(4,minmax(0,1fr))} }
#konzeptField .choice:not(.choice--logo){grid-column:1/-1; justify-self:start}
.choice--logo span{position:relative; overflow:hidden; flex-direction:column; justify-content:center; gap:12px; width:100%; min-height:128px; padding:18px 10px 20px; border-radius:18px; text-align:center; font-size:.84rem; font-weight:600; line-height:1.2}
.choice--logo img{height:58px; max-width:88%}
.choice--logo span::before{position:absolute; top:9px; right:9px; width:24px; height:24px; margin:0; border-radius:50%; background-color:var(--ink); background-size:14px; scale:0; transition:scale .35s cubic-bezier(.3,1.6,.5,1)}
.choice--logo span::after{content:""; position:absolute; left:0; right:0; bottom:0; height:7px; background:var(--c); scale:1 0; transform-origin:bottom; transition:scale .3s var(--ease-out)}
@media (hover:hover){.choice--logo:hover span{border-color:var(--ink)}}
.choice--logo input:checked + span{background:#fff; color:var(--ink); border-color:var(--ink); box-shadow:0 0 0 1px var(--ink), 0 14px 30px rgba(17,17,17,.12); translate:0 -3px; animation:none}
.choice--logo input:checked + span::before{width:24px; scale:1}
.choice--logo input:checked + span::after{scale:1 1}
.choice--logo input:checked + span img{animation:logoHop .6s cubic-bezier(.3,1.6,.5,1)}
@keyframes logoHop{0%{transform:scale(.8) rotate(-6deg)}60%{transform:scale(1.12) rotate(3deg)}100%{transform:none}}
.gwahl{display:flex; flex-wrap:wrap; gap:8px}
.gwahl button{min-height:44px; padding:0 14px; border-radius:999px; border:1px solid var(--line-2); background:#fff; font:inherit; font-size:.88rem; font-weight:600; cursor:pointer; transition:background .2s, color .2s, border-color .2s}
@media (hover:hover){.gwahl button:hover{border-color:var(--ink)}} .gwahl button[aria-pressed="true"]{background:var(--ink); color:#fff; border-color:var(--ink)}
.stepper .inp.tick{animation:tick .3s ease-out}
@keyframes tick{40%{transform:scale(1.07)}}
.choice img{height:22px; width:auto; max-width:56px; object-fit:contain}
.stepper{display:flex; gap:8px; align-items:center}
.stepper button{width:56px; height:56px; border-radius:10px; border:1px solid #8E9298; background:#fff; font-size:20px; cursor:pointer; flex:none}
.stepper .inp{flex:1; min-width:0; text-align:center; font-weight:600}
.consent{display:flex; gap:12px; align-items:flex-start; font-size:.88rem; color:var(--mute)}
.consent input{width:20px; height:20px; margin-top:2px; accent-color:var(--ink); flex:none}
.grid-2{display:grid; gap:20px; grid-template-columns:1fr}
.grid-2 > .field--voll{grid-column:1/-1}
@media (min-width:640px){ .grid-2{grid-template-columns:1fr 1fr} }
.grid-plz{display:grid; gap:20px; grid-template-columns:minmax(110px,1fr) 2.4fr}
select.inp{appearance:none; -webkit-appearance:none; padding-right:46px; cursor:pointer; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center/18px}
.consent a{color:inherit; text-underline-offset:3px}
.hp{position:absolute!important; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden}
.req{display:grid; gap:clamp(36px,5vw,80px)}
@media (min-width:1000px){ .req{grid-template-columns:7fr 4fr; align-items:start} }
.req__card{background:#fff; padding:clamp(22px,3.5vw,52px); box-shadow:0 1px 0 var(--line), 0 30px 80px rgba(0,0,0,.06)}
.progress{--p:1; position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-bottom:34px; padding-top:30px; font-size:.8rem; color:var(--mute)}
.progress span{border-top:3px solid var(--line); padding-top:8px; transition:border-color .5s, color .5s}
.progress span.is-done{border-color:var(--ink); color:var(--ink)}
.ptruck{position:absolute; top:1px; left:calc((var(--p) - .5) * 25%); translate:-50% 0; line-height:0; transition:left .95s cubic-bezier(.65,0,.25,1), opacity .4s}
.ptruck svg{display:block; overflow:visible}
.tr-rad{transform-box:fill-box; transform-origin:center}
.ptruck.faehrt .tr-rad{animation:rad .35s linear infinite}
.ptruck.faehrt .tr-body{animation:huckel .18s ease-in-out infinite alternate}
.ptruck.rueck svg{scale:-1 1}
.ptruck.weg{left:115%; opacity:0; transition:left 1.4s cubic-bezier(.5,0,.75,0), opacity .5s .9s}
@keyframes rad{to{rotate:360deg}}
@keyframes huckel{to{translate:0 -1.2px}}
.fstep{display:none; border:0; margin:0; padding:0; min-width:0}
.fstep.is-active{display:grid; gap:26px; animation:softUp .5s var(--ease-out) both; animation-delay:0s}
.req__card{overflow-x:hidden; overflow-x:clip}
form[data-richtung="vor"] .fstep.is-active{animation:stepVor .55s var(--ease-out) both}
form[data-richtung="zurueck"] .fstep.is-active{animation:stepZurueck .55s var(--ease-out) both}
form[data-richtung] .fstep.is-active > *{animation:softUp .5s var(--ease-out) both}
form[data-richtung] .fstep.is-active > :nth-child(2){animation-delay:.06s} form[data-richtung] .fstep.is-active > :nth-child(3){animation-delay:.12s}
form[data-richtung] .fstep.is-active > :nth-child(4){animation-delay:.18s} form[data-richtung] .fstep.is-active > :nth-child(n+5){animation-delay:.24s}
@keyframes stepVor{from{opacity:0; transform:translateX(44px)}to{opacity:1; transform:none}}
@keyframes stepZurueck{from{opacity:0; transform:translateX(-44px)}to{opacity:1; transform:none}}
.inp[aria-invalid="true"]{animation:wackel .42s ease-in-out}
@keyframes wackel{20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
.fstep legend{font-family:var(--f-brand); text-transform:uppercase; font-size:clamp(1.6rem,1.2rem + 1.3vw,2.4rem); line-height:1; padding:0; margin-bottom:22px}
.fnav{display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:34px; padding-top:22px; border-top:1px solid var(--line)}
.back{border:0; background:none; font-weight:600; cursor:pointer; color:var(--ink-2); min-height:44px; padding:0 10px; margin-left:-10px}
.bon{background:#fff; font-family:var(--f-mono); font-size:.8rem; padding:18px 20px 22px; position:relative; border:1px solid var(--line); max-width:440px}
.bon::after{content:""; position:absolute; left:-1px; right:-1px; bottom:-9px; height:9px; background:linear-gradient(-45deg,transparent 6px,#fff 0) 0 0/12px 9px repeat-x, linear-gradient(45deg,transparent 6px,#fff 0) 0 0/12px 9px repeat-x}
.bon__h{text-align:center; border-bottom:1px dashed #A5A9AE; padding-bottom:10px; margin-bottom:8px}
.bon dl{margin:0} .bon dl div{display:flex; justify-content:space-between; gap:16px; padding:3px 0} .bon dt{color:#6b7076} .bon dd{margin:0; text-align:right; overflow-wrap:anywhere}
.done{display:none; gap:18px} .done.is-active{display:grid}
.done__haken{width:64px; height:64px; fill:none; stroke:var(--ink); stroke-width:3; stroke-linecap:round; stroke-linejoin:round}
.done__haken circle{stroke:var(--accent); stroke-dasharray:145; stroke-dashoffset:145; animation:zeichnen .7s var(--ease-out) .1s forwards}
.done__haken path{stroke-dasharray:40; stroke-dashoffset:40; animation:zeichnen .45s var(--ease-out) .65s forwards}
@keyframes zeichnen{to{stroke-dashoffset:0}}
.bon.druckt{animation:bonDruck .9s cubic-bezier(.45,0,.2,1) both}
.bon.druckt dl div{animation:softUp .35s var(--ease-out) both; animation-delay:calc(.3s + var(--i, 0) * 80ms)}
@keyframes bonDruck{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 -14px 0)}}
.req__side{display:grid; gap:20px; align-content:start}
@media (min-width:1000px){ .req__side{position:sticky; top:110px} }
@media (max-width:999px){ .bon--live{display:none} }
.bon--live{max-width:none; margin-bottom:14px}
.bon__leer{margin:6px 0 0; color:var(--mute); text-align:center}
.bon--live dl div.neu{animation:bonNeu 1.1s ease-out}
@keyframes bonNeu{0%{background:rgba(255,199,0,.55)}100%{background:transparent}}
.ask{display:grid; gap:clamp(32px,4vw,64px)}
@media (min-width:1000px){ .ask{grid-template-columns:5fr 7fr; align-items:end} }
.ask__txt{display:grid; gap:22px; justify-items:start}
.ask__go{display:flex; flex-wrap:wrap; gap:14px 26px; align-items:center; margin-top:6px}
.ask__steps{list-style:none; margin:0; padding:0; display:grid; gap:12px; counter-reset:ask}
@media (min-width:700px){ .ask__steps{grid-template-columns:repeat(3,1fr)} }
.ask__steps li{counter-increment:ask; background:var(--card); border-radius:var(--r-card); padding:22px 22px 26px; display:grid; gap:8px; align-content:start}
.ask__steps li::before{content:counter(ask); display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--accent); color:var(--on-accent); font-family:var(--f-brand); font-size:1.05rem; margin-bottom:6px}
.ask__steps b{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:1.15rem; line-height:1.1}
.ask__steps span{color:var(--mute); font-size:.95rem; line-height:1.45}
.sv{--c:var(--c-savora)}
.sv-word{font-family:var(--f-brand); text-transform:uppercase; font-size:var(--d-xxl); line-height:.85; letter-spacing:-.02em; color:#0B5E30}
.bracket{display:grid; gap:20px; align-items:center; margin-top:48px}
@media (min-width:900px){ .bracket{grid-template-columns:3fr auto 2fr auto 3fr} }
.bracket__st{display:grid; gap:8px}
.bracket__st span{border:1.5px solid var(--c-savora); padding:12px 14px; font-weight:600; background:#fff}
.bracket__arrow{font-size:30px; color:var(--c-savora); text-align:center}
.bracket__fin{background:var(--c-savora); color:#fff; padding:26px 18px; text-align:center; font-family:var(--f-brand); text-transform:uppercase; font-size:1.3rem; line-height:1}
.bracket__fin small{display:block; font-family:var(--f); text-transform:none; font-size:.82rem; margin-top:8px}
.podium{display:grid; grid-template-columns:repeat(3,1fr); align-items:end; gap:6px; height:180px}
.podium div{background:#fff; border:1.5px solid var(--c-savora); display:flex; justify-content:center; padding-top:10px; font-family:var(--f-brand); font-size:1.6rem; color:#0B5E30; transform-origin:bottom; transition:transform 1s cubic-bezier(.2,.9,.2,1.15)}
.podium .p1{height:100%; background:var(--c-savora); color:#fff; transition-delay:.25s} .podium .p2{height:72%} .podium .p3{height:52%; transition-delay:.12s}
.podium.pre div{transform:scaleY(.04)}
.svt2{background:#E8F5ED}
.svt2__in{display:grid; gap:28px; align-items:end}
@media (min-width:1000px){ .svt2__in{grid-template-columns:7fr 5fr} }
.sv-word > span[aria-hidden="true"]:last-child,.svx__q{display:inline-block; color:var(--c-savora); transform-origin:50% 85%; animation:wobble 3.6s ease-in-out infinite}
@keyframes wobble{0%,100%{transform:rotate(0)}45%{transform:rotate(14deg)}60%{transform:rotate(-4deg)}}
.svx{position:relative; overflow:hidden; background:#E8F5ED; min-height:min(92svh,900px); display:flex; align-items:center; padding-top:calc(var(--hdr-h) + 48px); padding-bottom:88px}
.svx::after{content:"?"; position:absolute; right:-3vw; bottom:-14vw; font-family:var(--f-brand); font-size:62vw; line-height:1; color:rgba(18,161,80,.07); pointer-events:none}
.svx__in{position:relative; z-index:1; display:grid; gap:26px; justify-items:start}
.svx .crumbs{color:#24402F}
.svx__lead{color:#24402F; font-size:clamp(1.3rem,1.1rem + .9vw,1.9rem)}
.svx__form{display:grid; gap:14px; width:min(580px,100%)}
.svx__row{display:flex; gap:10px; flex-wrap:wrap} .svx__row .inp{flex:1 1 240px}
.svx .consent{color:#24402F}
.svx__info{margin:0; max-width:60ch; font-size:.88rem; line-height:1.5; color:#24402F}
.legal{max-width:760px; display:grid; gap:14px}
.legal h2{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:clamp(1.2rem,1.05rem + .5vw,1.5rem); line-height:1.1; margin-top:30px}
.legal p,.legal li{color:var(--ink-2); max-width:68ch}
.legal ul{margin:0; padding-left:1.2em; display:grid; gap:4px}
.legal li p{margin:0}
.legal a{text-underline-offset:3px}
.ftr{background:var(--ftr-bg,var(--accent)); color:var(--ftr-fg,var(--on-accent)); padding-top:clamp(72px,8vw,120px); padding-bottom:calc(28px + 76px + env(safe-area-inset-bottom,0px)); overflow:hidden}
@media (min-width:1200px){ .ftr{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))} }
.ftr__cta{display:grid; gap:26px; padding-bottom:clamp(40px,5vw,72px)}
@media (min-width:1000px){ .ftr__cta{grid-template-columns:7fr 5fr; align-items:end} }
.ftr__cols{display:grid; gap:36px; padding-block:48px; grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:899px){ .ftr__cols{grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 16px} .ftr__cols > div:last-child{grid-column:1/-1} .ftr__cols ul{font-size:.95rem} }
.ftr a[href^="mailto:"]{overflow-wrap:anywhere}
@media (min-width:900px){ .ftr__cols{grid-template-columns:repeat(4,1fr)} }
.ftr h3{margin:0 0 12px; font-family:var(--f); font-weight:700; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase}
.ftr ul{list-style:none; margin:0; padding:0; display:grid; gap:0}
.ftr ul a{display:inline-block; padding:9px 0}
.ftr a{text-decoration:none} @media (hover:hover){.ftr a:hover{text-decoration:underline; text-underline-offset:4px}}
a.ftr__word{display:block; width:max-content; max-width:100%; text-decoration:none; transition:opacity .35s} @media (hover:hover){a.ftr__word:hover{opacity:.78}}
.ftr__word{color:var(--ftr-word,currentColor); font-family:var(--f-brand); text-transform:uppercase; font-size:clamp(3rem,11.5vw,13.5rem); line-height:.8; letter-spacing:-.03em; white-space:nowrap; margin-block:8px 18px}
.ftr__bottom{display:flex; flex-wrap:wrap; gap:10px 28px; justify-content:space-between; font-size:.82rem}
.ftr__bottom b{font-weight:700}
.ftr .btn--dark::before{background:#fff} @media (hover:hover){.ftr .btn--dark:hover{color:var(--ink)}}
.js-reveal .rv{clip-path:inset(0 0 100% 0); transition:clip-path .6s var(--ease-out)}
.js-reveal .rv img{scale:1.08; transition:scale .9s var(--ease-out), transform 1.1s var(--ease-out)}
.js-reveal .rv.in{clip-path:inset(0)}
.js-reveal .rv.in img{scale:1}
.js-reveal .up{translate:0 20px; opacity:.001; transition:translate .6s var(--ease-out), opacity .5s, transform .45s var(--ease-out), box-shadow .45s, background-color .3s}
.js-reveal .up.in{translate:0 0; opacity:1}
@media (max-height:500px){
  .js-reveal .rv{clip-path:none}
  .js-reveal .rv img{scale:none}
  .js-reveal .up{translate:none; opacity:1}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important; transition:none!important; scroll-behavior:auto!important}
  .shutter{display:none}
  .js-reveal .rv,.js-reveal .up{clip-path:none; transform:none; translate:none; opacity:1}
  .js-reveal .rv img{transform:none; scale:none}
  .full img{transform:none}
  .scrub .sw{color:inherit}
  .belt__track{flex-wrap:wrap; width:auto; justify-content:center} .belt__track [aria-hidden="true"]{display:none}
  .mnav__panel{transform:none; display:none} .nav-open .mnav__panel{display:flex}
  .podium.pre div{transform:none}
}
body[data-page="konzept-nazoki"]{--accent:var(--c-nazoki); --on-accent:var(--ink); --accent-ink:#D9B676}
body[data-page="konzept-tiligo"]{--accent:#156FA0; --on-accent:#fff; --accent-ink:#8CCDF2; --ftr-bg:#E6F2FA; --ftr-fg:var(--ink); --ftr-word:var(--c-tiligo)}
body[data-page="konzept-zuersti"]{--accent:#D52B1E; --on-accent:#fff; --accent-ink:#FFB23D; --ftr-bg:var(--c-zuersti); --ftr-fg:var(--ink); --ftr-word:#C8261A}
body[data-page="savora"]{--accent:#0E7F3E; --on-accent:#fff; --accent-ink:#7FE0A6; --ftr-bg:var(--c-savora); --ftr-fg:var(--ink)}
.alben{display:grid; gap:clamp(30px,4vw,56px); grid-template-columns:1fr}
@media (min-width:900px){ .alben{grid-template-columns:3fr 2fr; align-items:start} }
.album{display:grid; gap:12px; align-content:start; text-decoration:none; color:inherit}
.album__img{position:relative; overflow:hidden; aspect-ratio:3/2; background:var(--stone)}
.album__img img{width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease-out)}
@media (hover:hover){a.album:hover .album__img img{transform:scale(1.04)}}
.album__zahl{position:absolute; left:14px; bottom:14px; background:#fff; color:var(--ink); border-radius:999px; padding:7px 14px; font-weight:600; font-size:.85rem}
.album__meta{font-family:var(--f-mono); font-size:.78rem; color:var(--mute)}
.album p{color:var(--ink-2)}
.album .door__go i{background:var(--accent); color:var(--on-accent)}
.album__txt{display:grid; gap:12px; align-content:center}
@media (min-width:900px){ .alben:has(> .album--breit:only-child){grid-template-columns:1fr} .album--breit{grid-template-columns:7fr 5fr; gap:clamp(28px,4vw,64px); align-items:center} }
.fotos{columns:2; column-gap:12px}
@media (min-width:760px){ .fotos{columns:3} }
@media (min-width:1200px){ .fotos{columns:4; column-gap:16px} }
.foto{display:block; width:100%; margin:0 0 12px; padding:0; border:0; border-radius:12px; overflow:hidden; background:var(--line); cursor:zoom-in; break-inside:avoid}
@media (min-width:1200px){ .foto{margin-bottom:16px} }
.foto img{display:block; width:100%; height:auto; transition:transform .9s var(--ease-out)}
@media (hover:hover){.foto:hover img{transform:scale(1.035)}}
.foto:focus-visible{outline:3px solid var(--ink); outline-offset:3px}
.figur{position:absolute; left:0; top:0; z-index:4; width:0; height:0; pointer-events:none}
.figur__punkt{position:absolute; left:0; top:0; width:0; height:0}
.figur__bild{position:absolute; left:0; top:0; max-width:none; height:auto; opacity:0; transition:opacity .14s linear; user-select:none; -webkit-user-select:none; -webkit-user-drag:none}
.figur__bild.ist-vorn{opacity:1; z-index:2}
.figur__bild.ist-alt{opacity:1; z-index:1; transition:none}
.figur__hit{position:absolute; pointer-events:auto; cursor:pointer; border-radius:14px; -webkit-tap-highlight-color:transparent}
.figur__hit:focus-visible{outline:3px solid var(--ink); outline-offset:3px; box-shadow:0 0 0 6px #fff}
.figur.wartet .figur__bild{animation:figurHopp .55s cubic-bezier(.3,1.6,.5,1) 9}
@keyframes figurHopp{0%{transform:none}40%{transform:translateY(-8%)}100%{transform:none}}
.figur-bahn{position:relative; height:0; z-index:1}
.ftr .ftr__word{position:relative; z-index:2}
.figur--fusszeile{top:12px; transform:translateX(-90vw); transition:transform 2.2s cubic-bezier(.25,.75,.25,1)}
.figur-bahn.faehrt-ein .figur--fusszeile{transform:none}
.figur-bahn.parkt .figur--fusszeile{transition:none}
.figur--karte{z-index:12; transform-origin:0 0}
.done{position:relative}
.done__ende{display:flex; align-items:flex-end; justify-content:space-between; gap:16px}
.figur--fluss{position:relative; flex:none; left:auto; top:auto}
.figur--anfrage{margin-bottom:-6px; opacity:0; transform:translateX(30px)}
.done.is-active .figur--anfrage{animation:figurRein .7s cubic-bezier(.2,.9,.3,1.2) 1.2s forwards}
@keyframes figurRein{to{opacity:1; transform:none}}
.fehler{position:relative; overflow:hidden; min-height:min(78vh,760px); display:grid; align-content:center}
.fehler__txt{display:grid; gap:20px; max-width:620px; position:relative; z-index:2}
.fehler__go{display:flex; flex-wrap:wrap; gap:12px}
.figur--fehlerseite{left:auto; top:auto; right:16%; bottom:0; z-index:1}
@media (max-width:700px){ .figur--fehlerseite{right:26%} .fehler__txt{padding-bottom:210px} }
.figur--zutaten{left:auto; right:96px; top:22px; z-index:-1}
@media (max-height:640px){ .figur--zutaten{display:none} }
.figur--zutaten .figur__punkt{opacity:0}
.bdlg[open] .figur--zutaten .figur__punkt{animation:figurLug .5s ease .7s forwards}
@keyframes figurLug{to{opacity:1}}
.figur-hinweis{position:fixed; left:50%; width:max-content; bottom:calc(96px + env(safe-area-inset-bottom,0px)); z-index:300; translate:-50% 0; display:flex; flex-wrap:wrap; gap:6px 12px; align-items:center; justify-content:center; max-width:calc(100vw - 32px);
  padding:12px 18px; border-radius:999px; background:var(--ink); color:#fff; font-size:.92rem; box-shadow:0 18px 40px rgba(0,0,0,.25); opacity:0; transform:translateY(16px); pointer-events:none; transition:opacity .3s, transform .4s var(--ease-out)}
.figur-hinweis b{color:var(--yellow)} .figur-hinweis a{color:#fff; text-underline-offset:3px}
.figur-hinweis.ist-da{opacity:1; transform:none; pointer-events:auto}
@media (min-width:1200px){ .figur-hinweis{bottom:28px} }
.hdr__korb{position:relative; display:grid; place-items:center; width:46px; height:46px; margin:0 -14px 0 auto; border-radius:50%; color:inherit; text-decoration:none}
.hdr__korb svg{width:24px; height:24px}
.hdr__korb b{position:absolute; top:3px; right:1px; min-width:19px; height:19px; padding:0 5px; border-radius:10px; background:var(--accent); color:var(--on-accent); font-size:.7rem; font-weight:700; display:grid; place-items:center}
.hdr__korb:not([hidden]) ~ .burger{margin-left:0}
@media (min-width:1200px){ .hdr__korb{margin:0 -18px 0 0} }
.shop-hero .phero__in{padding-bottom:30px}
.shop-status{display:inline-flex; align-items:center; gap:10px; margin:4px 0 0; padding:8px 16px; border-radius:999px; background:var(--stone); font-size:.9rem; color:var(--ink-2)}
.shop-status span{flex:none; width:9px; height:9px; border-radius:50%; background:#E8A400; box-shadow:0 0 0 4px rgba(232,164,0,.18)}
.shop2{padding-top:clamp(28px,4vw,48px)}
.shop2__leiste{display:flex; flex-wrap:wrap; gap:14px 24px; align-items:center; justify-content:space-between}
.shop2__sort{display:inline-flex; align-items:center; gap:10px; font-size:.9rem; color:var(--mute)}
.shop2__sort select{min-height:44px; padding:0 40px 0 16px; border-radius:999px; border:1px solid var(--line-2); background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23111' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 16px center/12px 8px; font:inherit; font-weight:600; font-size:.9rem; color:var(--ink); -webkit-appearance:none; appearance:none; cursor:pointer}
.shop2__sort select:focus-visible{outline:3px solid var(--ink); outline-offset:2px}
@media (max-width:759px){ .shop2__leiste{display:grid} .shop2__filter.galfilter{flex-wrap:nowrap; overflow-x:auto; margin-inline:calc(var(--gutter) * -1); padding:2px var(--gutter); scrollbar-width:none; -webkit-overflow-scrolling:touch} .shop2__filter::-webkit-scrollbar{display:none} .shop2__filter button{flex:none} }
body[data-page="shop"] .mbar,body[data-page="menu"] .mbar{display:none}
.shop2__zahl{margin:18px 0 14px; font-size:.85rem; color:var(--mute)}
.shop2__raster{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(12px,1.6vw,22px)}
@media (min-width:760px){ .shop2__raster{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (min-width:1180px){ .shop2__raster{grid-template-columns:repeat(4,minmax(0,1fr))} }
.shop2__raster.neu .ware2:not([hidden]){animation:softUp .45s var(--ease-out) both; animation-delay:calc(var(--i,0) * 35ms)}
.ware2{position:relative; display:flex; flex-direction:column; min-width:0; background:#fff; border-radius:var(--r-card); overflow:hidden; transition:box-shadow .35s var(--ease), transform .35s var(--ease)}
@media (hover:hover){ .ware2:hover{box-shadow:0 22px 44px -22px rgba(17,17,17,.4); transform:translateY(-3px)} .ware2:hover .ware2__bild > img{transform:scale(1.045)} .ware2:hover .mock,.ware2:hover .buch,.ware2:hover .gs{translate:0 -5px} }
.ware2:has(.ware2__name button:focus-visible){outline:3px solid var(--ink); outline-offset:3px}
.ware2__bild{position:relative; container-type:inline-size; aspect-ratio:1/1; max-width:100%; background:var(--bg,var(--stone)); display:grid; place-items:center; overflow:hidden}
.ware2__bild > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease-out)}
.mock{width:80%; height:80%; overflow:visible; transition:translate .6s var(--ease-out)}
.ware2__badges{position:absolute; left:10px; top:10px; display:flex; flex-wrap:wrap; gap:6px; max-width:calc(100% - 20px)}
.badge{font-family:var(--f-mono); font-size:.68rem; line-height:1; padding:6px 9px; border-radius:999px; background:rgba(255,255,255,.94); color:var(--ink); white-space:nowrap}
.badge--frisch{background:#E3F4E8; color:#0D5E2F} .badge--neu{background:var(--ink); color:#fff} .badge--winter{background:#16243F; color:#fff}
.badge--vor{background:var(--yellow); color:var(--ink)} .badge--scharf{background:#B8241A; color:#fff} .badge--mail{background:#fff; color:var(--ink)}
.ware2__logo{position:absolute; left:10px; bottom:10px; width:44px; height:44px; border-radius:50%; background:#fff; display:grid; place-items:center; overflow:hidden; box-shadow:0 4px 14px rgba(0,0,0,.2)}
.ware2__logo img{width:100%; height:100%; object-fit:cover}
.ware2__logo--zu img{width:84%; height:auto; object-fit:contain}
.ware2__txt{display:flex; flex-direction:column; gap:6px; flex:1; padding:14px 16px 16px}
.ware2__kicker,.wdlg__kicker{font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--mute)}
.ware2__name{margin:0; font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:clamp(1rem,.92rem + .35vw,1.2rem); line-height:1.12; -webkit-hyphens:auto; hyphens:auto; overflow-wrap:break-word}
.ware2__name button{margin:0; padding:0; border:0; background:none; font:inherit; color:inherit; text-transform:inherit; text-align:left; cursor:pointer}
.ware2__name button:focus-visible{outline:none}
.ware2__name button::after{content:""; position:absolute; inset:0; z-index:1}
.ware2__kurz{margin:0; font-size:.9rem; line-height:1.45; color:var(--ink-2); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
@media (max-width:559px){ .ware2__kurz,.ware2__kicker{display:none} .ware2__txt{padding:12px 12px 14px} .ware2__badges .badge:nth-child(n+2){display:none} .ware2__logo{width:36px; height:36px} }
.ware2__fuss{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:8px}
.ware2__preis{font-family:var(--f-brand); font-size:1rem; font-variant-numeric:tabular-nums}
.ware2__dazu{position:relative; z-index:2; flex:none; width:44px; height:44px; padding:0; border-radius:50%; border:0; background:var(--ink); color:#fff; display:grid; place-items:center; cursor:pointer; transition:background .25s, color .25s, transform .25s var(--ease)}
.ware2__dazu svg{width:20px; height:20px}
@media (hover:hover){ .ware2__dazu:hover{background:var(--yellow); color:var(--ink)} }
.ware2__dazu:active{transform:scale(.92)}
.ware2__dazu:focus-visible{outline:3px solid var(--yellow); outline-offset:2px}
.ware2__dazu.ist-drin{background:#1F9D55; color:#fff; animation:tick .5s ease}
.hdr__korb.hupf{animation:chipPop .5s ease}
.buch{position:relative; width:150px; height:200px; width:46cqi; height:61cqi; transform:perspective(700px) rotateY(-18deg); filter:drop-shadow(0 18px 24px rgba(0,0,0,.5)); transition:transform .8s var(--ease-out), translate .6s var(--ease-out)}
.buch__ruecken{position:absolute; left:0; top:0; bottom:0; width:10%; background:var(--yellow); border-radius:3px 0 0 3px}
.buch__front{position:absolute; inset:0 0 0 10%; background:#1d1d1d; border-radius:0 6px 6px 0; display:grid; place-items:center; align-content:center; gap:5%; text-align:center; padding:8%}
.buch__front img{width:48%; height:auto; border-radius:50%; background:#fff}
.buch__front b{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; color:var(--yellow); font-size:1.1rem; font-size:5.6cqi; line-height:1}
.buch__front span{font-size:.7rem; font-size:2.6cqi; letter-spacing:.22em; text-transform:uppercase; color:#d9dbde}
.gs{position:relative; overflow:hidden; width:80%; aspect-ratio:1.6; border-radius:14px; border-radius:4cqi; background:#151515; color:#fff; display:grid; grid-template-columns:auto minmax(0,1fr); grid-template-rows:auto 1fr auto; gap:2cqi 4cqi; padding:6cqi; box-shadow:0 18px 30px -12px rgba(0,0,0,.45); transform:rotate(-5deg); transition:translate .6s var(--ease-out)}
.gs::before{content:""; position:absolute; left:0; right:0; bottom:27%; height:2.2cqi; background:var(--yellow)}
.gs img{width:15cqi; height:15cqi; border-radius:50%; background:#fff}
.gs__k{align-self:center; font-family:var(--f-mono); font-size:3.6cqi; letter-spacing:.2em; text-transform:uppercase; color:#d9dbde}
.gs__wert{grid-column:1/-1; align-self:end; font-family:var(--f-brand); font-weight:400; font-size:14cqi; line-height:1; color:var(--yellow); margin-bottom:4cqi}
.gs small{grid-column:1/-1; font-size:2.8cqi; letter-spacing:.04em; color:#b8bbc0}
.wdlg{border:0; padding:0; width:min(1000px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); border-radius:26px; background:#fff; color:var(--ink); overflow:auto; overscroll-behavior:contain}
.wdlg::backdrop,.lade::backdrop{background:rgba(17,17,17,.55); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px)}
.wdlg[open]{animation:wdlgIn .45s var(--ease-out) both} .wdlg[open]::backdrop,.lade[open]::backdrop{animation:bdFade .35s ease both}
@keyframes wdlgIn{from{opacity:0; transform:translateY(26px) scale(.985)}}
.wdlg__in{position:relative; display:grid}
@media (min-width:820px){ .wdlg__in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} .wdlg__bild .ware2__bild{aspect-ratio:auto; height:100%; min-height:min(560px,calc(100dvh - 32px))} }
@media (max-width:819px){ .wdlg__bild .ware2__bild{aspect-ratio:4/3} .wdlg__bild .mock{width:60%; height:80%} .wdlg__bild .gs{width:56%} .wdlg__bild .buch{width:34cqi; height:45cqi} }
.wdlg__bild .ware2__bild{border-radius:0}
.wdlg__bild .ware2__logo{width:56px; height:56px; left:16px; bottom:16px}
.wdlg__bild .ware2__badges{left:16px; top:16px}
.wdlg__x,.lade__x{width:44px; height:44px; padding:0; border-radius:50%; border:0; background:#fff; color:var(--ink); font-size:1.6rem; line-height:1; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.15)}
.wdlg__x{position:absolute; top:12px; right:12px; z-index:3}
.wdlg__txt{display:flex; flex-direction:column; gap:14px; min-width:0; padding:clamp(22px,3.4vw,40px)}
.wdlg__name{margin:0; font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:var(--d-m); line-height:1; text-wrap:balance; outline:none}
.wdlg__preis{margin:0; display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px}
.wdlg__preis b{font-family:var(--f-brand); font-weight:400; font-size:1.5rem; font-variant-numeric:tabular-nums}
.wdlg__preis small{font-size:.8rem; color:var(--mute)}
.wdlg__kurz{margin:0; color:var(--ink-2)}
.wdlg__opt{display:grid; gap:16px}
.wahl{border:0; margin:0; padding:0; min-width:0}
.wahl legend{padding:0; margin-bottom:8px; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--mute)}
.wahl div{display:flex; flex-wrap:wrap; gap:8px}
.wahl label{position:relative; display:flex}
.wahl input{position:absolute; opacity:0; width:1px; height:1px; margin:0}
.wahl span{display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 16px; border-radius:999px; border:1.5px solid var(--line-2); font-weight:600; font-size:.92rem; cursor:pointer; transition:border-color .2s, background .2s, color .2s}
.wahl span small{font-weight:500; opacity:.7}
.wahl span i{width:16px; height:16px; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}
.wahl input:checked + span{border-color:var(--ink); background:var(--ink); color:#fff}
.wahl input:checked + span i{box-shadow:0 0 0 2px #fff}
.wahl input:focus-visible + span{outline:3px solid var(--yellow); outline-offset:2px}
@media (hover:hover){ .wahl span:hover{border-color:var(--ink)} }
.wdlg__kauf{display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:4px}
.wdlg__dazu{flex:1 1 auto; white-space:nowrap; padding:0 26px}
.menge{display:inline-flex; align-items:center; height:56px; border:1.5px solid var(--line-2); border-radius:999px}
.menge button{width:48px; height:100%; padding:0; border:0; border-radius:999px; background:none; font:inherit; font-size:1.3rem; line-height:1; color:var(--ink); cursor:pointer}
.menge button:disabled{opacity:.3; cursor:default}
.menge button:focus-visible{outline:3px solid var(--yellow); outline-offset:-3px}
.menge input{width:42px; border:0; padding:0; background:none; text-align:center; font:inherit; font-weight:700; font-size:1.05rem; color:var(--ink); -moz-appearance:textfield; appearance:textfield}
.menge input::-webkit-inner-spin-button,.menge input::-webkit-outer-spin-button{-webkit-appearance:none; margin:0}
.wdlg__weg{margin:0; display:flex; gap:10px; align-items:flex-start; padding:12px 14px; border-radius:14px; background:var(--stone); font-size:.9rem; color:var(--ink-2)}
.wdlg__weg::before{content:""; flex:none; width:20px; height:20px; margin-top:1px; background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v9H3zM14 10h4l3 3v3h-7z'/%3E%3Ccircle cx='7' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E")}
.wdlg__weg[data-weg="digital"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E")}
.wdlg__weg[data-weg="abholung"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E")}
.wdlg__mehr{border-top:1px solid var(--line); padding-top:16px}
.wdlg__mehr h3{margin:0 0 8px; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--mute)}
.wdlg__mehr ul{margin:0; padding-left:1.1em; display:grid; gap:4px; font-size:.95rem}
.wdlg__extra{margin:12px 0 0; font-size:.9rem; color:var(--ink-2)}
.lade{border:0; padding:0; margin:0 0 0 auto; width:min(460px,100vw); max-width:none; height:100%; max-height:none; background:#fff; color:var(--ink); overflow:hidden}
.lade[open]{animation:ladeIn .45s var(--ease-out) both}
@keyframes ladeIn{from{transform:translateX(100%)}}
.lade__in{height:100%; display:flex; flex-direction:column; padding-top:env(safe-area-inset-top,0px)}
.lade__kopf{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; border-bottom:1px solid var(--line)}
.lade__kopf h2{margin:0; font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:1.3rem; outline:none}
.lade__kopf h2 span{font-family:var(--f); font-weight:500; font-size:1rem; text-transform:none; color:var(--mute)}
.lade__x{background:var(--stone); box-shadow:none}
.lade__schritt{flex:1; overflow-y:auto; overscroll-behavior:contain; padding:16px 20px}
.lade__frei{margin-bottom:16px; font-size:.88rem}
.lade__frei p{margin:0 0 6px}
.lade__balken{display:block; height:6px; border-radius:6px; background:var(--stone); overflow:hidden}
.lade__balken i{display:block; width:0; height:100%; background:var(--yellow); transition:width .5s var(--ease-out)}
.lade__liste{list-style:none; margin:0; padding:0; display:grid; gap:16px}
.posten{position:relative; display:grid; grid-template-columns:76px minmax(0,1fr); gap:14px; padding-right:36px; border-radius:14px}
.posten.neu{animation:bonNeu 1.2s ease-out}
.posten__bild .ware2__bild{width:76px; border-radius:14px}
.posten__txt{display:grid; gap:1px; min-width:0}
.posten__txt b{font-size:.95rem; line-height:1.3}
.posten__txt small{font-size:.8rem; line-height:1.4; color:var(--mute)}
.posten__zeile{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:6px}
.posten__preis{font-weight:700; font-variant-numeric:tabular-nums}
.menge--klein{height:44px} .menge--klein button{width:40px} .menge--klein b{min-width:22px; text-align:center; font-variant-numeric:tabular-nums}
.posten__x{position:absolute; top:-8px; right:-8px; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:none; color:var(--mute); font-size:1.3rem; line-height:1; cursor:pointer}
@media (hover:hover){ .posten__x:hover{color:var(--ink); background:var(--stone)} }
.lade__leer{display:grid; justify-items:center; gap:14px; padding:56px 0; text-align:center; color:var(--ink-2)}
.lade__leer p{margin:0}
.lade__fuss{display:grid; gap:12px; padding:16px 20px calc(18px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--line); background:#fff}
.lade__weg{border:0; margin:0; padding:0; display:grid; gap:8px; min-width:0}
.lade__weg legend{padding:0; margin-bottom:8px; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--mute)}
.lade__weg label{display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding:9px 14px; border:1.5px solid var(--line-2); border-radius:14px; cursor:pointer}
.lade__weg label:has(input:checked){border-color:var(--ink)}
.lade__weg label:has(input:disabled){opacity:.45; cursor:not-allowed}
.lade__weg input{width:18px; height:18px; margin:0; accent-color:var(--ink)}
.lade__weg span{display:grid; line-height:1.3} .lade__weg b{font-size:.92rem} .lade__weg small{font-size:.78rem; color:var(--mute)}
.lade__weg em{font-style:normal; font-weight:700; font-size:.88rem; font-variant-numeric:tabular-nums}
.lade__hinweis{margin:2px 0 0; font-size:.8rem; color:var(--ink-2)}
.lade__summe{margin:0; display:grid; gap:4px; font-size:.92rem}
.lade__summe div{display:flex; justify-content:space-between; gap:12px}
.lade__summe dd{margin:0; font-variant-numeric:tabular-nums}
.lade__summe .ges{margin-top:4px; padding-top:8px; border-top:1px dashed var(--line-2); font-weight:700; font-size:1.05rem}
.lade__summe .ges small{font-weight:500; font-size:.75rem; color:var(--mute)}
.lade__kasse,.lade__zahlen{width:100%}
.lade__kasse:disabled{opacity:.45; cursor:not-allowed}
.lade__zahlarten{margin:0; text-align:center; font-size:.75rem; letter-spacing:.04em; color:var(--mute)}
.lade__zurueck{display:inline-flex; align-items:center; min-height:44px; padding:0; border:0; background:none; font:inherit; font-weight:600; font-size:.9rem; color:var(--ink); cursor:pointer}
.lade__bon{max-width:none; margin:8px 0 28px}
.lade__bon dl div.sum{margin-top:6px; padding-top:8px; border-top:1px dashed #A5A9AE; font-weight:700}
.lade__bon dl div.sum dt{color:var(--ink)}
.lade__bon small{font-size:.72rem}
.lade__stripe{margin:0 0 14px; font-size:.88rem; color:var(--ink-2)}
.lade__info{margin:12px 0 0; font-size:.88rem; color:var(--ink-2)}
.lade__info:empty{display:none}
.toast{position:fixed; left:50%; bottom:calc(18px + env(safe-area-inset-bottom,0px)); z-index:90; display:flex; align-items:center; gap:14px; width:max-content; max-width:calc(100vw - 32px); padding:8px 8px 8px 20px; border-radius:999px; background:var(--ink); color:#fff; font-size:.9rem; line-height:1.35; box-shadow:0 18px 40px -12px rgba(0,0,0,.5); transform:translateX(-50%); animation:toastIn .4s var(--ease-out) both}
@keyframes toastIn{from{opacity:0; transform:translate(-50%,16px)}}
.toast button{flex:none; min-height:44px; padding:0 18px; border-radius:999px; border:0; background:var(--yellow); color:var(--ink); font:inherit; font-weight:700; cursor:pointer}
.saison{display:grid; gap:clamp(22px,4vw,56px); align-items:center}
@media (min-width:860px){ .saison{grid-template-columns:minmax(0,5fr) minmax(0,6fr)} }
.saison__bild{aspect-ratio:1/1; max-width:100%; border-radius:var(--r-card); overflow:hidden}
.saison__bild img{width:100%; height:100%; object-fit:cover}
.saison__txt{display:grid; gap:16px; justify-items:start; min-width:0}
.saison__txt h2{text-wrap:balance}
.saison__txt p{margin:0; max-width:58ch; color:var(--ink-2)}
.saison__knoepfe{display:flex; flex-wrap:wrap; gap:12px}
.shop-faq .faq{max-width:900px}
@media (prefers-reduced-motion:reduce){ .wdlg[open],.lade[open],.toast,.shop2__raster.neu .ware2,.posten.neu{animation:none!important} }
@media (min-width:900px){ .steps--quer{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px} .steps--quer::before,.steps--quer::after{display:none} .steps--quer li{grid-template-columns:52px 1fr; padding:0} }
.alben2{display:grid; gap:clamp(22px,3vw,40px); grid-template-columns:1fr}
@media (min-width:760px){ .alben2{grid-template-columns:repeat(2,minmax(0,1fr))} }
.album2{display:grid; gap:10px; align-content:start; justify-items:start; padding:0; border:0; background:none; font:inherit; color:inherit; text-align:left; cursor:pointer}
.album2__stapel{position:relative; display:block; width:100%; aspect-ratio:16/10; margin-bottom:10px}
.album2__stapel img{position:absolute; left:9%; top:6%; width:82%; height:88%; object-fit:cover; border-radius:16px; box-shadow:0 18px 40px rgba(17,17,17,.18); transition:transform .7s var(--ease-out)}
.album2__stapel img:nth-child(1){z-index:3}
.album2__stapel img:nth-child(2){z-index:2; transform:rotate(-5deg) translate(-4%,2%)}
.album2__stapel img:nth-child(3){z-index:1; transform:rotate(5deg) translate(4%,2%)}
.album2:focus-visible .album2__stapel img:nth-child(1){transform:translateY(-3%) scale(1.02)} @media (hover:hover){.album2:hover .album2__stapel img:nth-child(1){transform:translateY(-3%) scale(1.02)}}
.album2:focus-visible .album2__stapel img:nth-child(2){transform:rotate(-9deg) translate(-12%,3%)} @media (hover:hover){.album2:hover .album2__stapel img:nth-child(2){transform:rotate(-9deg) translate(-12%,3%)}}
.album2:focus-visible .album2__stapel img:nth-child(3){transform:rotate(9deg) translate(12%,3%)} @media (hover:hover){.album2:hover .album2__stapel img:nth-child(3){transform:rotate(9deg) translate(12%,3%)}}
.album2:focus-visible{outline:none} .album2:focus-visible .album2__titel{text-decoration:underline; text-underline-offset:5px} .album2:focus-visible .album2__stapel{outline:3px solid var(--ink); outline-offset:6px; border-radius:18px}
.album2__meta{font-family:var(--f-mono); font-size:.78rem; color:var(--mute)}
.album2__titel{font-family:var(--f-brand); text-transform:uppercase; font-size:clamp(1.4rem,1rem + 1.2vw,2.1rem); line-height:1.05}
.album2__zahl{border-radius:999px; background:var(--ink); color:#fff; padding:8px 16px; font-weight:600; font-size:.85rem; transition:background .25s, color .25s}
@media (hover:hover){.album2:hover .album2__zahl{background:var(--accent); color:var(--on-accent)}}
.galkopf{display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:18px; margin-bottom:26px}
.galfilter{display:flex; flex-wrap:wrap; gap:8px}
.galfilter button{min-height:44px; padding:0 18px; border-radius:999px; border:1px solid var(--line-2); background:#fff; color:var(--ink); font:inherit; font-weight:600; font-size:.9rem; cursor:pointer; transition:background .25s, color .25s, border-color .25s}
.galfilter button span{font-weight:500; color:var(--mute); margin-left:4px}
@media (hover:hover){.galfilter button:hover{border-color:var(--ink)}}
.galfilter button[aria-pressed="true"]{background:var(--ink); color:#fff; border-color:var(--ink)} .galfilter button[aria-pressed="true"] span{color:#b8bbc0}
.galinfo{display:grid; gap:10px; max-width:72ch; margin-bottom:26px}
.fotos.galgrid{columns:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
@media (min-width:760px){ .fotos.galgrid{grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px} }
@media (min-width:1100px){ .fotos.galgrid{grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px} }
.galgrid .foto{position:relative; margin:0; aspect-ratio:4/3}
.galgrid .foto img{width:100%; height:100%; object-fit:cover}
.galgrid .foto::after{content:""; position:absolute; inset:0; background:rgba(17,17,17,0); transition:background .3s; pointer-events:none}
@media (hover:hover){.galgrid .foto:hover::after{background:rgba(17,17,17,.12)}}
.galfuss{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px; margin-top:30px}
.galfuss span{font-family:var(--f-mono); font-size:.8rem; color:var(--mute)}
.albumansicht{position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:0; border:0; background:var(--stone); color:var(--ink); overflow-y:auto; overscroll-behavior:contain}
.albumansicht::backdrop{background:transparent}
.albumansicht__in{max-width:calc(var(--maxw) + 2*var(--gutter)); margin:0 auto; padding:0 max(var(--gutter), env(safe-area-inset-left,0px)) calc(56px + env(safe-area-inset-bottom,0px))}
.albumansicht__kopf{position:sticky; top:0; z-index:6; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:calc(18px + env(safe-area-inset-top,0px)) 0 18px; background:linear-gradient(var(--stone) 78%, rgba(243,244,245,0))}
.albumansicht__titel{display:grid; gap:6px; min-width:0}
.albumansicht__zu{flex:none; display:grid; place-items:center; width:52px; height:52px; border:0; border-radius:50%; background:var(--ink); color:#fff; font:400 30px/1 var(--f); cursor:pointer; transition:transform .3s var(--ease)}
@media (hover:hover){.albumansicht__zu:hover{transform:rotate(90deg)}}
.albumansicht__zu:focus-visible{outline:3px solid var(--ink); outline-offset:3px; box-shadow:0 0 0 6px #fff}
.albumansicht__text{display:grid; gap:10px; max-width:72ch; margin-bottom:26px; color:var(--ink-2)}
.fotos.albumansicht__raster{columns:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
@media (min-width:760px){ .fotos.albumansicht__raster{grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px} }
@media (min-width:1100px){ .fotos.albumansicht__raster{grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px} }
.albumansicht__raster .foto{position:relative; margin:0; aspect-ratio:4/3}
.albumansicht__raster .foto img{width:100%; height:100%; object-fit:cover}
.lb{position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:0; border:0; background:rgba(14,14,14,.96); color:#fff; overflow:hidden}
.lb::backdrop{background:rgba(0,0,0,.5)}
.lb__fig{margin:0; height:100%; display:grid; place-items:center; align-content:center; gap:12px; padding:calc(64px + env(safe-area-inset-top,0px)) clamp(16px,7vw,96px) calc(72px + env(safe-area-inset-bottom,0px))}
.lb__fig img{max-width:100%; max-height:calc(100vh - 170px); max-height:calc(100dvh - 170px); width:auto; height:auto; object-fit:contain; box-shadow:0 30px 80px rgba(0,0,0,.45)}
.lb.wechsel .lb__fig img{animation:lbIn .35s var(--ease-out)}
@keyframes lbIn{from{opacity:0; transform:scale(.97)}}
.lb__fig figcaption{font-size:.9rem; color:#cfd2d6; text-align:center; max-width:60ch}
.lb__x,.lb__nav{position:absolute; display:grid; place-items:center; width:52px; height:52px; border:0; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; font:400 30px/1 var(--f); cursor:pointer; transition:background .2s}
@media (hover:hover){.lb__x:hover,.lb__nav:hover{background:rgba(255,255,255,.26)}}
.lb__x:focus-visible,.lb__nav:focus-visible{outline:2px solid #fff; outline-offset:2px}
.lb__x{top:calc(14px + env(safe-area-inset-top,0px)); right:max(14px, env(safe-area-inset-right,0px))}
.lb__nav{top:50%; translate:0 -50%} .lb__prev{left:max(12px, env(safe-area-inset-left,0px))} .lb__next{right:max(12px, env(safe-area-inset-right,0px))}
.lb__zahl{position:absolute; top:calc(30px + env(safe-area-inset-top,0px)); left:max(20px, env(safe-area-inset-left,0px)); font-family:var(--f-mono); font-size:.8rem; color:#cfd2d6}
@media (max-width:600px){ .lb__nav{top:auto; bottom:calc(12px + env(safe-area-inset-bottom,0px)); translate:none} }
body:not(.show-notes) .proto-only{display:none!important}
.sec--yellow .label{color:var(--ink-2)}
.mbar,.mnav__panel{padding-left:max(var(--gutter), env(safe-area-inset-left,0px)); padding-right:max(var(--gutter), env(safe-area-inset-right,0px))}
.full figcaption{left:max(var(--gutter), env(safe-area-inset-left,0px))}
.bdlg{max-height:calc(100vh - 16px); max-height:calc(100dvh - 16px)}
html:has(dialog[open]){overflow:hidden}
.bdlg.is-closing::backdrop{animation:bdFadeOut .3s ease both}
@keyframes bdFadeOut{from{opacity:1}to{opacity:0}}
@media (max-width:360px){ :root{--d-xl:2.2rem; --d-l:1.9rem; --d-xxl:2.3rem} }
h2.d{-webkit-hyphens:auto; hyphens:auto}
.stmt{display:grid; gap:clamp(40px,6vw,64px); align-items:center}
@media (min-width:900px){ .stmt{grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(48px,6vw,110px)} }
.lb-anim{position:relative; width:min(80%,360px); aspect-ratio:1000/791; justify-self:center}
@media (min-width:900px){ .lb-anim{width:100%; max-width:520px} }
.lb-l{position:absolute; inset:0; width:100%; height:100%}
.sec--stmt{overflow-x:hidden; overflow-x:clip}
.ko-logos{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(28px,4vw,56px) clamp(20px,3vw,44px); width:min(100%,520px); justify-self:center; align-items:center}
.ko-logo{display:grid; place-items:center; aspect-ratio:4/3; border-radius:18px; transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.ko-logo img{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain}
@media (hover:hover){ .ko-logo:hover{transform:translateY(-4px) scale(1.04)} }
.ko-logo:focus-visible{outline:3px solid var(--c); outline-offset:6px}
html.lenis, html.lenis body{height:auto}
html.lenis{scroll-behavior:auto}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:hidden}
.lenis [data-lenis-prevent]{overscroll-behavior:contain}
.velo{overflow:hidden; padding-block:clamp(40px,6vw,88px); background:var(--paper)}
.velo__row{display:flex; width:max-content; white-space:nowrap; will-change:transform}
.velo__row + .velo__row{margin-top:.08em}
.velo__row span{font-family:var(--f-brand); text-transform:uppercase; font-size:clamp(3rem,1.2rem + 8vw,10rem); line-height:1.02; letter-spacing:-.015em; padding-right:.3em}
.velo__row span i{display:inline-block; width:.26em; height:.26em; border-radius:50%; background:var(--yellow); vertical-align:middle; margin:0 .38em .08em}
.velo__row--hohl span{color:transparent; -webkit-text-stroke:2px var(--ink)}
.ln-mask{padding-top:.12em; margin-top:-.12em; padding-bottom:.06em; margin-bottom:-.06em}
main:focus, [tabindex="-1"]:focus:not(:focus-visible){outline:none}
.nav__dd.zu .nav__panel{visibility:hidden!important; opacity:0!important; pointer-events:none!important}
.bdlg--wrap .bdlg__kicker{color:#11577E}
.bdlg__layers{max-height:none}
.belt__pause{min-height:44px; padding-inline:16px}
.lb{touch-action:pan-y pinch-zoom}
.lb__teilen{position:absolute; top:calc(14px + env(safe-area-inset-top,0px)); right:calc(max(14px, env(safe-area-inset-right,0px)) + 64px); min-height:52px; padding:0 20px; border:0; border-radius:999px; background:rgba(255,255,255,.12); color:#fff; font:600 .9rem/1 var(--f); cursor:pointer}
.lb__teilen:focus-visible{outline:2px solid #fff; outline-offset:2px}
@media (hover:hover){ .lb__teilen:hover{background:rgba(255,255,255,.26)} }
.leiste-nav{justify-content:flex-end; max-width:calc(var(--maxw) + 2*var(--gutter)); margin:14px auto 0; padding-inline:var(--gutter)}
.film-nav button:disabled{opacity:.3; cursor:default}
.crumbs ol{display:flex; flex-wrap:wrap; gap:.5em; list-style:none; margin:0; padding:0}
.crumbs li+li::before{content:"/"; margin-right:.5em; opacity:.6}
.pflicht{font-size:.88rem; color:var(--ink-2); margin:0 0 6px}
.ohne-js{padding:18px 20px; border-radius:var(--r-card); background:#FFF7E0; border:1px solid #E8C65A}
.menuwahl{display:grid; gap:clamp(28px,4vw,48px); padding-top:calc(clamp(110px,12vw,170px) + env(safe-area-inset-top,0px)); padding-bottom:clamp(48px,7vw,110px)}
.menuwahl__kopf{display:grid; gap:16px; max-width:40rem}
.menuwahl__liste{list-style:none; margin:0; padding:0; display:grid; gap:14px; grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:900px){ .menuwahl__liste{grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px} }
.menuwahl__karte{display:grid; gap:10px; justify-items:start; align-content:start; height:100%; padding:16px 16px 20px; border-radius:var(--r-card); background:var(--card); color:inherit; text-decoration:none; border-bottom:6px solid var(--c); transition:transform .35s var(--ease)}
.menuwahl__logo{position:relative; display:block; width:100%; aspect-ratio:3/2; background:#fff; border-radius:12px}
.menuwahl__logo img{position:absolute; inset:12%; width:76%; height:76%; object-fit:contain}
.menuwahl__karte b{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:clamp(1.1rem,.9rem + .8vw,1.5rem); line-height:1}
.menuwahl__karte small{color:var(--ink-2); font-size:.9rem}
.menuwahl__karte:focus-visible{outline:3px solid var(--ink); outline-offset:3px}
@media (hover:hover){ .menuwahl__karte:hover{transform:translateY(-4px)} }
.menuwahl__mehr{color:var(--ink-2); max-width:60ch}
h2.h3{font-family:var(--f); text-transform:none; font-size:clamp(1.25rem,1.05rem + .6vw,1.6rem); font-weight:600; line-height:1.2; letter-spacing:-.01em}
.hefte{--c-winter:#C8202F}
.hefte__raster{display:grid; gap:clamp(30px,3.6vw,52px) clamp(18px,2.4vw,36px); grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
@media (min-width:1100px){ .hefte__raster--4{grid-template-columns:repeat(4,minmax(0,1fr))} .hefte__raster--3{grid-template-columns:repeat(3,minmax(0,1fr))} }
.heft-karte{display:grid; gap:20px; align-content:start; min-width:0}
@media (max-width:599px){ .heft-karte{grid-template-columns:minmax(0,36%) minmax(0,1fr); gap:18px; align-items:start} .heft-karte__knoepfe .btn{width:100%} }
.heft-karte__cover{position:relative; display:block; width:100%; max-width:100%; padding:0 4% 0 0; border:0; background:none; cursor:pointer; perspective:1400px}
.heft-karte__cover img{position:relative; z-index:1; width:100%; height:auto; border-radius:2px 7px 7px 2px; box-shadow:0 26px 40px -20px rgba(17,17,17,.5); transform:rotateY(-9deg); transform-origin:left center; transition:transform .8s var(--ease-out)}
.heft-karte__cover::after{content:""; position:absolute; z-index:2; left:0; top:0; bottom:0; width:6%; border-radius:2px 0 0 2px; background:linear-gradient(90deg,rgba(0,0,0,.22),rgba(255,255,255,.18) 55%,transparent); transform:rotateY(-9deg); transform-origin:left center; transition:transform .8s var(--ease-out); pointer-events:none}
.heft-karte__stapel{position:absolute; z-index:0; left:1%; right:3%; top:1.2%; bottom:1.2%; border-radius:2px 7px 7px 2px; background:#fff; box-shadow:2px 1px 0 #ececec, 4px 2px 0 #dedede, 6px 3px 0 #d2d2d2, 0 22px 34px -18px rgba(0,0,0,.4); transform:rotateY(-9deg); transform-origin:left center}
@media (hover:hover){ .heft-karte:hover .heft-karte__cover img,.heft-karte:hover .heft-karte__cover::after{transform:rotateY(-26deg)} }
.heft-karte:has(.heft-karte__knoepfe .btn:focus-visible) .heft-karte__cover img{transform:rotateY(-26deg)}
.heft-karte__txt{display:grid; grid-template-columns:minmax(0,1fr); gap:8px; justify-items:start; align-content:start; min-width:0}
.heft-karte__name{margin:0; font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:clamp(1.35rem,1.1rem + .9vw,1.9rem); line-height:1.05; -webkit-hyphens:auto; hyphens:auto; overflow-wrap:break-word}
.heft-karte__zitat{margin:0; font-weight:600; font-size:1.05rem; line-height:1.35; color:var(--ink)}
.heft-karte__txt p{margin:0; font-size:.95rem; color:var(--ink-2)}
.heft-karte__txt p.heft-karte__zitat{color:var(--ink)}
.heft-karte__txt p.heft-karte__meta{font-size:.8rem; color:var(--mute)}
.heft-karte__knoepfe{display:flex; flex-wrap:wrap; gap:6px 18px; align-items:center; margin-top:8px}
.heft-karte__pdf,.heft-karte__fr{display:inline-flex; align-items:center; min-height:44px; font-size:.88rem; font-weight:600}
.hefte__frage{display:grid; gap:14px; justify-items:start; max-width:760px; padding:clamp(28px,4vw,52px); border-radius:var(--r-card); background:var(--yellow)}
.hefte__frage h2{margin:0} .hefte__frage p{margin:0; max-width:56ch}
.heft{border:0; padding:0; margin:0; width:100vw; height:100%; max-width:none; max-height:none; background:#141414; color:#fff; overflow:hidden}
.heft[open]{display:grid; grid-template-rows:auto minmax(0,1fr) auto; animation:bdFade .3s ease both}
.heft::backdrop{background:#141414}
.heft__kopf{display:flex; align-items:center; gap:14px; padding:calc(12px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 10px max(20px,env(safe-area-inset-left,0px))}
.heft__titel{margin:0; font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:1.1rem; line-height:1.1; outline:none}
.heft__seite{margin-right:auto; font-size:.85rem; color:#b8bbc0; font-variant-numeric:tabular-nums; white-space:nowrap}
.heft__pdf{display:inline-flex; align-items:center; min-height:44px; padding:0 16px; border-radius:999px; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4); color:#fff; font-size:.85rem; font-weight:600; text-decoration:none}
.heft__x{flex:none; width:44px; height:44px; padding:0; border-radius:50%; border:0; background:#fff; color:var(--ink); font-size:1.6rem; line-height:1; cursor:pointer}
.heft__buehne{position:relative; display:grid; place-items:center; min-height:0; padding:6px clamp(16px,7vw,110px); touch-action:pan-y pinch-zoom; -webkit-user-select:none; user-select:none}
.heft__buch{position:relative; cursor:pointer}
.heft__bogen{position:absolute; inset:0; display:flex; perspective:2600px}
.heft__bogen.oben{z-index:1}
.heft__blatt{position:relative; flex:1; min-width:0; background:#fff; -webkit-backface-visibility:hidden; backface-visibility:hidden; box-shadow:0 30px 60px -24px rgba(0,0,0,.7)}
.heft__blatt.leer{background:none; box-shadow:none}
.heft__blatt img{display:block; width:100%; height:100%; object-fit:contain; pointer-events:none}
.heft__blatt--l{transform-origin:right center}
.heft__blatt--r{transform-origin:left center}
.heft__blatt--l:not(.leer)::after,.heft__blatt--r:not(.leer)::after{content:""; position:absolute; top:0; bottom:0; width:9%; pointer-events:none}
.heft__blatt--l::after{right:0; background:linear-gradient(90deg,transparent,rgba(0,0,0,.2))}
.heft__blatt--r::after{left:0; background:linear-gradient(-90deg,transparent,rgba(0,0,0,.2))}
.heft__pfeil{position:absolute; top:50%; z-index:3; width:52px; height:52px; margin-top:-26px; padding:0; border-radius:50%; border:0; background:rgba(255,255,255,.14); color:#fff; display:grid; place-items:center; cursor:pointer; transition:background .25s, color .25s}
.heft__pfeil svg{width:24px; height:24px}
.heft__pfeil--zurueck{left:max(14px,env(safe-area-inset-left,0px))} .heft__pfeil--vor{right:max(14px,env(safe-area-inset-right,0px))}
.heft__pfeil:disabled{opacity:.25; cursor:default}
@media (hover:hover){ .heft__pfeil:not(:disabled):hover{background:var(--yellow); color:var(--ink)} }
.heft__pfeil:focus-visible,.heft__x:focus-visible,.heft__pdf:focus-visible,.heft__regler:focus-visible{outline:3px solid var(--yellow); outline-offset:3px}
.heft__fuss{padding:8px clamp(84px,14vw,240px) calc(14px + env(safe-area-inset-bottom,0px))}
.heft__regler{display:block; width:100%; height:44px; margin:0; accent-color:var(--yellow); cursor:pointer}
@media (max-width:599px){ .heft__buehne{padding:4px 10px} .heft__pfeil{top:auto; bottom:calc(10px + env(safe-area-inset-bottom,0px)); margin-top:0; width:48px; height:48px} .heft__fuss{padding-left:76px; padding-right:76px} .heft__pdf{padding:0 12px} }
@media (prefers-reduced-motion:reduce){ .heft[open]{animation:none} .heft-karte__cover img,.heft-karte__cover::after{transition:none} }
.fsend{margin:18px 0 0; padding:12px 14px; border-radius:12px; background:#FDECEC; font-size:.95rem; line-height:1.45; outline:none}
.dishcard__img--wort{display:grid; place-items:start; align-content:start; container-type:inline-size; aspect-ratio:5/4; padding:54px 20px 64px; background:var(--c, var(--accent)); overflow:hidden}
.dishgrid--small .dishcard__img--wort{aspect-ratio:1}
.dishcard__wort{font-family:var(--f-brand); text-transform:uppercase; font-size:min(12cqi, 2.6rem); line-height:.98; color:var(--on-c, var(--ink)); -webkit-hyphens:manual; hyphens:manual; overflow-wrap:normal}
#karte[style*="c-tiligo"] .dishcard__img--wort,#souvlaki .dishcard__img--wort{--on-c:#fff}
.occ--karte b::before{content:none}
.karte-tag{display:inline-block; margin-left:6px; padding:2px 9px; border-radius:999px; background:#E3F4E8; color:#0D5E2F; font-style:normal; font-size:.75rem; font-weight:700; vertical-align:2px}
.bdlg.ohne-bild{width:min(620px,calc(100vw - 32px))} .bdlg.ohne-bild .bdlg__bild{display:none} .bdlg.ohne-bild .bdlg__karte{grid-template-columns:1fr}
.occ .orte{display:block; margin-bottom:6px; font-family:var(--f-mono); font-style:normal; font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; color:var(--mute)}
.ref--mehr{aspect-ratio:auto; min-height:120px; place-items:center start; align-content:center; gap:8px; padding:22px 24px; color:var(--ink); text-decoration:none}
.ref--mehr b{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:clamp(1rem,.85rem + .5vw,1.3rem); line-height:1.05; text-wrap:balance}
.ref--mehr span{position:static; opacity:1; transform:none; font-family:var(--f-mono); font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink)}
.ref--mehr span::after{content:" →"}
@media (hover:hover){ .ref--mehr:hover{background:var(--accent)} }
@media (hover:none){
  .ref{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:18px 12px; aspect-ratio:auto; min-height:128px}
  .ref img{max-height:52px}
  .ref span{position:static; text-align:center; line-height:1.3}
  .ref--mehr{align-items:flex-start; padding:22px 20px}
  .ref--mehr span{text-align:left; white-space:nowrap}
}
:root{--mark:color-mix(in srgb, var(--c, var(--accent)) 62%, transparent)}
.occ{display:grid; grid-template-columns:1fr; gap:34px 48px; border:0}
@media (min-width:700px){ .occ{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1100px){ .occ{grid-template-columns:repeat(3,minmax(0,1fr))} }
.occ li,.occ li:nth-child(n){grid-column:auto; display:grid; gap:10px; align-content:start; min-height:0; padding:0; background:none; border:0; border-radius:0; transform:none}
.occ b{display:block; justify-self:start; font-size:clamp(1.3rem,1rem + 1vw,1.85rem); line-height:1.14; background:none;
  text-decoration:underline var(--mark); text-decoration-thickness:.36em; text-underline-offset:-.24em; text-decoration-skip-ink:none}
.occ b::before{content:none}
.occ span{font-size:1.02rem; line-height:1.55; color:var(--ink-2); max-width:48ch}
.occ .tl{justify-self:start; margin-top:4px}
.occ--foto{gap:40px 26px}
@media (min-width:700px){ .occ--foto{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1100px){ .occ--foto{grid-template-columns:repeat(3,minmax(0,1fr))} .occ--foto.occ--4{grid-template-columns:repeat(4,minmax(0,1fr))} }
.occ--foto li,.occ--foto li:nth-child(n){gap:12px}
.occ__bild{margin:0 0 8px; overflow:hidden; border-radius:var(--r-card); aspect-ratio:4/3; background:var(--stone)}
@media (max-width:699px){ .occ__bild{aspect-ratio:16/10} }
.occ__bild img{display:block; width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease-out)}
@media (hover:hover){ .occ--foto li:hover .occ__bild img{transform:scale(1.045)} }
.sec--stone .occ__bild{background:#E6E8EB}
.checks{display:flex; flex-wrap:wrap; gap:10px; border:0}
.checks li{display:inline-flex; align-items:center; gap:12px; padding:11px 20px 11px 11px; border:0; border-radius:30px; background:var(--card); line-height:1.35}
.checks li::before{position:static; flex:none; margin:0}
.extras{display:grid; grid-template-columns:1fr; gap:28px 40px; border:0}
@media (min-width:700px){ .extras,.extras:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))} }
.extras > div{display:grid; gap:8px; align-content:start; padding:0; background:none; border:0; border-radius:0}
.extras > div::before{content:none}
.extras b{justify-self:start; font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:clamp(1.05rem,.92rem + .45vw,1.3rem); line-height:1.18;
  text-decoration:underline var(--mark); text-decoration-thickness:.36em; text-underline-offset:-.24em; text-decoration-skip-ink:none}
.extras span{color:var(--ink-2)}
.extras-mit-bild{display:grid; gap:clamp(32px,4vw,72px); align-items:center}
@media (min-width:1000px){ .extras-mit-bild{grid-template-columns:5fr 7fr} }
.extras-mit-bild .split__img img{aspect-ratio:4/5}
.ask__steps{gap:28px; border:0}
.ask__steps li{display:grid; gap:8px; align-content:start; padding:0; background:none; border:0; border-radius:0}
.ask__steps li::before{position:static; width:52px; height:52px; margin:0 0 6px; font-size:1.2rem}
.faq{display:grid; gap:2px; border:0}
.faq details{padding:0; background:none; border:0; border-radius:0}
.faq summary{padding:18px 60px 18px 0}
.faq summary::after{top:12px; width:40px; height:40px; background:var(--card); box-shadow:none}
.faq details[open] summary::after{background:var(--accent)}
.faq details > div{padding:0 0 22px}
.phero--split .phero__txt{container-type:inline-size; min-width:0}
.phero--split .phero__txt .d-xxl{font-size:min(var(--d-xxl), 17cqi)}
.menusprung{position:sticky; top:calc(var(--hdr-h) + 8px); z-index:40; display:flex; gap:8px; justify-content:center; flex-wrap:wrap; width:max-content; max-width:calc(100% - 2*var(--gutter)); margin:0 auto; padding:6px; border-radius:999px; background:rgba(255,255,255,.88); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:0 10px 30px -14px rgba(0,0,0,.35); transition:top .4s var(--ease-out)}
.hdr.is-hidden ~ main .menusprung{top:10px}
.menusprung a{display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0 14px; border-radius:999px; color:var(--ink); text-decoration:none; font-weight:600; font-size:.92rem}
.menusprung a::before{content:""; width:9px; height:9px; border-radius:50%; background:var(--c)}
@media (hover:hover){ .menusprung a:hover{background:var(--stone)} }
.menusprung a:focus-visible{outline:3px solid var(--ink); outline-offset:2px}
@media (max-width:420px){ .menusprung{gap:2px; padding:4px} .menusprung a{padding:0 10px; font-size:.85rem; gap:6px} }
.menukonzept{padding-top:clamp(56px,8vw,110px); scroll-margin-top:calc(var(--hdr-h) + 56px)}
.menukonzept [id]{scroll-margin-top:calc(var(--hdr-h) + 64px)}
.menukonzept__kopf{display:grid; grid-template-columns:auto minmax(0,1fr); gap:16px 24px; align-items:center; padding-bottom:8px; border-bottom:6px solid var(--c)}
.menukonzept__logo{display:grid; place-items:center; width:clamp(84px,12vw,140px); aspect-ratio:1}
.menukonzept__logo img{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain}
.menukonzept__kopf .lead{margin:6px 0 0}
.menukonzept__kopf .tl{grid-column:1 / -1; justify-self:start}
@media (min-width:800px){ .menukonzept__kopf{grid-template-columns:auto minmax(0,1fr) auto} .menukonzept__kopf .tl{grid-column:auto; justify-self:end} }
.bdlg--tiligo-k .bdlg__kicker{color:#11577E}
.btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.55), inset 0 -1px 0 rgba(17,17,17,.16), 0 0 0 1px rgba(17,17,17,.06), 0 1px 1px rgba(17,17,17,.10), 0 8px 18px -10px rgba(17,17,17,.45);
  transition:transform .25s var(--ease), box-shadow .35s var(--ease)}
.btn::after{content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; pointer-events:none; background:linear-gradient(180deg, rgba(255,255,255,.30) 0%, rgba(255,255,255,.06) 48%, rgba(255,255,255,0) 52%, rgba(17,17,17,.05) 100%)}
@media (hover:hover){ .btn:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.22), inset 0 -1px 0 rgba(0,0,0,.4), 0 0 0 1px rgba(17,17,17,.10), 0 2px 2px rgba(17,17,17,.10), 0 14px 26px -12px rgba(17,17,17,.55)} }
.btn:active{box-shadow:inset 0 2px 4px rgba(17,17,17,.22), 0 0 0 1px rgba(17,17,17,.08)}
.btn--dark{box-shadow:inset 0 1px 0 rgba(255,255,255,.20), inset 0 -1px 0 rgba(0,0,0,.55), 0 0 0 1px rgba(17,17,17,.9), 0 1px 1px rgba(17,17,17,.18), 0 8px 18px -10px rgba(17,17,17,.6)}
.btn--dark::after{background:linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.03) 50%, rgba(255,255,255,0) 52%)}
.btn--light{box-shadow:inset 0 1px 0 #fff, inset 0 -1px 0 rgba(17,17,17,.10), 0 0 0 1px rgba(17,17,17,.08), 0 1px 1px rgba(17,17,17,.08), 0 8px 18px -10px rgba(17,17,17,.35)}
.btn--ghost{box-shadow:inset 0 0 0 1.5px currentColor, inset 0 2px 0 -0.5px rgba(255,255,255,.35)}
.btn--ghost::after{background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0) 55%)}
.on-dark .btn--ghost{background:rgba(255,255,255,.08); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px)}
@media (hover:hover){ .btn--ghost:hover{box-shadow:inset 0 0 0 1.5px currentColor, 0 14px 26px -12px rgba(17,17,17,.55)} }
@media (prefers-contrast:more){ .btn::after{content:none} }
.mitbring{display:grid; gap:clamp(40px,5vw,80px); align-items:center}
@media (min-width:1000px){ .mitbring{grid-template-columns:minmax(0,5fr) minmax(0,6fr)} }
.mitbring__buehne{position:relative; width:min(100%,520px); justify-self:center; padding:0 6%}
.mitbring__foto{margin:0; border-radius:28px; overflow:hidden}
.mitbring__foto img{display:block; width:100%; aspect-ratio:4/5; object-fit:cover}
.mitbring__sticker{position:absolute; left:var(--x); top:var(--y); display:inline-flex; align-items:center; gap:10px; padding:8px 16px 8px 8px; border:0; border-radius:999px; background:#fff; color:var(--ink); font:inherit; font-weight:600; font-size:.88rem; cursor:pointer; white-space:nowrap;
  box-shadow:inset 0 1px 0 #fff, inset 0 -1px 0 rgba(17,17,17,.10), 0 0 0 1px rgba(17,17,17,.06), 0 12px 26px -12px rgba(17,17,17,.45);
  transform:rotate(var(--r)); transition:background-color .3s, color .3s, box-shadow .3s; animation:mbSchweben 4.8s ease-in-out var(--d) 1}
.mitbring__icon{flex:none; width:36px; height:36px; padding:7px; border-radius:50%; background:var(--yellow,#FFC700); fill:none; stroke:var(--ink); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; transition:transform .4s var(--ease-out)}
.mitbring__icon [style*="--k"]{fill:var(--k); stroke:var(--ink)}
.mitbring__sticker[aria-pressed="true"]{background:var(--ink); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 0 0 1px var(--ink), 0 16px 30px -12px rgba(17,17,17,.6); z-index:2}
@media (hover:hover){ .mitbring__sticker:hover .mitbring__icon{transform:rotate(-12deg) scale(1.08)} }
.mitbring__sticker:focus-visible{outline:3px solid var(--ink); outline-offset:3px}
@keyframes mbSchweben{0%,100%{translate:0 0} 50%{translate:0 -7px}}
.mitbring__text{display:grid; gap:18px; align-content:start}
.mitbring__item{display:grid; gap:12px; justify-items:start}
.mitbring__item b{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:clamp(1.6rem,1.1rem + 1.6vw,2.6rem); line-height:1.02}
.mitbring__item p{margin:0; font-size:clamp(1.05rem,.98rem + .3vw,1.25rem); color:var(--ink-2); max-width:34ch}
.mitbring__gross{width:clamp(64px,7vw,88px); height:auto; padding:clamp(14px,1.6vw,18px); border-radius:50%; background:var(--yellow,#FFC700); fill:none; stroke:var(--ink); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; box-shadow:inset 0 1px 0 rgba(255,255,255,.6), inset 0 -1px 0 rgba(17,17,17,.15), 0 14px 26px -14px rgba(17,17,17,.5)}
.mitbring__gross [style*="--k"]{fill:var(--k)}
.mitbring__item.is-aktiv .mitbring__gross *{stroke-dasharray:1; stroke-dashoffset:1; animation:mbZeichnen 1.1s var(--ease-out) forwards}
.mitbring__item.is-aktiv b,.mitbring__item.is-aktiv p{animation:mbRein .6s var(--ease-out) both} .mitbring__item.is-aktiv p{animation-delay:.08s}
@keyframes mbZeichnen{to{stroke-dashoffset:0}}
@keyframes mbRein{from{opacity:0; translate:0 12px}}
.mitbring__punkte{display:none; gap:8px; margin-top:8px}
.mitbring__punkte button{position:relative; width:44px; height:20px; padding:0; border:0; background:none; cursor:pointer}
.mitbring__punkte button::before,.mitbring__punkte button::after{content:""; position:absolute; left:0; right:0; top:8px; height:4px; border-radius:4px; background:rgba(17,17,17,.14)}
.mitbring__punkte button::after{background:var(--ink); transform:scaleX(0); transform-origin:left}
.mitbring__punkte button.ist-durch::after{transform:none}
.mitbring__punkte button.is-aktiv::after{animation:mbLauf 5s linear forwards}
.mitbring.angehalten .mitbring__punkte button.is-aktiv::after{animation:none; transform:none}
@keyframes mbLauf{to{transform:none}}
.js-mitbring .mitbring__punkte{display:flex}
.js-mitbring .mitbring__item:not(.is-aktiv){display:none}
.mitbring:not(.js-mitbring) .mitbring__item{border-left:0}
@media (max-width:699px){
  .mitbring__buehne{display:flex; flex-wrap:wrap; gap:10px; padding:0}
  .mitbring__foto{flex:1 0 100%; margin-bottom:6px}
  .mitbring__sticker{position:static; transform:none; animation:none; font-size:.82rem; padding:6px 14px 6px 6px}
  .mitbring__icon{width:30px; height:30px; padding:6px}
}
@media (prefers-reduced-motion:reduce){ .mitbring__sticker,.mitbring__item.is-aktiv b,.mitbring__item.is-aktiv p{animation:none} .mitbring__item.is-aktiv .mitbring__gross *{animation:none; stroke-dashoffset:0} .mitbring__punkte button.is-aktiv::after{animation:none; transform:none} }
.katband-sec{padding-block:0 clamp(24px,4vw,56px)}
.katband{position:relative; display:grid; gap:clamp(28px,4vw,56px); align-items:center; padding:clamp(28px,4.5vw,64px); border-radius:32px; background:var(--ink); color:#fff; text-decoration:none; overflow:hidden; isolation:isolate;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 30px 60px -36px rgba(17,17,17,.7)}
.katband::before{content:""; position:absolute; inset:auto -10% -60% 40%; height:120%; z-index:-1; background:radial-gradient(closest-side, rgba(255,199,0,.28), rgba(255,199,0,0)); pointer-events:none}
@media (min-width:900px){ .katband{grid-template-columns:minmax(0,5fr) minmax(0,6fr)} }
.katband__txt{display:grid; gap:14px; justify-items:start}
.katband__txt .label{color:rgba(255,255,255,.7)} .katband__txt .lead{color:rgba(255,255,255,.82); margin:0}
.katband__txt .btn{margin-top:6px}
.katband__hefte{position:relative; height:clamp(220px,26vw,340px)}
.katband__hefte img{position:absolute; top:50%; left:50%; width:auto; height:88%; aspect-ratio:480/679; border-radius:6px; box-shadow:0 18px 30px -12px rgba(0,0,0,.65), 0 0 0 1px rgba(255,255,255,.08);
  transform:translate(calc(-50% + (var(--i) - 2) * 14%), -50%) rotate(calc((var(--i) - 2) * 5deg)); transition:transform .7s var(--ease-out)}
.katband__hefte img:nth-child(1){z-index:1} .katband__hefte img:nth-child(2){z-index:2} .katband__hefte img:nth-child(3){z-index:5} .katband__hefte img:nth-child(4){z-index:2} .katband__hefte img:nth-child(5){z-index:1}
@media (hover:hover){ .katband:hover .katband__hefte img{transform:translate(calc(-50% + (var(--i) - 2) * 46%), calc(-50% - 4%)) rotate(calc((var(--i) - 2) * 8deg))} .katband:hover .btn--light{color:#fff} .katband:hover .btn--light::before{transform:none} }
.katband:focus-visible{outline:3px solid var(--yellow,#FFC700); outline-offset:4px}
@media (max-width:599px){ .katband__hefte{height:200px} }
@media (prefers-reduced-motion:reduce){ .katband__hefte img{transition:none} }
.europa{display:grid; gap:clamp(36px,5vw,72px); align-items:center}
@media (min-width:1000px){ .europa{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)} }
.europa .europa__liste{grid-template-columns:1fr; gap:28px 32px}
@media (min-width:600px){ .europa .europa__liste{grid-template-columns:repeat(2,minmax(0,1fr))} }
.europa__liste li{border-radius:16px; transition:opacity .35s} .europa__liste li:focus-visible{outline:3px solid var(--ink); outline-offset:6px}
.europa.zeigt .europa__liste li:not(.ist-aktiv){opacity:.45}
.europa__karte{margin:0; position:relative}
.euk{display:block; width:100%; height:auto; overflow:visible}
.euk__land{-webkit-mask:none}
.europa__karte{-webkit-mask-image:radial-gradient(ellipse 62% 58% at 50% 50%, #000 58%, transparent 100%); mask-image:radial-gradient(ellipse 62% 58% at 50% 50%, #000 58%, transparent 100%)}
.euk__land{fill:none; stroke-linecap:round; stroke-width:8.4}
.euk__land--rest{stroke:#E9EBEE} .euk__land--war{stroke:#B9BEC6} .euk__land--at{stroke:var(--yellow,#FFC700)}
.euk__weg{fill:none; stroke:var(--ink); stroke-width:1.6; stroke-linecap:round; opacity:.45}
.euk__punkt{fill:var(--yellow,#FFC700); stroke:#fff; stroke-width:3; filter:drop-shadow(0 4px 6px rgba(17,17,17,.25))}
.euk__truck{color:var(--ink)}
.euk__ring{fill:#fff; stroke:var(--ink); stroke-width:2.2}
.euk__heimpunkt{fill:var(--ink); filter:drop-shadow(0 6px 10px rgba(17,17,17,.35))} .euk__heim use{color:var(--yellow,#FFC700)}
.euk__puls{fill:none; stroke:var(--yellow,#FFC700); stroke-width:3; transform-box:fill-box; transform-origin:center; animation:eukPuls 2.4s ease-out infinite}
@keyframes eukPuls{from{transform:scale(1); opacity:.9} to{transform:scale(2.2); opacity:0}}
.euk__name{font-family:var(--f-body,inherit); font-weight:600; font-size:19px; fill:var(--ink); paint-order:stroke; stroke:#fff; stroke-width:5px; stroke-linejoin:round}
.euk__name--land{font-family:var(--f-mono); font-size:15px; letter-spacing:.08em; text-transform:uppercase; fill:var(--ink-2,#555)}
.euk__name--heim{font-family:var(--f-brand); font-weight:400; font-size:24px; text-transform:uppercase}
.euk__ort{transition:opacity .35s} .euk__name{transition:opacity .35s}
.europa.zeigt .euk__ort:not(.ist-aktiv),.europa.zeigt .euk__name:not(.euk__name--heim):not(.ist-aktiv){opacity:.2}
.europa.zeigt .euk__weg:not(.ist-aktiv){opacity:.1}
.euk--fahrt .euk__ort>*{transform:scale(0); transform-box:fill-box; transform-origin:center; transition:transform .55s cubic-bezier(.34,1.56,.64,1)}
.euk--fahrt .euk__name:not(.euk__name--heim){opacity:0}
.euk--fahrt .euk__ort.ist-da>*{transform:none} .euk--fahrt .euk__name.ist-da{opacity:1}
.euk__fahrer{color:var(--ink)}
@media (prefers-reduced-motion:reduce){ .euk__puls{animation:none; opacity:0} }
.truc-held{position:relative; overflow:hidden; padding:calc(var(--hdr-h) + clamp(28px,5vw,70px)) 0 clamp(48px,7vw,110px); background:linear-gradient(180deg,#fff 0%,var(--stone) 100%)}
.truc-held__in{display:grid; gap:clamp(24px,4vw,64px); align-items:center}
@media (min-width:900px){ .truc-held__in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }
.truc-held__txt{display:grid; gap:18px; justify-items:start}
.truc-held__txt .lead{max-width:30ch; margin:0}
.truc-held__tipp{margin:0; font-family:var(--f-mono); font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2)}
.truc-buehne{position:relative; display:grid; place-items:center; min-height:clamp(360px,46vw,620px)}
.truc-sonne{position:absolute; width:min(92%,520px); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 35% 30%, #FFD84D 0%, var(--yellow,#FFC700) 55%, #F5B800 100%);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.5), 0 40px 80px -40px rgba(17,17,17,.45); animation:trucSonne 1s var(--ease-out) both}
.truc-figur{position:relative; z-index:1; padding:0; border:0; background:none; cursor:pointer; height:clamp(330px,42vw,560px); animation:trucRein 1.1s cubic-bezier(.34,1.4,.64,1) .25s both}
.truc-figur img{display:block; height:100%; width:auto; filter:drop-shadow(0 24px 22px rgba(17,17,17,.28)); transform-origin:50% 100%; animation:trucSchweben 4.5s ease-in-out 1.6s 1}
.truc-buehne.wechselt .truc-figur img{animation:trucWechsel .5s cubic-bezier(.34,1.5,.64,1), trucSchweben 4.5s ease-in-out .5s 1}
.truc-figur:focus-visible{outline:3px solid var(--ink); outline-offset:8px; border-radius:24px}
.truc-blase{position:absolute; z-index:2; top:5%; left:0; margin:0; max-width:15ch; padding:12px 18px; border-radius:22px 22px 6px 22px; background:#fff; font-weight:600; font-size:clamp(.95rem,.9rem + .3vw,1.15rem); line-height:1.25;
  box-shadow:inset 0 1px 0 #fff, 0 0 0 1px rgba(17,17,17,.06), 0 18px 34px -16px rgba(17,17,17,.45); animation:trucBlase .55s cubic-bezier(.34,1.56,.64,1) 1.1s both}
.truc-buehne.wechselt .truc-blase{animation:trucBlase .45s cubic-bezier(.34,1.56,.64,1) .12s both}
@keyframes trucSonne{from{transform:scale(.4); opacity:0}}
@keyframes trucRein{0%{transform:translateY(55%) scale(.55) rotate(-10deg); opacity:0} 60%{opacity:1} 100%{transform:none; opacity:1}}
@keyframes trucSchweben{0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-10px) rotate(-1.5deg)}}
@keyframes trucWechsel{0%{transform:scale(1,1)} 30%{transform:scale(1.08,.86)} 65%{transform:scale(.95,1.08)} 100%{transform:none}}
@keyframes trucBlase{from{transform:scale(.4) translateY(10px); opacity:0}}
.truc-funde{display:grid; gap:clamp(24px,3vw,40px)}
@media (min-width:1000px){ .truc-funde{grid-template-columns:minmax(0,1fr) minmax(0,2.4fr); align-items:start} }
.truc-funde__stand{display:grid; gap:6px; justify-items:start}
.truc-funde__stand b{font-family:var(--f-brand); font-weight:400; font-size:clamp(4rem,3rem + 4vw,7.5rem); line-height:.85}
.truc-funde__stand span{font-weight:600}
.truc-funde__balken{display:block; width:100%; max-width:260px; height:10px; margin-top:8px; border-radius:10px; background:rgba(17,17,17,.1); overflow:hidden}
.truc-funde__balken i{display:block; height:100%; width:calc(var(--anteil,0) * 100%); border-radius:inherit; background:var(--ink); transition:width 1s var(--ease-out)}
.truc-funde__liste{list-style:none; margin:0; padding:0; display:grid; gap:14px; counter-reset:fund}
@media (min-width:700px){ .truc-funde__liste{grid-template-columns:repeat(2,minmax(0,1fr))} }
.truc-funde__liste li{position:relative; display:grid; gap:6px; align-content:start; justify-items:start; padding:20px 22px 20px 66px; border-radius:20px; background:#fff; counter-increment:fund;
  box-shadow:0 0 0 1px rgba(17,17,17,.05), 0 14px 30px -22px rgba(17,17,17,.4)}
.truc-funde__liste li::before{content:counter(fund); position:absolute; left:18px; top:18px; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--stone); font-family:var(--f-brand); font-size:.95rem}
.truc-funde__liste li.ist-gefunden::before{content:"✓"; background:var(--yellow,#FFC700)}
.truc-funde__liste b{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:1.05rem; line-height:1.15}
.truc-funde__liste span{color:var(--ink-2)}
.truc-funde__liste li.ist-gefunden b::after{content:" · gefunden"; font-family:var(--f-body,inherit); text-transform:none; font-size:.85rem; color:var(--ink-2)}
.truc-app{display:grid; gap:clamp(32px,4vw,64px); align-items:center}
@media (min-width:900px){ .truc-app{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)} }
.truc-app__txt{display:grid; gap:16px; justify-items:start} .truc-app__txt .lead{margin:0; max-width:34ch}
.truc-app__buehne{position:relative; display:grid; place-items:center; min-height:clamp(300px,34vw,440px)}
.truc-app__figur{position:relative; z-index:1; height:clamp(260px,30vw,400px); width:auto; filter:drop-shadow(0 22px 20px rgba(17,17,17,.25))}
.truc-token{position:absolute; z-index:2; display:grid; place-items:center; width:clamp(54px,6vw,76px); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 35% 30%, #FFE27A, var(--yellow,#FFC700) 60%, #E9A900);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.6), inset 0 -3px 0 rgba(17,17,17,.18), 0 0 0 4px #fff, 0 16px 26px -12px rgba(17,17,17,.5); animation:trucToken 4s ease-in-out calc(var(--i) * -1.3s) 1}
.truc-token svg{width:52%; fill:none; stroke:var(--ink); stroke-width:2; stroke-linejoin:round} .truc-token circle{fill:var(--ink)}
.truc-token:nth-child(1){left:6%; top:14%} .truc-token:nth-child(2){right:4%; top:6%; scale:.8} .truc-token:nth-child(3){right:12%; bottom:12%; scale:1.1}
@keyframes trucToken{0%,100%{transform:translateY(0) rotateY(0)} 50%{transform:translateY(-14px) rotateY(180deg)}}
@media (prefers-reduced-motion:reduce){ .truc-sonne,.truc-figur,.truc-figur img,.truc-blase,.truc-token,.truc-buehne.wechselt .truc-figur img,.truc-buehne.wechselt .truc-blase{animation:none} }
a.ref{color:inherit; text-decoration:none}
a.ref:not(.ref--mehr)::after{content:"↗"; position:absolute; right:14px; top:10px; font-size:.95rem; color:var(--mute); opacity:0; transition:opacity .3s}
@media (hover:hover){ a.ref:not(.ref--mehr):hover::after{opacity:1} }
@media (hover:none){ a.ref:not(.ref--mehr)::after{opacity:.6} }
a.ref:focus-visible{outline:3px solid var(--ink); outline-offset:3px}
.belt a.logo{text-decoration:none}
.menusprung__knopf{display:none}
.menusprung__liste{display:flex; gap:6px; flex-wrap:wrap; justify-content:center}
.menusprung .menusprung__liste a{display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0 14px 0 6px; border-radius:999px; color:var(--ink); text-decoration:none; font-weight:600; font-size:.92rem}
.menusprung .menusprung__liste a::before{content:none}
.menusprung__logo{display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#fff; box-shadow:inset 0 0 0 2px var(--c)}
.menusprung__logo img{max-width:74%; max-height:74%; width:auto; height:auto; object-fit:contain}
.menusprung__liste small{display:none}
.menusprung .menusprung__liste a.ist-aktiv{background:var(--stone)}
@media (max-width:699px){
  .menusprung{display:block; width:auto; max-width:none; margin:0 var(--gutter); padding:0; border-radius:22px; background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none}
  .menusprung__knopf{position:relative; z-index:2; display:flex; align-items:center; gap:12px; width:100%; min-height:56px; padding:8px 16px 8px 10px; border:0; border-radius:22px; cursor:pointer; color:var(--ink); font:inherit; text-align:left;
    background:rgba(255,255,255,.92); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
    box-shadow:inset 0 1px 0 #fff, 0 0 0 1px rgba(17,17,17,.06), 0 14px 30px -14px rgba(17,17,17,.45)}
  .menusprung__knopf::before,.menusprung__knopf::after{content:""; position:absolute; left:12px; right:12px; bottom:-6px; height:14px; z-index:-1; border-radius:0 0 18px 18px; background:rgba(255,255,255,.75); box-shadow:0 0 0 1px rgba(17,17,17,.05); transition:transform .45s var(--ease-out), opacity .3s}
  .menusprung__knopf::after{left:24px; right:24px; bottom:-11px; background:rgba(255,255,255,.55)}
  .menusprung.offen .menusprung__knopf::before,.menusprung.offen .menusprung__knopf::after{transform:translateY(-8px); opacity:0}
  .menusprung__stapel{position:relative; flex:none; width:58px; height:30px}
  .menusprung__stapel i{position:absolute; top:3px; left:calc(var(--n) * 9px); width:24px; height:24px; border-radius:50%; background:var(--c); box-shadow:0 0 0 2px #fff; transition:transform .45s var(--ease-out)}
  .menusprung.offen .menusprung__stapel i{transform:translateX(calc(var(--n) * 3px)) scale(.9)}
  .menusprung__text{display:grid; flex:1; min-width:0; line-height:1.15}
  .menusprung__text small{font-family:var(--f-mono); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2)}
  .menusprung__text b{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:1.05rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
  .menusprung__knopf svg{flex:none; width:20px; height:20px; transition:transform .4s var(--ease-out)}
  .menusprung.offen .menusprung__knopf svg{transform:rotate(180deg)}
  .menusprung__knopf:focus-visible{outline:3px solid var(--ink); outline-offset:3px}
  .menusprung__liste{position:absolute; left:0; right:0; top:calc(100% + 8px); display:grid; gap:8px; justify-content:stretch; pointer-events:none}
  .menusprung .menusprung__liste a{display:grid; grid-template-columns:44px minmax(0,1fr); grid-template-rows:auto auto; column-gap:12px; align-items:center; min-height:64px; padding:10px 14px; border-radius:20px;
    background:rgba(255,255,255,.95); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); box-shadow:inset 0 1px 0 #fff, 0 0 0 1px rgba(17,17,17,.06), 0 16px 30px -16px rgba(17,17,17,.5);
    opacity:0; transform:translateY(calc(var(--k,0) * -66px - 6px)) scale(.94); transform-origin:50% 0; transition:transform .5s cubic-bezier(.34,1.3,.64,1), opacity .25s}
  .menusprung .menusprung__liste a:nth-child(1){--k:1} .menusprung .menusprung__liste a:nth-child(2){--k:2} .menusprung .menusprung__liste a:nth-child(3){--k:3} .menusprung .menusprung__liste a:nth-child(4){--k:4}
  .menusprung.offen .menusprung__liste{pointer-events:auto}
  .menusprung.offen .menusprung__liste a{opacity:1; transform:none}
  .menusprung.offen .menusprung__liste a:nth-child(2){transition-delay:.04s} .menusprung.offen .menusprung__liste a:nth-child(3){transition-delay:.08s} .menusprung.offen .menusprung__liste a:nth-child(4){transition-delay:.12s}
  .menusprung__logo{grid-row:1 / span 2; width:44px; height:44px}
  .menusprung__liste b{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:1.05rem; line-height:1.05}
  .menusprung__liste small{display:block; color:var(--ink-2); font-size:.82rem; font-weight:400}
  .menusprung .menusprung__liste a.ist-aktiv{box-shadow:inset 0 0 0 2px var(--c), 0 16px 30px -16px rgba(17,17,17,.5)}
}
@media (prefers-reduced-motion:reduce){ .menusprung__liste a,.menusprung__stapel i,.menusprung__knopf::before,.menusprung__knopf::after{transition:none!important} }
:root{--r-foto:clamp(14px,1.5vw,22px)}
.split__img img,.door__img img,.tile__img img,.phero__img img,.strip img,.rail .ph-img,.extras-mit-bild .split__img img{border-radius:var(--r-foto)}
.galgrid .foto,.galgrid .foto img{border-radius:var(--r-foto)}
.mitbring{grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){ .mitbring{grid-template-columns:minmax(0,5fr) minmax(0,6fr)} }
.js-mitbring .mitbring__text{display:grid; grid-template-columns:minmax(0,1fr)}
.js-mitbring .mitbring__item{grid-area:1/1}
.js-mitbring .mitbring__item:not(.is-aktiv){display:grid; visibility:hidden}
.js-mitbring .mitbring__punkte{grid-area:2/1}
.mitbring__punkte{flex-wrap:nowrap; gap:6px}
.mitbring__punkte button{flex:1 1 0; max-width:44px; min-width:0; height:32px}
.mitbring__punkte button::before,.mitbring__punkte button::after{top:14px}
@media (max-width:699px){ .mitbring__foto img{aspect-ratio:3/2} }
@media (max-width:359px){ .ftr__word{font-size:2.4rem} }
.mnav__panel{overscroll-behavior:contain}
html:has(body.nav-open){overflow:hidden}
body:has(input:focus, textarea:focus, select:focus) .mbar{transform:translateY(130%)}
.bdlg__x{position:absolute; top:12px; right:12px}
.door__img{border-radius:var(--r-foto)}
@media (max-width:359px){ .mbar{gap:8px} .mbar .btn{padding:0 8px; letter-spacing:.01em; font-size:.74rem} .mbar__tel{font-size:.72rem} }
.mitbring__punkte button{height:40px} .mitbring__punkte button::before,.mitbring__punkte button::after{top:18px}
@media (max-height:500px) and (orientation:landscape){
  .mbar{display:none}
  .hero{min-height:0; height:auto; padding-block:calc(var(--hdr-h) + 24px) 32px}
  .hero h1 .d,.phero h1 .d{font-size:min(var(--d-xl), 15svh)}
  .door__img{aspect-ratio:16/9}
  .split__img img{aspect-ratio:16/10}
  .lb__fig img{max-height:calc(100dvh - 40px)}
}
@media (max-width:699px){ .kz-fan{margin-top:64px} }
@media (max-width:600px){ .euk__name{font-size:30px} .euk__name--land{font-size:22px} .euk__name--heim{font-size:34px} }
.tl{display:inline-block; padding-top:8px}
.ftr__bottom a{display:inline-block; padding:11px 0}
.crumbs a{display:inline-block; padding:10px 0; margin:-10px 0}
.phero::after{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.1) 34%,rgba(0,0,0,.08) 55%,rgba(0,0,0,.72))}
.occ .orte{font-size:.8rem}
.hero .btn--ghost{-webkit-backdrop-filter:none; backdrop-filter:none; background:rgba(17,17,17,.28)}
.hero__poster{position:absolute; inset:0}
.hero__poster img{width:100%; height:100%; object-fit:cover}
.hero__media video{position:relative; z-index:1}
.truc-buehne{padding-top:clamp(70px,8vw,100px)}
.truc-blase{top:0; left:50%; right:auto; translate:-50% 0; width:max-content; max-width:min(24ch, 92%); text-align:center; border-radius:22px}
.truc-blase::after{content:""; position:absolute; left:50%; bottom:-7px; width:16px; height:16px; background:#fff; translate:-50% 0; rotate:45deg; border-radius:3px; box-shadow:4px 4px 8px -4px rgba(17,17,17,.18)}
@media (max-height:500px) and (orientation:landscape) and (min-width:640px){
  .phero--split .phero__in{grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding-bottom:28px}
  .phero--split .phero__img img{aspect-ratio:4/3; max-height:calc(100svh - 40px)}
  .menuwahl__liste{grid-template-columns:repeat(4,minmax(0,1fr))}
  .menuwahl{padding-top:calc(var(--hdr-h) + 16px)}
}
.datenhinweis{margin:14px 0 0; font-size:.88rem; color:var(--ink-2); max-width:60ch}
.datenhinweis a{color:inherit}
.field .hint{display:block; margin-top:6px; font-size:.82rem; line-height:1.35; color:var(--ink-2)}
.btn:focus-visible{outline:3px solid #fff; outline-offset:2px; box-shadow:0 0 0 7px var(--ink)}
.belt__mask:focus-within{overflow-x:auto; scrollbar-width:none}
.belt__mask:focus-within::-webkit-scrollbar{display:none}
.belt__mask:focus-within .belt__track{animation:none}
html{scrollbar-gutter:stable}
body[data-page="anfrage"] .ftr,body[data-page="menu"] .ftr,body[data-page="shop"] .ftr{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}
@media (max-height:500px) and (orientation:landscape){ .ftr{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))} }
a,button,label,summary,[role="button"]{-webkit-tap-highlight-color:transparent}
@media (max-width:699px){
  .menusprung__liste{visibility:hidden; transition:visibility 0s .5s}
  .menusprung.offen .menusprung__liste{visibility:visible; transition:none}
}
html:has(body[data-page="menu"]){scroll-padding-top:calc(var(--hdr-h) + 84px)}
body[data-page="menu"] .menukonzept{scroll-margin-top:calc(16px - clamp(56px,8vw,110px))}
.legal{overflow-wrap:break-word; -webkit-hyphens:auto; hyphens:auto}
.knopfzeile{display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px}
.knopfzeile .tl{padding-top:0}
.telzeile{display:flex; gap:8px}
.telzeile select{flex:0 0 auto; width:auto; min-width:6.4em; padding-right:28px}
.telzeile input{flex:1 1 auto; min-width:0}
.zaehler{display:block; margin-top:4px; text-align:right; color:var(--mute); font-variant-numeric:tabular-nums}
.zaehler.knapp{color:var(--ink); font-weight:600}
.mitbring__pause{margin-top:14px}
.dishcard__body > p.allerg{margin:0; font-family:var(--f-mono); font-size:.74rem; line-height:1.5; letter-spacing:.01em; color:var(--mute)}
.allerg__k{font-family:var(--f); font-weight:700; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); margin-right:6px}
.occ--karte small.allerg{display:block; margin-top:6px; font-family:var(--f-mono); font-size:.74rem; line-height:1.5; font-style:normal; color:var(--mute)}
.dishcard__body > p.allerg span,.occ--karte small.allerg span{border:0; border-radius:0; padding:0}
.allerglegende{display:grid; gap:8px; margin-top:32px; max-width:78ch; font-size:.82rem; line-height:1.6; color:var(--mute)}
.allerglegende p{margin:0}
.allerglegende b{color:var(--ink-2); font-weight:700}
@media (min-width:1000px) and (max-width:1199px){ .mitbring{column-gap:clamp(80px,8vw,96px)} .mitbring__sticker{font-size:.82rem; padding:7px 14px 7px 7px} .mitbring__icon{width:32px; height:32px; padding:6px} }
.dishgrid{grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){ .dishgrid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1100px){ .dishgrid{grid-template-columns:repeat(3,minmax(0,1fr))} .dishgrid--small{grid-template-columns:repeat(5,minmax(0,1fr))} }
@media (min-width:700px) and (max-width:1099px){ .dishgrid--small{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (min-width:700px){ .dishgrid--3{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (min-width:1100px){ .dishgrid--4{grid-template-columns:repeat(4,minmax(0,1fr))} }
.dishcard,.dishcard__body{grid-template-columns:minmax(0,1fr)}
.dishcard__body > p.allerg{flex-wrap:wrap; row-gap:4px}
.dishcard h3,.dishcard h4{-webkit-hyphens:auto; hyphens:auto; hyphenate-limit-chars:10 4 4; -webkit-hyphenate-limit-before:4; -webkit-hyphenate-limit-after:4}
.hefte__raster{gap:clamp(40px,4vw,56px) clamp(24px,2.4vw,36px)}
@media (min-width:1100px){ .hefte__raster--3{grid-template-columns:repeat(4,minmax(0,1fr))} }
.heft-karte__name{hyphenate-limit-chars:10 5 5; -webkit-hyphenate-limit-before:5; -webkit-hyphenate-limit-after:5}
.heft-karte__txt{display:flex; flex-direction:column; align-items:flex-start; gap:10px; min-width:0}
.heft-karte__txt > *{max-width:100%}
@media (min-width:600px){ .heft-karte{grid-template-rows:auto 1fr} .heft-karte__txt p.heft-karte__meta{margin-top:auto; padding-top:6px} }
.phero--light + .hefte{padding-top:clamp(48px,6vw,96px)}
@media (max-width:359px){ .heft-karte{grid-template-columns:minmax(0,32%) minmax(0,1fr); gap:14px} .heft-karte__knoepfe .btn{padding-inline:12px} }
.sec:not([class*="sec--"]):not([style*="background"]):not(.sv):not(.katband-sec) + .sec:not([class*="sec--"]):not([style*="background"]):not(.sv):not(.katband-sec),
.sec:not([class*="sec--"]):not([style*="background"]):not(.sv):not(.katband-sec) + svg + .sec:not([class*="sec--"]):not([style*="background"]):not(.sv):not(.katband-sec){padding-top:clamp(48px,5.5vw,92px)}
@media (min-width:700px){
  html.lbfc-offen .hero__row{animation-fill-mode:backwards}
  html.lbfc-offen .hero .vidbtn{position:absolute; z-index:3; top:calc(var(--hdr-h) + 24px); right:max(var(--gutter), env(safe-area-inset-right,0px))}
}
.fehler{padding-top:max(clamp(96px,11vw,184px), calc(var(--hdr-h) + clamp(40px,5vw,72px)))}
@media (max-width:699px), (pointer:coarse){
  .tl,.crumbs a,.ftr ul a,.ftr__bottom a,a.ftr__word,.req__side p a{position:relative}
  .tl::after,.crumbs a::after,.ftr ul a::after,.ftr__bottom a::after,a.ftr__word::after{content:""; position:absolute; left:50%; top:50%; width:max(100%,44px); height:max(100%,44px); translate:-50% -50%}
  .req__side p a{display:inline-block; padding:11px 0}
  .ftr ul a{padding-block:10px}
  .ftr__bottom a{padding-block:12px}
  .mitbring__punkte button{height:44px} .mitbring__punkte button::before,.mitbring__punkte button::after{top:20px}
}
@media (max-width:699px){
  .mitbring__sticker{padding-block:7px}
  .mitbring__punkte{gap:0} .mitbring__punkte button{flex:1 1 44px; max-width:44px}
  .mitbring__punkte button::before,.mitbring__punkte button::after{left:3px; right:3px}
}
.bdlg{max-width:calc(100vw - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}
@media (max-width:374px){ .ref--mehr{padding-inline:16px} .ref--mehr b{font-size:.9rem} }
input.inp[type=date],input.inp[type=time]{-webkit-appearance:none; appearance:none; display:block; min-width:0; max-width:100%; height:58px; text-align:left}
input.inp[type=date]::-webkit-date-and-time-value{text-align:left; margin:0; min-height:1.4em}
input.inp[type=time]::-webkit-date-and-time-value{text-align:left; margin:0; min-height:1.4em}
@supports (-webkit-touch-callout:none){
  input.inp[type=date],input.inp[type=time]{padding-right:48px; background:#fff no-repeat right 16px center / 20px 20px}
  input.inp[type=date]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E")}
  input.inp[type=time]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
  input.inp[type=date]:invalid:not(:focus)::before{content:"Datum wählen"; color:var(--mute)}
  input.inp[type=date][aria-invalid="true"]{background-color:#FFF7F5}
}
@media (min-width:1000px) and (min-height:501px){ .hero h1 .d{font-size:min(var(--d-xxl), calc((max(100svh, 620px) - 331px) / 2.77))} }
@media (max-height:500px) and (orientation:landscape) and (min-width:640px){ .phero--split .phero__txt .d-l{font-size:min(var(--d-l), 15svh, 12.5cqi)} }
.euk__name[data-i="1"]{translate:0 11px}
.euk__name[data-i="3"]{translate:0 7px}
@media (max-width:600px){
  .europa .euk .euk__name[data-land="at"]:not(.euk__name--heim):not(.ist-aktiv){opacity:0}
  .euk__name[data-i="4"]{translate:-30px 0}
}
.nw{white-space:nowrap}
@media (max-width:480px){ .mnav__foot .trenn{display:block; height:0; overflow:hidden} }
.bdlg__karte{grid-template-columns:minmax(0,1fr)}
.bdlg__bild{position:relative; top:auto; align-self:stretch; aspect-ratio:auto; min-height:0;
  height:clamp(180px, calc(min(960px, 100vw - 32px) / 1.5), 46vh); height:clamp(180px, calc(min(960px, 100vw - 32px) / 1.5), 46dvh)}
@media (min-width:1000px){
  .bdlg{width:min(1080px, calc(100vw - 64px))}
  .bdlg__karte{grid-template-columns:minmax(0,1fr) minmax(0,1fr); overflow:hidden}
  .bdlg__bild{height:auto; min-height:min(500px, calc(100vh - 32px)); min-height:min(500px, calc(100dvh - 32px))}
  .bdlg__txt{max-height:min(820px, calc(100vh - 32px)); max-height:min(820px, calc(100dvh - 32px)); overflow:auto; overscroll-behavior:contain}
}
@media (min-width:1000px) and (min-height:641px){
  .bdlg__bild{min-height:min(500px, calc(100vh - 150px)); min-height:min(500px, calc(100dvh - 150px))}
  .bdlg__txt{max-height:min(820px, calc(100vh - 150px)); max-height:min(820px, calc(100dvh - 150px))}
}
.bdlg__sub:empty{display:none}
.bdlg__allerg{display:grid; gap:6px}
.bdlg__allerg .bdlg__h{margin:8px 0 0}
#bdlgAllerg{display:flex; flex-wrap:wrap; gap:4px 18px; margin:0; font-size:1rem; line-height:1.45; color:var(--ink)}
.bdlg__al{font-weight:600}
.bdlg__al small{margin-left:5px; font-family:var(--f-mono); font-size:.74rem; font-weight:400; color:var(--mute)}
.bdlg__al--text{flex-basis:100%; font-weight:400; color:var(--ink-2)}
.karte-unter{margin:clamp(48px,6vw,80px) 0 26px; font-family:var(--f); font-size:.78rem; font-weight:700; line-height:1.3; letter-spacing:.1em; text-transform:uppercase; color:var(--mute)}
.dishgrid + .occ--karte{margin-top:clamp(48px,6vw,80px)}
.dishinfo--liste{position:relative; right:auto; bottom:auto; justify-self:start; margin-top:4px}
.occ .dishinfo--liste span{font-size:inherit; line-height:1; color:inherit; max-width:none}
.karte-hinweis{margin:clamp(36px,4.5vw,56px) 0 0; max-width:62ch; font-size:.98rem; line-height:1.55; color:var(--ink-2)}
.karte-hinweis b{margin-right:8px; font-weight:700; color:var(--ink)}
.allergtab{margin-top:clamp(48px,6vw,80px)}
.allergtab summary{display:inline-flex; align-items:center; gap:14px; max-width:100%; min-height:44px; cursor:pointer; list-style:none; font-weight:600; font-size:1.02rem; line-height:1.3; color:var(--ink)}
.allergtab summary::-webkit-details-marker{display:none}
.allergtab summary:focus-visible{outline:3px solid var(--ink); outline-offset:4px; border-radius:12px}
.allergtab__knopf{position:relative; flex:none; width:38px; height:38px; border-radius:50%; background:var(--card); transition:transform .35s var(--ease), background-color .3s}
.allergtab__knopf::before,.allergtab__knopf::after{content:""; position:absolute; left:50%; top:50%; width:14px; height:2px; margin:-1px 0 0 -7px; border-radius:2px; background:var(--ink)}
.allergtab__knopf::after{transform:rotate(90deg)}
.allergtab[open] .allergtab__knopf{transform:rotate(45deg); background:var(--accent)}
@media (hover:hover){ .allergtab summary:hover .allergtab__knopf{background:var(--accent)} }
.allergtab__txt{display:grid; gap:3px}
.allergtab__txt small{font-family:var(--f-mono); font-size:.7rem; font-weight:400; letter-spacing:.06em; text-transform:uppercase; color:var(--mute)}
.allergtab__inhalt{display:grid; gap:18px; padding:28px 0 4px}
.allergtab__gruppen{display:grid; gap:30px 56px; grid-template-columns:repeat(auto-fill, minmax(min(100%, 300px), 1fr))}
.allergtab__titel{margin:0 0 12px; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--mute)}
.allergtab dl{display:grid; gap:8px; margin:0}
.allergtab dl > div{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:2px 16px; align-items:baseline}
.allergtab dt{font-weight:600; font-size:.95rem; line-height:1.35; color:var(--ink)}
.allergtab dd{margin:0; font-family:var(--f-mono); font-size:.84rem; line-height:1.45; color:var(--ink-2)}
.allergtab__zusatz{display:block; font-family:var(--f); font-size:.8rem; color:var(--mute)}
.allergtab__frag{font-family:var(--f); font-size:.85rem; color:var(--mute)}
.allergtab__legende{margin:0; max-width:86ch; font-size:.84rem; line-height:1.6; color:var(--mute)}
.allergtab__legende b{color:var(--ink-2); font-weight:700}
@media (prefers-reduced-motion:reduce){ .allergtab__knopf{transition:none} }
.nav__ico{flex:none; width:36px; height:36px; padding:7px; border-radius:50%; background:var(--yellow,#FFC700); fill:none; stroke:var(--ink); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round}
.nav__panel--mehr{width:340px}
.nav__panel--mehr a{grid-template-columns:auto minmax(0,1fr) auto; column-gap:14px}
.nav__panel--mehr b,.nav__panel--mehr small{grid-column:2}
.nav__panel--mehr .nav__ico{grid-column:1; grid-row:1 / span 2; width:36px; height:36px; opacity:1; transition:transform .4s var(--ease-out)}
.nav__panel--mehr svg:not(.nav__ico){grid-column:3}
@media (hover:hover){ .nav__panel--mehr a:hover .nav__ico{opacity:1; transform:rotate(-12deg) scale(1.08)} }
.mnav__mehr .mnav__sub a{display:inline-flex; align-items:center; gap:10px}
@media (prefers-reduced-motion:reduce){ .nav__panel--mehr .nav__ico{transition:none} .nav__panel--mehr a:hover .nav__ico{transform:none} }
@media (max-width:699px){ .mnav__mehr .mnav__sub{display:grid; grid-template-columns:repeat(2,max-content); gap:8px 26px} }
.ref--wort b{font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:clamp(1.15rem,.95rem + .6vw,1.5rem); line-height:1; letter-spacing:.02em; text-align:center; color:var(--ink); opacity:.5; transition:opacity .4s, transform .5s var(--ease)}
@media (hover:hover){ .ref--wort:hover b{opacity:1; transform:scale(1.04)} }
@media (max-width:759px){ .refgrid > .ref--mehr:nth-child(2n+1){grid-column:1 / -1} }
@media (min-width:760px) and (max-width:1099px){ .refgrid > .ref--mehr:nth-child(3n+1){grid-column:1 / -1} }
@media (min-width:1100px){ .refgrid > .ref--mehr:nth-child(4n+1){grid-column:1 / -1} }
.sec.hefte{padding-block:clamp(75px,8.6vw,143px)}
.phero--light + .hefte{padding-top:clamp(30px,4.1vw,66px)}
.hefte .head{margin-bottom:clamp(34px,4.7vw,68px)}
.hefte__raster{gap:clamp(31px,3.1vw,44px) clamp(19px,1.9vw,28px)}
.heft-karte{gap:16px}
@media (max-width:599px){ .heft-karte{gap:14px} }
@media (max-width:359px){ .heft-karte{gap:11px} }
.heft-karte__txt{gap:8px}
.heft-karte__knoepfe{margin-top:6px}
.truc-ei{display:grid; gap:clamp(28px,4vw,64px); align-items:center}
@media (min-width:900px){ .truc-ei{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)} }
.truc-ei__txt{display:grid; gap:16px; justify-items:start} .truc-ei__txt .lead{margin:0; max-width:34ch}
.truc-ei .truc-funde{display:grid; gap:16px; justify-items:start; grid-template-columns:none}
.truc-ei .truc-funde__stand{display:flex; align-items:baseline; gap:14px; margin:0}
.truc-funde__punkte{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px}
.truc-funde__punkte li{display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:#fff; box-shadow:inset 0 0 0 2px var(--line-2); transition:background-color .4s, box-shadow .4s, transform .6s var(--ease-out)}
.truc-funde__punkte svg{width:26px; height:26px; fill:none; stroke:#B9BDC3; stroke-width:2; stroke-linejoin:round} .truc-funde__punkte circle{fill:#B9BDC3; stroke:none}
.truc-funde__punkte li.ist-gefunden{background:radial-gradient(circle at 35% 30%, #FFE27A, var(--yellow) 60%, #E9A900); box-shadow:inset 0 2px 0 rgba(255,255,255,.6), inset 0 -3px 0 rgba(17,17,17,.16), 0 12px 20px -12px rgba(17,17,17,.55); transform:translateY(-3px)}
.truc-funde__punkte li.ist-gefunden svg{stroke:var(--ink)} .truc-funde__punkte li.ist-gefunden circle{fill:var(--ink)}
.truc-funde__alle{margin:0; font-family:var(--f-brand); text-transform:uppercase; font-size:1.15rem}
.truc-funde__hinweis{margin:0; color:var(--mute); font-size:.88rem}
.dreh{background:#fff; overflow:hidden}
.dreh__in{display:grid; gap:clamp(28px,4vw,56px); align-items:center}
@media (min-width:900px){ .dreh__in{grid-template-columns:minmax(0,1fr) minmax(0,520px)} }
.dreh__txt{display:grid; gap:16px; justify-items:start} .dreh__txt .lead{margin:0; max-width:32ch}
.dreh__buehne{display:grid; gap:20px; justify-items:center; min-width:0}
.dreh__teller{position:relative; width:min(100%, 460px); aspect-ratio:440 / 546; touch-action:pan-y; -webkit-user-select:none; user-select:none; -webkit-tap-highlight-color:transparent}
.dreh.mit-skript .dreh__teller{cursor:grab}
.dreh__teller.zieht{cursor:grabbing}
.dreh__teller:focus-visible{outline:3px solid var(--ink); outline-offset:8px; border-radius:28px}
.dreh__teller::before{content:""; position:absolute; left:4%; right:4%; bottom:-3.5%; height:10%; border-radius:50%; background:radial-gradient(closest-side, rgba(17,17,17,.3), rgba(17,17,17,.12) 55%, rgba(17,17,17,0)); pointer-events:none}
.dreh__sockel,.dreh__still,.dreh__figur{position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; pointer-events:none}
.dreh__figur{transition:opacity .3s}
.dreh.laedt .dreh__figur{opacity:.55}
.dreh.laedt .dreh__teller{cursor:progress}
.dreh__steuer{display:grid; gap:12px; justify-items:center}
.dreh__wahl{display:inline-flex; gap:4px; padding:5px; border-radius:999px; background:#fff; box-shadow:0 12px 30px -16px rgba(17,17,17,.4), 0 0 0 1px rgba(17,17,17,.1)}
.dreh__wahl button{min-height:46px; min-width:118px; padding:0 22px; border:0; border-radius:999px; background:transparent; color:var(--ink); font-family:var(--f-brand); font-weight:400; font-size:.86rem; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; transition:background-color .35s var(--ease-out), color .35s}
.dreh__wahl button[aria-pressed="true"]{background:var(--ink); color:#fff}
.dreh__wahl button[data-dreh-form="roboter"][aria-pressed="true"]{background:var(--yellow); color:var(--ink); box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.dreh__posen{display:flex; flex-wrap:wrap; justify-content:center; gap:8px}
.dreh__posen button{min-height:44px; padding:0 18px; border-radius:999px; border:1px solid var(--line-2); background:#fff; color:var(--ink); font:inherit; font-weight:600; font-size:.9rem; cursor:pointer; transition:background-color .25s, color .25s, border-color .25s}
.dreh__posen button[aria-pressed="true"]{background:var(--ink); color:#fff; border-color:var(--ink)}
.dreh__zeile{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:4px 16px; margin:0}
.dreh__pause{display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:0 6px; border:0; background:none; color:var(--ink); font-family:var(--f-mono); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; cursor:pointer}
.dreh__pause::before{content:""; width:10px; height:12px; box-sizing:border-box; border-left:3px solid currentColor; border-right:3px solid currentColor}
.dreh.ist-pause .dreh__pause::before{border:0; width:11px; background:currentColor; clip-path:polygon(0 0, 100% 50%, 0 100%)}
.dreh__tipp{font-family:var(--f-mono); font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:var(--mute)}
.dreh__status{margin:0; min-height:3em; max-width:36ch; color:var(--ink-2); font-size:.95rem; line-height:1.5; text-align:center}
.dreh button:focus-visible{outline:3px solid var(--ink); outline-offset:3px}
@media (hover:hover){ .dreh__posen button:hover{border-color:var(--ink)} .dreh__wahl button[aria-pressed="false"]:hover{background:var(--stone)} }
@media (max-width:420px){ .dreh__wahl button{min-width:104px; padding:0 16px} .dreh__posen button{padding:0 14px} }
@media (prefers-reduced-motion:reduce){ .truc-funde__punkte li,.dreh__figur,.dreh__wahl button{transition:none} }
@media (max-width:699px){
  :root{--gutter:clamp(20px,6.25vw,28px); --d-xxl:clamp(2.3rem,11.6vw,3.6rem); --d-xl:clamp(2rem,10.2vw,3.1rem); --d-l:clamp(1.6rem,8.1vw,2.5rem); --d-m:clamp(1.4rem,6.4vw,2rem)}
  .d{line-height:.96}
  .d-m{line-height:1}
}
@media (max-width:999px){
  h2.d,.legal h2{-webkit-hyphens:manual; hyphens:manual; overflow-wrap:break-word}
}
@media (max-width:699px){
  .split__txt,.door__txt,.ask__txt,.head,.phero__txt,.phero:not(.phero--split) .phero__in,.fehler__txt{gap:18px}
  :is(.split__txt,.door__txt,.ask__txt,.phero__txt,.fehler__txt) > .label + *{margin-top:-4px}
  :is(.split__txt,.door__txt) > :is(.checks,.door__dishes){margin-top:6px}
  :is(.split__txt,.door__txt,.ask__txt,.phero__txt,.phero__in,.fehler__txt) > :is(.btn,.knopfzeile,.ask__go,.door__go,.fehler__go,div:has(> .btn)){margin-top:14px}
}
@media (max-width:699px){
  .hero__act,.fehler__go,:is(.phero__txt,.phero__in) > div:has(> .btn + .btn){display:grid!important; grid-template-columns:minmax(0,max-content); gap:12px!important; justify-content:start}
  :is(.hero__act,.fehler__go,:is(.phero__txt,.phero__in) > div:has(> .btn + .btn)) > .btn{width:100%}
  .hero__in{gap:32px}
}
@media (max-width:699px){
  .steps li{grid-template-columns:44px minmax(0,1fr); column-gap:16px}
}
@media (max-width:699px){
  .door__logo{height:64px} .door--tiligo .door__logo{height:44px} .door--zuersti .door__logo{height:48px}
  .phero__logo{height:84px} .phero__logo[src*="tiligo"]{height:58px} .phero__logo[src*="zuersti"]{height:60px}
}
@media (max-width:699px){
  .faq summary{font-size:1.12rem; line-height:1.35}
}
@media (max-width:699px){
  .ftr__cols{grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"k c" "k m" "x x"; gap:30px 24px}
  .ftr__cols > div:nth-child(1){grid-area:k} .ftr__cols > div:nth-child(2){grid-area:c} .ftr__cols > div:nth-child(3){grid-area:m} .ftr__cols > div:nth-child(4){grid-area:x}
  .ftr__bottom{display:grid; gap:10px}
  .ftr__bottom > span{display:flex; flex-wrap:wrap; column-gap:16px}
  .ftr__bottom > span > .nw:first-of-type{flex-basis:100%}
  .ftr__pkt{display:none}
}
@media (max-width:699px){
  p .tl{display:inline; padding-top:0}
}
@media (max-width:699px){
  .hero .h1-kicker{font-size:.9rem; padding:6px 12px}
}
.zw-feld{position:relative}
input.inp.zw-echt{position:absolute!important; left:0; top:0; width:1px!important; height:1px!important; min-height:0!important; margin:0; padding:0!important; border:0!important; opacity:0; pointer-events:none; clip-path:inset(50%); overflow:hidden}
.zw-knopf{display:flex; align-items:center; gap:12px; height:58px; padding:0 15px 0 16px; text-align:left; line-height:1.25; cursor:pointer; -webkit-appearance:none; appearance:none; -webkit-tap-highlight-color:transparent}
.zw-wert{flex:1 1 0; width:0; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis}
.zw-wert.ist-leer{color:var(--mute)}
.zw-wert .zw-t2,.zw-wert .zw-t3,.zw-wert.zw-s2 .zw-t1,.zw-wert.zw-s3 .zw-t1,.zw-wert.zw-s3 .zw-t2{display:none}
.zw-wert.zw-s2 .zw-t2,.zw-wert.zw-s3 .zw-t3{display:inline}
.zw-knopf__icon{flex:none; width:20px; height:20px; transition:transform .35s var(--ease-out)}
@media (hover:hover){ .zw-knopf:hover{border-color:var(--ink)} .zw-knopf:hover .zw-knopf__icon{transform:scale(1.1)} }
.zw-knopf[aria-expanded="true"]{border-color:var(--ink); box-shadow:0 0 0 5px rgba(255,199,0,.45)}
.zw{position:absolute; z-index:58; left:0; top:0; width:348px; max-width:calc(100vw - 24px); padding:14px 16px 12px; background:#fff; color:var(--ink); border-radius:22px;
  box-shadow:0 0 0 1px rgba(17,17,17,.08), 0 30px 64px -20px rgba(17,17,17,.4), 0 10px 22px -12px rgba(17,17,17,.2);
  opacity:0; transform:translateY(-8px) scale(.98); transform-origin:28px 0; transition:opacity .18s ease, transform .26s var(--ease-out); -webkit-tap-highlight-color:transparent}
.zw:not(.ist-offen){pointer-events:none}
.zw.ist-offen{opacity:1; transform:none}
.zw:focus{outline:0}
.zw--rechts{transform-origin:calc(100% - 28px) 0}
.zw--zeit{width:392px}
.zw__griff,.zw__kopf{display:none}
:where(.zw) button{color:var(--ink); -webkit-tap-highlight-color:transparent}
.zw button:focus-visible{outline:2px solid var(--ink); outline-offset:2px; box-shadow:0 0 0 5px #fff}
.zw-kal__nav{display:flex; align-items:center; gap:2px; margin:0 0 4px}
.zw-kal__titel{display:inline-flex; align-items:center; gap:6px; min-height:44px; margin:0 auto 0 -6px; padding:0 12px 0 10px; border:0; border-radius:999px; background:none; cursor:pointer;
  font-family:var(--f-brand); font-size:1.02rem; letter-spacing:.01em; text-transform:uppercase; transition:background-color .2s}
.zw-kal__titel svg{width:16px; height:16px; transition:transform .3s var(--ease-out)}
.zw-kal__titel[aria-expanded="true"] svg{transform:rotate(180deg)}
.zw-kal__pfeil{display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:none; cursor:pointer; transition:background-color .2s, opacity .2s}
.zw-kal__pfeil svg{width:20px; height:20px}
.zw-kal__pfeil[aria-disabled="true"]{opacity:.25; cursor:default}
@media (hover:hover){ .zw-kal__titel:hover,.zw-kal__pfeil:hover:not([aria-disabled="true"]){background:var(--stone)} }
.zw--monate .zw-kal__pfeil{display:none}
.zw-kal__koerper{position:relative}
.zw-kal__tab{width:100%; border-collapse:collapse; border-spacing:0; table-layout:fixed}
.zw-kal__tab th{padding:2px 0 6px; font-size:.74rem; font-weight:600; letter-spacing:.04em; color:var(--mute); text-align:center}
.zw-kal__tab td{height:46px; padding:0; text-align:center; vertical-align:middle}
.zw-tag{position:relative; display:inline-grid; place-items:center; width:100%; max-width:42px; aspect-ratio:1; height:auto; padding:0; border:0; border-radius:50%; background:none; cursor:pointer;
  font-size:.98rem; font-weight:600; font-variant-numeric:tabular-nums; line-height:1; transition:background-color .18s, box-shadow .18s, transform .18s var(--ease-out)}
@media (hover:hover){ .zw-tag:not(:disabled):not(.ist-gewaehlt):hover{box-shadow:inset 0 0 0 1.5px var(--ink)} }
.zw-tag:active:not(:disabled){transform:scale(.92)}
.zw-tag:disabled{color:#AEB2B7; font-weight:500; cursor:default}
.zw-tag.ist-heute::after{content:""; position:absolute; left:50%; bottom:5px; width:5px; height:5px; margin-left:-2.5px; border-radius:50%; background:var(--ink)}
.zw-tag.ist-gewaehlt{background:var(--yellow); box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 6px 14px -6px rgba(17,17,17,.5)}
.zw-tag.ist-neu{animation:zwPop .34s cubic-bezier(.3,1.6,.5,1)}
@keyframes zwPop{0%{transform:scale(.82)}60%{transform:scale(1.08)}100%{transform:none}}
.zw-kal__tab tbody.zw-rein-vor{animation:zwVor .28s var(--ease-out)}
.zw-kal__tab tbody.zw-rein-zurueck{animation:zwZurueck .28s var(--ease-out)}
@keyframes zwVor{from{opacity:0; transform:translateX(18px)}}
@keyframes zwZurueck{from{opacity:0; transform:translateX(-18px)}}
.zw-kal__monate{position:absolute; inset:0; display:grid; align-content:start; gap:16px; padding-top:6px; background:#fff; animation:zwAuf .22s var(--ease-out)}
@keyframes zwAuf{from{opacity:0; transform:translateY(-6px)}}
.zw-kal__jahre{display:flex; flex-wrap:wrap; gap:6px}
.zw-kal__mgrid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px}
.zw-jahr,.zw-mon{min-height:44px; padding:0 14px; border:0; border-radius:999px; background:none; box-shadow:inset 0 0 0 1px var(--line-2); cursor:pointer;
  font-size:.92rem; font-weight:600; transition:background-color .18s, box-shadow .18s, color .18s}
.zw-mon{padding:0 6px}
.zw-jahr[aria-pressed="true"],.zw-mon[aria-pressed="true"]{background:var(--ink); color:#fff; box-shadow:none}
.zw-mon:disabled{color:#AEB2B7; box-shadow:none; cursor:default}
@media (hover:hover){ .zw-jahr:hover:not([aria-pressed="true"]),.zw-mon:hover:not(:disabled):not([aria-pressed="true"]){box-shadow:inset 0 0 0 1.5px var(--ink)} }
.zw-zeit{display:grid; gap:12px}
.zw-zeit__anzeige{display:flex; align-items:baseline; gap:8px; margin:2px 0 0; font-weight:600; color:var(--ink-2)}
.zw-zeit__anzeige b{font-family:var(--f-brand); font-weight:400; font-size:2rem; line-height:1; letter-spacing:.01em; color:var(--ink); font-variant-numeric:tabular-nums}
.zw-zeit__anzeige.ist-leer b{color:var(--line-2)}
.zw-zeit__block{display:grid; gap:6px}
.zw-zeit__ueber{margin:0; font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--mute)}
.zw-zeit__std{display:grid; gap:6px}
.zw-zeit__reihe{display:grid; grid-template-columns:52px repeat(6,minmax(0,1fr)); gap:6px; align-items:center}
.zw-zeit__tz{font-size:.7rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--mute); white-space:nowrap}
.zw-std,.zw-min{min-width:0; height:44px; padding:0; border:0; border-radius:999px; background:none; box-shadow:inset 0 0 0 1px var(--line-2); cursor:pointer;
  font-size:.95rem; font-weight:600; font-variant-numeric:tabular-nums; transition:background-color .18s, box-shadow .18s, transform .18s var(--ease-out)}
.zw-zeit__min{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px}
@media (hover:hover){ .zw-std:hover:not([aria-pressed="true"]),.zw-min:hover:not([aria-pressed="true"]){box-shadow:inset 0 0 0 1.5px var(--ink)} }
.zw-std:active,.zw-min:active{transform:scale(.94)}
.zw-std[aria-pressed="true"],.zw-min[aria-pressed="true"]{background:var(--yellow); box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 6px 14px -6px rgba(17,17,17,.5)}
.zw-zeit__fuss{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:2px}
.zw-zeit__leer{min-height:44px; padding:0 4px; white-space:nowrap; border:0; background:none; cursor:pointer; font-weight:600; font-size:.92rem; color:var(--ink-2);
  text-decoration:underline; text-decoration-color:var(--yellow); text-decoration-thickness:2px; text-underline-offset:4px}
.zw-zeit__ok{min-height:46px}
html.zw-blatt-offen{overflow:hidden}
html.zw-offen .mbar{transform:translateY(130%)}
.zw-schleier{position:fixed; inset:0; z-index:400; background:rgba(17,17,17,.45); opacity:0; transition:opacity .3s ease; -webkit-tap-highlight-color:transparent}
.zw-schleier.ist-offen{opacity:1}
.zw.zw--blatt{position:fixed; z-index:410; left:0; right:0; top:auto; bottom:0; width:auto; max-width:none; max-height:calc(100% - 20px - env(safe-area-inset-top,0px)); overflow-y:auto; overscroll-behavior:contain;
  padding:8px max(18px, env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(18px, env(safe-area-inset-left,0px));
  border-radius:24px 24px 0 0; box-shadow:0 -24px 60px -24px rgba(17,17,17,.5); opacity:1; transform:translateY(100%); transition:transform .28s cubic-bezier(.4,0,1,1)}
.zw.zw--blatt.ist-offen{transform:none; transition:transform .44s cubic-bezier(.32,.72,0,1)}
.zw.zw--blatt.zw--zieht{transition:none}
.zw--blatt .zw__griff{display:block; width:40px; height:5px; margin:0 auto 8px; border-radius:3px; background:var(--line-2)}
.zw--blatt .zw__kopf{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin:0 0 10px; touch-action:none}
.zw__titel{margin:0; padding-top:10px; font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:1.05rem; line-height:1.1; letter-spacing:.01em}
.zw__unter{margin:6px 0 0; font-size:.88rem; color:var(--mute)}
.zw__zu{flex:none; display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:none; box-shadow:inset 0 0 0 1px var(--line-2); cursor:pointer}
.zw__zu svg{width:20px; height:20px}
.zw--blatt .zw-kal__tab td{height:52px}
.zw--blatt .zw-tag{max-width:46px; font-size:1.05rem}
.zw--blatt .zw-std,.zw--blatt .zw-min{height:48px}
.zw--blatt .zw-zeit__fuss{padding-top:4px}
@media (min-width:600px){ .zw.zw--blatt{left:50%; right:auto; width:min(560px, 100%); translate:-50% 0} }
@media (max-width:359px){ .zw-zeit__reihe{grid-template-columns:repeat(6,minmax(0,1fr)); row-gap:2px} .zw-zeit__tz{grid-column:1/-1} }
@media (max-height:500px){
  .zw.zw--blatt{padding-top:12px; max-height:calc(100% - 8px - env(safe-area-inset-top,0px))}
  .zw.zw--blatt{width:min(680px, calc(100% - 2*max(12px, env(safe-area-inset-left,0px), env(safe-area-inset-right,0px))))}
  .zw--blatt .zw__griff{display:none}
  .zw--blatt.zw--datum{display:grid; grid-template-columns:240px minmax(0,1fr); grid-template-rows:auto 1fr; column-gap:20px; align-items:start}
  .zw--blatt.zw--datum .zw__kopf{grid-column:1; grid-row:1; margin-bottom:6px}
  .zw--blatt.zw--datum .zw-kal{display:contents}
  .zw--blatt.zw--datum .zw-kal__nav{grid-column:1; grid-row:2; align-self:start; display:grid; grid-template-columns:44px 44px minmax(0,1fr); gap:4px 8px}
  .zw--blatt.zw--datum .zw-kal__titel{grid-column:1 / -1; justify-self:start; margin:0 0 0 -6px; white-space:nowrap}
  .zw--blatt.zw--datum .zw-kal__koerper{grid-column:2; grid-row:1 / span 2}
  .zw--blatt .zw-kal__tab td{height:40px} .zw--blatt .zw-tag{max-width:40px}
  .zw--blatt .zw__titel{font-size:.95rem}
  .zw--blatt.zw--zeit .zw__kopf{margin-bottom:4px}
  .zw--blatt .zw-zeit{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); grid-template-areas:"std anz" "std min" "std fuss"; column-gap:22px; row-gap:10px; align-items:start}
  .zw--blatt .zw-zeit__anzeige{grid-area:anz} .zw--blatt .zw-zeit__block--std{grid-area:std} .zw--blatt .zw-zeit__block--min{grid-area:min} .zw--blatt .zw-zeit__fuss{grid-area:fuss}
  .zw--blatt .zw-std,.zw--blatt .zw-min{height:40px}
}
@media (prefers-reduced-motion:reduce){
  .zw,.zw.ist-offen,.zw.zw--blatt,.zw.zw--blatt.ist-offen{transform:none; transition:opacity .12s linear}
  .zw.zw--blatt{opacity:0} .zw.zw--blatt.ist-offen{opacity:1}
  .zw-kal__tab tbody,.zw-kal__monate,.zw-tag.ist-neu{animation:none!important}
  .zw-tag,.zw-std,.zw-min,.zw-knopf__icon,.zw-kal__titel svg{transition:none}
}
@media print{ .zw,.zw-schleier{display:none!important} }
@media (max-width:699px) and (orientation:portrait){
  .phero:not(.phero--split):not(.phero--light) .phero__media{bottom:auto; height:min(60svh,100%); -webkit-mask-image:linear-gradient(#000 62%,transparent); mask-image:linear-gradient(#000 62%,transparent)}
  .phero__media img[src*="burger-mit-pommes-fertig"]{object-position:42% 50%!important}
  .phero__media img[src*="sandburg-linz-05"]{object-position:20% 45%!important}
}
@media (max-width:699px){ .dishgrid--small .dishcard__img img,.dishgrid--small .dishcard__img--wort{aspect-ratio:5/4} }
@media (max-height:500px) and (orientation:landscape){
  .split__img img,.extras-mit-bild .split__img img{aspect-ratio:16/10!important; width:min(100%, calc((100svh - 40px) * 1.6)); margin-inline:auto}
  .door__img{width:min(100%, calc((100svh - 40px) * 16 / 9)); margin-inline:auto}
  .full--ganz{max-width:calc((100svh - 32px) * 1.5); margin-inline:auto}
  .arch{max-width:min(460px, calc((100svh - 64px) * .8))}
  .strip{grid-auto-columns:min(42%, calc((100svh - 72px) * .75))}
}
@media (max-height:500px) and (orientation:landscape) and (min-width:560px) and (max-width:699px){
  .dishgrid,.dishgrid--3{grid-template-columns:repeat(2,minmax(0,1fr))} .dishgrid--small{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dishgrid--small .dishcard__img img,.dishgrid--small .dishcard__img--wort{aspect-ratio:1}
}
@media (max-height:500px) and (orientation:landscape) and (min-width:560px) and (max-width:999px){
  .bdlg__karte{grid-template-columns:minmax(0,5fr) minmax(0,6fr); overflow:hidden}
  .bdlg__bild{height:auto; min-height:0}
  .bdlg__txt{max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain}
}
.js-mitbring:not(.im-bild) .mitbring__sticker{animation:none}
.mitbring.angehalten .mitbring__sticker{animation-play-state:paused}
@keyframes mbSchwebenK{0%,100%{translate:0 0} 50%{translate:0 -4px}}
@media (max-width:699px), (max-height:500px) and (orientation:landscape) and (max-width:1099px){
  .mitbring__buehne{display:block; position:relative; width:min(100%,440px); padding:0 6%; justify-self:center}
  .mitbring__foto{margin:0}
  .mitbring__foto img{aspect-ratio:4/5}
  .mitbring__sticker{position:absolute; left:auto; right:auto; top:var(--my); transform:rotate(var(--mr)); gap:8px; padding:7px 13px 7px 7px; font-size:.78rem; animation:none}
  .js-mitbring.im-bild .mitbring__sticker{animation:mbSchwebenK 4.8s ease-in-out var(--d) 1}
  .mitbring__icon{width:30px; height:30px; padding:6px}
  .mitbring__sticker[data-i="0"]{--my:-2%; --mr:-3deg; left:0}
  .mitbring__sticker[data-i="1"]{--my:15.5%; --mr:2deg; right:0}
  .mitbring__sticker[data-i="2"]{--my:33%; --mr:2deg; left:0}
  .mitbring__sticker[data-i="3"]{--my:50.5%; --mr:-2deg; right:0}
  .mitbring__sticker[data-i="4"]{--my:68%; --mr:2deg; left:0}
  .mitbring__sticker[data-i="5"]{--my:85.5%; --mr:-2deg; right:0}
}
@media (max-width:359px), (max-height:500px) and (orientation:landscape) and (max-width:1099px){
  .mitbring__sticker{padding:5px 12px 5px 5px; font-size:.74rem}
  .mitbring__buehne .mitbring__sticker{transform:rotate(calc(var(--mr) * .5))}
  .mitbring__sticker::after{content:""; position:absolute; inset:-3px 0}
  .mitbring__icon{width:28px; height:28px; padding:5px}
}
@media (max-width:359px){ .mitbring__foto img{aspect-ratio:3/4} }
@media (max-height:500px) and (orientation:landscape) and (max-width:1099px){
  .mitbring{grid-template-columns:minmax(0,5fr) minmax(0,6fr); column-gap:clamp(24px,4vw,48px)}
  .mitbring__buehne{width:min(100%, calc((100svh - 48px) / 1.1))}
}
@media (hover:none){
  .katband.ist-offen .katband__hefte img{transform:translate(calc(-50% + (var(--i) - 2) * 46%), calc(-50% - 4%)) rotate(calc((var(--i) - 2) * 8deg))}
}
@media (hover:none) and (max-width:599px){ .katband.ist-offen .katband__hefte img{transform:translate(calc(-50% + (var(--i) - 2) * 30%), calc(-50% - 4%)) rotate(calc((var(--i) - 2) * 7deg))} }
@media (hover:none) and (max-width:374px){ .katband.ist-offen .katband__hefte img{transform:translate(calc(-50% + (var(--i) - 2) * 21%), calc(-50% - 3%)) rotate(calc((var(--i) - 2) * 6deg))} }
@media (max-width:899px){
  .katband{grid-template-columns:minmax(0,1fr)}
  .katband__txt{container-type:inline-size; min-width:0}
  .katband__txt .d{font-size:min(var(--d-l), 9.4cqi)}
}
@media (max-width:699px){
  .belt{position:relative}
  .belt .belt__pause{position:absolute; right:var(--gutter); bottom:0; display:grid; place-items:center; width:44px; min-width:44px; height:44px; min-height:44px; padding:0; border-radius:50%; font-size:0; line-height:0}
  .belt .belt__pause::before{content:""; position:absolute; inset:0; margin:auto; width:12px; height:14px; box-sizing:border-box; border-inline:4px solid var(--ink)}
  .belt.is-paused .belt__pause::before{width:0; height:0; border-style:solid; border-width:7px 0 7px 12px; border-color:transparent transparent transparent var(--ink); translate:2px 0}
}
.bdlg__karte:focus{outline:none}
@media (max-width:699px){ .figur--zutaten{right:136px} }
@media (min-width:700px) and (max-width:999px){ .kz-fan{margin-top:clamp(76px, 9.4vw, 96px)} }
@media (max-width:699px){ .kz-fan{margin-top:72px} }
#konzepte{overflow-x:clip}
.shutter{position:absolute}
.shutter.is-down{position:fixed}
.bdlg__cta{text-align:center; text-wrap:balance}
@media (max-width:699px), (max-height:500px) and (orientation:landscape) and (max-width:999px){
  .bdlg__cta{align-self:stretch; line-height:1.25; padding-block:10px}
}
@media (min-width:1000px){
  .bdlg--lang .bdlg__cta{position:sticky; bottom:0; z-index:2; align-self:stretch; margin-top:24px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.20), inset 0 -1px 0 rgba(0,0,0,.55), 0 0 0 1px rgba(17,17,17,.9), 0 1px 1px rgba(17,17,17,.18), 0 8px 18px -10px rgba(17,17,17,.6),
      0 0 0 12px #fff, 0 30px 0 22px #fff, 0 -12px 14px 4px #fff}
}
.schicht{border-bottom:0}
.schicht__name{padding-block:4px}
@media (max-height:500px){
  .zw--blatt{--zw-zeile:clamp(32px, calc((100svh - 69px - env(safe-area-inset-bottom,0px)) / 6), 40px)}
  .zw--blatt .zw-kal__tab td{height:var(--zw-zeile)} .zw--blatt .zw-tag{max-width:var(--zw-zeile)}
}
.legal a[href^="mailto:"], .legal a[href^="http"]{-webkit-hyphens:manual; hyphens:manual}
.katband__hefte img{object-fit:cover}
.europa__karte{-webkit-mask-image:none; mask-image:none}
.ortereg{margin-top:clamp(44px,5.5vw,80px)}
.ortereg summary{display:inline-flex; align-items:center; gap:14px; max-width:100%; min-height:44px; cursor:pointer; list-style:none; font-weight:600; font-size:1.02rem; line-height:1.3; color:var(--ink)}
.ortereg summary::-webkit-details-marker{display:none}
.ortereg summary:focus-visible{outline:3px solid var(--ink); outline-offset:4px; border-radius:12px}
.ortereg__knopf{position:relative; flex:none; width:38px; height:38px; border-radius:50%; background:var(--card); transition:transform .35s var(--ease), background-color .3s}
.ortereg__knopf::before,.ortereg__knopf::after{content:""; position:absolute; left:50%; top:50%; width:14px; height:2px; margin:-1px 0 0 -7px; border-radius:2px; background:var(--ink)}
.ortereg__knopf::after{transform:rotate(90deg)}
.ortereg[open] .ortereg__knopf{transform:rotate(45deg); background:var(--accent)}
@media (hover:hover){ .ortereg summary:hover .ortereg__knopf{background:var(--accent)} }
.ortereg__txt{display:grid; gap:3px}
.ortereg__txt small{font-family:var(--f-mono); font-size:.7rem; font-weight:400; letter-spacing:.06em; text-transform:uppercase; color:var(--mute)}
.ortereg__inhalt{display:grid; grid-template-columns:minmax(0,1fr); gap:36px 48px; padding:34px 0 4px}
@media (min-width:700px){ .ortereg__inhalt{grid-template-columns:repeat(3,minmax(0,1fr))} .ortereg__land:first-child,.ortereg__fuss{grid-column:1 / -1} }
.ortereg__titel{display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; margin:0 0 12px; font-family:var(--f-brand); font-weight:400; text-transform:uppercase; font-size:clamp(1.05rem,.92rem + .45vw,1.3rem); line-height:1.18}
.ortereg__titel span{text-decoration:underline var(--mark); text-decoration-thickness:.36em; text-underline-offset:-.24em; text-decoration-skip-ink:none}
.ortereg__titel small{font-family:var(--f-mono); font-size:.7rem; letter-spacing:.06em; color:var(--mute)}
.ortereg ul{list-style:none; margin:0; padding:0; columns:2; column-gap:20px}
@media (min-width:700px){ .ortereg ul{columns:11rem; column-gap:28px} }
.ortereg li{break-inside:avoid; padding:3px 0; font-size:1rem; line-height:1.45; color:var(--ink-2)}
.ortereg li::before{content:none}
.ortereg__fuss{margin:0; max-width:62ch; font-size:.98rem; line-height:1.55; color:var(--ink-2)}
.orte-link{margin:clamp(28px,3.5vw,44px) 0 0}
@media (max-width:599px){
  .hefte__raster{gap:clamp(56px,15vw,72px)}
  .heft-karte{grid-template-columns:minmax(0,1fr); gap:24px}
  .heft-karte__cover{width:min(66%,260px); margin-inline:auto; padding:0 3% 0 0}
  .heft-karte__txt{width:100%; gap:10px}
  .heft-karte__name{font-size:clamp(1.6rem,7.4vw,2rem)}
  .heft-karte__zitat{font-size:1.1rem}
  .heft-karte__txt p{font-size:1rem; line-height:1.55}
  .heft-karte__knoepfe{width:100%; margin-top:10px}
  .heft-karte__knoepfe .btn{width:100%; padding-inline:20px}
}
.albumansicht__kopf{top:calc(-1 * var(--kopf-weg, 0px)); background:var(--stone)}
.albumansicht__kopf > .albumansicht__zu{position:sticky; top:calc(12px + env(safe-area-inset-top,0px))}
.albumansicht__kopf--klein{top:0; padding-top:calc(12px + env(safe-area-inset-top,0px)); padding-bottom:12px}
.albumansicht__kopf--klein + .albumansicht__text:not([hidden]),
.albumansicht__kopf--klein + .albumansicht__text[hidden] + .albumansicht__raster{margin-top:var(--kopf-weg, 0px)}
.albumansicht__kopf--klein::after{content:""; position:absolute; left:0; right:0; top:100%; height:28px; background:linear-gradient(var(--stone), rgba(243,244,245,0)); pointer-events:none}
.albumansicht__kopf--klein .album2__meta{display:none}
.albumansicht__kopf--klein .albumansicht__titel{display:block}
.albumansicht__kopf--klein #albumTitel{font-size:clamp(1.15rem, .9rem + 1.1vw, 1.75rem); line-height:1.1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.albumansicht__kopf--klein > .albumansicht__zu{position:static; width:48px; height:48px; font-size:28px}
.sec--yellow{--card:#fff}
.sec--yellow .checks{display:grid; grid-template-columns:minmax(0,1fr); gap:clamp(14px,1.4vw,20px); max-width:52ch}
.sec--yellow .checks li{display:flex; align-items:flex-start; gap:14px; padding:0; background:none; border-radius:0; line-height:1.45}
.sec--yellow .checks li::before{width:26px; height:26px; margin-top:calc(.725em - 13px); background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFC700' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat}
.mitbring .mitbring__pause{justify-self:start; margin-top:-4px; white-space:nowrap}
@media (max-width:699px){
  .js-mitbring .mitbring__text{grid-template-columns:minmax(0,1fr) auto; column-gap:6px}
  .js-mitbring .mitbring__item{grid-column:1 / -1}
  .mitbring .mitbring__pause{grid-area:2 / 2; justify-self:end; align-self:center; position:relative; display:grid; place-items:center; width:44px; min-width:44px; height:44px; min-height:44px; margin:0; padding:0; border-radius:50%; font-size:0; line-height:0}
  .mitbring .mitbring__pause::before{content:""; position:absolute; inset:0; margin:auto; width:12px; height:14px; box-sizing:border-box; border-inline:4px solid var(--ink)}
  .mitbring .mitbring__pause[aria-pressed="true"]::before{width:0; height:0; border-style:solid; border-width:7px 0 7px 12px; border-color:transparent transparent transparent var(--ink); translate:2px 0}
}
@media (max-width:358px){
  .js-mitbring .mitbring__text{grid-template-columns:minmax(0,1fr)}
  .mitbring .mitbring__pause{grid-area:3 / 1; justify-self:start; margin-top:-6px}
}
@media (min-width:1000px){
  .phero::after{background:radial-gradient(ellipse 58% 60% at 24% 66%,rgba(0,0,0,.42),rgba(0,0,0,.34) 50%,rgba(0,0,0,.12) 80%,rgba(0,0,0,0)),linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.1) 34%,rgba(0,0,0,.08) 55%,rgba(0,0,0,.72))}
}
