:root{
  --papier:#F6F2E9; --papier2:#EEE8DB; --tinte:#2B2A25; --text:#3B3a34; --linie:#d9d1bf;
  --rot:#B5432A; --sage:#D9E3C0; --gelb:#EFE4A6;--anthrazit:#3A3D3F; --gruen:#BBEC30;
  --akzent:var(--anthrazit);
  --serif:Georgia,'Times New Roman',serif;
  --mono:ui-monospace,'SFMono-Regular',Menlo,Consolas,'Liberation Mono',monospace;
  --sans:'Helvetica Neue',Helvetica,Arial,sans-serif;
}
#bar nav a:hover,#bar .sp a:hover{color:var(--sage)}

#bar .sp b{border-bottom-color:var(--sage)}
*{box-sizing:border-box}
body{margin:0;overflow-x:hidden;background:var(--papier);color:var(--text);font-family:var(--sans);font-size:15.5px;line-height:1.75}
a{color:inherit;text-decoration:none}
.lab{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--rot)}
/* Kopfleiste */
#bar{position:sticky;top:0;z-index:30;background:var(--anthrazit);color:#f1ede3;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100% - 1040px)/2));height:68px;border-bottom:0}
#bar .marke:hover{color:var(--sage)}
#bar .marke{font-family:var(--sans);font-weight:500;font-size:15px;letter-spacing:.14em;text-transform:uppercase}
#bar .marke i{font-style:normal;color:var(--rot);padding:0 1px}
#bar nav{display:flex;gap:20px;white-space:nowrap;font-family:var(--sans);font-size:14px;letter-spacing:.01em}
#bar nav a{padding:6px 0;border-bottom:2px solid transparent}
#bar nav a:hover{border-bottom-color:var(--sage);color:var(--sage)}
#bar .sp{font-family:var(--sans);font-weight:500;font-size:15px;letter-spacing:.14em;text-transform:uppercase}
#bar .sp b{border-bottom:2px solid var(--sage);padding-bottom:3px;font-weight:normal}
#bar .sp a{opacity:.65}#bar .sp a:hover{opacity:1;color:var(--sage)}
body.start #bar .marke{visibility:hidden}
/* Hero */
#hero{display:grid;grid-template-columns:1fr 1fr;min-height:470px}
#hero .text{padding:64px 56px 40px 70px;max-width:760px;min-width:0}
#hero h1{font-family:var(--sans);font-weight:500;font-size:38px;line-height:1.1;letter-spacing:-.01em;margin:16px 0 16px;color:var(--tinte)}
#hero h1 i{font-style:normal;color:var(--rot)}
#hero .sub{font-family:var(--sans);font-style:normal;font-size:18px;line-height:1.4;color:var(--rot);margin:0 0 26px}
#hero p.lead{max-width:470px;margin:0 0 30px}
.knoepfe a{display:inline-block;margin:0 10px 10px 0;padding:11px 22px;border:1px solid var(--tinte);font-family:var(--sans);font-size:14px;letter-spacing:.01em;transition:background .15s,color .15s;color:var(--tinte)}
.knoepfe a.voll{background:var(--sage)}
.knoepfe a:hover{background:var(--sage);color:var(--tinte);border-color:var(--tinte)}
/* Bildseite */
#bildseite{background:var(--papier);min-width:0;padding:48px 40px 40px 0;display:flex;align-items:center}
#felder{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%}
#felder a{font-family:var(--sans)!important;display:flex;align-items:flex-end;min-height:112px;padding:12px 12px;font-family:var(--mono);font-size:13.5px;letter-spacing:.01em;text-transform:none;color:var(--tinte);border:1px solid rgba(43,42,37,.12);transition:filter .2s}
#felder a span{border-bottom:2px solid transparent;padding-bottom:2px}
#felder a:hover{background:var(--sage)!important}
#felder a:hover span{border-bottom-color:var(--rot)}
#felder a.hell{color:var(--tinte)}
#zeichnung{display:none!important;height:100%;align-items:center;justify-content:center;flex-direction:column;padding:30px}
#zeichnung svg{width:min(78%,430px);height:auto}
#zeichnung small{margin-top:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#8a8574}
/* Abschnitte */
section{padding:72px 28px}
.kopfzeile{max-width:1180px;margin:0 auto 40px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--linie);padding-bottom:30px}
.kopfzeile h2{font-family:var(--sans);font-weight:500;font-size:26px;margin:0;letter-spacing:0;text-align:center;color:var(--tinte)}
.kopfzeile .rechts{text-align:right}
#angebot .raster{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:0 56px}
#angebot a.k{display:block;padding:26px 0 34px;border-top:1px solid var(--linie)}
#angebot a.k .nr{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;color:var(--rot)}
#angebot a.k h3{font-family:var(--sans);font-weight:500;font-size:22px;line-height:1.2;margin:6px 0 10px;color:var(--tinte)}
#angebot a.k p{margin:0;font-size:15px}
#angebot a.k:hover h3{color:var(--rot);text-decoration:underline;text-decoration-color:var(--gelb);text-decoration-thickness:4px;text-underline-offset:6px}
#kontakt{background:var(--sage)}
#kontakt .kopfzeile{border-bottom-color:rgba(43,42,37,.2)}
#kontakt .innen{max-width:760px;margin:0 auto;text-align:center}
#kontakt p.gross{font-family:var(--sans);font-size:18px;line-height:1.3;margin:0 0 28px;color:var(--tinte)}
footer{background:var(--papier2);color:#5b5a52;padding:34px 28px;font-family:var(--sans);font-size:14px;letter-spacing:.01em;text-align:center;line-height:2.1;border-top:1px solid var(--linie)}
footer a:hover{color:var(--rot);border-bottom:1px solid var(--rot)}
@media(max-width:980px){
  #bar{height:auto;flex-wrap:wrap;padding:12px 16px;gap:8px}
  #bar nav{order:3;width:100%;overflow-x:auto;white-space:nowrap;gap:18px;padding-bottom:4px}
  #hero{grid-template-columns:1fr}
  #hero .text{padding:44px 20px 32px}
  #hero h1{font-size:34px}
  #felder{grid-template-columns:repeat(2,1fr);grid-template-rows:none}
  #felder a{min-height:84px;font-size:9.5px;padding:8px}
  section{padding:48px 16px}
  .kopfzeile{grid-template-columns:1fr;gap:10px;text-align:center}.kopfzeile .rechts{text-align:center}
  .kopfzeile h2{font-size:26px}
  #angebot .raster{grid-template-columns:1fr}
  #kontakt p.gross{font-size:24px}
}

/* Unterseiten */
#bar nav a.aktiv{border-bottom-color:var(--sage)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body.sub .titel{max-width:860px;margin:0 auto;padding:60px 28px 8px}
body.sub .titel h1{font-family:var(--sans);font-weight:500;font-size:34px;line-height:1.15;letter-spacing:-.01em;margin:14px 0 6px;color:var(--tinte)}
body.sub .inhalt{counter-reset:abschnitt;max-width:860px;margin:0 auto;padding:14px 28px 64px}
.inhalt h2,.inhalt h1{font-family:var(--sans);font-weight:500;font-size:24px;line-height:1.25;margin:44px 0 12px;color:var(--tinte);counter-increment:abschnitt;border-top:1px solid var(--linie);padding-top:22px}
.inhalt h2::before,.inhalt h1::before{content:counter(abschnitt,decimal-leading-zero);display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;color:var(--rot);margin-bottom:6px;font-weight:normal}
.inhalt h2 a,.inhalt h1 a{color:inherit}
.inhalt h2+br,.inhalt h1+br,.inhalt h3+br{display:none}
.inhalt h3{font-family:var(--sans);font-weight:500;font-size:18px;margin:28px 0 8px;color:var(--tinte)}
.inhalt ul{list-style:none;margin:10px 0 18px;padding:0}
.inhalt li{padding:9px 0 9px 22px;border-top:1px solid var(--linie);position:relative}
.inhalt li::before{content:"";position:absolute;left:2px;top:21px;width:4px;height:4px;border-radius:50%;background:var(--rot)}
.inhalt a{border-bottom:1px solid rgba(181,67,42,.3)}
.inhalt li a{border-bottom:0}
.inhalt li a:hover{border-bottom:1px solid var(--rot)}
.inhalt a:hover{background:var(--sage)}
.inhalt img{max-width:100%;height:auto}
.inhalt table{max-width:100%}
.inhalt #pfeil{text-align:right;font-size:12px;font-family:var(--mono);letter-spacing:.1em;margin:6px 0 0}
.inhalt #pfeil a{border:0;color:#7b7667}
.inhalt #pfeil a:hover{color:var(--tinte)}
body.sub #kontakt{padding:56px 28px}
body.sub #kontakt .innen{max-width:860px}
footer .mehr{margin-bottom:6px}
footer a{border-bottom:1px solid transparent}
@media(max-width:980px){
  body.sub .titel{padding:36px 16px 4px}body.sub .titel h1{font-size:28px}
  body.sub .inhalt{padding:8px 16px 44px}
  #kontakt .knoepfe a{display:block;margin:0 0 8px}
}
.kleinnote{font-size:12.5px;color:#6b6759;margin:6px 0 0}
.inhalt{overflow-wrap:anywhere}

html{scroll-padding-top:84px}
#sport,a[name]{scroll-margin-top:84px}
@media(max-width:980px){html{scroll-padding-top:130px}}
.inhalt h2 a,.inhalt h1 a,.inhalt h3 a{border-bottom:0}

.inhalt ul+br,.inhalt ul+br+br{display:none}
.inhalt h2{margin-top:30px}
body.sub .titel{padding-top:44px}
.inhalt{padding-bottom:40px}
@media(max-width:980px){#bar .marke,#bar .sp{font-size:13px}}
