    :root{--blue:#1a3f7a;--blue-mid:#2557a7;--blue-lt:#4a85d4;--blue-pale:#dce8f7;--white:#fff;--off:#f4f7fc;--border:#d4dff0;--text:#1a2035;--muted:#6b7a99;--stripe:#e8eff9;--green:#1d7a40;--green-bg:#d6f0e1;--red:#92400e;--red-bg:#fde8ce;}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{background:var(--white);color:var(--text);font-family:'Nunito',sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden;}
    .page{display:none;}.page.active{display:block;}

    /* Announce */
    .announce{background:var(--blue-mid);text-align:center;padding:.5rem 2rem;font-size:.8rem;font-weight:600;color:rgba(255,255,255,.9);}
    .announce button{background:none;border:none;color:#fff;font-weight:800;font-size:.8rem;cursor:pointer;margin-left:.5rem;text-decoration:underline;font-family:'Nunito',sans-serif;}

    /* Topbar */
    .topbar{background:var(--blue);padding:.4rem 2.5rem;display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);}
    .topbar a{color:rgba(255,255,255,.65);text-decoration:none;transition:color .2s;}.topbar a:hover{color:#fff;}
    .topbar-left{display:flex;gap:1.5rem;}

    /* Nav */
    nav{position:sticky;top:0;z-index:300;background:var(--white);border-bottom:3px solid var(--blue);display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;height:68px;box-shadow:0 2px 20px rgba(26,63,122,.08);}
    .nav-logo{display:flex;align-items:center;gap:.85rem;cursor:pointer;}
    .logo-shield{width:52px;height:52px;flex-shrink:0;object-fit:contain;display:block;}
    .nav-name{font-family:'Fjalla One',sans-serif;font-size:1.2rem;color:var(--blue);line-height:1.1;}
    .nav-name small{display:block;font-family:'Nunito',sans-serif;font-weight:600;font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}
    .nav-links{display:flex;list-style:none;height:100%;}
    .nav-links li{height:100%;position:relative;}
    .nav-link{height:100%;display:flex;align-items:center;padding:0 .9rem;color:var(--text);cursor:pointer;font-weight:700;font-size:.85rem;border-bottom:3px solid transparent;margin-bottom:-3px;transition:color .2s,border-color .2s;white-space:nowrap;user-select:none;}
    .nav-link:hover,.nav-link.active{color:var(--blue);border-color:var(--blue);}
    .nav-cta{background:var(--blue)!important;color:#fff!important;border-radius:4px;padding:0 1.2rem!important;margin-left:.4rem;border-bottom:none!important;}
    .nav-cta:hover{background:var(--blue-mid)!important;}
    .nav-dropdown{position:relative;height:100%;display:flex;align-items:center;}
    .dropdown-menu{display:none;position:absolute;top:100%;left:0;background:var(--white);border:1px solid var(--border);border-radius:8px;min-width:200px;box-shadow:0 8px 24px rgba(26,63,122,.12);padding:.4rem 0;z-index:400;}
    .nav-dropdown:hover .dropdown-menu{display:block;}
    .dropdown-item{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.1rem;font-size:.84rem;font-weight:700;color:var(--text);cursor:pointer;transition:background .15s;}
    .dropdown-item:hover{background:var(--off);color:var(--blue);}
    .hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;}
    .hamburger span{display:block;width:24px;height:2px;background:var(--blue);border-radius:2px;transition:all .3s;}
    .hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
    .hamburger.open span:nth-child(2){opacity:0;}
    .hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
    .mobile-nav{display:none;position:fixed;top:68px;left:0;right:0;bottom:0;background:var(--white);z-index:250;padding:1.5rem;overflow-y:auto;border-top:1px solid var(--border);flex-direction:column;gap:.2rem;height:auto;align-items:stretch;justify-content:flex-start;}
    .mobile-nav.open{display:flex;}
    .mobile-link{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;font-weight:700;font-size:1rem;color:var(--text);border-radius:8px;cursor:pointer;transition:background .2s;}
    .mobile-link:hover{background:var(--off);color:var(--blue);}
    .mobile-divider{height:1px;background:var(--border);margin:.4rem 0;}
    .mobile-cta{background:var(--blue);color:#fff!important;border-radius:8px;justify-content:center;margin-top:.4rem;}

    /* Breadcrumb */
    .breadcrumb{background:var(--off);border-bottom:1px solid var(--border);padding:.6rem 2.5rem;font-size:.78rem;color:var(--muted);}
    .bc-link{cursor:pointer;transition:color .2s;}.bc-link:hover{color:var(--blue);}

    /* Buttons */
    .btn{display:inline-block;padding:.8rem 2rem;font-family:'Nunito',sans-serif;font-weight:800;font-size:.9rem;border-radius:5px;border:none;cursor:pointer;text-decoration:none;transition:background .2s,transform .15s,border-color .2s;}
    .btn-white{background:var(--white);color:var(--blue);}.btn-white:hover{background:var(--blue-pale);transform:translateY(-1px);}
    .btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.35);}.btn-ghost:hover{border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.08);}
    .btn-blue{background:var(--blue);color:#fff;}.btn-blue:hover{background:var(--blue-mid);}
    .btn-outline{background:transparent;color:var(--blue);border:2px solid var(--border);}.btn-outline:hover{border-color:var(--blue);}
    .btn-sm{padding:.5rem 1.1rem;font-size:.8rem;}
    .btn-danger{background:#fee2e2;color:#dc2626;border:none;padding:.4rem .9rem;font-size:.78rem;font-weight:800;border-radius:5px;cursor:pointer;}
    .btn-danger:hover{background:#fecaca;}
    .btn-edit{background:var(--stripe);color:var(--blue);border:none;padding:.4rem .9rem;font-size:.78rem;font-weight:800;border-radius:5px;cursor:pointer;}
    .btn-edit:hover{background:var(--blue-pale);}

    /* Hero */
    .hero{background:var(--blue);position:relative;overflow:hidden;min-height:520px;display:flex;align-items:stretch;}
    .hero-bg{position:absolute;inset:0;opacity:.05;background-image:repeating-linear-gradient(45deg,#fff 0,#fff 1px,transparent 0,transparent 50%);background-size:28px 28px;}
    .hero-diag{position:absolute;right:0;top:0;bottom:0;width:42%;background:var(--blue-mid);clip-path:polygon(12% 0,100% 0,100% 100%,0% 100%);}
    .hero-diag-inner{position:absolute;right:0;top:0;bottom:0;width:36%;background:var(--white);clip-path:polygon(18% 0,100% 0,100% 100%,0% 100%);display:flex;align-items:center;justify-content:center;padding-left:9%;}
    .sport-cards{display:flex;flex-direction:column;gap:1.2rem;}
    .sport-card{background:var(--blue);border-radius:10px;padding:.9rem 1.2rem;display:flex;align-items:center;gap:.9rem;width:200px;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.2);transition:transform .25s,box-shadow .25s;}
    .sport-card:hover{transform:translateX(-5px);box-shadow:0 6px 24px rgba(0,0,0,.3);}
    .sc-icon{font-size:1.65rem;flex-shrink:0;width:36px;text-align:center;}
    .sc-name{font-family:'Fjalla One',sans-serif;font-size:.95rem;color:#fff;}
    .sc-sub{font-size:.67rem;color:rgba(255,255,255,.5);letter-spacing:1px;text-transform:uppercase;margin-top:.1rem;}
    .hero-content{position:relative;z-index:2;padding:5rem 2.5rem 4rem;max-width:58%;}
    .eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:100px;padding:.3rem .9rem;font-size:.78rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.9);margin-bottom:1.5rem;}
    .eyebrow::before{content:'●';color:#6ee37a;font-size:.5rem;}
    .hero-title{font-family:'Fjalla One',sans-serif;font-size:clamp(2.8rem,5.5vw,5rem);line-height:1;color:#fff;margin-bottom:1.25rem;}
    .hero-title span{display:block;font-family:'Nunito',sans-serif;font-weight:800;font-size:clamp(1.2rem,2.2vw,1.8rem);color:var(--blue-pale);margin-top:.3rem;}
    .hero-desc{color:rgba(255,255,255,.72);font-size:1.05rem;max-width:420px;margin-bottom:2.5rem;line-height:1.75;}
    .hero-btns{display:flex;gap:1rem;flex-wrap:wrap;}

    /* Stats */
    .stats-bar{background:var(--off);border-bottom:1px solid var(--border);display:flex;justify-content:center;}
    .stat-item{padding:1.3rem 3.5rem;text-align:center;border-right:1px solid var(--border);}
    .stat-item:last-child{border-right:none;}
    .stat-n{font-family:'Fjalla One',sans-serif;font-size:2rem;color:var(--blue);line-height:1;}
    .stat-l{font-size:.7rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-top:.2rem;}

    /* Sections */
    .section{padding:5rem 2.5rem;}
    .section-alt{background:var(--off);}
    .wrap{max-width:1140px;margin:0 auto;}
    .sec-head{text-align:center;margin-bottom:3.5rem;}
    .sec-head-row{display:flex;justify-content:space-between;align-items:flex-end;max-width:1100px;margin:0 auto 2.5rem;}
    .label-tag{display:inline-block;background:var(--blue-pale);color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;padding:.3rem .9rem;border-radius:100px;margin-bottom:.9rem;}
    .label-inv{background:rgba(255,255,255,.15);color:rgba(255,255,255,.9);}
    .sec-title{font-family:'Fjalla One',sans-serif;font-size:clamp(1.8rem,3.5vw,2.8rem);color:var(--blue);line-height:1.05;}
    .sec-title-inv{color:#fff;}
    .sec-sub{font-size:1rem;color:var(--muted);margin-top:.6rem;max-width:500px;margin-left:auto;margin-right:auto;}
    .sec-sub-inv{color:rgba(255,255,255,.65);}

    /* Abt cards */
    .abt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1100px;margin:0 auto;}
    .abt-card{background:var(--white);border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:box-shadow .25s,transform .25s;}
    .abt-card:hover{box-shadow:0 8px 32px rgba(26,63,122,.13);transform:translateY(-4px);}
    .abt-top{height:140px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
    .abt-top-bg{position:absolute;inset:0;opacity:.07;background-image:repeating-linear-gradient(45deg,#fff 0,#fff 1px,transparent 0,transparent 50%);background-size:20px 20px;}
    .abt-icon{font-size:3.5rem;position:relative;z-index:1;filter:drop-shadow(0 4px 10px rgba(0,0,0,.25));}
    .abt-body{padding:1.5rem;}
    .abt-name{font-family:'Fjalla One',sans-serif;font-size:1.5rem;color:var(--blue);margin-bottom:.4rem;}
    .abt-desc{font-size:.9rem;color:var(--muted);line-height:1.65;margin-bottom:1rem;}
    .chips{display:flex;flex-wrap:wrap;gap:.4rem;}
    .chip{background:var(--stripe);color:var(--blue-mid);font-size:.7rem;font-weight:700;padding:.2rem .65rem;border-radius:100px;}
    .abt-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--blue);font-weight:800;font-size:.85rem;margin-top:1rem;}
    .abt-link::after{content:'→';transition:transform .2s;}
    .abt-card:hover .abt-link::after{transform:translateX(4px);}

    /* News */
    .news-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:1.5rem;max-width:1100px;margin:0 auto;}
    .news-main{background:var(--white);border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:box-shadow .25s;}
    .news-main:hover{box-shadow:0 8px 32px rgba(26,63,122,.12);}
    .news-img{height:210px;background:linear-gradient(135deg,var(--blue),var(--blue-mid));display:flex;align-items:center;justify-content:center;font-size:4rem;position:relative;overflow:hidden;}
    .news-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.35),transparent 60%);}
    .news-img-tag{position:absolute;bottom:1rem;left:1.25rem;z-index:1;background:var(--white);color:var(--blue);font-size:.7rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;padding:.25rem .7rem;border-radius:100px;}
    .news-body{padding:1.5rem;}
    .news-title{font-family:'Fjalla One',sans-serif;font-size:1.35rem;color:var(--text);line-height:1.2;margin-bottom:.6rem;}
    .news-excerpt{font-size:.9rem;color:var(--muted);line-height:1.65;margin-bottom:1rem;white-space:pre-line;}
    .news-meta{font-size:.75rem;color:var(--muted);font-weight:600;}
    .news-list{display:flex;flex-direction:column;gap:.85rem;}
    .news-small{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:1rem 1.2rem;display:flex;gap:.9rem;cursor:pointer;transition:border-color .2s;}
    .news-small:hover{border-color:var(--blue-lt);}
    .news-ico{width:40px;height:40px;border-radius:8px;background:var(--stripe);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;}
    .ns-body{flex:1;min-width:0;overflow:hidden;}
    .ns-title{font-weight:800;font-size:.9rem;color:var(--text);line-height:1.3;margin-bottom:.2rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
    .ns-meta{font-size:.72rem;color:var(--muted);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

    /* Termine */
    .termin-list{display:flex;flex-direction:column;gap:.65rem;}
    .termin-row{background:var(--white);border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;gap:1.25rem;padding:1rem 1.5rem;cursor:pointer;transition:border-color .2s,box-shadow .2s;}
    .termin-row:hover{border-color:var(--blue-lt);box-shadow:0 4px 16px rgba(26,63,122,.07);}
    .t-date{background:var(--blue);color:#fff;border-radius:8px;padding:.5rem .5rem;text-align:center;min-width:52px;flex-shrink:0;}
    .t-day{font-family:'Fjalla One',sans-serif;font-size:1.5rem;line-height:1;}
    .t-month{font-size:.6rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;opacity:.7;}
    .t-sport{width:34px;height:34px;background:var(--stripe);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
    .t-info{flex:1;min-width:0;}
    .t-title{font-weight:800;font-size:.95rem;color:var(--text);}
    .t-sub{font-size:.78rem;color:var(--muted);margin-top:.1rem;}
    .t-time{font-size:.82rem;font-weight:800;color:var(--blue);white-space:nowrap;}
    .t-meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0;}
    .beitrag-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:900px;margin:0 auto;}
    .extern-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
    .badge{font-size:.65rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:.2rem .65rem;border-radius:100px;white-space:nowrap;}
    .badge-heim{background:var(--green-bg);color:var(--green);}
    .badge-aus{background:var(--red-bg);color:var(--red);}
    .badge-event{background:var(--stripe);color:var(--blue-mid);}
    .badge-kurs{background:#ede9fe;color:#6d28d9;}
    .badge-training{background:#e0f2fe;color:#0369a1;}
    .badge-turnier{background:#fef3c7;color:#d97706;}
    .badge-versammlung{background:#f3e8ff;color:#7c3aed;}
    .badge-jugend{background:#dcfce7;color:#16a34a;}
    .badge-sonstiges{background:#f1f5f9;color:#475569;}

    /* Tabs */
    .tabs{display:flex;border-bottom:2px solid var(--border);margin-bottom:2.5rem;overflow-x:auto;}
    .tab{padding:.75rem 1.5rem;font-weight:800;font-size:.875rem;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:color .2s,border-color .2s;}
    .tab.active{color:var(--blue);border-color:var(--blue);}
    .tab-pane{display:none;}.tab-pane.active{display:block;}

    /* Mannschaften */
    .mann-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
    .mann-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:1.5rem;text-align:center;}
    .mann-icon{font-size:2rem;margin-bottom:.6rem;}
    .mann-name{font-family:'Fjalla One',sans-serif;font-size:1.05rem;color:var(--blue);margin-bottom:.2rem;}
    .mann-liga{font-size:.75rem;color:var(--muted);font-weight:600;}
    .mann-sg{font-size:.72rem;color:var(--muted);margin-top:.35rem;font-style:italic;}
    .dart-fotos{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem;}
    .dart-fotos img{width:100%;height:140px;object-fit:cover;border-radius:10px;border:1px solid var(--border);}
    .dart-foto-placeholder{height:140px;border-radius:10px;border:2px dashed var(--border);background:var(--off);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);font-size:1.4rem;text-align:center;line-height:1.4;}
    .dart-foto-placeholder span{font-size:.7rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-top:.3rem;}
    @media(max-width:720px){.dart-fotos{grid-template-columns:repeat(2,1fr);}}

    /* Kurse */
    .kurs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;max-width:900px;margin:0 auto;}
    .kurs-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:1.5rem;display:flex;gap:1.25rem;}
    .kurs-ico{width:52px;height:52px;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--blue-mid));display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;}

    /* Vorstand */
    .vorstand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2rem;}
    .vorstand-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:1.5rem;text-align:center;}
    .v-avatar{width:70px;height:70px;border-radius:50%;background:var(--blue-pale);border:3px solid var(--border);margin:0 auto .75rem;display:flex;align-items:center;justify-content:center;font-size:1.8rem;}
    .ausschuss-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-top:1.5rem;}
    .ausschuss-card{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem;text-align:center;}

    /* Kontakt */
    .kontakt-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1000px;margin:0 auto;}
    .kontakt-item{display:flex;gap:.75rem;margin-bottom:1rem;font-size:.9rem;}
    .k-ico{font-size:1.1rem;flex-shrink:0;width:24px;text-align:center;}
    .form-group{margin-bottom:1rem;}
    .form-group label{display:block;font-size:.82rem;font-weight:700;color:var(--text);margin-bottom:.35rem;}
    .form-input{width:100%;padding:.7rem .9rem;border:1.5px solid var(--border);border-radius:7px;font-family:'Nunito',sans-serif;font-size:.9rem;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s;}
    .form-input:focus{border-color:var(--blue-lt);box-shadow:0 0 0 3px rgba(74,133,212,.12);}
    textarea.form-input{resize:vertical;min-height:110px;}
    .form-row2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;}
    .map-box{background:var(--stripe);border:1px solid var(--border);border-radius:12px;height:200px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.5rem;cursor:pointer;margin-top:1.5rem;transition:background .2s;}
    .map-box:hover{background:var(--blue-pale);}

    /* External link box */
    .ext-link-box{background:var(--blue-pale);border:1px solid var(--border);border-radius:12px;padding:2rem;text-align:center;margin-top:1.5rem;}
    .ext-link-box h4{font-family:'Fjalla One',sans-serif;font-size:1.2rem;color:var(--blue);margin-bottom:.5rem;}
    .ext-link-box p{font-size:.875rem;color:var(--muted);margin-bottom:1.25rem;line-height:1.65;}
    .ext-link-box a{display:inline-flex;align-items:center;gap:.5rem;background:var(--blue);color:#fff;padding:.75rem 1.75rem;border-radius:5px;font-weight:800;font-size:.875rem;text-decoration:none;margin:.3rem;transition:background .2s;}
    .ext-link-box a:hover{background:var(--blue-mid);}

    /* CTA */
    .cta-wrap{background:var(--blue);position:relative;overflow:hidden;}
    .cta-bg{position:absolute;inset:0;opacity:.05;background-image:repeating-linear-gradient(45deg,#fff 0,#fff 1px,transparent 0,transparent 50%);background-size:28px 28px;}
    .cta-inner{position:relative;z-index:1;max-width:700px;margin:0 auto;text-align:center;}
    .cta-btns{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap;}

    /* Page hero */
    .page-hero{background:var(--blue);position:relative;overflow:hidden;padding:4rem 2.5rem 3.5rem;}
    .page-hero-bg{position:absolute;inset:0;opacity:.05;background-image:repeating-linear-gradient(45deg,#fff 0,#fff 1px,transparent 0,transparent 50%);background-size:28px 28px;}
    .page-hero-inner{position:relative;z-index:1;max-width:800px;}
    .ph-back{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;color:rgba(255,255,255,.5);cursor:pointer;margin-bottom:1.5rem;letter-spacing:1px;text-transform:uppercase;}
    .ph-back:hover{color:rgba(255,255,255,.9);}
    .ph-icon{font-size:3rem;margin-bottom:.75rem;}
    .ph-title{font-family:'Fjalla One',sans-serif;font-size:clamp(2.2rem,4vw,3.8rem);color:#fff;margin-bottom:.6rem;}
    .ph-sub{font-size:1.05rem;color:rgba(255,255,255,.65);max-width:500px;line-height:1.7;}

    /* Sponsors */
    .sponsor-ticker{overflow:hidden;margin-top:2rem;-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);}
    .sponsor-track{display:flex;gap:1rem;width:max-content;animation:ticker-scroll 38s linear infinite;}
    .sponsor-ticker:hover .sponsor-track{animation-play-state:paused;}
    .sponsor-box{background:var(--off);border:1px solid var(--border);border-radius:8px;padding:.8rem 1.8rem;font-family:'Fjalla One',sans-serif;color:var(--muted);letter-spacing:1px;white-space:nowrap;flex-shrink:0;transition:color .2s,border-color .2s;}
    .sponsor-box:hover{color:var(--blue);border-color:var(--blue-lt);}
    @keyframes ticker-scroll{to{transform:translateX(-50%);}}

    /* Loading skeleton */
    .skeleton{background:linear-gradient(90deg,var(--border) 25%,var(--stripe) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:6px;}
    @keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

    /* Scroll top */
    .scroll-top{position:fixed;bottom:5rem;right:1.5rem;z-index:400;background:var(--off);color:var(--blue);border:1.5px solid var(--border);border-radius:50%;width:44px;height:44px;font-size:1.1rem;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.08);transition:all .2s;}
    .scroll-top.visible{display:flex;}
    .scroll-top:hover{background:var(--blue);color:#fff;}

    /* Footer */
    footer{background:#0f1f3d;color:rgba(255,255,255,.7);padding:4rem 2.5rem 2rem;}
    .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;max-width:1140px;margin:0 auto 3rem;}
    .f-brand-name{font-family:'Fjalla One',sans-serif;font-size:1.2rem;color:#fff;margin:.75rem 0 .4rem;}
    .f-brand-sub{font-size:.68rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:.75rem;}
    .f-brand p{font-size:.875rem;color:rgba(255,255,255,.45);line-height:1.7;max-width:220px;}
    .f-col h4{font-family:'Fjalla One',sans-serif;font-size:.75rem;letter-spacing:2.5px;text-transform:uppercase;color:#dce8f7;margin-bottom:1rem;}
    .f-col a{display:block;font-size:.875rem;color:rgba(255,255,255,.45);cursor:pointer;margin-bottom:.5rem;transition:color .2s;text-decoration:none;}
    .f-col a:hover{color:#fff;}
    .footer-bottom{display:flex;justify-content:space-between;font-size:.73rem;color:rgba(255,255,255,.25);max-width:1140px;margin:0 auto;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.07);}
    .footer-bottom a{color:rgba(255,255,255,.25);cursor:pointer;text-decoration:none;}
    .footer-bottom a:hover{color:rgba(255,255,255,.7);}

    /* ── ADMIN ── */
    .admin-fab{position:fixed;bottom:1.5rem;right:1.5rem;z-index:500;background:var(--blue);color:#fff;border:none;border-radius:50%;width:48px;height:48px;font-size:1.2rem;box-shadow:0 4px 16px rgba(26,63,122,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;}
    .admin-fab:hover{background:var(--blue-mid);transform:scale(1.08);}
    .modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:600;display:flex;align-items:center;justify-content:center;}
    .pin-modal{background:var(--white);border-radius:16px;padding:2.5rem;width:340px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.2);}
    .pin-title{font-family:'Fjalla One',sans-serif;font-size:1.5rem;color:var(--blue);margin-bottom:.4rem;}
    .pin-sub{font-size:.85rem;color:var(--muted);margin-bottom:1.5rem;}
    .pin-input{width:100%;padding:.9rem;border:2px solid var(--border);border-radius:8px;font-size:1.5rem;text-align:center;letter-spacing:6px;font-family:'Fjalla One',sans-serif;color:var(--blue);outline:none;transition:border-color .2s;margin-bottom:1rem;}
    .pin-input:focus{border-color:var(--blue-lt);}
    .pin-error{color:#dc2626;font-size:.82rem;margin-bottom:.75rem;font-weight:700;}
    .admin-panel{position:fixed;inset:0;background:var(--off);z-index:600;overflow-y:auto;display:none;}
    .admin-panel.open{display:block;}
    .admin-header{background:var(--blue);color:#fff;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;}
    .admin-title{font-family:'Fjalla One',sans-serif;font-size:1.4rem;letter-spacing:1px;}
    .admin-subtitle{font-size:.78rem;color:rgba(255,255,255,.55);margin-top:.15rem;}
    .admin-body{max-width:1000px;margin:0 auto;padding:2rem;}
    .admin-tabs{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap;}
    .admin-tab{padding:.6rem 1.3rem;border-radius:8px;font-weight:800;font-size:.875rem;cursor:pointer;border:2px solid var(--border);background:var(--white);color:var(--muted);transition:all .2s;}
    .admin-tab.active{background:var(--blue);color:#fff;border-color:var(--blue);}
    .admin-section{display:none;}.admin-section.active{display:block;}
    .admin-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:.85rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;}
    .admin-card-left{flex:1;min-width:0;}
    .admin-card-title{font-weight:800;font-size:.95rem;color:var(--text);margin-bottom:.2rem;}
    .admin-card-meta{font-size:.78rem;color:var(--muted);}
    .admin-card-excerpt{font-size:.85rem;color:var(--muted);margin-top:.4rem;line-height:1.5;}
    .admin-card-actions{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap;align-items:center;}
    .admin-form{background:var(--white);border:1.5px solid var(--blue-lt);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;}
    .admin-form-title{font-family:'Fjalla One',sans-serif;font-size:1.1rem;color:var(--blue);margin-bottom:1.25rem;}
    .admin-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;}
    .save-msg{background:var(--green-bg);color:var(--green);border-radius:8px;padding:.85rem 1.25rem;font-weight:700;margin-bottom:1.5rem;display:none;}
    .save-msg.show{display:block;}
    .empty-state{text-align:center;padding:3rem;color:var(--muted);font-size:.9rem;}
    .ann-preview{background:var(--blue-mid);border-radius:8px;padding:.6rem 1rem;font-size:.82rem;color:rgba(255,255,255,.9);margin-bottom:1rem;text-align:center;}

    /* Animations */
    @keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
    .fade-1{animation:fadeUp .5s .1s both}
    .fade-2{animation:fadeUp .5s .25s both}
    .fade-3{animation:fadeUp .5s .4s both}
    .fade-4{animation:fadeUp .5s .52s both}

    /* Responsive */
    @media(max-width:960px){
      .nav-links{display:none;}.topbar{display:none;}.hamburger{display:flex;}
      .hero-diag,.hero-diag-inner{display:none;}
      .hero-content{max-width:100%;padding:5rem 1.5rem 3rem;}
      .stats-bar{flex-wrap:wrap;}
      .stat-item{flex:1 1 50%;border-right:none;border-bottom:1px solid var(--border);}
      .abt-grid{grid-template-columns:1fr;max-width:480px;}
      .news-grid{grid-template-columns:1fr;}
      .mann-grid{grid-template-columns:1fr 1fr;}
      .kurs-grid{grid-template-columns:1fr;}
      .vorstand-grid{grid-template-columns:1fr 1fr;}
      .ausschuss-grid{grid-template-columns:repeat(3,1fr);}
      .kontakt-grid{grid-template-columns:1fr;}
      .footer-grid{grid-template-columns:1fr 1fr;}
      .section{padding:3.5rem 1.5rem;}
      .sec-head-row{flex-direction:column;align-items:flex-start;gap:.75rem;}
      .form-row2{grid-template-columns:1fr;}
      .admin-row{grid-template-columns:1fr;}
      .admin-card{flex-direction:column;}
      .beitrag-grid{grid-template-columns:1fr 1fr;}
    }
    @media(max-width:600px){
      .vorstand-grid{grid-template-columns:1fr;}
      .ausschuss-grid{grid-template-columns:1fr 1fr;}
      .footer-grid{grid-template-columns:1fr;}
      .termin-row{display:grid;grid-template-columns:52px 36px 1fr;gap:.25rem .65rem;padding:.85rem 1rem;align-items:start;}
      .t-date{grid-column:1;grid-row:1/3;align-self:center;}
      .t-sport{grid-column:2;grid-row:1/3;align-self:center;}
      .t-info{grid-column:3;grid-row:1;}
      .t-meta{grid-column:3;grid-row:2;}
      .beitrag-grid{grid-template-columns:1fr 1fr;}
      .extern-grid{grid-template-columns:1fr;}
    }

    /* Anker, die als Buttons/Cards/Navigation dienen, nicht unterstreichen */
    a.nav-link, a.nav-logo, a.mobile-link, a.dropdown-item,
    a.sport-card, a.abt-card, a.bc-link, a.ph-back,
    a.btn, a.f-col-link, .f-col a, .footer-bottom a, .topbar a {
      text-decoration: none;
    }
    a.nav-logo { color: inherit; }
    a.sport-card, a.abt-card { color: inherit; }

    /* Sichtbarer Fokus-Ring für Tastatur-Navigation (a11y) */
    a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
      outline: 3px solid var(--blue-mid);
      outline-offset: 2px;
      border-radius: 4px;
    }

    /* Skip-Link */
    .skip-link {
      position: absolute; left: -9999px; top: 0; z-index: 9999;
      background: var(--blue); color: #fff; padding: .6rem 1rem; font-weight: 800;
    }
    .skip-link:focus { left: 0; }

    /* ── Ausgelagerte Inline-Styles ───────────────────────────── */

    /* Topbar */
    .topbar-right{display:flex;gap:1rem;}

    /* Utilities */
    .text-muted{color:var(--muted);}
    .text-center{text-align:center;}

    /* Abteiliungskarten: Hintergrund-Varianten */
    .abt-top--fussball{background:linear-gradient(135deg,#1a3f7a,#2557a7);}
    .abt-top--dart{background:linear-gradient(135deg,#0f2744,#1a3f7a);}
    .abt-top--fitness{background:linear-gradient(135deg,#2557a7,#4a85d4);}

    /* Seitenhero: farbige Varianten */
    .page-hero--dart{background:linear-gradient(135deg,#0f2744,#1a3f7a);}
    .page-hero--fitness{background:linear-gradient(135deg,#2557a7,#4a85d4);}

    /* CTA: farbige Varianten */
    .cta-wrap--dart{background:linear-gradient(135deg,#0f2744,#1a3f7a);}
    .cta-wrap--fitness{background:linear-gradient(135deg,#2557a7,#4a85d4);}

    /* Section: kompakte Variante */
    .section--compact{padding-top:3rem;padding-bottom:3rem;}

    /* Sponsoren-Label */
    .sponsor-label{font-size:.7rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem;}

    /* Dart: Info-Grid und Info-Box */
    .dart-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:2rem;}
    .info-box{background:var(--off);border:1px solid var(--border);border-radius:12px;padding:1.5rem;}
    .info-box--wide{grid-column:1/-1;}
    .info-box-icon{font-size:2rem;margin-bottom:.65rem;}
    .info-box-title{font-family:'Fjalla One',sans-serif;font-size:1.05rem;color:var(--blue);margin-bottom:.35rem;}
    .info-box-text{font-size:.875rem;color:var(--muted);line-height:1.65;}
    @media(max-width:600px){.dart-info-grid{grid-template-columns:1fr;}.info-box--wide{grid-column:1;}}

    /* sec-title kleine Variante (z.B. Dart-Fotos) */
    .sec-title--sm{font-size:1.4rem;}

    /* Fitness: Kurs-Karten-Inhalt */
    .kurs-title{font-family:'Fjalla One',sans-serif;font-size:1.05rem;color:var(--blue);margin-bottom:.25rem;}
    .kurs-desc{font-size:.875rem;color:var(--muted);line-height:1.65;margin-bottom:.5rem;}
    .kurs-time{font-size:.78rem;font-weight:700;color:var(--blue-mid);margin-bottom:.3rem;}
    .kurs-loc{font-size:.78rem;color:var(--muted);margin-bottom:.3rem;}
    .kurs-trainer{font-size:.78rem;color:var(--muted);}

    /* Verein: Abteilungs-Sektion Überschrift */
    .abt-section-title{font-family:'Fjalla One',sans-serif;font-size:1.1rem;color:var(--blue);margin-bottom:1rem;}

    /* Verein: Ausschuss-Karten */
    .ausschuss-name{font-family:'Fjalla One',sans-serif;font-size:.9rem;color:var(--blue);}
    .ausschuss-role{font-size:.72rem;color:var(--muted);margin-top:.25rem;}

    /* Verein: Beitrags-Karten */
    .beitrag-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:1.5rem;text-align:center;}
    .beitrag-card--featured{background:var(--blue);border-color:var(--blue);}
    .beitrag-icon{font-size:2rem;margin-bottom:.5rem;}
    .beitrag-name{font-family:'Fjalla One',sans-serif;font-size:1rem;color:var(--blue);margin-bottom:.25rem;}
    .beitrag-age{font-size:.78rem;color:var(--muted);margin-bottom:.75rem;}
    .beitrag-price{font-family:'Fjalla One',sans-serif;font-size:1.6rem;color:var(--blue-mid);line-height:1;}
    .beitrag-period{font-size:.7rem;color:var(--muted);margin-top:.2rem;}
    .beitrag-card--featured .beitrag-name{color:#fff;}
    .beitrag-card--featured .beitrag-age{color:rgba(255,255,255,.6);}
    .beitrag-card--featured .beitrag-price{color:#fff;}
    .beitrag-card--featured .beitrag-period{color:rgba(255,255,255,.55);}

    /* Verein: Vorstand-Grid 2-Spalten (Abt-Leitung) */
    .vorstand-grid--2col{grid-template-columns:repeat(2,minmax(0,300px));justify-content:center;}

    /* Vereinsgeschichte */
    .geschichte-text{max-width:800px;margin:0 auto;font-size:.975rem;color:var(--muted);line-height:1.8;}
    .geschichte-text p{margin-bottom:1rem;}

    /* Kontakt: Abschnitts-Überschriften */
    .kontakt-section-title{font-family:'Fjalla One',sans-serif;font-size:1.3rem;color:var(--blue);margin-bottom:1.25rem;}

    /* Kontakt: Map-Box Inhalt */
    .map-box-ico{font-size:2rem;}
    .map-box-label{color:var(--blue);}
    .map-box-sub{font-size:.82rem;color:var(--muted);}

    /* Kontakt: Formular-Varianten */
    .form-row2--mb{margin-bottom:1rem;}
    .form-group--nomargin{margin:0;}

    /* Kontakt: Aufnahmeformular-Box */
    .aufnahme-box{margin-top:1.5rem;padding:1.25rem;background:var(--stripe);border:1px solid var(--border);border-radius:10px;text-align:center;}
    .aufnahme-title{font-size:.82rem;font-weight:700;color:var(--text);margin-bottom:.5rem;}
    .aufnahme-desc{font-size:.8rem;color:var(--muted);margin-bottom:.75rem;line-height:1.5;}

    /* News/Termine: Container-Breiten */
    .news-wrap{max-width:800px;margin:0 auto;}
    .news-wrap--wide{max-width:1100px;margin:0 auto;}

    /* Impressum / Datenschutz */
    .legal-wrap{max-width:700px;margin:0 auto;}
    .legal-wrap--wide{max-width:760px;margin:0 auto;}
    .legal-h1{font-family:'Fjalla One',sans-serif;font-size:2rem;color:var(--blue);margin-bottom:2rem;}
    .legal-stand{color:var(--muted);font-size:.85rem;margin-bottom:2rem;}
    .legal-h3{font-weight:800;margin-bottom:.5rem;}
    .legal-p{color:var(--muted);line-height:1.8;margin-bottom:1.5rem;}
    .legal-ul{color:var(--muted);line-height:1.8;margin-bottom:1.5rem;padding-left:1.4rem;}
    .legal-back{margin-top:2rem;}

    /* Shop */
    .page-hero--gradient{background:linear-gradient(135deg,var(--blue),var(--blue-mid));}
    .shop-h2{font-family:'Fjalla One',sans-serif;font-size:1.6rem;color:var(--blue);margin-bottom:1.5rem;}
    .shop-h2--sm{font-family:'Fjalla One',sans-serif;font-size:1.4rem;color:var(--blue);margin-bottom:1.25rem;}
    .shop-list{padding-left:1.4rem;color:var(--muted);font-size:.95rem;line-height:2;margin-bottom:2rem;}
    .shop-note-box{background:var(--stripe);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;}
    .shop-note-title{font-family:'Fjalla One',sans-serif;font-size:1.1rem;color:var(--blue);margin-bottom:.9rem;}
    .shop-note-list{padding-left:1.4rem;color:var(--muted);font-size:.875rem;line-height:1.9;}
    .shop-warning-box{background:#fde8ce;border:1px solid #f3c79a;border-radius:12px;padding:1.5rem;margin-bottom:2rem;}
    .shop-warning-title{font-family:'Fjalla One',sans-serif;font-size:1.1rem;color:var(--red);margin-bottom:.75rem;}
    .shop-warning-p{color:var(--red);font-size:.875rem;line-height:1.75;}
    .shop-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
    .shop-contact-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:1.25rem;}
    .shop-contact-name{font-weight:800;font-size:.9rem;color:var(--blue);margin-bottom:.4rem;}
    .shop-contact-detail{font-size:.875rem;color:var(--muted);line-height:1.75;}
    .shop-contact-link{color:var(--blue-mid);text-decoration:none;}
    .shop-contact-link:hover{text-decoration:underline;}
    @media(max-width:600px){.shop-contact-grid{grid-template-columns:1fr;}}

    /* Footer */
    .f-logo-img{width:80px;height:80px;object-fit:contain;display:block;background:rgba(255,255,255,.95);border-radius:50%;padding:4px;}
    .f-social-links{margin-top:1rem;display:flex;flex-direction:column;gap:.4rem;}
    .f-social-link{font-size:.875rem;color:rgba(255,255,255,.6);text-decoration:none;}
    .f-social-link:hover{color:#fff;}
    .footer-meta-links{display:flex;gap:1rem;}

    /* Admin: PIN Modal */
    .pin-icon{font-size:2.5rem;margin-bottom:.75rem;}
    .pin-modal-btns{display:flex;gap:.75rem;}
    .pin-modal-btn{flex:1;}

    /* Admin: Panel */
    .admin-header-actions{display:flex;gap:.75rem;align-items:center;}
    .btn-admin-logout{color:#fff!important;border-color:rgba(255,255,255,.3)!important;}
    .admin-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;}
    .admin-section-title{font-family:'Fjalla One',sans-serif;color:var(--blue);}
    .admin-settings-title{font-family:'Fjalla One',sans-serif;color:var(--blue);margin-bottom:1.5rem;}
    .admin-form-actions{display:flex;gap:.75rem;flex-wrap:wrap;}

    /* sec-head compact variant */
    .sec-head--compact{margin-bottom:1rem;}

    /* Kontakt: Erfolgs-Meldung (display:none wird per JS gesetzt/entfernt) */
    .k-success{background:var(--green-bg);color:var(--green);border-radius:8px;padding:1.25rem;font-weight:700;text-align:center;}
