:root{
  --kalk3:#eef0e9;
  --karte:#f9faf4;
  --karte2:#dde1d2;
  --grenz:#b03a2e;
  --grenz-d:#8f2e24;
  --rhein:#2e5f7a;
  --rhein-d:#234a5f;
  --ink:#20261f;
  --ink2:#6c7569;
  --ln:rgba(32,38,31,.16);
  --ln2:rgba(32,38,31,.4);
  --disp:'Overpass','Segoe UI',Arial,sans-serif;
  --sans:'Overpass','Segoe UI',Arial,sans-serif;
  --pad:clamp(1.2rem,4.5vw,3.4rem);
  --luft:clamp(4.5rem,10vw,8.5rem);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--kalk3);color:var(--ink);font-family:var(--sans);font-size:1.02rem;line-height:1.62;-webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:300;opacity:.42;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='249' height='249'%3E%3Cfilter id='d'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .045 0'/%3E%3C/filter%3E%3Crect width='249' height='249' filter='url(%23d)'/%3E%3C/svg%3E")}
img{max-width:100%;display:block}
a{color:var(--rhein-d)}
::selection{background:var(--grenz);color:var(--karte)}
.wrap{width:min(1100px,100% - 2*var(--pad));margin:0 auto}
.wrap .wrap{width:auto;margin:0}
.wrap.prose{max-width:none}
.wrap.prose>*{max-width:62ch}
.dreikopf{position:sticky;top:0;z-index:80;background:rgba(238,240,233,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1.5px solid var(--ln2)}
.dreikopf-in{width:min(1100px,100% - 2*var(--pad));margin:0 auto;display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;padding:.8rem 0}
.wortmarke{font-family:var(--disp);font-weight:800;font-size:1.12rem;color:var(--ink);text-decoration:none}
.wortmarke b{color:var(--rhein-d)}
.dreikopf nav{margin-left:auto;display:flex;gap:1.35rem;flex-wrap:wrap}
.dreikopf nav a{text-decoration:none;font-size:.87rem;font-weight:700;color:var(--ink2)}
.dreikopf nav a:hover{color:var(--ink)}
.dreikopf nav a.aktiv{color:var(--grenz-d);box-shadow:0 2.5px 0 0 var(--grenz)}
.kick{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rhein-d)}
.dreieckhero{padding:0 0 var(--luft)}
.dreiband{height:26px;display:flex}
.dreiband span{flex:1}
.dreiband .rot{background:var(--grenz)}
.dreiband .weiss{background:var(--karte);border-top:1px solid var(--ln);border-bottom:1px solid var(--ln)}
.dreiband .blau{background:var(--rhein)}
.dreigitter{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.8rem,4vw,3.2rem);align-items:center;padding-top:clamp(2rem,5vw,3.4rem)}
h1{font-family:var(--disp);font-weight:800;font-size:clamp(1.95rem,4.7vw,3.4rem);line-height:1.1;letter-spacing:-.01em;margin:.8rem 0 0}
h1 .drei{color:var(--rhein-d)}
.dreitext{color:var(--ink2);margin-top:1rem;max-width:52ch}
.aktion{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}
.btn{display:inline-block;text-decoration:none;font-weight:700;font-size:.94rem;padding:.8rem 1.4rem;border-radius:.2rem}
.btn-grenz{background:var(--grenz);color:var(--karte)}
.btn-grenz:hover{background:var(--grenz-d)}
.btn-linie{color:var(--ink);border:1.5px solid var(--ln2)}
.btn-linie:hover{border-color:var(--rhein-d);color:var(--rhein-d)}
.wochenendtag{
  background:var(--karte);border:1.5px solid var(--ln2);border-radius:.3rem;
  padding:1.3rem 1.4rem 1.4rem;
}
.wochenendtag h3{font-family:var(--disp);font-weight:800;font-size:1.15rem}
.wochenendtag h3 span{color:var(--grenz)}
.wochenendtag p{color:var(--ink2);margin-top:.5rem;font-size:.95rem}
.zeile{display:flex;gap:.9rem;align-items:baseline;flex-wrap:wrap;padding:.7rem 0;border-top:1px dashed var(--ln)}
.zeile:first-child{border-top:none}
.zeile .was{flex:0 0 9.5rem;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}
.zeile .wert{flex:1;font-size:.96rem}
.sec{padding:var(--luft) 0 0}
.sec-kopf{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.4rem}
.sec-kopf .linie{flex:1;border-top:2.5px solid var(--grenz)}
h2{font-family:var(--disp);font-weight:800;font-size:clamp(1.5rem,3.1vw,2.2rem);line-height:1.12}
.prose p{margin-bottom:1.1rem}
.prose p.leise{color:var(--ink2)}
.fn{font-size:.88rem;color:var(--ink2);margin-top:1.6rem}
sup{color:var(--grenz-d);font-weight:700}
.offen{border:2px dashed var(--rhein);background:var(--karte);padding:1.3rem 1.5rem;border-radius:.3rem}
.offen .kick{color:var(--ink2)}
.offen p{margin-top:.45rem;font-size:.96rem;color:var(--ink2)}
.kontakt-gross{font-family:var(--disp);font-weight:800;text-decoration:none;color:var(--ink);font-size:clamp(1.65rem,4vw,2.6rem);line-height:1.1;display:inline-block;letter-spacing:-.01em}
.kontakt-gross:hover{color:var(--grenz-d)}
.krise{border:2px solid var(--grenz-d);border-radius:.3rem;padding:1.3rem 1.5rem;background:var(--karte)}
.krise h3{color:var(--grenz-d);font-family:var(--disp);font-size:1.3rem}
.krise p{font-size:.93rem;color:var(--ink2);margin-top:.5rem}
.dreilandband{margin:var(--luft) 0 0;background:var(--rhein-d);color:var(--karte);padding:clamp(2.6rem,6vw,4.5rem) var(--pad)}
.dreilandband .kick{color:#b8d3dd}
.dreilandband .riesig{font-family:var(--disp);font-weight:800;letter-spacing:-.01em;font-size:clamp(1.8rem,4.6vw,3.2rem);line-height:1.1;display:inline-block;margin-top:.8rem;color:var(--karte);text-decoration:none;border-bottom:3px solid var(--grenz);padding-bottom:.1em}
.dreilandband p{color:rgba(249,250,244,.72);margin-top:1rem;font-size:.95rem;max-width:56ch}
footer{background:var(--rhein-d);color:rgba(249,250,244,.6);border-top:1px solid rgba(249,250,244,.16);padding:1.3rem var(--pad) 2.2rem}
footer .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem}
footer a{color:rgba(249,250,244,.85);text-decoration:none;margin-left:1.1rem}
footer a:hover{color:var(--karte)}
.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}
@media(max-width:900px){.dreigitter{grid-template-columns:1fr}.z .was{flex-basis:100%}}
.dreilandband .riesig a{color:var(--karte)}
.dreilandband .riesig a:hover{color:#fff}
