/* ===== Farben (aus dem Logo) – hier zentral änderbar ===== */
:root{--navy:#17255e;--purple:#8e2bb0;--blue:#0a8cf0;--green:#5cb800;--yellow:#ffc800;--orange:#ff6a00;--red:#e8192c;--pink:#f0147a;
--cream:#fdf6e7;--soft:#fbf3e1;--text:#1f2542;
--bs-primary:#17255e;--bs-primary-rgb:23,37,94;--bs-link-color:#8e2bb0;--bs-link-hover-color:#6a1d85;
--font-head:"Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--font-body:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:var(--font-body);color:var(--text);background:#fff;padding-top:68px}
h1,h2,h3,.navbar-brand{font-family:var(--font-head);color:var(--navy);letter-spacing:-.01em}
.btn-primary{--bs-btn-bg:var(--navy);--bs-btn-border-color:var(--navy);--bs-btn-hover-bg:#0f1a45;--bs-btn-hover-border-color:#0f1a45;--bs-btn-active-bg:#0f1a45;border-radius:50rem;padding-inline:1.4rem}
.btn-outline-primary{--bs-btn-color:var(--navy);--bs-btn-border-color:var(--navy);--bs-btn-hover-bg:var(--navy);--bs-btn-hover-border-color:var(--navy);border-radius:50rem}
.btn-light{border-radius:50rem}
.skip-link{position:absolute;z-index:2000;left:1rem;top:.5rem;background:#fff;padding:.5rem 1rem}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
/* Navigation */
.site-nav{background:rgba(253,246,231,.94);backdrop-filter:blur(10px);padding:.6rem 0;transition:padding .25s,box-shadow .25s}
.site-nav.scrolled{padding:.2rem 0;box-shadow:0 4px 18px rgba(23,37,94,.12)}
.navbar-brand{font-weight:700;font-size:1.15rem}.navbar-brand small{font-size:.7em;font-weight:400}
.site-nav .nav-link{color:var(--navy);font-weight:600;padding:.5rem .8rem;position:relative}
.site-nav .nav-link::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.2rem;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--purple),var(--blue),var(--green),var(--yellow),var(--orange),var(--red));transform:scaleX(0);transition:transform .25s}
.site-nav .nav-link:hover::after,.site-nav .nav-link.active::after{transform:scaleX(1)}
.navbar-toggler{border:0;color:var(--navy);padding:.25rem .5rem}.navbar-toggler:focus{box-shadow:0 0 0 3px rgba(10,140,240,.4)}
@media (max-width:991.98px){.site-nav .navbar-collapse{max-height:calc(100vh - 70px);overflow-y:auto;padding-bottom:.8rem}
.site-nav .nav-link{padding:.85rem .2rem;font-size:1.1rem;border-top:1px solid rgba(23,37,94,.1)}.site-nav .nav-link::after{left:.2rem;right:auto;width:3rem}}
/* Hero */
.hero{background:var(--cream)}
.hero>img{display:block;width:100%;height:auto;max-height:78vh;object-fit:cover;object-position:center top;animation:zoom 14s ease-out both}
@keyframes zoom{from{transform:scale(1.04)}to{transform:scale(1)}}
.hero-intro{padding:3rem 0 4rem;background:linear-gradient(var(--cream),#fff)}
.hero h1{font-size:clamp(1.9rem,4.5vw,3.2rem);font-weight:700}
.grad{background:linear-gradient(90deg,var(--purple),var(--blue),var(--green),var(--orange),var(--red));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{max-width:46rem}
.page-hero{background:var(--cream);padding:4rem 0 3rem;border-bottom:6px solid transparent;border-image:linear-gradient(90deg,var(--purple),var(--blue),var(--green),var(--yellow),var(--orange),var(--red),var(--pink)) 1}
.page-hero h1{font-size:clamp(2rem,5vw,3.2rem);margin-bottom:.5rem}.page-hero .lead{margin:0;color:#4a5073}
/* Sektionen */
.section{padding:5rem 0}.bg-soft{background:var(--soft)}
.section-head{text-align:center;margin-bottom:2.5rem}.section-head h2,.section h2{font-size:clamp(1.6rem,3.5vw,2.3rem)}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--purple);margin-bottom:.4rem}
.card{border:0;border-radius:1.1rem;overflow:hidden;box-shadow:0 6px 22px rgba(23,37,94,.08);transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-6px);box-shadow:0 14px 32px rgba(23,37,94,.15)}
.card.feature{border-top:5px solid var(--c)}
.c-purple{--c:var(--purple)}.c-blue{--c:var(--blue)}.c-green{--c:var(--green)}.c-orange{--c:var(--orange)}.c-red{--c:var(--red)}
.icon-badge{width:3.2rem;height:3.2rem;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;color:#fff;background:var(--c);margin-bottom:1rem}
.card-img-top{aspect-ratio:3/2;object-fit:cover}.person .card-img-top{aspect-ratio:1/1}
.logo-big{max-width:320px;width:100%;filter:drop-shadow(0 12px 24px rgba(23,37,94,.18))}
.value{background:#fff;border-radius:1rem;padding:1.4rem 1rem;text-align:center;height:100%;box-shadow:0 4px 14px rgba(23,37,94,.07);font-weight:600;color:var(--navy)}
.value i{display:block;font-size:2rem;color:var(--purple);margin-bottom:.4rem}
/* Termine */
.event{display:flex;gap:1.2rem;align-items:center;background:#fff;border-radius:1rem;padding:1.1rem 1.3rem;box-shadow:0 4px 16px rgba(23,37,94,.08);border-left:5px solid var(--orange)}
.date-box{flex:0 0 4.2rem;text-align:center;background:var(--navy);color:#fff;border-radius:.8rem;padding:.5rem 0;line-height:1.1}
.date-box .d{display:block;font-size:1.7rem;font-weight:700;font-family:var(--font-head)}.date-box .m{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
/* Galerie */
.gallery-carousel{border-radius:1.2rem;overflow:hidden;box-shadow:0 12px 34px rgba(23,37,94,.18)}
.gallery-carousel img{aspect-ratio:16/9;object-fit:cover}
.gallery-item{position:relative;display:block;width:100%;padding:0;border:0;border-radius:1rem;overflow:hidden;background:none;cursor:zoom-in}
.gallery-item img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .5s}
.gallery-item:hover img{transform:scale(1.07)}
.gallery-item span{position:absolute;inset:0;display:grid;place-items:center;font-size:2rem;color:#fff;background:rgba(23,37,94,.35);opacity:0;transition:opacity .3s}
.gallery-item:hover span,.gallery-item:focus-visible span{opacity:1}
/* CTA & Footer */
.cta{padding:5rem 0;color:#fff;background:linear-gradient(120deg,var(--navy),var(--purple))}
.cta h2{color:#fff}.cta .lead{opacity:.9}
.rainbow-bar{height:6px;background:linear-gradient(90deg,var(--purple),var(--blue),var(--green),var(--yellow),var(--orange),var(--red),var(--pink))}
.site-footer{background:var(--navy);color:#fff}.site-footer a{color:#fff;opacity:.85;text-decoration:none}.site-footer a:hover{opacity:1;text-decoration:underline}
.site-footer h2{letter-spacing:.1em;color:var(--yellow);font-family:var(--font-body)}
address{font-style:normal}
/* Kontakt, Rechtliches */
.contact-list li{margin-bottom:1rem}.contact-list i{color:var(--purple);margin-right:.5rem}
.legal{max-width:50rem}.legal h2{margin-top:2rem}mark{background:#fff3b0;padding:0 .25rem;border-radius:.2rem}
/* Hinweis-Banner */
.consent{position:fixed;z-index:1080;left:1rem;bottom:1rem;max-width:26rem;background:#fff;border-radius:1rem;padding:1.2rem;border-top:5px solid var(--purple)}
.consent[hidden]{display:none}
/* Animation beim Scrollen */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero>img{animation:none}.card:hover{transform:none}}
@media (max-width:575px){.section{padding:3.5rem 0}.event{flex-direction:column;align-items:flex-start}}
