
:root{--return-h:34px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--return-h) + 5.5rem)}
body{margin:0;background:#F6F3EE;color:#1E2326;line-height:1.55;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
img,svg,picture{display:block;max-width:100%} img{height:auto} h1,h2,h3,p,ul,ol,dl,figure{margin:0} ul,ol{padding:0;list-style:none} address{font-style:normal}
a{color:inherit} button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid #2F5061;outline-offset:3px;border-radius:6px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(1120px,100% - 2*clamp(16px,4vw,48px));margin-inline:auto}
/* Rückleiste zur Unternehmenswebsite: schmal, sticky, über dem Demo-Header */
.return{position:sticky;top:0;z-index:45;display:flex;align-items:center;justify-content:space-between;gap:6px 16px;min-height:var(--return-h);padding:0 clamp(12px,3vw,24px);background:#14171B;color:#F3F1EB;font:500 12.5px/1.2 system-ui,sans-serif;letter-spacing:.01em}
.return a{color:#F3F1EB;text-decoration:none;display:inline-flex;align-items:center;gap:.45em;white-space:nowrap;padding:7px 0;min-height:var(--return-h)} .return a svg{width:1em;height:1em;flex:none;transition:transform .15s} .return a:hover{text-decoration:underline;color:#fff} .return a:hover svg{transform:translateX(-3px)}
.return .ask{color:#E5C07A} @media(max-width:379px){.return .ask{display:none}}
.nav-toggle{display:none;align-items:center;gap:.5rem;padding:.5rem .8rem;border-radius:999px;border:1.5px solid currentColor;background:transparent;cursor:pointer;font:600 14px system-ui,sans-serif;white-space:nowrap;flex:none}
.nav-toggle .bars{width:18px;height:12px;position:relative;display:block} .nav-toggle .bars::before,.nav-toggle .bars::after{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,top .2s} .nav-toggle .bars::before{top:0} .nav-toggle .bars::after{top:10px}
.nav-toggle[aria-expanded="true"] .bars::before{top:5px;transform:rotate(45deg)} .nav-toggle[aria-expanded="true"] .bars::after{top:5px;transform:rotate(-45deg)}
.hours__status{font-weight:600;margin-bottom:.6em;min-height:1.4em} .hours__status:empty{display:none} .hours__status[data-open="true"]::before,.hours__status[data-open="false"]::before{content:"";display:inline-block;width:.6em;height:.6em;border-radius:50%;margin-right:.45em;background:#3E8E5B;vertical-align:baseline} .hours__status[data-open="false"]::before{background:#B3462E}
.hours__table{border-collapse:collapse;width:100%} .hours__table th,.hours__table td{text-align:left;padding:.45em 0;border-bottom:1px solid #D9D4CB;font-weight:400;vertical-align:top} .hours__table th{white-space:nowrap;padding-right:.8em} .hours__table td{text-align:right;white-space:nowrap;font-weight:600} @media(max-width:359px){.hours__table th{white-space:normal}} .hours__table tr.is-today th,.hours__table tr.is-today td{font-weight:700} .hours__table tr.is-today th::after{content:" · heute";font-weight:400;opacity:.7;font-size:.85em}
.hours__note{margin-top:.8em;font-size:.92em;color:#5A6165}
.filter{margin:1.5em 0 2em} .filter__row{display:flex;flex-wrap:wrap;gap:.5rem} .filter__btn{padding:.5em 1em;border-radius:999px;border:1.5px solid #D9D4CB;background:transparent;cursor:pointer;font:600 .92em system-ui,sans-serif;transition:background .15s,color .15s,border-color .15s} .filter__btn:hover{border-color:currentColor} .filter__btn[aria-pressed="true"]{background:#1E2326;color:#F6F3EE;border-color:#1E2326}
.filter__veg{display:inline-flex;align-items:center;gap:.5em;margin-top:.9em;font:500 .95em system-ui,sans-serif;cursor:pointer} .filter__veg input{width:1.1em;height:1.1em;accent-color:#2F5061}
.filter__empty{margin-top:.8em;font-size:.95em;opacity:.8}
.js-only{display:none} .js .js-only{display:block}
[data-group][hidden],[data-item][hidden]{display:none!important}
.demo-form form{display:grid;gap:1em;min-width:0} .demo-form .f{display:grid;gap:.3em;font:600 .9em system-ui,sans-serif} .demo-form input,.demo-form textarea{width:100%;min-width:0;padding:.7em .8em;border:1.5px solid #D9D4CB;border-radius:8px;background:#fff;font-weight:400} .demo-form input:focus,.demo-form textarea:focus{outline:none;border-color:#2F5061;box-shadow:0 0 0 3px #2F506133} .demo-form textarea{resize:vertical}
.demo-form button{padding:.75em 1.4em;border-radius:999px;border:0;background:#1E2326;color:#F6F3EE;font:600 .95em system-ui,sans-serif;width:max-content;cursor:pointer;transition:background .15s} .demo-form button:hover{background:#2F5061;color:#fff}
.demo-form__sent{padding:.8em 1em;border-radius:10px;background:#1E232612;font:500 .92em/1.5 system-ui,sans-serif} .demo-form__sent[hidden]{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto} *,*::before,*::after{transition:none!important;animation:none!important}}

body{font-family:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-size:clamp(16px,1.05vw,18px)}
.skip{position:absolute;left:1rem;top:-100px;padding:.5rem .9rem;background:#2F5061;color:#fff;border-radius:6px;z-index:100} .skip:focus{top:.5rem}
.header{position:sticky;top:var(--return-h);z-index:40;background:#F6F3EEF2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid #D9D4CB}
.header .wrap{display:flex;align-items:center;gap:.9rem;min-height:4.5rem}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.1;margin-right:auto;min-width:0} .brand b{font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-weight:500;font-size:1.35em;letter-spacing:-.01em;white-space:nowrap} .brand small{font:500 11px system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#5A6165;margin-top:.2em;white-space:nowrap}
.nav ul{display:flex;gap:.2rem} .nav__link{display:inline-block;padding:.55rem .9rem;border-radius:999px;text-decoration:none;font-weight:500;font-size:.92em;transition:background .15s,color .15s} .nav__link:hover{background:#ECE8E1} .nav__link[aria-current="page"]{background:#E3EBEF;color:#2F5061;font-weight:600}
.tel{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-radius:999px;border:1.5px solid #2F5061;color:#2F5061;font-weight:600;font-size:.92em;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s} .tel svg{width:1.05em;height:1.05em} .tel:hover{background:#2F5061;color:#fff}
@media(max-width:860px){.nav-toggle{display:inline-flex;border-color:#D9D4CB} .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#F6F3EE;border-bottom:1px solid #D9D4CB;box-shadow:0 20px 40px -30px rgba(0,0,0,.35)} .nav[data-open="true"]{display:block} .no-js .nav{display:block;position:static;box-shadow:none;border:0} .nav ul{flex-direction:column;padding:.75rem clamp(16px,4vw,48px) 1.25rem;gap:.15rem} .nav__link{display:block;padding:.8rem .8rem;border-radius:8px;font-size:1em} .no-js .header .wrap{flex-wrap:wrap;padding-block:.75rem} .no-js .nav{width:100%;order:5} .no-js .nav ul{flex-direction:row;flex-wrap:wrap;padding:0 0 .5rem}}
@media(max-width:560px){.tel .txt{display:none} .tel{padding:.55rem .65rem} .brand small{display:none}}
.hero{display:grid;gap:2rem;padding:clamp(32px,5vw,72px) 0 clamp(28px,4vw,48px);align-items:center} @media(min-width:900px){.hero{grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px)}}
.eyebrow{font:600 .78em system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#2F5061}
h1{font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:clamp(34px,5vw,64px);line-height:1.04;letter-spacing:-.015em;font-weight:500;max-width:16ch;text-wrap:balance;margin-top:.5em}
.sub{color:#5A6165;font-size:1.08em;max-width:44ch;margin-top:1em;text-wrap:pretty}
.actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.6em}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8em 1.5em;border-radius:999px;font-weight:600;font-size:.95em;text-decoration:none;background:#2F5061;color:#fff;transition:background .15s} .btn:hover{background:#1C2E37} .btn svg{width:1.05em;height:1.05em}
.btn.ghost{background:transparent;color:#1E2326;border:1.5px solid #1E2326} .btn.ghost:hover{background:#ECE8E1}
.hero .pic{position:relative} .hero picture{border-radius:20px;overflow:hidden;aspect-ratio:4/5;background:#ECE8E1;box-shadow:0 30px 60px -40px rgba(0,0,0,.45)} .hero img{width:100%;height:100%;object-fit:cover} @media(min-width:900px){.hero picture{aspect-ratio:5/6}}
.today{position:absolute;left:1rem;bottom:1rem;right:1rem;max-width:22rem;background:#fff;border-radius:12px;padding:.75rem 1rem;font:600 .88em/1.35 system-ui,sans-serif;box-shadow:0 12px 30px -18px rgba(0,0,0,.45)} .today .hours__status{margin:0;min-height:0} .today .hours__status:empty+small{display:block} .today .hours__status:not(:empty)+small{display:none} .today small{font-weight:500;color:#5A6165}
section{padding:clamp(40px,6vw,80px) 0} section.tight{padding-top:0}
h2.t{font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:clamp(26px,3.2vw,40px);letter-spacing:-.015em;font-weight:500;margin-bottom:.35em;text-wrap:balance}
.lead{color:#5A6165;max-width:52ch;margin-bottom:1.6em}
.points{display:grid;gap:1.25rem;border-top:1px solid #D9D4CB;border-bottom:1px solid #D9D4CB;padding:clamp(20px,3vw,32px) 0} @media(min-width:700px){.points{grid-template-columns:repeat(3,1fr);gap:2.5rem}}
.points b{display:block;font:600 .78em system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#2F5061;margin-bottom:.45em} .points p{color:#5A6165;font-size:.97em}
.card{background:#fff;border:1px solid #D9D4CB;border-radius:18px;padding:clamp(18px,3vw,28px)}
.table{width:100%;border-collapse:collapse} .table th,.table td{padding:.8em 0;border-bottom:1px solid #D9D4CB;text-align:left;vertical-align:baseline} .table tbody tr:last-child th,.table tbody tr:last-child td{border-bottom:0} .table th{font-weight:500} .table td.dur{color:#5A6165;white-space:nowrap;text-align:center;width:6rem;font-size:.95em} .table td.price{text-align:right;font-weight:600;white-space:nowrap;width:5rem;font-variant-numeric:tabular-nums}
.group{margin-top:1.75em} .group:first-of-type{margin-top:0} .group .gh{font:600 .78em system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#2F5061;margin-bottom:.5em}
.services{display:grid;gap:2rem} @media(min-width:900px){.services{grid-template-columns:1.4fr .8fr;gap:4rem;align-items:start}}
.aside{display:grid;gap:1.25rem;position:sticky;top:calc(var(--return-h) + 5.25rem)} .aside b{display:block;font:600 .78em system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#2F5061;margin-bottom:.6em} .aside p{color:#5A6165;font-size:.95em}
.note{margin-top:1.6em;padding:1em 1.2em;border-left:3px solid #2F5061;color:#5A6165;font-size:.95em;background:#ECE8E1;border-radius:0 10px 10px 0}
.shop{display:grid;gap:2rem;align-items:center} @media(min-width:900px){.shop{grid-template-columns:.95fr 1.05fr;gap:4rem}} .shop picture{aspect-ratio:4/3;overflow:hidden;background:#ECE8E1;border-radius:18px} .shop img{width:100%;height:100%;object-fit:cover} .shop p{color:#5A6165;font-size:1.08em;max-width:48ch}
.ways{display:grid;gap:1rem} @media(min-width:760px){.ways{grid-template-columns:repeat(3,1fr)}}
.way{display:grid;gap:.6rem;align-content:start} .way b{font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-weight:500;font-size:1.25em} .way p{color:#5A6165;font-size:.95em} .way .ph{display:inline-block;margin-top:.4em;padding:.5em .9em;border:1.5px dashed #D9D4CB;border-radius:999px;color:#5A6165;font-size:.85em} .way .btn{width:max-content;margin-top:.4em}
.rules{margin-top:2.5em;max-width:60ch} .rules li{padding:.6em 0;border-bottom:1px solid #D9D4CB;color:#5A6165;display:grid;grid-template-columns:1.2em 1fr;gap:.4em} .rules li::before{content:"·";color:#2F5061;font-weight:700}
.contact{display:grid;gap:2rem} @media(min-width:900px){.contact{grid-template-columns:1fr 1fr;gap:4rem}}
.box{display:grid;gap:1.25rem;align-content:start} .card address{font-size:1.1em;line-height:1.5}
.contact .demo-form h2{font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-weight:500;font-size:1.35em;margin-bottom:.8em}
.footer{border-top:1px solid #D9D4CB;background:#ECE8E1;padding:clamp(28px,4vw,48px) 0;font-size:.92em;color:#5A6165} .footer .wrap{display:grid;gap:1.5rem} @media(min-width:760px){.footer .wrap{grid-template-columns:1fr 1fr 1fr}}
.footer b{display:block;color:#1E2326;font-weight:600;margin-bottom:.4em} .footer a{text-decoration:none} .footer a:hover{text-decoration:underline;color:#1E2326} .footer ul{display:grid;gap:.3em}
/* Mobil (unter 600 px): Einstieg, Überschriften, kurze Texte, Punkte und Terminwege zentriert; Preistabellen, Öffnungszeiten, Regeln, Formular und Fußzeile bleiben links. */
@media(max-width:599px){.hero>div:first-child,.eyebrow,h1,h2.t,.lead,.points,.shop>div,.way,.services>div>p,.filter__row{text-align:center} h1,.sub,.lead,.shop p{margin-inline:auto} .actions,.filter__row{justify-content:center} .way{justify-items:center} .way .btn{margin-inline:auto} .hero .pic .today{left:50%;right:auto;transform:translateX(-50%);width:calc(100% - 2rem)} .card .eyebrow{text-align:left}}
