:root{--ink:#111821;--navy:#182331;--navy2:#243345;--green:#9aaf55;--green2:#c0cf83;--paper:#f4f2ec;--white:#fff;--muted:#aeb8c3;--line:rgba(255,255,255,.16);--max:1180px;--shadow:0 22px 60px rgba(3,9,15,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:"Segoe UI",Arial,sans-serif;line-height:1.65}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--green);color:var(--ink);padding:.7rem 1rem}.skip-link:focus{top:1rem}.site-header{height:84px;position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,5vw,5rem);border-bottom:1px solid var(--line)}.site-header.sticky{position:fixed}.brand{display:flex;align-items:center;gap:.7rem;letter-spacing:.08em;text-transform:uppercase}.brand img{width:48px;height:54px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1}.brand strong{font-size:1.15rem}.brand small{font-size:.65rem;color:var(--green2);margin-top:.35rem}.site-header nav{display:flex;align-items:center;gap:2rem;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.site-header nav a{position:relative}.site-header nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-.5rem;width:0;height:2px;background:var(--green);transition:.25s}.site-header nav a:hover::after,.site-header nav a:focus-visible::after{width:100%}.nav-cta{border:1px solid rgba(255,255,255,.4);padding:.65rem 1rem}.menu-toggle{display:none;background:none;border:0;color:#fff}.hero{min-height:780px;height:100svh;position:relative;display:grid;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;background:url("../../images/gemeinschaft.webp") center 32%/cover no-repeat;transform:scale(1.03)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,20,29,.96) 0%,rgba(12,20,29,.8) 42%,rgba(12,20,29,.18) 80%),linear-gradient(0deg,rgba(17,24,33,.8),transparent 45%)}.hero::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:5vw;background:var(--navy);clip-path:polygon(0 100%,100% 0,100% 100%)}.hero-content{position:relative;z-index:2;width:min(var(--max),calc(100% - 2.5rem));margin:auto;padding-top:5rem}.eyebrow{margin:0 0 1.2rem;color:var(--green2);font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.hero h1,.section-inner h2{font-family:Georgia,"Times New Roman",serif}.hero h1{font-size:clamp(3.7rem,8vw,7.5rem);line-height:.88;letter-spacing:-.055em;margin:0;max-width:920px}.hero h1 span{color:var(--green2);font-style:italic}.lead{max-width:630px;font-size:clamp(1.05rem,2vw,1.35rem);color:#dbe1e6;margin:2rem 0}.actions{display:flex;flex-wrap:wrap;gap:1rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.8rem 1.4rem;border:1px solid transparent;border-radius:0;background:transparent;color:inherit;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--green);color:var(--ink)}.primary:hover{background:var(--green2)}.ghost{border-color:rgba(255,255,255,.45)}.scroll-hint{position:absolute;z-index:3;right:5vw;bottom:8vw;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl}.scroll-hint span{font-size:1.3rem;margin-top:.5rem}.section-inner{width:min(var(--max),calc(100% - 2.5rem));margin:auto}.angled{position:relative}.intro{background:var(--navy);padding:10rem 0 8rem}.intro-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(3rem,8vw,8rem);align-items:center}.section-inner h2{font-size:clamp(2.4rem,5vw,4.5rem);line-height:1.05;letter-spacing:-.035em;margin:.2rem 0 1.7rem}.section-copy>p:not(.eyebrow){max-width:680px;color:#c3ccd5}.large{font-size:1.2rem;color:#fff!important}.quote-card{position:relative;padding:3rem;background:linear-gradient(145deg,#2a3a4d,#1a2634);box-shadow:var(--shadow);border-top:3px solid var(--green)}.quote-card img{width:150px;height:120px;object-fit:contain;margin-bottom:2rem;filter:brightness(1.25)}.quote-card blockquote{font-family:Georgia,serif;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.2;margin:0 0 1.2rem}.quote-card p{color:var(--muted);font-size:.9rem}.pillars{background:var(--paper);color:var(--ink);padding:9rem 0 11rem}.pillars .eyebrow{color:#68783d}.section-heading{display:grid;grid-template-columns:1.4fr .6fr;gap:4rem;align-items:end;margin-bottom:4rem}.section-heading>p{color:#5f6972}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.feature-card{background:#fff;box-shadow:0 12px 35px rgba(18,27,37,.1);transition:transform .25s}.feature-card:hover{transform:translateY(-7px)}.card-image{aspect-ratio:4/3;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.feature-card:hover img{transform:scale(1.04)}.card-body{position:relative;padding:2.2rem}.number{position:absolute;right:1.5rem;top:-1.3rem;color:#fff;background:var(--green);font-family:Georgia,serif;font-size:1.2rem;padding:.65rem .9rem}.card-body h3{font-family:Georgia,serif;font-size:1.65rem;line-height:1.1;margin:0 0 1rem}.card-body p{color:#66717a;font-size:.92rem}.card-body a{display:inline-block;margin-top:.7rem;color:#5d6d31;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.card-body a span{font-size:1.2rem;margin-left:.35rem}.calendar{background:var(--navy2);padding:10rem 0}.calendar::before{content:"";position:absolute;top:-6vw;left:0;width:100%;height:6.1vw;background:var(--navy2);clip-path:polygon(0 100%,100% 0,100% 100%)}.calendar-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:7rem;align-items:center}.calendar-copy>p:not(.eyebrow){color:#c4ccd4;margin-bottom:2rem}.date-list{border-top:1px solid var(--line)}.date-list article{display:grid;grid-template-columns:85px 1fr;gap:1.5rem;align-items:center;padding:1.6rem .5rem;border-bottom:1px solid var(--line);transition:background .2s,padding .2s}.date-list article:hover{background:rgba(255,255,255,.04);padding-left:1rem}.date-list time{display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--line)}.date-list time b{font-family:Georgia,serif;font-size:2.5rem;line-height:1}.date-list time span,.date-list p{color:var(--green2);font-size:.65rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.date-list p,.date-list h3{margin:0}.date-list h3{font-family:Georgia,serif;font-size:1.35rem}.date-list article>div>span{font-size:.8rem;color:var(--muted)}.gallery-band{display:grid;grid-template-columns:repeat(3,1fr);height:380px}.gallery-band img{width:100%;height:100%;object-fit:cover;filter:saturate(.75);transition:filter .3s}.gallery-band img:hover{filter:saturate(1)}footer{background:#0c1218;border-top:1px solid var(--line);padding:3rem 0}.footer-inner{width:min(var(--max),calc(100% - 2.5rem));margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem}.footer-brand img{width:40px;height:45px}.footer-inner>p{color:var(--muted);font-size:.8rem;letter-spacing:.08em}.footer-inner nav{display:flex;gap:1.5rem;font-size:.75rem}.footer-inner>small{grid-column:1/-1;color:#77828c;border-top:1px solid var(--line);padding-top:1.5rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header nav{position:fixed;inset:0;background:rgba(13,21,30,.98);display:flex;flex-direction:column;justify-content:center;gap:2.2rem;font-size:1rem;transform:translateX(100%);transition:transform .3s}.site-header nav.open{transform:none}.menu-toggle{position:relative;z-index:2;display:grid;grid-template-columns:22px auto;gap:4px 8px;align-items:center}.menu-toggle span{display:block;width:22px;height:2px;background:#fff;grid-column:1}.menu-toggle b{grid-column:2;grid-row:1/4;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.intro-grid,.calendar-grid{grid-template-columns:1fr;gap:3.5rem}.section-heading{grid-template-columns:1fr;gap:0}.card-grid{grid-template-columns:1fr 1fr}.feature-card:last-child{grid-column:1/-1}.gallery-band{height:300px}.footer-inner{grid-template-columns:1fr auto}.footer-inner>p{display:none}}
@media(max-width:620px){.site-header{height:72px;padding:0 1.25rem}.brand img{width:38px;height:44px}.hero{min-height:700px}.hero-content{padding-top:2rem}.hero h1{font-size:clamp(3rem,17vw,4.6rem)}.hero-overlay{background:linear-gradient(90deg,rgba(12,20,29,.94),rgba(12,20,29,.58)),linear-gradient(0deg,rgba(17,24,33,.8),transparent)}.scroll-hint{display:none}.intro,.pillars,.calendar{padding:6rem 0}.card-grid{grid-template-columns:1fr}.feature-card:last-child{grid-column:auto}.calendar-grid{gap:3rem}.date-list article{grid-template-columns:65px 1fr;gap:1rem}.date-list h3{font-size:1.1rem}.gallery-band{grid-template-columns:1fr 1fr;height:auto}.gallery-band img{height:220px}.gallery-band img:last-child{grid-column:1/-1}.footer-inner{grid-template-columns:1fr}.footer-inner nav{justify-content:flex-start}.actions .button{width:100%}.quote-card{padding:2rem}}
.legal{width:min(760px,calc(100% - 2.5rem));margin:0 auto;padding:8rem 0;min-height:100vh}.legal>a{color:var(--green2);font-weight:700}.legal .eyebrow{margin-top:5rem}.legal h1{font:clamp(3rem,8vw,6rem)/1 Georgia,serif;margin:.5rem 0 2rem}.legal p:last-child{color:#c3ccd5;font-size:1.1rem}
.site-header{height:104px;padding-left:clamp(1.25rem,4vw,4rem);padding-right:clamp(1.25rem,4vw,4rem)}
.brand{gap:1rem;letter-spacing:.055em}
.brand img{width:72px;height:86px;filter:none}
.brand span{line-height:1.12;max-width:370px}
.brand strong{font-size:.88rem}
.brand small{font-size:.68rem}
.hero-image{background-image:url("../../images/hero1.webp");background-position:center center}
.quote-card img{width:190px;height:210px;filter:invert(1)}
.footer-brand img{width:72px;height:86px}
@media(max-width:1180px){.site-header nav{position:fixed;inset:0;background:rgba(13,21,30,.98);display:flex;flex-direction:column;justify-content:center;gap:2.2rem;font-size:1rem;transform:translateX(100%);transition:transform .3s}.site-header nav.open{transform:none}.menu-toggle{position:relative;z-index:2;display:grid;grid-template-columns:22px auto;gap:4px 8px;align-items:center}.menu-toggle span{display:block;width:22px;height:2px;background:#fff;grid-column:1}.menu-toggle b{grid-column:2;grid-row:1/4;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}}
@media(max-width:620px){.site-header{height:84px}.brand{gap:.65rem}.brand img{width:52px;height:64px}.brand span{max-width:220px}.brand strong{font-size:.68rem}.brand small{font-size:.58rem}.quote-card img{width:145px;height:160px}.footer-brand img{width:60px;height:70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.reveal{opacity:1;transform:none}}

/* Dezente, aus dem Vereinswappen abgeleitete Farbwelt */
:root{--ink:#17191d;--navy:#22262c;--navy2:#2d3138;--green:#a54840;--green2:#d6b474;--paper:#f3f0e9;--muted:#b9b6b1;--line:rgba(255,255,255,.15)}
.header-brand img{filter:none;width:76px;height:90px}
.footer-brand img,.content-crest{filter:none;width:76px;height:90px}
.quote-card{text-align:center}
.quote-card .content-crest{width:190px;height:210px;margin-left:auto;margin-right:auto;filter:none}
.primary{color:#fff}.primary:hover{color:var(--ink)}
.pillars .eyebrow,.card-body a{color:#87463f}
.number{background:#a54840}.calendar-day.today>time{color:#fff}
.site-header nav a[aria-current="page"]{color:var(--green2)}
rsva-header,rsva-footer{display:block}
@media(max-width:620px){.header-brand img{width:58px;height:68px}.footer-brand img{width:64px;height:74px}.quote-card .content-crest{width:145px;height:160px}}

/* Lokale Headline-Schrift: Barlow Semi Condensed, als Barlow Condensed geführt */
@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed-latin.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed-latin-ext.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed-vietnamese.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
h1,h2,h3,h4{font-family:"Barlow Condensed","Arial Narrow",sans-serif!important;font-weight:700;letter-spacing:-.018em;text-wrap:balance}
.hero h1{letter-spacing:-.035em;line-height:.9}.hero h1 span,.calendar-hero h1 em{font-style:normal}
.section-inner h2{letter-spacing:-.018em;line-height:1}.card-body h3{line-height:1.08}.quote-card blockquote{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:600;letter-spacing:-.01em}
.eyebrow,.button,.brand,.site-header nav,.menu-toggle,.event-type{font-family:"Barlow Condensed","Arial Narrow",sans-serif;letter-spacing:.13em}
.brand strong{font-weight:700;letter-spacing:.025em}.brand small{letter-spacing:.12em}

/* Michroma: SIL Open Font License 1.1, vollständig lokal eingebunden */
@font-face{font-family:"Michroma";src:url("../fonts/Michroma-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
h1,h2,h3,h4{font-family:"Michroma","Segoe UI",sans-serif!important;font-weight:400;letter-spacing:-.035em;line-height:1.12}
.hero h1{font-size:clamp(3rem,6.7vw,6.25rem);line-height:.98;letter-spacing:-.055em;max-width:1050px}
.section-inner h2{font-size:clamp(2.1rem,4vw,3.65rem);line-height:1.12;letter-spacing:-.04em}
.card-body h3{font-size:1.32rem;line-height:1.2}.quote-card blockquote{font-family:"Michroma","Segoe UI",sans-serif;font-size:clamp(1.25rem,2.2vw,1.8rem);font-weight:400;line-height:1.45;letter-spacing:-.025em}
.legal h1{font-family:"Michroma","Segoe UI",sans-serif;font-size:clamp(2.4rem,6vw,4.8rem);line-height:1.1}
@media(max-width:620px){.hero h1{font-size:clamp(2.65rem,13vw,4rem);line-height:1}.section-inner h2{font-size:clamp(1.85rem,9vw,2.75rem)}.card-body h3{font-size:1.18rem}}

/* Mehr sichtbares Hero-Motiv bei weiterhin guter Text- und Menülernbarkeit */
.hero-overlay{background:linear-gradient(90deg,rgba(12,20,29,.93) 0%,rgba(12,20,29,.76) 24%,rgba(12,20,29,.3) 47%,rgba(12,20,29,.06) 64%,transparent 78%),linear-gradient(0deg,rgba(17,24,33,.72),transparent 42%)}
.hero-content{text-shadow:0 2px 18px rgba(0,0,0,.42)}
.site-header{background:linear-gradient(90deg,rgba(12,18,24,.78),rgba(12,18,24,.58));border-bottom-color:rgba(255,255,255,.24);box-shadow:0 8px 28px rgba(0,0,0,.15);backdrop-filter:blur(8px)}
.site-header nav{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.8)}
.site-header nav a{padding:.55rem .15rem}.site-header .nav-cta{padding:.65rem 1rem;background:rgba(12,18,24,.38);border-color:rgba(255,255,255,.62)}
@media(max-width:1180px){.site-header nav{background:rgba(13,21,30,.985);text-shadow:none}}
@media(max-width:620px){.hero-overlay{background:linear-gradient(90deg,rgba(12,20,29,.93) 0%,rgba(12,20,29,.68) 52%,rgba(12,20,29,.22) 82%),linear-gradient(0deg,rgba(17,24,33,.74),transparent 48%)}}

/* Transparenter Bildhinweis für die KI-generierten Fotomotive */
.ai-image{position:relative;overflow:hidden}
.ai-image-label{position:absolute;z-index:5;right:.65rem;bottom:.65rem;padding:.28rem .48rem;background:rgba(8,14,20,.72);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:.56rem;font-weight:700;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none;backdrop-filter:blur(5px)}
.ai-image>.ai-image-label{right:auto;left:.55rem;bottom:.55rem;padding:.22rem .38rem;background:rgba(8,14,20,.38);border:0;color:rgba(255,255,255,.78);font-size:.5rem;letter-spacing:.06em;backdrop-filter:blur(3px)}
.hero-ai-label{right:auto;left:clamp(1.25rem,5vw,5rem);bottom:2rem}
.gallery-band figure{min-width:0;height:100%;margin:0}
.gallery-band figure img{width:100%;height:100%;object-fit:cover}
.footer-inner>.ai-disclosure{max-width:760px;margin-top:-.65rem;padding-top:0;border-top:0;color:#929aa1}
.footer-inner>.site-version{padding-top:0;border-top:0;color:#aeb4ba;font-size:.72rem;letter-spacing:.04em}
@media(max-width:620px){.ai-image-label{font-size:.5rem}.hero-ai-label{bottom:1.2rem}.gallery-band figure{height:220px}.gallery-band figure:last-child{grid-column:1/-1}}

/* Untermenü der Hauptnavigation */
.nav-group{position:relative}.nav-parent{display:flex;align-items:center;gap:.45rem}.nav-triangle{display:block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid currentColor;color:#fff;flex:0 0 auto}.submenu{position:absolute;top:calc(100% + .8rem);left:-1rem;min-width:225px;padding:.45rem;background:rgba(12,18,24,.97);border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 30px rgba(0,0,0,.28);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s}.submenu a{display:block;padding:.75rem .8rem!important;white-space:nowrap}.submenu a::after{display:none!important}.submenu a:hover,.submenu a:focus-visible{background:rgba(255,255,255,.08)}.nav-group:hover .submenu,.nav-group:focus-within .submenu{opacity:1;visibility:visible;transform:none}.nav-group:hover .nav-triangle,.nav-group:focus-within .nav-triangle,.nav-group.active .nav-triangle{color:#c84b42}.nav-group.active>.nav-parent::after{width:100%!important}
@media(max-width:1180px){.nav-group{text-align:center}.submenu{position:static;min-width:0;margin-top:.45rem;padding:0;background:transparent;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none}.submenu a{font-size:.78rem;color:var(--green2)!important}.nav-parent{justify-content:center}}

/* Dynamische Vorschau der nächsten drei Termintage */
.upcoming-date-list .upcoming-day{padding:0;align-items:stretch}.upcoming-date-list .upcoming-day:hover{padding-left:0;background:transparent}.upcoming-day>time{padding:1.5rem .5rem}.upcoming-appointments{min-width:0}.upcoming-appointment{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;gap:1rem;align-items:center;padding:1.15rem .6rem;border-bottom:1px solid rgba(255,255,255,.08);transition:background .2s}.upcoming-appointment:last-child{border-bottom:0}.upcoming-appointment[href]:hover,.upcoming-appointment[href]:focus-visible{background:rgba(255,255,255,.05);outline:0}.upcoming-appointment p{display:flex;align-items:center;gap:.45rem}.upcoming-appointment .event-dot{width:9px;height:9px;border-radius:50%;background:#a8b0b7;flex:0 0 auto}.upcoming-appointment .event-dot.training{background:#66b8ff}.upcoming-appointment .event-dot.championship{background:#ff6868}.upcoming-appointment .event-dot.meeting{background:#ffd052}.upcoming-appointment .event-dot.event{background:#72dd9c}.upcoming-appointment .event-dot.course{background:#c38aff}.upcoming-appointment .event-dot.march{background:#ff9852}.upcoming-appointment h3{font-size:1.05rem;line-height:1.3}.upcoming-appointment div>span{font-size:.76rem;color:var(--muted)}.upcoming-appointment>strong{font-size:.75rem;color:#e5eaee;white-space:nowrap}.upcoming-appointment>i{font-style:normal;color:var(--green2)}.upcoming-status{padding:1.5rem;color:var(--muted)}
@media(max-width:620px){.upcoming-appointment{grid-template-columns:minmax(0,1fr) 20px;gap:.65rem}.upcoming-appointment>strong{grid-column:1;font-size:.7rem}.upcoming-appointment>i{grid-column:2;grid-row:1/3}.upcoming-day>time{padding:1.2rem .25rem}}

/* Kartenaktionen unabhängig von der Textlänge auf einer Linie halten */
.feature-card{display:flex;flex-direction:column}.feature-card .card-body{display:flex;flex:1;flex-direction:column}.feature-card .card-body>a{margin-top:auto;padding-top:1.5rem}

/* Navigation bleibt beim Scrollen am oberen Fensterrand */
.site-header{position:fixed}

/* Veranstaltungs-Vorschau auf der Startseite */
.home-events{padding:9rem 0;background:#e8e5dd;color:var(--ink)}.home-events .eyebrow{color:#68783d}.home-event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.home-event-card{position:relative;min-height:420px;overflow:hidden;background:#182431;color:#fff}.home-event-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,15,21,.94),rgba(9,15,21,.06) 70%);transition:background .3s}.home-event-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.home-event-card>span{position:absolute;z-index:2;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr auto;align-items:end;gap:.4rem;padding:1.5rem}.home-event-card small{grid-column:1/-1;color:var(--green2);font-size:.62rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.home-event-card strong{font-family:"Michroma","Segoe UI",sans-serif;font-size:.88rem;line-height:1.35}.home-event-card i{font-style:normal;color:var(--green2);font-size:1.3rem}.home-event-card:hover img,.home-event-card:focus-visible img{transform:scale(1.04)}.home-event-card:focus-visible{outline:3px solid var(--green);outline-offset:3px}.home-events-action{margin-top:2.5rem;text-align:center}
@media(max-width:1000px){.home-event-grid{grid-template-columns:1fr 1fr}.home-event-card{min-height:360px}}
@media(max-width:620px){.home-events{padding:6rem 0}.home-event-grid{grid-template-columns:1fr}.home-event-card{min-height:330px}}

/* Rechtliche Seiten */
.legal{width:min(900px,calc(100% - 2.5rem));min-height:70vh;margin:auto;padding:10rem 0 7rem}.legal>a{display:inline-block;margin-bottom:2.5rem;color:var(--green2);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.legal h1{margin:0 0 3rem}.legal section{padding:1.8rem 0;border-top:1px solid var(--line)}.legal section h2{margin:0 0 1rem;font-size:1.1rem}.legal section p{margin:0;color:#c5cdd4}.legal section p+p{margin-top:1rem}.legal section strong{color:#fff}.legal section a{color:var(--green2);text-decoration:underline;text-underline-offset:.2em}

/* Dezenter Abschlusslink im Startseiten-Hero */
.hero-news-link{display:inline-flex;align-items:center;gap:.65rem;margin-top:.35rem;padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.5);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;transition:color .2s,border-color .2s}.hero-news-link span{color:var(--green2);font-size:1.05rem;transition:transform .2s}.hero-news-link:hover,.hero-news-link:focus-visible{color:var(--green2);border-color:var(--green2)}.hero-news-link:hover span,.hero-news-link:focus-visible span{transform:translateX(4px)}

/* Gerader Übergang vom Intro-Block zum Terminbereich. */
.calendar::before{display:none}

/* Einheitliches, dezentes Vereinswappen in allen Hero-Bereichen. */
.hero-crest-watermark{position:absolute!important;z-index:1!important;top:50%!important;right:8%!important;bottom:auto!important;left:auto!important;width:360px!important;height:430px!important;object-fit:contain!important;transform:translateY(-50%)!important;opacity:.08!important;pointer-events:none!important;user-select:none!important}
@media(max-width:760px){.hero-crest-watermark{top:48%!important;right:1rem!important;width:180px!important;height:220px!important;opacity:.065!important}}

/* Seitenübergreifende Brotkrumennavigation */
.site-breadcrumb{position:relative;z-index:4;display:flex;width:100%;min-height:54px;flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:-54px;padding:.9rem max(1.25rem,calc((100% - var(--max))/2));background:transparent;border:0;color:rgba(255,255,255,.72);font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.site-breadcrumb a{color:#fff}.site-breadcrumb a:hover,.site-breadcrumb a:focus-visible{color:var(--green2)}.site-breadcrumb i{color:var(--green2);font-style:normal}.site-breadcrumb [aria-current="page"]{color:rgba(255,255,255,.72)}.site-breadcrumb.on-light{color:#626b73}.site-breadcrumb.on-light a{color:#222931}.site-breadcrumb.on-light i{color:#99463e}.site-breadcrumb.on-light [aria-current="page"]{color:#626b73}
@media(max-width:620px){.site-breadcrumb{min-height:48px;margin-bottom:-48px;padding:.75rem 1.25rem;font-size:.6rem;gap:.45rem}}

/* Einheitliche Position der Hero-Hinweise: rechts und oberhalb der Abschrägung */
:is(.hero,[class$="-hero"])>.ai-image-label{right:max(1.25rem,calc((100% - var(--max))/2))!important;left:auto!important;bottom:calc(8vw + 1rem)!important;background:rgba(8,14,20,.22);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.72);backdrop-filter:blur(2px);opacity:1}
@media(max-width:620px){:is(.hero,[class$="-hero"])>.ai-image-label{right:1.25rem!important;bottom:calc(8vw + .75rem)!important}}

/* Vollständig sichtbare mobile Navigation */
@media(max-width:1180px){
  .site-header nav{position:fixed!important;z-index:30!important;inset:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:.45rem!important;padding:112px clamp(1.25rem,6vw,3rem) 2rem!important;background:#111820!important;color:#fff!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;transform:translateX(100%);visibility:hidden;transition:transform .3s ease,visibility 0s linear .3s!important}
  .site-header nav.open{transform:none!important;visibility:visible;transition:transform .3s ease!important}
  .site-header nav>a,.site-header .nav-parent{display:flex!important;min-height:46px;align-items:center;justify-content:flex-start!important;padding:.65rem .8rem!important;border-bottom:1px solid rgba(255,255,255,.1);font-size:.95rem;text-align:left}
  .site-header .nav-group{text-align:left!important}
  .site-header .submenu{display:grid!important;gap:.1rem;margin:.15rem 0 .55rem 1rem!important;padding:.2rem 0 .2rem .75rem!important;border-left:0!important}
  .site-header .submenu a{min-height:38px;padding:.45rem .65rem!important;color:#d7bc86!important;font-size:.76rem!important;text-align:left;white-space:normal!important}
  .site-header .nav-cta{margin-top:.45rem;justify-content:center!important;border:1px solid rgba(255,255,255,.45)!important;background:rgba(255,255,255,.06)!important}
  .menu-toggle{z-index:40!important}
}

/* Kompaktere Michroma-Überschriften auf Smartphones */
@media(max-width:620px){
  h1,.hero h1,[class$="-hero"] h1{font-size:clamp(2rem,9.5vw,3rem)!important;line-height:1.12!important;letter-spacing:-.045em!important;overflow-wrap:anywhere}
  h2,.section-inner h2{font-size:clamp(1.55rem,7vw,2.2rem)!important;line-height:1.18!important;letter-spacing:-.035em!important;overflow-wrap:anywhere}
  h3{font-size:clamp(1rem,5vw,1.35rem)!important;line-height:1.25!important;overflow-wrap:anywhere}
}

@media(max-width:1180px){html,body{max-width:100%;overflow-x:hidden}rsva-header{position:relative;z-index:100}.site-header{z-index:100!important}.site-header nav{z-index:110!important}.menu-toggle{z-index:120!important}}

/* Breadcrumb der Rechtsseiten an der Inhaltskante ausrichten */
.legal>.site-breadcrumb{width:100%;min-height:0;margin:0 0 3rem;padding:0;justify-content:flex-start}
@media(max-width:620px){.legal>.site-breadcrumb{margin-bottom:2.25rem;padding:0}}

/* Ruhigeres, etwas dunkleres Farbschema für den Drei-Säulen-Bereich der Startseite */
.pillars{background:#d9d5cd}
.pillars .feature-card{background:#f1eee8;box-shadow:0 18px 42px rgba(25,31,36,.13)}

/* Vereinsleben im dunklen Farbschema der Jahresplanung */
.home-events{background:var(--navy2);color:var(--white)}
.home-events .eyebrow{color:var(--green2)}
.home-events .section-heading>p{color:#c4ccd4}
.home-events .home-event-card{border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 42px rgba(4,9,14,.28)}

/* Einheitliches dunkles Farbschema für die Inhaltsseiten */
:is(
  .knowledge-foundation,.curriculum-section,
  .event-feature.light,.summer-section,
  .history-section,.preservation-section,.recognition-section,
  .trial-section,.cost-section,
  .rules-foundation,.rules-culture,
  .sport-principles,.board-members-section,
  .discipline-section.paper,.discipline-section.light,
  .news-list,.article-body,.article-gallery
){background:var(--navy2)!important;color:var(--white)!important}

:is(
  .knowledge-foundation,.curriculum-section,
  .event-feature.light,.summer-section,
  .history-section,.preservation-section,.recognition-section,
  .trial-section,.cost-section,
  .rules-foundation,.rules-culture,
  .sport-principles,.board-members-section,
  .discipline-section.paper,.discipline-section.light,
  .news-list,.article-body,.article-gallery
) .eyebrow{color:var(--green2)!important}

:is(
  .knowledge-foundation,.curriculum-section,
  .event-feature.light,.summer-section,
  .history-section,.preservation-section,.recognition-section,
  .trial-section,.cost-section,
  .rules-foundation,.rules-culture,
  .sport-principles,.board-members-section,
  .discipline-section.paper,.discipline-section.light,
  .news-list,.article-body,.article-gallery
) :is(p:not(.eyebrow),li,.section-lead,.section-heading>p){color:#c4ccd4!important}

:is(.curriculum-card,.rule-card,.culture-note,.sport-principle-card,.board-member,.news-row,.article-aside){background:#1b2835!important;color:#fff!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 16px 40px rgba(4,9,14,.28)!important}
:is(.curriculum-card,.rule-card,.culture-note,.sport-principle-card,.board-member,.news-row,.article-aside) :is(p,li,.fact-list span){color:#c4ccd4!important}
:is(.curriculum-card,.rule-card,.culture-note,.sport-principle-card,.board-member,.news-row,.article-aside) :is(h2,h3){color:#fff!important}
.board-member-copy .eyebrow,.news-meta,.news-read,.article-copy strong,.article-copy a:not(.button),.fact-list b{color:#d45a50!important}
body .cost-section .large,body .rules-culture .large{color:#fff!important}

/* Kalender und Tabellen bleiben als klar abgegrenzte helle Nutzflächen lesbar. */
.calendar-page{background:var(--navy2)!important;color:#fff!important}
.calendar-page .eyebrow{color:var(--green2)!important}
.calendar-page :is(.list-heading,.filter-row,.calendar-toolbar)>*:not(button){color:#fff!important}
.calendar-page .search-label input{background:#f4f1eb!important;color:var(--ink)!important}
.calendar-page .list-event{border-color:rgba(255,255,255,.14)!important}
.calendar-page .list-event:hover{background:rgba(255,255,255,.05)!important}
.calendar-page .list-event div>p:last-child{color:#bfc8d0!important}
.calendar-page .list-event>button{border-color:rgba(255,255,255,.25)!important;color:#fff!important}
.calendar-page .list-month{border-color:rgba(255,255,255,.5)!important}
.discipline-section table{background:#f7f5f0;color:var(--ink)}

/* Gut lesbare ungefüllte Aktionsbuttons auf den dunklen Neuigkeiten-Seiten */
body .article-actions .button.ghost{border-color:rgba(255,255,255,.58)!important;color:#fff!important}
body .article-actions .button.ghost:hover,body .article-actions .button.ghost:focus-visible{background:var(--green)!important;border-color:var(--green)!important;color:#fff!important;outline:0}

/* Dezente Tonwechsel zwischen aufeinanderfolgenden dunklen Sektionen */
:is(
  .curriculum-section,
  .summer-section,
  .preservation-section,
  .cost-section,
  .rules-culture,
  .board-members-section,
  .discipline-section.light,
  .article-gallery
){background:#2c3a49!important}

.discipline-section.dark{background:#1f2d3b!important}
.event-feature.dark{background:#1f2d3b!important}
.excursion-section,.support-section,.article-next{background:#151f2a!important}

/* Startseite: Drei Säulen im abgestuften dunklen Farbschema */
.pillars{background:#2c3a49!important;color:#fff!important}
.pillars .eyebrow{color:var(--green2)!important}
.pillars .section-heading>p{color:#c4ccd4!important}
.pillars .feature-card{background:#1b2835!important;color:#fff!important;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 42px rgba(4,9,14,.28)}
.pillars .card-body h3{color:#fff}
.pillars .card-body p{color:#c4ccd4}
.pillars .card-body a{color:#d6c083}


/* Terminseite: kontrastreiche Steuerung auf dunklem Hintergrund */
body .calendar-page :is(.month-controls,.view-controls,.filter-row) button{border-color:rgba(255,255,255,.58)!important;background:transparent!important;color:#f3f5f6!important}
body .calendar-page :is(.month-controls,.view-controls,.filter-row) button:hover,
body .calendar-page :is(.month-controls,.view-controls,.filter-row) button:focus-visible{background:rgba(255,255,255,.1)!important;border-color:#fff!important;color:#fff!important;outline:0}
body .calendar-page :is(.month-controls,.view-controls,.filter-row) button.active{background:#111821!important;border-color:#111821!important;color:#fff!important}

/* Version 1.2.1: Termine und Neuigkeiten als gemeinsamer Magazinbereich */
.home-current-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,5vw,5rem);align-items:stretch}
.home-calendar-main{display:flex;min-width:0;height:100%;flex-direction:column}
.home-calendar-main .calendar-copy{margin:0;padding-bottom:1.7rem;border-bottom:2px solid rgba(255,255,255,.42)}
.home-calendar-main .calendar-copy>p:not(.eyebrow){max-width:680px}
.home-calendar-main .calendar-copy h2,.home-news-heading h2{margin:0;font-size:36px;line-height:1.15}
.home-news-sidebar{position:relative;order:-1;display:flex;height:100%;flex-direction:column;padding-right:clamp(2rem,4vw,4rem);border-right:1px solid rgba(255,255,255,.22)}
.home-news-heading{padding-bottom:1.7rem;border-bottom:2px solid rgba(255,255,255,.42)}
.home-news-heading .eyebrow,.home-calendar-main .calendar-copy .eyebrow{margin-bottom:.65rem}
.home-news-heading h2{margin:0}
.home-news-heading>p:last-child,.home-calendar-main .calendar-copy>p:last-child{margin:1rem 0 0;color:#c4ccd4}
.home-calendar-main .upcoming-date-list{border-top:0}
.home-news-item{display:grid;grid-template-columns:120px minmax(0,1fr);gap:1.25rem;padding:1.35rem 0;border-bottom:1px solid rgba(255,255,255,.13);transition:background .2s,padding .2s}
.home-news-item:hover,.home-news-item:focus-visible{padding-inline:.65rem;background:rgba(255,255,255,.05);outline:0}
.home-news-item img{width:120px;height:90px;object-fit:cover}
.home-news-item>span{display:flex;min-width:0;flex-direction:column;justify-content:center}
.home-news-item time{margin-bottom:.2rem;color:var(--green2);font-size:.58rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.home-news-item strong{font-family:"Michroma","Segoe UI",sans-serif;font-size:.78rem;line-height:1.35}
.home-news-item small{margin-top:.38rem;color:#b8c2ca;font-size:.76rem;line-height:1.45}
.home-news-all,.home-calendar-all{display:inline-flex;align-items:center;align-self:flex-start;gap:.6rem;margin-top:auto;padding-top:1.7rem;color:#d6c083;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.home-news-all span,.home-calendar-all span{font-size:1rem;transition:transform .2s}.home-news-all:hover span,.home-news-all:focus-visible span,.home-calendar-all:hover span,.home-calendar-all:focus-visible span{transform:translateX(4px)}
@media(max-width:1050px){.home-current-layout{grid-template-columns:1fr}.home-news-sidebar{order:0;padding:3rem 0 0;border-top:1px solid rgba(255,255,255,.16);border-right:0}.home-news-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}.home-news-heading,.home-news-all{grid-column:1/-1}}
@media(max-width:620px){.home-news-sidebar{grid-template-columns:1fr}.home-news-heading,.home-news-all{grid-column:auto}.home-news-item{grid-template-columns:82px minmax(0,1fr)}.home-news-item img{width:82px;height:76px}}
