:root{
  --rot:#dc2635;
  --rot-dunkel:#b51d2a;
  --creme:#fffdfb;
  --creme-2:#faf5ef;
  --tinte:#292326;
  --grau:#746b6e;
  --gold:#f2a91e;
  --blau:#1f7ac2;
  --gruen:#2fa66a;
  --pink:#ef5da8;
  --lila:#7a4fd0;
  --akzent:var(--rot);
  --linie:#eee7e3;
  --schatten:0 12px 34px rgba(61,43,48,.07);
  --ease:cubic-bezier(.65,.05,0,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:#fff;
  color:var(--tinte);
  font-family:'Aptos','Segoe UI',Roboto,'Helvetica Neue',Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--rot);color:#fff;}
img{max-width:100%;}
a:focus-visible,button:focus-visible{
  outline:3px solid rgba(229,32,46,.32);
  outline-offset:4px;
  border-radius:6px;
}

/* Navigation */
nav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  display:flex;align-items:center;justify-content:space-between;
  padding:.9rem 4vw;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--linie);
}
nav .logo{
  font-weight:650;font-size:1.05rem;letter-spacing:.01em;
  text-decoration:none;color:var(--tinte);
  display:flex;align-items:center;gap:.6rem;
}
nav .logo .dot{width:.65rem;height:.65rem;border-radius:50%;background:var(--rot);display:inline-block;}
nav ul{display:flex;gap:2.2rem;list-style:none;}
nav ul a{
  color:var(--tinte);text-decoration:none;font-size:.86rem;letter-spacing:.08em;
  position:relative;padding-bottom:.25rem;
}
nav ul a::after{
  content:'';position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:var(--rot);transform:scaleX(0);transform-origin:right;
  transition:transform .5s var(--ease);
}
nav ul a:hover::after,nav ul a.aktiv::after{transform:scaleX(1);transform-origin:left;}
nav .nav-btn{
  background:var(--rot);color:#fff;text-decoration:none;
  font-size:.82rem;font-weight:600;letter-spacing:.06em;
  padding:.72rem 1.35rem;border-radius:999px;
  transition:transform .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease);
  box-shadow:0 7px 20px rgba(220,38,53,.18);
}
nav .nav-btn:hover{transform:translateY(-2px);background:var(--rot-dunkel);box-shadow:0 10px 24px rgba(220,38,53,.24);}
@media(max-width:900px){
  nav{flex-wrap:wrap;}
  nav ul{
    order:3;width:100%;
    display:flex;gap:1.2rem;
    margin-top:.7rem;padding:.65rem 0 .05rem;
    overflow-x:auto;scrollbar-width:none;
    border-top:1px solid var(--linie);
  }
  nav ul::-webkit-scrollbar{display:none;}
  nav ul li{flex:0 0 auto;}
  nav ul a{font-size:.78rem;white-space:nowrap;}
}

/* Seitenkopf */
.page-hero{
  position:relative;
  padding:9.5rem 0 4.5rem;
  background:
    radial-gradient(circle at 91% 23%,rgba(220,38,53,.08) 0 9px,transparent 10px),
    radial-gradient(circle at 86% 35%,rgba(31,122,194,.08) 0 13px,transparent 14px),
    radial-gradient(circle at 95% 48%,rgba(242,169,30,.1) 0 7px,transparent 8px),
    radial-gradient(circle at 8% 78%,rgba(47,166,106,.07) 0 10px,transparent 11px),
    linear-gradient(180deg,#fff 0%,#fcf8f4 100%);
  overflow:hidden;
  border-bottom:1px solid var(--linie);
}
.page-hero.bild-hero{
  min-height:clamp(470px,48vw,620px);
  display:flex;
  align-items:center;
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 38%,rgba(255,255,255,.44) 67%,rgba(255,255,255,.08) 100%),
    var(--hero-bild);
  background-size:cover,cover;
  background-position:center,var(--hero-position,center);
  background-repeat:no-repeat;
}
.page-hero.bild-hero .deko{display:none;}
.page-hero.bild-hero h1{max-width:12ch;text-shadow:0 2px 18px rgba(255,255,255,.72);}
.page-hero.bild-hero .intro{max-width:52ch;color:#51474a;text-shadow:0 1px 12px rgba(255,255,255,.86);}
.page-hero.bild-hero .crumb{color:#51474a;}
.page-hero.bild-hero .crumb a{color:#51474a;}
.wrap{width:min(1100px,92vw);margin:0 auto;position:relative;z-index:2;}
.crumb{
  font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--grau);
  margin-bottom:1.6rem;
}
.crumb a{color:var(--grau);text-decoration:none;}
.crumb a:hover{color:var(--rot);}
.crumb .sep{
  display:inline-flex;align-items:center;justify-content:center;
  width:13px;height:16px;margin:0 .6rem;vertical-align:middle;
}
.crumb .sep img{width:100%;height:100%;object-fit:contain;display:block;}
.page-hero h1{
  font-size:clamp(2.5rem,7vw,5.25rem);
  font-weight:620;letter-spacing:-.035em;line-height:1.02;
}
.page-hero h1 .akzent{color:var(--akzent);}
.page-hero .intro{
  margin-top:1.8rem;max-width:62ch;
  font-size:clamp(1.05rem,1.6vw,1.28rem);line-height:1.7;color:var(--grau);font-weight:400;
}
.reveal-line{display:block;overflow:hidden;}
.reveal-line>span{display:inline-block;}
.deko{position:absolute;border-radius:50%;pointer-events:none;z-index:1;}

/* Inhalt */
main{padding:4.5rem 0 7rem;background:#fff;}
main .wrap>*+*{margin-top:2rem;}
main .wrap>p:not(.intro){font-size:1.02rem;}
.sec-label{
  font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--akzent);
  display:flex;align-items:center;gap:.85rem;margin:3.5rem 0 1.6rem;font-weight:600;
}
.sec-label::before{content:'';width:34px;height:2px;border-radius:3px;background:var(--akzent);display:inline-block;}
main h2{
  font-size:clamp(1.65rem,3.4vw,2.5rem);font-weight:620;letter-spacing:-.025em;
}
.jahr-chip+h2{margin-top:1rem;}
main h3{font-size:1.16rem;font-weight:620;letter-spacing:-.01em;}
main p{line-height:1.78;color:var(--tinte);max-width:70ch;}
main p.muted,li.muted{color:var(--grau);}
main ul.liste{padding-left:1.2rem;line-height:1.9;max-width:70ch;}

/* Karten & Grids */
.karten{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.4rem;margin-top:1rem;}
.karte{
  background:#fff;border-radius:18px;padding:2rem 1.8rem;
  box-shadow:var(--schatten);
  border:1px solid var(--linie);
  border-top:3px solid var(--akzent);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
}
.karte:nth-child(4n+2){border-top-color:var(--gold);}
.karte:nth-child(4n+3){border-top-color:var(--blau);}
.karte:nth-child(4n+4){border-top-color:var(--gruen);}
.karte:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(61,43,48,.10);border-color:rgba(220,38,53,.18);}
.karte .icon{
  width:52px;height:62px;margin-bottom:.9rem;
  display:flex;align-items:center;justify-content:center;
}
.karte .icon img{width:100%;height:100%;object-fit:contain;display:block;}
.karte h3{margin-bottom:.5rem;}
.karte .rolle{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--akzent);font-weight:600;margin-bottom:.6rem;display:block;}
.karte p{font-size:.95rem;color:var(--grau);}

/* Personen-Platzhalter */
.portrait{
  width:84px;height:84px;border-radius:50%;
  background:linear-gradient(135deg,var(--creme-2),#efe2c9);
  display:flex;align-items:center;justify-content:center;
  font-size:2rem;margin-bottom:1.1rem;
  border:3px solid var(--akzent);
}

/* Tabelle (Termine, Prinzenpaare) */
.tabelle{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--schatten);border:1px solid var(--linie);}
.tabelle th{
  background:var(--akzent);color:#fff;text-align:left;
  font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
  padding:1.1rem 1.4rem;
}
.tabelle td{padding:1.05rem 1.4rem;border-bottom:1px solid rgba(35,26,28,.07);font-size:.98rem;}
.tabelle tr:last-child td{border-bottom:none;}
.tabelle tr:nth-child(even) td{background:#fdfbf9;}
.tabelle tr:hover td{background:#fff7f7;}
.tabelle .jahr{font-weight:650;color:var(--akzent);white-space:nowrap;}

/* Hinweis-/Platzhalterbox */
.hinweis{
  background:#fffaf0;border:1px solid rgba(242,169,30,.38);border-radius:16px;
  padding:1.4rem 1.6rem;color:var(--grau);font-size:.95rem;line-height:1.7;max-width:none;
  box-shadow:0 8px 24px rgba(61,43,48,.04);
}
.hinweis strong{color:var(--tinte);}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:.9rem;
  background:var(--rot);color:#fff;
  text-decoration:none;font-weight:600;letter-spacing:.06em;font-size:.88rem;
  padding:1rem 1.8rem;border-radius:999px;
  transition:transform .3s var(--ease),background .3s var(--ease),color .3s var(--ease);
  box-shadow:0 10px 25px rgba(229,32,46,.18);
  border:none;cursor:pointer;
}
.btn:hover{transform:translateY(-2px);background:var(--rot-dunkel);}
.btn.hell{background:#fff;color:var(--rot);box-shadow:0 12px 32px rgba(35,26,28,.12);}
.btn.hell:hover{background:var(--gold);color:var(--tinte);}
.btn[aria-disabled="true"]{
  background:#e9e3df;color:#7f7678;box-shadow:none;cursor:not-allowed;pointer-events:none;
}
.btn .arrow{transition:transform .45s var(--ease);}
.btn:hover .arrow{transform:translateX(5px);}

/* Download-Reihe */
.downloads{display:flex;flex-wrap:wrap;gap:1rem;}

/* Zeitstrahl klein */
.mini-tl{position:relative;margin-top:1rem;}
.mini-tl::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px;background:linear-gradient(var(--rot),var(--gold),var(--blau),var(--gruen));}
.mini-tl .item{position:relative;padding:0 0 2.6rem 3rem;max-width:720px;}
.mini-tl .item:last-child{padding-bottom:0;}
.mini-tl .item::before{content:'';position:absolute;left:-6px;top:.35rem;width:15px;height:15px;border-radius:50%;background:#fff;border:4px solid var(--akzent);}
.mini-tl .jahr{font-weight:800;font-size:1.4rem;color:var(--akzent);}
.mini-tl h3{margin:.35rem 0 .4rem;}
.mini-tl p{color:var(--grau);font-size:.98rem;}

/* Galerie-Platzhalter */
.galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.2rem;}
.galerie .bild{
  aspect-ratio:4/3;border-radius:16px;
  background:
    radial-gradient(circle at 20% 25%,rgba(220,38,53,.12) 0 7px,transparent 8px),
    radial-gradient(circle at 80% 68%,rgba(31,122,194,.1) 0 9px,transparent 10px),
    linear-gradient(135deg,#fff,var(--creme-2));
  display:flex;align-items:center;justify-content:center;
  color:var(--grau);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  border:1px dashed rgba(35,26,28,.18);
}
.galerie figure{
  margin:0;overflow:hidden;border-radius:18px;background:#fff;
  border:1px solid var(--linie);box-shadow:var(--schatten);
}
.galerie figure img{
  width:100%;height:100%;min-height:220px;aspect-ratio:4/3;
  object-fit:cover;display:block;transition:transform .55s var(--ease);
}
.galerie figure:hover img{transform:scale(1.035);}
.galerie figure figcaption{
  padding:.8rem 1rem;color:var(--grau);font-size:.82rem;line-height:1.5;
}

/* Hervorgehobene Inhaltsbereiche */
.faktenband{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;
  padding:1.2rem;border-radius:20px;background:var(--creme-2);border:1px solid var(--linie);
}
.faktenband .fakt{
  padding:1.3rem 1.2rem;border-radius:15px;background:#fff;border-left:4px solid var(--akzent);
}
.faktenband strong{display:block;font-size:1.35rem;color:var(--akzent);margin-bottom:.25rem;}
.faktenband span{color:var(--grau);font-size:.9rem;line-height:1.5;}
.session-box{
  position:relative;overflow:hidden;padding:clamp(1.6rem,4vw,3rem);
  border-radius:24px;background:linear-gradient(135deg,var(--rot),var(--rot-dunkel));color:#fff;
  box-shadow:0 18px 45px rgba(181,29,42,.2);
}
.session-box::after{
  content:'';position:absolute;right:5%;top:50%;transform:translateY(-50%);
  width:clamp(90px,14vw,150px);height:clamp(108px,17vw,180px);
  background:url('bilder/wappen-original.png') center/contain no-repeat;
  opacity:.11;
}
.session-box h2,.session-box h3,.session-box p{color:#fff;position:relative;z-index:1;}
.session-box p{max-width:64ch;}
.session-box .eyebrow{
  display:block;margin-bottom:.7rem;font-size:.75rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:#ffd16b;
}
.session-box .btn{background:#fff;color:var(--rot);box-shadow:none;margin-top:1.1rem;}
.session-box .btn:hover{background:var(--gold);color:var(--tinte);}
.quellenhinweis{font-size:.8rem!important;color:var(--grau)!important;font-style:italic;}

/* Gedicht auf der Ehrenamtsseite */
.ehrenamt-gedicht{
  position:relative;
  overflow:hidden;
  padding:clamp(1.6rem,4vw,3.4rem);
  border-radius:28px;
  background:linear-gradient(135deg,#fff5f5 0%,#fff 52%,#fff8e8 100%);
  border:1px solid rgba(220,38,53,.17);
  box-shadow:0 20px 52px rgba(61,43,48,.09);
}
.ehrenamt-gedicht::before{
  content:'“';
  position:absolute;
  top:-2.7rem;
  right:clamp(.8rem,4vw,2.7rem);
  color:rgba(220,38,53,.075);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(10rem,24vw,18rem);
  line-height:1;
  pointer-events:none;
}
.gedicht-kopf{position:relative;z-index:1;max-width:760px;margin-bottom:2rem;}
.gedicht-kopf .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-bottom:.75rem;
  color:var(--rot);
  font-size:.75rem;
  font-weight:750;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.gedicht-kopf .eyebrow::before{
  content:'';width:18px;height:22px;display:inline-block;
  background:url('bilder/wappen-original.png') center/contain no-repeat;
}
.gedicht-kopf h2{color:var(--rot);font-size:clamp(2rem,4vw,3.25rem);line-height:1.05;}
.gedicht-kopf p{margin-top:1rem;color:var(--grau);}
.gedicht-strophen{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem 1.4rem;
}
.gedicht-strophe{
  padding:1.2rem 1.35rem;
  border-left:3px solid var(--rot);
  border-radius:0 14px 14px 0;
  background:rgba(255,255,255,.82);
  box-shadow:0 7px 20px rgba(61,43,48,.035);
}
.gedicht-strophe:nth-child(3n+2){border-left-color:var(--gold);}
.gedicht-strophe:nth-child(3n){border-left-color:var(--gruen);}
.gedicht-strophe:last-child{
  grid-column:1/-1;
  border-left-color:var(--rot);
  background:linear-gradient(90deg,rgba(220,38,53,.08),rgba(255,255,255,.88));
}
.gedicht-strophe p{
  max-width:none;
  margin:0;
  color:#43393c;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(.98rem,1.4vw,1.08rem);
  line-height:1.72;
}

/* Funken */
.funken-geschichte{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:clamp(2rem,5vw,4rem);
  align-items:center;
  padding:clamp(1.5rem,4vw,3rem);
  border-radius:26px;
  background:linear-gradient(135deg,#fff8f8,#fff);
  border:1px solid rgba(220,38,53,.14);
  box-shadow:var(--schatten);
}
.funken-geschichte h2{margin-bottom:1rem;}
.funken-geschichte p+p{margin-top:.85rem;}
.funken-geschichte figure{
  margin:0;
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 32px rgba(61,43,48,.12);
}
.funken-geschichte img{width:100%;height:auto;display:block;}
.funken-geschichte figcaption{
  padding:.75rem 1rem;
  color:var(--grau);
  font-size:.78rem;
  line-height:1.5;
}
.funkenboss-liste{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
}
.funkenboss-liste>div{
  position:relative;
  overflow:hidden;
  min-height:160px;
  padding:1.35rem 1.2rem;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--linie);
  border-bottom:4px solid var(--rot);
  box-shadow:var(--schatten);
}
.funkenboss-liste>div::after{
  content:'';
  position:absolute;
  right:.65rem;
  bottom:.45rem;
  width:58px;height:70px;
  background:url('bilder/wappen-original.png') center/contain no-repeat;
  opacity:.07;
}
.funkenboss-liste span{
  display:block;
  margin-bottom:.7rem;
  color:var(--rot);
  font-size:.76rem;
  font-weight:750;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.funkenboss-liste strong{display:block;font-size:1.12rem;line-height:1.3;}
.funkenboss-liste small{display:block;margin-top:.4rem;color:var(--grau);font-size:.82rem;}
.funken-lied{
  position:relative;
  overflow:hidden;
  padding:clamp(1rem,2.5vw,1.6rem);
  border:1px solid rgba(220,38,53,.16);
  border-top:7px solid var(--rot);
  border-radius:28px;
  color:var(--tinte);
  background:
    radial-gradient(circle at 96% 5%,rgba(242,169,30,.12),transparent 20%),
    linear-gradient(180deg,#fff 0%,#fffdfb 100%);
  box-shadow:0 22px 52px rgba(78,40,44,.12);
}
.funken-lied::after{
  content:'';
  position:absolute;
  right:3%;
  top:1.4rem;
  width:125px;height:150px;
  background:url('bilder/wappen-original.png') center/contain no-repeat;
  opacity:.045;
}
.funken-lied .lied-kopf{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(230px,320px) minmax(0,1fr);
  gap:clamp(1.5rem,4vw,3.5rem);
  align-items:center;
  padding:clamp(1rem,3vw,2rem);
  border:1px solid var(--linie);
  border-radius:22px;
  background:linear-gradient(135deg,#fff7f3 0%,#fff 68%);
}
.funken-lied figure{margin:0;}
.funken-lied figure img{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  display:block;
  border-radius:18px;
  border:1px solid rgba(220,38,53,.14);
  box-shadow:0 16px 34px rgba(69,35,38,.14);
}
.funken-lied figure figcaption{
  margin-top:.7rem;
  color:var(--grau);
  font-size:.82rem;
  text-align:center;
}
.funken-lied .eyebrow{
  display:block;
  margin-bottom:.8rem;
  color:var(--rot);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.funken-lied h2{
  max-width:13ch;
  color:var(--rot-dunkel);
  font-size:clamp(2.2rem,4.5vw,4rem);
  font-weight:600;
  line-height:1.02;
  letter-spacing:-.045em;
}
.funken-lied .lied-kopf p{
  margin-top:1rem;
  color:var(--grau);
  font-size:1rem;
  line-height:1.6;
}
.liedtext{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.1rem;
  margin-top:1.35rem;
}
.lied-refrain,.lied-strophe{
  padding:clamp(1.25rem,2.6vw,1.75rem);
  border-radius:17px;
  background:#fff;
  border:1px solid var(--linie);
  box-shadow:0 10px 24px rgba(61,43,48,.055);
}
.lied-refrain{
  grid-column:1/-1;
  background:linear-gradient(135deg,#fff0f2 0%,#fff9f4 100%);
  border-color:rgba(220,38,53,.18);
  border-left:6px solid var(--rot);
}
.lied-refrain strong,.lied-strophe strong{
  display:block;
  margin-bottom:.7rem;
  color:var(--rot);
  font-size:.77rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.liedtext p{
  max-width:none;
  margin:0;
  color:var(--tinte);
  font-family:inherit;
  font-size:clamp(1.06rem,1.5vw,1.17rem);
  line-height:1.82;
}
.lied-refrain p{font-weight:600;color:var(--rot-dunkel);}
.funken-audio{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(290px,1.2fr);
  gap:1.3rem;
  align-items:center;
  margin-top:1.35rem;
  padding:1.35rem 1.5rem;
  border-radius:17px;
  background:var(--creme-2);
  border:1px solid rgba(220,38,53,.14);
  border-left:6px solid var(--gold);
}
.funken-audio strong{
  display:block;
  color:var(--rot-dunkel);
  font-size:1.12rem;
}
.funken-audio span{
  display:block;
  margin-top:.3rem;
  color:var(--grau);
  font-size:.88rem;
  line-height:1.5;
}
.funken-audio audio{width:100%;display:block;accent-color:var(--rot);}
@media(max-width:820px){
  .funken-lied .lied-kopf{grid-template-columns:minmax(190px,260px) minmax(0,1fr);}
}
@media(max-width:720px){
  .funken-audio{grid-template-columns:1fr;padding:1.1rem;}
}
.funken-galerie{grid-template-columns:repeat(3,minmax(0,1fr));}
.funken-galerie figure:first-child{grid-column:span 2;}
.funken-galerie figure img{min-height:235px;}
.golden-ladies{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);
  gap:clamp(2rem,5vw,4rem);
  align-items:center;
  padding:clamp(1.4rem,4vw,3rem);
  border-radius:26px;
  background:linear-gradient(135deg,#fff9e9,#fff);
  border:1px solid rgba(242,169,30,.24);
}
.golden-bilder{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  align-items:end;
  gap:.8rem;
}
.golden-bilder img{
  width:100%;
  height:auto;
  display:block;
  border-radius:16px;
  box-shadow:0 12px 28px rgba(61,43,48,.12);
}
.golden-bilder img:last-child{transform:translateY(1.3rem);}
.golden-ladies .eyebrow,.funken-mitmachen .eyebrow{
  display:block;
  margin-bottom:.65rem;
  color:var(--rot);
  font-size:.74rem;
  font-weight:750;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.golden-ladies h2{margin-bottom:1rem;}
.golden-ladies p+p{margin-top:.9rem;}
.funken-mitmachen{
  position:relative;
  overflow:hidden;
  padding:clamp(1.6rem,4vw,3rem);
  border-radius:24px;
  background:linear-gradient(135deg,#f8f3ee,#fff);
  border:1px solid var(--linie);
}
.funken-mitmachen::after{
  content:'';
  position:absolute;
  right:5%;
  top:50%;
  transform:translateY(-50%);
  width:120px;height:144px;
  background:url('bilder/wappen-original.png') center/contain no-repeat;
  opacity:.07;
}
.funken-mitmachen h2,.funken-mitmachen p,.funken-mitmachen .btn{position:relative;z-index:1;}
.funken-mitmachen p{margin:.9rem 0 1.2rem;}
.funken-mitmachen .btn.hell{background:var(--rot);color:#fff;box-shadow:0 10px 25px rgba(229,32,46,.18);}
.funken-mitmachen .btn.hell:hover{background:var(--rot-dunkel);}
.aktuelles-prinzenpaar{
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);
  gap:clamp(2rem,5vw,4.5rem);
  align-items:center;
  padding:clamp(1.4rem,3.5vw,3rem);
  border-radius:28px;
  background:linear-gradient(135deg,#fff7f7 0%,#fff 58%,#fff8e8 100%);
  border:1px solid rgba(220,38,53,.16);
  box-shadow:0 18px 48px rgba(61,43,48,.1);
}
.aktuelles-prinzenpaar figure{
  margin:0;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 32px rgba(181,29,42,.18);
}
.aktuelles-prinzenpaar img{
  width:100%;
  height:auto;
  display:block;
}
.aktuelles-prinzenpaar .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-bottom:1rem;
  color:var(--akzent);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.aktuelles-prinzenpaar .eyebrow::before{
  content:'';width:18px;height:22px;display:inline-block;
  background:url('bilder/wappen-original.png') center/contain no-repeat;
}
.aktuelles-prinzenpaar h2{font-size:clamp(2rem,4.1vw,3.45rem);line-height:1.02;}
.aktuelles-prinzenpaar h2 span{display:block;color:var(--akzent);}
.aktuelles-prinzenpaar p{margin-top:1.2rem;font-size:1.04rem;}
.aktuelles-prinzenpaar .paar-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:1.35rem;
}
.aktuelles-prinzenpaar .paar-meta span{
  padding:.55rem .85rem;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--linie);
  color:var(--grau);
  font-size:.82rem;
  font-weight:600;
}

/* Sitzungswoche 2027 */
.sitzungstage{display:grid;gap:2rem;}
.sitzungstag{
  --tag-farbe:var(--rot);
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--linie);
  border-top:4px solid var(--tag-farbe);
  box-shadow:var(--schatten);
}
.sitzungstag:nth-child(2){--tag-farbe:var(--gold);}
.sitzungstag:nth-child(3){--tag-farbe:var(--blau);}
.sitzungstag:nth-child(4){--tag-farbe:var(--gruen);}
.sitzungstag:nth-child(5){--tag-farbe:var(--lila);}
.sitzungstag .tag-kopf{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:1.5rem;
  padding:1.6rem 1.8rem 1.35rem;
}
.sitzungstag .tag-label{
  display:block;
  margin-bottom:.45rem;
  color:var(--tag-farbe);
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.sitzungstag h2{font-size:clamp(1.55rem,3.5vw,2.55rem);}
.sitzungstag .tag-zeiten{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.55rem;
}
.sitzungstag .tag-zeiten span{
  padding:.55rem .8rem;
  border-radius:999px;
  background:var(--creme-2);
  border:1px solid var(--linie);
  color:var(--grau);
  font-size:.8rem;
  font-weight:650;
  white-space:nowrap;
}
.sitzungstag figure{
  margin:0;
  overflow:hidden;
  border-top:1px solid var(--linie);
  border-bottom:1px solid var(--linie);
  background:#fff;
}
.sitzungstag figure img{width:100%;height:auto;display:block;}
.sitzungstag .tag-fuss{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.5rem;
  padding:1.35rem 1.8rem 1.6rem;
}
.sitzungstag .tag-fuss p{margin:0;color:var(--grau);font-size:.95rem;}
.sitzungstag .tag-fuss .btn{
  flex:0 0 auto;
  background:var(--tag-farbe);
  box-shadow:none;
}
.sitzungstag .tag-fuss .btn:hover{filter:brightness(.9);}
.rollen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:1rem;}
.rolle-zeile{padding:1.1rem 1.2rem;border-radius:14px;background:#fff;border:1px solid var(--linie);}
.rolle-zeile strong{display:block;color:var(--akzent);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem;}
.rolle-zeile span{line-height:1.55;}
.jahr-chip{
  display:inline-block;background:var(--creme-2);border:1px solid var(--linie);border-radius:999px;
  padding:.35rem .75rem;color:var(--akzent);font-size:.78rem;font-weight:700;letter-spacing:.05em;
}

/* Footer */
footer{padding:5rem 0 2.5rem;background:#fcfaf8;margin-top:2rem;border-top:1px solid var(--linie);}
footer .top{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:4vw;
  padding-bottom:3rem;border-bottom:1px solid rgba(35,26,28,.1);
}
footer h4{font-size:.75rem;letter-spacing:.35em;text-transform:uppercase;color:var(--rot);margin-bottom:1.3rem;}
footer .wordmark{font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:620;letter-spacing:-.025em;line-height:1.08;}
footer .wordmark .r{color:var(--rot);}
footer ul{list-style:none;}
footer ul li{margin-bottom:.7rem;}
footer a{color:var(--grau);text-decoration:none;transition:color .3s;font-size:.92rem;}
footer a:hover{color:var(--rot);}
footer p{color:var(--grau);font-size:.92rem;line-height:1.8;}
footer .footer-vorstand{
  display:inline-flex;align-items:center;gap:.55rem;margin-top:1rem;
  padding:.7rem 1rem;border:1px solid rgba(220,38,53,.2);border-radius:999px;
  background:#fff;color:var(--rot);font-weight:650;
  box-shadow:0 7px 20px rgba(61,43,48,.06);
}
footer .footer-vorstand:hover{background:var(--rot);color:#fff;}
footer .bottom{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;
  padding-top:2rem;color:var(--grau);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;
}
footer .bottom .footer-wappen{
  width:15px;height:18px;display:inline-flex;align-items:center;justify-content:center;
  margin-left:.25rem;vertical-align:middle;
}
footer .bottom .footer-wappen img{width:100%;height:100%;object-fit:contain;display:block;}
@media(max-width:820px){footer .top{grid-template-columns:1fr;gap:2.4rem;}}

/* ß bleibt auch in GROSSBUCHSTABEN erhalten */
.sz{text-transform:none;}

/* Fotos in Portrait-Kreisen */
.portrait{overflow:hidden;padding:0;}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:50%;display:block;}
/* Vereinswappen */
nav .logo img.wappen{height:2rem;width:auto;display:block;}
footer img.wappen-foot{height:72px;width:auto;margin-bottom:1.2rem;display:block;}

/* Bild-Text-Layouts (z. B. Ordensseite) */
.medien-reihe{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:2.4rem;align-items:center;margin:1.4rem 0 2.4rem;}
.medien-reihe.rechts{grid-template-columns:1fr minmax(220px,320px);}
.medien-reihe.breit{grid-template-columns:minmax(300px,480px) 1fr;}
.medien-reihe p+p{margin-top:.9rem;}
.bild-figur{background:#fff;border-radius:20px;padding:1.4rem;box-shadow:0 12px 32px rgba(35,26,28,.10);text-align:center;}
.bild-figur img{max-width:100%;height:auto;display:block;margin:0 auto;}
.bild-figur.foto{padding:0;overflow:hidden;}
.bild-figur.foto img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.bild-figur.foto.hoch img{aspect-ratio:auto;object-fit:contain;}
.bild-figur.foto figcaption{padding:0 1rem 1rem;}
.bild-figur.maskottchen img{max-height:370px;width:auto;}
.bild-figur figcaption{margin-top:.9rem;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--grau);}
.banner-bild{border-radius:20px;overflow:hidden;box-shadow:0 14px 36px rgba(35,26,28,.12);margin:0 0 1rem;}
.banner-bild img{width:100%;height:auto;display:block;}
.gruppen-ruf{
  margin-top:1.2rem;padding:.9rem 1rem;border-left:4px solid var(--akzent);
  border-radius:0 12px 12px 0;background:var(--creme-2);font-weight:650;color:var(--akzent);
}
.gruppen-galerie{margin:1.5rem 0 3rem;}
.gruppen-galerie.drei{grid-template-columns:repeat(3,minmax(0,1fr));}
.gruppen-galerie figure img{aspect-ratio:4/3;}
@media(max-width:720px){
  .medien-reihe,.medien-reihe.rechts,.medien-reihe.breit{grid-template-columns:1fr;}
  .gruppen-galerie.drei{grid-template-columns:1fr;}
}

/* Lange Informations- und Rechtstexte */
.rechtstext{
  max-width:900px!important;
  padding:clamp(1.4rem,4vw,3rem);
  background:#fff;
  border:1px solid var(--linie);
  border-radius:20px;
  box-shadow:var(--schatten);
}
.rechtstext h2{
  padding-top:.3rem;
  color:var(--tinte);
  border-top:1px solid var(--linie);
}
.rechtstext h2:first-child{border-top:0;margin-top:0;}
.rechtstext h3{color:var(--akzent);}
.rechtstext table{border:1px solid var(--linie);box-shadow:none!important;}
.rechtstext td{line-height:1.65;}
.rechtstext a{overflow-wrap:anywhere;}

/* Sanfte, lokale Einblendungen ohne externe Bibliothek */
html.js:not(.reduce-motion) [data-fade]{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .65s ease,transform .65s var(--ease);
}
html.js:not(.reduce-motion) [data-fade].sichtbar{opacity:1;transform:none;}

@media(max-width:640px){
  nav{padding:.75rem 4vw;}
  nav .logo{font-size:.95rem;}
  nav .logo img.wappen{height:1.8rem;}
  nav .nav-btn{padding:.65rem 1rem;font-size:.78rem;}
  .page-hero{padding:10.2rem 0 3.5rem;}
  .page-hero.bild-hero{
    min-height:570px;
    align-items:flex-end;
    background-image:
      linear-gradient(180deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.84) 58%,rgba(255,255,255,.96) 100%),
      var(--hero-bild);
    background-position:center,var(--hero-position-mobile,var(--hero-position,center));
  }
  .crumb{font-size:.68rem;letter-spacing:.08em;line-height:1.7;}
  .page-hero h1{font-size:clamp(2.3rem,13vw,3.8rem);}
  main{padding:3.25rem 0 5rem;}
  .karten{grid-template-columns:1fr;gap:1rem;}
  .karte{padding:1.6rem 1.4rem;}
  .tabelle{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .tabelle th,.tabelle td{padding:.9rem 1rem;}
  .btn{width:100%;justify-content:center;text-align:center;}
  footer{padding-top:3.5rem;}
  .rechtstext{padding:1.35rem;border-radius:16px;}
  .session-box{border-radius:18px;}
  .session-box::after{font-size:6rem;right:-1rem;}
  .ehrenamt-gedicht{padding:1.25rem;border-radius:20px;}
  .ehrenamt-gedicht::before{top:-1.4rem;right:.35rem;}
  .gedicht-kopf{margin-bottom:1.35rem;}
  .gedicht-strophen{grid-template-columns:1fr;}
  .gedicht-strophe{padding:1.05rem 1rem;}
  .gedicht-strophe:last-child{grid-column:auto;}
  .funken-geschichte{grid-template-columns:1fr;padding:1.2rem;border-radius:19px;}
  .funkenboss-liste{grid-template-columns:1fr 1fr;}
  .funken-lied{padding:.8rem;border-radius:20px;}
  .funken-lied::after{width:90px;height:108px;top:1rem;right:5%;}
  .funken-lied .lied-kopf{grid-template-columns:1fr;gap:1.3rem;padding:1rem;}
  .funken-lied figure{max-width:340px;margin:0 auto;width:100%;}
  .funken-lied h2{max-width:15ch;font-size:clamp(2rem,11vw,3rem);}
  .liedtext{grid-template-columns:1fr;}
  .lied-refrain{grid-column:auto;}
  .funken-galerie{grid-template-columns:1fr;}
  .funken-galerie figure:first-child{grid-column:auto;}
  .funken-galerie figure img{min-height:190px;}
  .golden-ladies{grid-template-columns:1fr;padding:1.2rem;border-radius:19px;}
  .golden-bilder img:last-child{transform:none;}
  .aktuelles-prinzenpaar{grid-template-columns:1fr;padding:1.1rem;border-radius:20px;}
  .aktuelles-prinzenpaar figure{border-radius:16px;}
  .aktuelles-prinzenpaar h2{font-size:clamp(2rem,10vw,3rem);}
  .sitzungstag{border-radius:18px;}
  .sitzungstag .tag-kopf,.sitzungstag .tag-fuss{
    align-items:flex-start;
    flex-direction:column;
    padding:1.3rem 1.2rem;
  }
  .sitzungstag .tag-zeiten{justify-content:flex-start;}
  .sitzungstag .tag-fuss .btn{width:100%;}
  .galerie figure img{min-height:180px;}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}
