:root{
  --bg:#ffffff; --bg2:#f7f8fa; --panel:#ffffff; --line:#e6e9ee;
  --ink:#1b2330; --muted:#5c6675;
  --red:#e82020; --red-d:#c41818; --red-l:#c41818;
  --maxw:1140px; --radius:16px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:var(--red-l);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}

.btn{display:inline-block;padding:.85em 1.6em;border-radius:999px;font-weight:700;font-size:.98rem;
  border:1.5px solid transparent;cursor:pointer;transition:.15s}
.btn-red{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 8px 24px rgba(232,32,32,.22)}
.btn-red:hover{background:var(--red-d);border-color:var(--red-d);text-decoration:none;transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-outline:hover{border-color:var(--ink);text-decoration:none}
.btn-lg{padding:1.05em 2.2em;font-size:1.06rem}

.hdr{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:saturate(1.4) blur(8px);
  border-bottom:1px solid var(--line)}
.hdr-inner{max-width:var(--maxw);margin:0 auto;padding:16px 22px;display:flex;flex-direction:column;align-items:center;gap:12px;position:relative}
.brand img{height:54px;width:auto;display:block}
.nav{display:flex;gap:22px;flex-wrap:wrap;justify-content:center}
.nav a{color:var(--ink);font-weight:600;font-size:.96rem}
.nav a:hover{color:var(--red-d);text-decoration:none}
.nav a[aria-current=page]{color:var(--red-d)}
.navtoggle{display:none}
.burger{display:none;position:absolute;right:22px;top:18px;width:46px;height:42px;border:1.5px solid var(--line);border-radius:10px;
  cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;background:#fff}
.burger span{width:20px;height:2px;background:var(--ink);border-radius:2px}

.hero{max-width:var(--maxw);margin:0 auto;padding:72px 22px 26px;text-align:center}
.hero-event{padding-top:88px;
  background-image:radial-gradient(760px 420px at 80% -10%, rgba(232,32,32,.10), transparent 62%);background-repeat:no-repeat}
.kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;color:var(--red-d);font-weight:700;margin:0 0 14px}
.logo-type{font-size:clamp(2.8rem,9vw,6rem);line-height:.95;margin:0;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.logo-type::after{content:"";display:block;width:84px;height:5px;background:var(--red);border-radius:3px;margin:22px auto 0}
.hero-sub{font-size:clamp(1.1rem,2.4vw,1.45rem);max-width:38ch;margin:24px auto 8px;font-weight:600;color:var(--ink)}
.hero-meta{color:var(--muted);letter-spacing:.04em;margin:0 0 26px}
.cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.facts{max-width:var(--maxw);margin:30px auto;padding:0 22px;display:flex;gap:18px;flex-wrap:wrap;justify-content:center}
.fact{flex:1 1 180px;max-width:260px;background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);padding:26px 18px;text-align:center}
.fact-k{display:block;font-size:2.6rem;font-weight:800;color:var(--red-d);line-height:1.05}
.fact-v{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;margin-top:8px}

.intro{max-width:760px;margin:42px auto;padding:0 22px;text-align:center;font-size:1.18rem;color:var(--ink)}

.page-hero{padding:64px 22px 8px;max-width:820px}
.page-hero h1{font-size:clamp(2rem,5vw,3rem);margin:.1em 0 0;line-height:1.1;color:var(--ink)}
.page-hero .lead{font-size:1.2rem;color:var(--muted);margin-top:16px}

.grid{margin:34px auto;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;color:var(--ink)}
.card h2{margin:0 0 10px;font-size:1.22rem;color:var(--ink)}
.card p{margin:0;color:var(--muted)}
.card-accent{border-left:3px solid var(--red)}
.card-link{transition:.15s;display:block}
.card-link:hover{border-color:var(--red);box-shadow:0 12px 30px rgba(27,35,48,.08);transform:translateY(-2px);text-decoration:none}
.card-link .more{display:inline-block;margin-top:14px;color:var(--red-d);font-weight:700}

.quotes{margin:50px auto}
.quotes-h{text-align:center;font-size:1.5rem;margin:0 0 24px;color:var(--ink)}
.quote-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.quote{margin:0;background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px 26px 40px;
  color:var(--ink);font-style:italic;position:relative}
.quote::before{content:"\201C";color:var(--red);font-size:2.6rem;line-height:1;position:absolute;top:18px;left:14px;opacity:.55}

.cta-band{text-align:center;margin:50px auto}

.closing{max-width:860px;margin:64px auto;padding:54px 26px;text-align:center;
  background:linear-gradient(135deg, rgba(232,32,32,.10), rgba(232,32,32,.03));
  border:1px solid rgba(232,32,32,.28);border-radius:24px}
.closing h2{font-size:clamp(1.6rem,4vw,2.4rem);margin:0 0 12px;color:var(--ink)}
.closing p{color:var(--muted);max-width:44ch;margin:0 auto 28px;font-size:1.1rem}

.contact{display:grid;grid-template-columns:1fr 1.3fr;gap:30px;margin:34px auto 60px;align-items:start}
.contact-info,.contact-form{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px}
.contact-info h2{margin-top:0;color:var(--ink)}
.contact-info p{color:var(--muted)}
.contact-info a{color:var(--red-d)}
.contact-form label{display:block;margin:0 0 14px;font-size:.9rem;color:var(--muted)}
.contact-form input,.contact-form textarea{width:100%;margin-top:5px;padding:11px 13px;background:#fff;
  border:1px solid var(--line);border-radius:9px;color:var(--ink);font:inherit}
.hp{position:absolute;left:-9999px}
.flash-ok{background:#e7f6ec;border:1px solid #7bbf95;padding:12px 16px;border-radius:10px;color:#15532f}
.flash-err{background:#fdecec;border:1px solid #e2a3a3;padding:12px 16px;border-radius:10px;color:#7a2020}
@media(max-width:760px){.contact{grid-template-columns:1fr}}

.foot{margin-top:48px;border-top:1px solid var(--line);background:var(--bg2)}
.foot-inner{max-width:var(--maxw);margin:0 auto;padding:42px 22px 56px;text-align:center}
.foot-logo{height:34px;width:auto;margin:0 auto 16px}
.foot-meta p{margin:4px 0;color:var(--muted)}
.foot-meta a{color:var(--muted)}
.foot-legal{color:var(--muted);font-size:.88rem;margin-top:16px}
.foot-legal a{color:var(--muted)}

@media(max-width:680px){
  .burger{display:flex}
  .nav{flex-direction:column;gap:0;width:100%;display:none;text-align:center}
  .navtoggle:checked ~ .nav{display:flex}
  .nav a{padding:12px 2px;border-top:1px solid var(--line);width:100%}
}

/* Hinweis-Banner */
.notice-bar{background:#fff4f4;border-bottom:1px solid #f3cccc;color:#a01818;text-align:center;
  padding:10px 22px;font-weight:600;font-size:.92rem}
/* Shops-Untertitel */
.shops-sub{text-align:center;color:var(--muted);margin:-12px auto 22px;max-width:50ch}

/* Artikel-Typografie (Blöcke) */
.prose{max-width:760px;margin:24px auto 10px}
.prose h2{font-size:1.5rem;margin:1.8em 0 .4em;color:var(--ink)}
.prose h3{font-size:1.2rem;margin:1.4em 0 .3em;color:var(--ink)}
.prose h4{font-size:1.05rem;margin:1.2em 0 .3em;color:var(--ink)}
.prose p{margin:.7em 0;color:#33404f}
.prose ul{margin:.6em 0 1em;padding-left:1.2em}
.prose li{margin:.35em 0;color:#33404f}
.prose a{color:var(--red-d)}

/* Leistungsbereiche (Start) */
.svc-list{list-style:none;margin:8px 0 0;padding:0}
.svc-list li{display:flex;flex-direction:column;padding:8px 0;border-top:1px solid var(--line)}
.svc-list li strong{color:var(--ink)}
.svc-list li span{color:var(--muted);font-size:.9rem}
