@font-face{font-family:"Cabin";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/cabin-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cabin";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/cabin-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Italiana";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/italiana-latin.woff2) format("woff2")}

:root{
  --dunkel:#262a2a;--hell:#fff9e9;--akzent:#c4b282;--akzent-hell:#ebe6d6;
  --linie:#4c6364;--linie-hell:#5b787a;--flaeche:#3d4a4a;--grau:#ccc;
  --serif:"Italiana",Georgia,serif;--sans:"Cabin",system-ui,sans-serif;
  --xxs:.25rem;--xs:.75rem;--s:1.5rem;--m:2rem;--l:3rem;--xl:4.5rem;--xxl:6rem;--xxxl:8rem;
  --rand:3rem;--max:1440px;--kopf-h:4.25rem;--leiste-h:3.5rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100%;background:var(--dunkel);color:var(--hell);font-family:var(--sans);font-size:16px;line-height:1.5}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:.02em;margin:0}
h1{font-size:5rem;line-height:1.3}
h2{font-size:3rem;line-height:1.3}
h2,.h2{font-family:var(--serif);font-size:3rem;line-height:1.3;letter-spacing:.02em;font-weight:400;margin:0}
h3,.h3{font-family:var(--serif);font-size:2.25rem;line-height:1.3;letter-spacing:.02em;font-weight:400}
p{margin:0;letter-spacing:.02em}
a{color:var(--akzent);text-decoration:none}
img{display:block;max-width:100%;height:auto}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:1px solid var(--akzent);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.rahmen{position:fixed;inset:0;z-index:999;max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;pointer-events:none}
.rahmen::before,.rahmen::after{content:"";width:1px;height:100%;background:var(--linie)}

.sektion{padding-inline:var(--rand)}
.wrap{position:relative;width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--rand)}
.wrap.voll{padding-inline:0}
.punkte{position:relative;z-index:1}
.punkte::before{content:"";position:absolute;inset:0;z-index:-2;background:url(punkte.svg) 0 0}
.punkte::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,var(--dunkel) 25%,#26292a00)}
.punkte.nach-unten::after{background:linear-gradient(180deg,var(--dunkel) 25%,#26292a00)}

.eyebrow{font-family:var(--sans);font-size:.875rem;font-weight:500;letter-spacing:.2em;line-height:1.5;text-transform:uppercase;color:var(--akzent)}
.eyebrow-strich{display:flex;align-items:center;gap:var(--s);margin-bottom:var(--s);color:var(--akzent)}
.eyebrow-strich::before{content:"";flex:none;width:var(--l);height:1px;background:var(--akzent)}
.trenner{height:1px;background:var(--linie-hell)}
.klein{font-size:.875rem}

.knopf{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;padding:var(--xs) var(--s);border:1px solid var(--akzent);color:var(--hell);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;line-height:1.5;transition:color .35s ease-in-out,background-color .35s ease-in-out,border-radius .35s ease-in-out}
.knopf:hover{border-radius:var(--xs);background:var(--akzent);color:var(--dunkel)}

.kopf{position:sticky;top:0;z-index:998;background:var(--dunkel)}
.kopf-zeile{display:flex;align-items:center;gap:var(--l);height:var(--kopf-h)}
.wortmarke{font-family:var(--serif);font-size:2rem;line-height:1.2;letter-spacing:.02em;color:var(--akzent-hell);white-space:nowrap}
.navi{display:flex;align-items:center;justify-content:flex-end;gap:var(--l);flex:1}
.navi ul{display:flex;align-items:center;gap:var(--m)}
.navi-link{color:var(--hell);font-size:.875rem;letter-spacing:.2em;text-transform:uppercase;transition:color .35s ease-in-out}
.navi-link:hover{color:var(--akzent)}
.menue-knopf{display:none}
.kopf-linie{height:1px;background:var(--linie)}

.hinweis{margin-bottom:var(--l)}
.hinweis p{font-family:var(--serif);font-size:3rem;line-height:1.3;letter-spacing:.02em}

.held{padding-top:var(--xxl);padding-bottom:var(--l)}
.held-bild{position:relative;height:45rem;overflow:hidden;border:1px solid var(--linie)}
.held-bild .folie{position:absolute;inset:0;opacity:0;transition:opacity .5s ease-in-out}
.held-bild .folie.an{opacity:1}
.held-bild img,.flaeche-bild img,.cta img,.zeile-bild img,.kontakt-bild img{width:100%;height:100%;object-fit:cover}
.held-titel{position:absolute;inset:0;z-index:1;display:flex;align-items:flex-end;padding:0 12rem var(--l) var(--l);background:linear-gradient(#0000 50%,#253637e6);pointer-events:none}
.held-titel h1{font-size:4rem;line-height:1.15;text-wrap:balance}
.pfeil{position:absolute;z-index:2;bottom:var(--l);display:flex;align-items:center;justify-content:center;width:var(--m);height:var(--m);padding:var(--xxs);border:1px solid var(--hell);background:none;color:var(--akzent);cursor:pointer;transform:rotate(45deg);transition:border-color .35s ease-in-out,background-color .35s ease-in-out,color .35s ease-in-out}
.pfeil:hover{border-color:var(--akzent);background:var(--akzent);color:var(--dunkel)}
.pfeil svg{width:100%;height:100%;transform:rotate(-45deg)}
.pfeil.zurueck{right:7.5rem}
.pfeil.vor{right:var(--l)}

.zeiten{padding-block:var(--l)}
.zeiten .h2{margin-bottom:var(--l)}
.kacheln{display:flex;gap:var(--l);min-height:32.5rem;margin-bottom:var(--l)}
.kachel>span{display:block}
.kachel{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--l);border:1px solid var(--linie);color:var(--hell)}
.kachel>.kachel-icon{display:flex;align-items:center;justify-content:center;width:var(--l);height:var(--l);padding:var(--xxs);margin-bottom:var(--s);border:1px solid var(--linie)}
.kachel-icon svg{width:100%;height:100%}
.kachel .eyebrow{margin-bottom:var(--xs)}
.kachel-bild{position:relative;height:50%;overflow:hidden}
.kachel-bild img{position:absolute;width:100%;margin-top:var(--s);object-fit:cover}

.zweispaltig{display:grid;grid-template-columns:1fr 1px 1fr}
.zweispaltig::before{content:"";grid-column:1/-1;height:1px;background:var(--linie-hell)}
.zweispaltig>.spalte:first-of-type{padding:var(--xxl) var(--l) var(--l) 0}
.zweispaltig>.spalte:last-of-type{padding:var(--xxl) 0 var(--l) var(--l)}
.zweispaltig>.senkrecht{background:var(--linie)}
.spalte .eyebrow{margin-bottom:var(--xs)}
.spalte h2,.spalte p{margin-bottom:var(--m)}

.cta-bereich{padding-bottom:var(--xxl)}
.cta-strich{width:1px;height:var(--xxl);margin-inline:auto;background:var(--linie)}
.cta{position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--l);min-height:30rem;aspect-ratio:2.39;padding:var(--l);border:1px solid var(--linie);overflow:hidden}
.cta-hintergrund{position:absolute;inset:0;z-index:-1}
.cta-hintergrund::after{content:"";position:absolute;inset:0;background:#253637bf}
.cta h2{max-width:50rem;position:relative}
.cta .knopf{position:relative}

.fuss{border-top:1px solid var(--linie)}
.fuss-oben{display:flex;align-items:stretch}
.fuss-links{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:var(--l);padding:var(--l);border-right:1px solid var(--linie);border-bottom:1px solid var(--linie)}
.fuss-rechts{flex:0 0 25%;display:flex;flex-direction:column;align-items:flex-end;gap:var(--xxl);padding:var(--l);border-bottom:1px solid var(--linie)}
.fuss-rechts .wortmarke{font-size:2.25rem}
.fuss-navi{display:flex;flex-wrap:wrap;align-items:center;gap:var(--l)}
.fuss-kontakt{display:flex;flex-direction:column;align-items:flex-end;gap:var(--xs)}
.fuss-kontakt a,.fuss-kontakt span{color:var(--hell)}
.fuss-unten{display:flex;justify-content:space-between;align-items:center;padding:var(--xs) var(--l)}
.fuss-unten,.fuss-unten a{color:var(--grau);font-size:.875rem}
.fuss-unten nav{display:flex;gap:var(--m)}
.fuss-unten a{transition:opacity .4s ease-in-out}
.fuss-unten a:hover,.fuss-kontakt a:hover{opacity:.5}
.sozial{display:flex;align-items:center;gap:6px}
.sozial-strich{width:var(--l);height:1px;background:var(--linie)}
.raute{display:flex;align-items:center;justify-content:center;width:var(--m);height:var(--m);padding-block:.5rem;border:1px solid var(--linie);color:var(--hell);transform:rotate(45deg);transition:border-color .35s ease-in-out,background-color .35s ease-in-out,color .35s ease-in-out}
.raute:hover{border-color:var(--akzent);background:var(--akzent);color:var(--dunkel)}
.raute svg{width:100%;height:100%;transform:rotate(-45deg)}

.seitenkopf{padding-top:var(--xxl);padding-bottom:var(--l)}
.seitenkopf h1{margin-bottom:var(--l)}
.seitenkopf-unten{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--l);margin-top:var(--l)}
.seitenkopf-unten p{max-width:40rem}
.seitenkopf-zeile{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--xxl);margin-bottom:var(--xxl)}
.seitenkopf-zeile h1{margin-bottom:0}


.karte-bereich{padding-bottom:var(--xxl)}
.leiste{position:sticky;top:calc(var(--kopf-h) + 1px);z-index:20;background:var(--dunkel);border-bottom:1px solid var(--linie)}
.leiste nav{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:6px;padding-block:var(--xs)}
.leiste nav::-webkit-scrollbar{display:none}
.leiste a{flex:none;padding:.45rem .55rem;border:1px solid var(--linie);color:var(--hell);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:color .2s,background-color .2s,border-color .2s}
.leiste a:hover{border-color:var(--akzent);color:var(--akzent)}
.leiste a.aktiv{background:var(--akzent);border-color:var(--akzent);color:var(--dunkel)}
.karte-gruppe,.karte-abschnitt{scroll-margin-top:calc(var(--kopf-h) + var(--leiste-h) + 1.5rem)}
.karte-gruppe{border-top:1px solid var(--linie-hell);padding-block:var(--xl)}
.karte-gruppe:first-of-type{border-top:0;padding-top:var(--l)}
.karte-gruppe>header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--l);margin-bottom:var(--l)}
.karte-gruppe>header p{max-width:32rem;color:var(--grau)}
.karte-abschnitt{padding-block:var(--l);border-top:1px solid #4c636466}
.karte-abschnitt:first-of-type{border-top:0;padding-top:0}
.abschnitt-kopf{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--l);margin-bottom:var(--s)}
.abschnitt-kopf h3{margin:0}
.abschnitt-kopf .eyebrow{display:block;margin-bottom:var(--xxs)}
.abschnitt-kopf .hinweis-text{max-width:34rem;color:var(--grau);font-size:.875rem}
.gerichte{columns:2;column-gap:var(--xxl)}
.dish-line{break-inside:avoid}
.dish-line{padding-block:var(--xs);border-bottom:1px solid #4c636466}
.dish-head{display:flex;align-items:baseline;gap:var(--xs)}
.dish-head .nr{flex:none;min-width:2.25rem;color:var(--akzent);font-size:.875rem;letter-spacing:.05em}
.dish-head .dn{font-size:1rem;letter-spacing:.02em}
.dish-head .dn em{font-style:normal;color:var(--akzent)}
.dish-head .meta{color:var(--grau);font-size:.875rem}
.dish-head .lead{flex:1;min-width:var(--s)}
.dish-head .dp{flex:none;font-variant-numeric:tabular-nums}
.dish-head .dp .x2{margin-left:var(--xs)}
.dish-line .dd{margin-top:.15rem;color:var(--grau);font-size:.875rem}
.dish-line .dd,.dish-line .dd~*{padding-left:calc(2.25rem + var(--xs))}
.karte-abschnitt.ohne-nr .dd{padding-left:0}
.karte-stand{margin-top:var(--l);color:var(--grau);font-size:.875rem}
.karte-stand a{color:var(--akzent)}

.flaeche-bereich{padding-bottom:var(--xxl)}
.zwei-text{display:grid;grid-template-columns:1fr 1fr;gap:var(--xxl)}
.zeile{display:grid;grid-template-columns:1fr 1px 1fr;border:1px solid var(--linie)}
.zeile+.zeile{border-top:0}
.zeile>.senkrecht{background:var(--linie)}
.zeile-text{padding:var(--xxl);background:var(--dunkel)}
.zeile-text .eyebrow{margin-bottom:var(--xs)}
.zeile-text h2{margin-bottom:var(--m)}
.zeile-bild{position:relative;min-height:100%}
.zeile-bild img{position:absolute;inset:0}

.kontakt{display:grid;grid-template-columns:1fr 1px 1fr;min-height:90vh}
.kontakt>.senkrecht{background:var(--linie)}
.kontakt-info{padding:var(--xxl) var(--l)}
.kontakt-info h1,.kontakt-info>p{margin-bottom:var(--m)}
.kontakt-daten{display:grid;grid-template-columns:5rem 1fr;gap:var(--xs) var(--s);margin-bottom:var(--xxl)}
.kontakt-info .eyebrow.ohne{color:var(--hell);margin-bottom:var(--m)}
.kontakt-rechts{display:flex;flex-direction:column}
.zeiten-box{padding:var(--xxl) var(--l);border-bottom:1px solid var(--linie)}
.zeiten-box h2{margin-bottom:var(--xs)}
.zeiten-box .trenner{margin-bottom:var(--s)}
.zeiten-liste{display:grid;gap:var(--xs)}
.zeiten-liste div{display:flex;justify-content:space-between;gap:var(--s)}
.kontakt-bild{position:relative;flex:1;min-height:20rem}
.kontakt-bild img{position:absolute;inset:0}

.text-seite{padding-top:var(--xxl);padding-bottom:var(--xxxl)}
.text-seite h1{margin-bottom:var(--l)}
.text-box{max-width:56rem;padding:var(--l);border:1px solid var(--linie-hell);background:var(--flaeche)}
.text-box h2{font-size:2.25rem;margin-bottom:var(--s)}
.text-box h3{font-family:var(--sans);font-size:1rem;font-weight:600;letter-spacing:.02em;margin:var(--l) 0 var(--xs)}
.text-box p+p{margin-top:var(--xs)}
.text-box a{color:var(--akzent)}

.fehler{min-height:70vh;padding-top:var(--xxl);padding-bottom:var(--l)}
.fehler .gross{font-size:5rem;line-height:1.3;margin-bottom:var(--m)}
.fehler p{margin-bottom:var(--m)}

@media (max-width:991px){
  :root{--rand:1rem;--kopf-h:4rem;--leiste-h:3.25rem}
  body{font-size:14px}
  .kopf{position:fixed;inset:0 0 auto}
  main{padding-top:var(--kopf-h)}
  .kopf-zeile{justify-content:space-between}
  .wortmarke{font-size:1.75rem}
  .menue-knopf{display:flex;flex-direction:column;justify-content:space-between;width:2.75rem;height:2.75rem;padding:.9rem .5rem;background:none;border:0;cursor:pointer}
  .menue-knopf span{height:1px;background:var(--hell)}
  .navi{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:var(--m);padding:2.5rem 2rem;border:1px solid var(--linie);background:var(--dunkel)}
  .kopf.offen .navi{display:flex}
  .navi ul{flex-direction:column;align-items:flex-start;gap:var(--s)}
  .navi-link{display:block;padding-block:.5rem}
  .schleier{display:none;position:fixed;inset:0;z-index:997;background:#131c1de6}
  .kopf.offen~.schleier{display:block}
  .held{padding-top:var(--l)}
  .held-titel{padding:0 9rem 2.5rem 2.5rem}
  .pfeil{bottom:2rem}.pfeil.vor{right:2rem}.pfeil.zurueck{right:6rem}
  .kacheln{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;min-height:0}
  .kachel{padding:2.5rem}
  .kachel-bild{height:auto;aspect-ratio:3/2}
  .kachel-bild img{position:static;height:100%}
  .zweispaltig{grid-template-columns:1fr}
  .zweispaltig>.senkrecht{height:1px}
  .zweispaltig>.spalte:first-of-type{padding:4rem 0 2.5rem}
  .zweispaltig>.spalte:last-of-type{padding:2.5rem 0 4rem}
  .cta-strich{display:none}
  .cta{flex-direction:column;align-items:flex-start;padding:2.5rem}
  .fuss-oben{flex-direction:column-reverse}
  .fuss-links,.fuss-rechts{padding:2.5rem 2rem;border-right:0}
  .fuss-rechts{flex:none;flex-direction:row;justify-content:space-between;align-items:center}
  .fuss-navi{gap:var(--m) 2.5rem}
  .fuss-unten{flex-direction:column;align-items:flex-start;gap:1.5rem;padding:var(--xs) 2rem}
  .seitenkopf,.text-seite,.fehler{padding-top:var(--l)}
  .seitenkopf-unten,.seitenkopf-zeile{flex-direction:column;align-items:flex-start;gap:1.5rem}
  .seitenkopf-zeile{margin-bottom:4rem}
  .karte-gruppe>header{flex-direction:column;align-items:flex-start}
  .gerichte{columns:1}
  .abschnitt-kopf{flex-direction:column;align-items:flex-start;gap:var(--xs)}
  .leiste nav{margin-inline:calc(-1 * var(--rand));padding-inline:var(--rand)}
  .leiste a{padding:.6rem .8rem}
  .zwei-text{grid-template-columns:1fr;gap:2.5rem}
  .zeile{grid-template-columns:1fr}
  .zeile>.senkrecht{height:1px}
  .zeile-text{padding:var(--l)}
  .zeile-bild{min-height:25rem}
  .zeile.umgekehrt .zeile-bild{order:3}
  .kontakt{grid-template-columns:1fr;min-height:0}
  .kontakt>.senkrecht{height:1px}
  .kontakt-info{padding:var(--l) var(--rand) 4rem}
  .zeiten-box{padding:4rem var(--rand)}
}
@media (max-width:767px){
  h1,.fehler .gross{font-size:2.25rem}
  h2,.h2,.hinweis p{font-size:2rem}
  h3,.h3,.text-box h2{font-size:1.5rem}
  .held-bild{height:30rem}
  .held-titel{padding:0 1.25rem 1.25rem}
  .pfeil{top:1.25rem;bottom:auto}
  .held-titel h1{font-size:2.25rem}
  .pfeil{width:var(--s);height:var(--s)}.pfeil.zurueck{right:5rem}
  .eyebrow-strich{gap:var(--xs);align-items:flex-start}
  .eyebrow-strich::before{width:1.5rem;margin-top:.6rem}
  .kacheln{grid-template-columns:1fr;gap:1.5rem}
  .kachel{padding:1.5rem}
  .cta{min-height:20rem;aspect-ratio:auto;padding:1.5rem}
  .fuss-links{align-items:center;gap:3rem}
  .fuss-rechts{flex-direction:column;align-items:center;gap:3rem}
  .fuss-navi{flex-direction:column}
  .fuss-kontakt{align-items:center}
  .fuss-unten{align-items:center;padding:1.25rem var(--rand)}
  .fuss-unten nav{flex-direction:column;align-items:center;gap:1.25rem}
  .sozial{gap:6px}
  .zeile-text{padding:var(--m)}
  .text-box{padding:var(--s)}
  .dish-head .dn{flex:1;min-width:0}
  .dish-head .lead{display:none}
  .dish-head .nr{min-width:2rem}
  .dish-line .dd,.dish-line .dd~*{padding-left:calc(2rem + var(--xs))}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
