@font-face{font-family:"Playfair";src:url(fonts/pf.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair";src:url(fonts/pfi.ttf) format("truetype");font-weight:800;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-b.ttf) format("truetype");font-weight:600 700;font-display:swap}
:root{--ink:#16110f;--red:#a31d22;--red-d:#82161a;--cream:#f7f0e4;--sand:#efe4d0;--gold:#b8924a;--muted:#6b6057}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:"Inter",system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
h1,h2,h3{font-family:"Playfair",Georgia,serif;font-weight:800;line-height:1.08;letter-spacing:-.01em}
h2{font-size:clamp(2rem,4.2vw,3.2rem)}
h1 em,h2 em{font-style:italic;color:var(--red)}
.eyebrow{display:block;color:var(--gold);font-weight:600;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;margin-bottom:1rem}
.eyebrow:before{content:"";display:inline-block;width:34px;height:1px;background:var(--gold);vertical-align:middle;margin-right:.8rem}
.btn{display:inline-block;text-decoration:none;font-weight:600;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;padding:1rem 1.9rem;border-radius:3px;background:var(--red);color:#fff;transition:background .2s,color .2s,border-color .2s;border:1px solid var(--red)}
.btn:hover{background:var(--red-d);border-color:var(--red-d)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--cream)}
/* nav */
header{position:sticky;top:0;z-index:50;background:rgba(247,240,228,.94);backdrop-filter:blur(8px);border-bottom:1px solid rgba(22,17,15,.1)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.4rem 28px;max-width:1180px;margin:0 auto}
.nav img{height:64px;width:auto;mix-blend-mode:multiply}
.nav nav{display:flex;gap:2.2rem;align-items:center}
.nav nav a:not(.btn){text-decoration:none;font-size:.9rem;font-weight:600;color:var(--muted)}
.nav nav a:not(.btn):hover{color:var(--red)}
.nav .btn{padding:.7rem 1.3rem}
@media(max-width:760px){.nav nav a:not(.btn){display:none}}
/* hero */
.hero{position:relative;overflow:hidden;padding:4.5rem 0 5rem}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:center}
.hero h1{font-size:clamp(3rem,7vw,5.8rem);margin-bottom:1.5rem}
.hero .lead{font-size:1.2rem;color:var(--muted);max-width:34ch;margin-bottom:2.2rem}
.hero .cta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:3rem}
.facts{display:flex;gap:2.4rem;flex-wrap:wrap;padding-top:1.6rem;border-top:1px solid rgba(22,17,15,.15)}
.facts div{font-size:.88rem;color:var(--muted)}
.facts b{display:block;font-family:"Playfair",serif;font-size:1.5rem;color:var(--ink)}
.plate{position:relative;aspect-ratio:1;width:100%;max-width:560px;margin:0 auto}
.plate .disc{position:absolute;inset:0;border-radius:50%;background:var(--sand);box-shadow:inset 0 0 0 1px rgba(22,17,15,.06)}
.plate .ring{position:absolute;inset:-14px;border-radius:50%;border:1px solid var(--gold);opacity:.6}
.plate .main{position:absolute;max-width:none;width:132%;left:-16%;top:50%;transform:translateY(-50%);height:auto;mix-blend-mode:multiply}
.plate .badge{position:absolute;left:-2%;bottom:6%;background:var(--ink);color:var(--cream);border-radius:50%;width:124px;height:124px;display:grid;place-items:center;text-align:center;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.3}
.plate .badge b{display:block;font-family:"Playfair",serif;font-size:1.7rem;letter-spacing:0;text-transform:none;color:#fff}
@media(max-width:860px){.hero{padding:2.5rem 0 3.5rem}.hero .wrap{grid-template-columns:1fr}.plate{max-width:420px;order:-1}.plate .badge{width:96px;height:96px}.plate .badge b{font-size:1.3rem}}
/* strip */
.strip{background:var(--ink);color:var(--cream);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;padding:1rem 0}
.strip .wrap{display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem 2.2rem}
.strip span+span:before{content:"✦";color:var(--gold);margin-right:2.2rem}
@media(max-width:640px){.strip span+span:before{display:none}}
section{padding:6rem 0}
.head{max-width:640px;margin-bottom:3rem}
.head p{color:var(--muted);margin-top:1rem}
/* usps */
.usps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2.5rem}
.usp{border-top:2px solid var(--red);padding-top:1.2rem}
.usp h3{font-size:1.35rem;margin-bottom:.5rem}
.usp p{color:var(--muted);font-size:.95rem}
/* menu */
#karte{background:var(--sand)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}
.card{background:var(--cream);border-radius:6px;overflow:hidden;box-shadow:0 1px 2px rgba(22,17,15,.06),0 12px 30px -14px rgba(22,17,15,.25);transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-4px);box-shadow:0 1px 2px rgba(22,17,15,.06),0 20px 36px -14px rgba(22,17,15,.3)}
.card .ph{background:#fff;aspect-ratio:4/3;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover}
.card .bd{padding:1.3rem 1.5rem 1.6rem}
.card .row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.4rem}
.card h3{font-size:1.35rem}
.price{font-family:"Playfair",serif;font-weight:800;color:var(--red);font-size:1.25rem;white-space:nowrap}
.card p{font-size:.92rem;color:var(--muted)}
.center{text-align:center;margin-top:3rem}
/* deals */
#angebote{background:var(--ink);color:var(--cream)}
#angebote h2 em{color:#e0584d}
.deals{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.deal{border:1px solid rgba(247,240,228,.2);border-radius:6px;padding:2.2rem 2rem;transition:border-color .2s}
.deal:hover{border-color:var(--gold)}
.deal small{color:var(--gold);font-weight:600;letter-spacing:.2em;text-transform:uppercase;font-size:.74rem}
.deal h3{font-size:1.6rem;margin:.6rem 0 .3rem}
.deal p{opacity:.7;font-size:.95rem}
.deal .big{font-family:"Playfair",serif;font-weight:800;font-size:2.8rem;margin-top:1.2rem;color:#fff}
/* branches */
.branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}
.branch{background:#fff;border-radius:6px;padding:2.2rem;box-shadow:0 12px 30px -16px rgba(22,17,15,.25)}
.branch h3{font-size:1.9rem;margin-bottom:1rem}
.branch ul{list-style:none;padding:0;display:grid;gap:.4rem;margin-bottom:1.6rem;color:var(--muted)}
.branch .btns{display:flex;flex-wrap:wrap;gap:.8rem}
.branch .btn{padding:.8rem 1.3rem}
.hours{margin-top:2rem;text-align:center;color:var(--muted)}
.hours b{color:var(--ink)}
/* insta */
.insta{background:var(--sand)}
.insta .wrap{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.insta .pics{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.insta .pics img{border-radius:6px;aspect-ratio:1;object-fit:cover;box-shadow:0 12px 30px -14px rgba(22,17,15,.3)}
.insta .pics img:nth-child(2){margin-top:2rem}
@media(max-width:860px){.insta .wrap{grid-template-columns:1fr}}
footer{background:var(--ink);color:var(--cream);padding:4rem 0 6rem}
footer .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2.5rem}
footer img{height:100px;background:var(--cream);border-radius:6px;margin-bottom:1rem}
footer h4{font-family:"Playfair",serif;color:var(--gold);font-size:1.1rem;margin-bottom:.6rem}
footer p{font-size:.92rem;opacity:.85}
footer a{text-decoration:none}
footer a:hover{color:var(--gold)}
footer .copy{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(247,240,228,.15);font-size:.82rem;opacity:.55}
/* mobile order bar */
.bar{display:none}
@media(max-width:760px){.bar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink);display:flex;gap:.6rem;padding:.6rem}.bar .btn{flex:1;text-align:center;padding:.8rem .5rem;font-size:.75rem}footer{padding-bottom:6rem}}
/* legal */
.legal{padding:4rem 0 6rem;min-height:70vh}
.legal .wrap{max-width:760px}
.legal h1{font-size:clamp(2.2rem,6vw,3.4rem);margin-bottom:1.5rem}
.legal h2{font-size:1.4rem;margin:2.2rem 0 .5rem}
.legal p,.legal li{margin:.5rem 0;color:#3d352f}
.legal ul{padding-left:1.3rem}
.legal a{color:var(--red)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.reveal{opacity:1;transform:none}}
/* subpages */
.pagehead{padding-top:4rem;padding-bottom:5rem}
.pagehead .head{max-width:720px}
.pagehead .head a{color:var(--red)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1.2rem}
.tile{position:relative;display:block;aspect-ratio:1;border-radius:6px;overflow:hidden;background:var(--ink);text-decoration:none;color:#fff}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75;transition:transform .5s,opacity .3s}
.tile:hover img{transform:scale(1.06);opacity:.9}
.tile span{position:absolute;left:1rem;bottom:.9rem;font-family:"Playfair",serif;font-weight:800;font-size:1.4rem;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.tile:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(transparent 45%,rgba(0,0,0,.65))}
.tile span{z-index:2}
.card .ph img{object-fit:cover}
.mtools{display:flex;gap:1rem;flex-wrap:wrap;margin:2.5rem 0 1.2rem}
.mtools input{flex:1;min-width:220px;padding:.9rem 1.1rem;border:1px solid rgba(22,17,15,.25);border-radius:3px;background:#fff;font:inherit}
.chips{position:sticky;top:73px;z-index:40;display:flex;gap:.5rem;overflow-x:auto;padding:.7rem 0;background:var(--cream);margin-bottom:1rem;scrollbar-width:thin}
.chips a{white-space:nowrap;text-decoration:none;font-size:.85rem;font-weight:600;padding:.45rem .9rem;border:1px solid rgba(22,17,15,.2);border-radius:99px}
.chips a:hover{background:var(--ink);color:var(--cream)}
.mcat{padding:2.5rem 0 0;scroll-margin-top:140px}
.mcat h2{font-size:2rem;margin-bottom:1.2rem;padding-bottom:.6rem;border-bottom:2px solid var(--red)}
.items{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:.4rem 2.5rem}
@media(max-width:520px){.items{grid-template-columns:1fr}}
.item{display:flex;gap:1rem;align-items:flex-start;padding:.9rem 0;border-bottom:1px solid rgba(22,17,15,.1)}
.item img{width:72px;height:72px;border-radius:6px;object-fit:cover;flex:none}
.item .tx{flex:1;min-width:0}
.item h3{font-family:"Inter",sans-serif;font-size:1rem;font-weight:700;letter-spacing:0}
.item .nr{color:var(--gold);margin-right:.5rem}
.item p{font-size:.88rem;color:var(--muted);line-height:1.45}
.item .pr{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;font-weight:700;color:var(--red);white-space:nowrap;font-size:.95rem}
.item .pr small{color:var(--muted);font-weight:400;font-size:.75rem}
.none{margin:3rem 0;text-align:center;color:var(--muted)}
.faq details{border-bottom:1px solid rgba(22,17,15,.15);padding:1rem 0}
.faq summary{cursor:pointer;font-weight:700}
.faq p{margin-top:.6rem;color:var(--muted)}
.deals-light .deal{background:#fff;color:var(--ink);border-color:rgba(22,17,15,.12)}
.deals-light .deal .big{color:var(--red)}
.deals-light .deal:hover{border-color:var(--gold)}
footer h4 a{color:inherit}
[hidden]{display:none!important}
.extras{margin-top:1.2rem;padding:1.1rem 1.3rem;background:rgba(22,17,15,.05);border-radius:6px;font-size:.88rem;color:var(--muted)}
.extras b{display:block;color:var(--ink);margin-bottom:.4rem}
.extras p{margin:.3rem 0}
.extras span{font-weight:700;color:var(--red);margin-right:.4rem}
