*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:#f7f7f5;color:#191b1c;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #c32932;outline-offset:5px}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:13px;font-weight:700}.red{color:#c52632}header{background:#fff;border-bottom:1px solid #e3e3df;position:sticky;top:0;z-index:20}.nav{min-height:90px;display:flex;align-items:center;gap:40px}.brand{display:flex;align-items:center;gap:13px;line-height:1.05;margin-right:auto;font-weight:900;letter-spacing:-.04em;font-size:20px}.brand img{width:44px;height:52px;object-fit:contain}.brand small{display:block;font-size:10px;letter-spacing:.18em;margin-top:7px}.navlinks{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700}.navlinks a{padding:31px 0;border-bottom:3px solid transparent}.navlinks a[aria-current]{border-color:#c52632;color:#b91e2b}.button{background:#c52632;color:white;display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:14px 22px;font-size:14px;font-weight:700;border:1px solid #c52632;cursor:pointer}.button:hover{background:#a91924;text-decoration:none}.button.light{background:white;color:#1b1c1d;border-color:#d2d2cf}.button.dark{background:#202223;border-color:#202223}.menu{display:none;background:none;border:1px solid #ddd;padding:8px 12px}.hero{padding:72px 0 64px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:center}.hero h1,.page-hero h1{font-family:Arial,'Arial Narrow',Arial,sans-serif;font-size:clamp(52px,6.5vw,88px);font-weight:900;letter-spacing:-.025em;text-transform:uppercase;line-height:1.02;margin:24px 0}.hero h1 span{display:block}.hero p{max-width:500px;color:#626568;font-size:17px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.club-art{background:#c52632;min-height:425px;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate;overflow:hidden}.club-art:before{content:'';position:absolute;width:230px;height:700px;background:#ac1e29;transform:rotate(27deg);right:-100px;z-index:-1}.club-art img{width:205px;height:245px;object-fit:contain;filter:drop-shadow(0 18px 20px #690f2950)}.club-art .label{position:absolute;left:28px;bottom:24px;color:white;font-size:13px;letter-spacing:.13em;text-transform:uppercase}.club-art .top{position:absolute;top:24px;right:27px;color:#fff;font-weight:700;font-size:13px}.stats{background:#202223;color:white}.stats .wrap{display:grid;grid-template-columns:repeat(3,1fr)}.stat{padding:24px 34px;display:flex;align-items:center;gap:20px;border-right:1px solid #47494a}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat strong{font-size:36px;line-height:1;font-weight:700}.stat span{font-size:14px;color:#d3d3d3;line-height:1.4}section.section{padding:70px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:30px}h2{font-size:clamp(30px,3.4vw,45px);line-height:1.12;letter-spacing:-.04em;margin:10px 0 0}h3{line-height:1.2;font-size:25px;letter-spacing:-.03em;margin:15px 0}p{margin:14px 0}.muted{color:#626568}.section-head p{max-width:415px;color:#626568;margin:0}.departments{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.department{background:#fff;border:1px solid #dddeda;padding:32px;position:relative;min-height:260px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.department:hover{transform:translateY(-4px);border-color:#c52632;text-decoration:none}.department .index{font-size:13px;font-weight:700;color:#75777a}.department h3{font-size:34px;margin-top:30px}.department p{margin:0 0 28px;color:#626568;max-width:290px}.department .link{margin-top:auto;font-weight:700;font-size:14px;display:flex;justify-content:space-between}.department:nth-child(2){border-top:3px solid #c52632}.community{background:#eeefec}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.club-list{background:#fff;border:1px solid #dddeda}.club-row{display:flex;align-items:center;gap:25px;padding:22px 30px;border-bottom:1px solid #e5e5e0;font-weight:700}.club-row:last-child{border:0}.club-row img{width:57px;height:62px;object-fit:contain}.club-row small{display:block;color:#6c6f71;font-size:13px;font-weight:400}.rewe{background:#fff;border:1px solid #dededb;padding:36px;display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center}.rewe .percent{font-size:74px;font-weight:900;color:#c52632;line-height:1}.rewe h3{margin:0}.rewe p{max-width:600px;margin-bottom:0}.contact{background:#222426;color:white}.contact p{color:#cbcdcf}.contact h2{max-width:460px}.contact a.mail{font-size:clamp(18px,2.4vw,28px);font-weight:700}.contact-line{margin:28px 0}.contact .button{margin-top:20px}footer{background:#181a1b;color:#bfc1c2;padding:36px 0;font-size:13px}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:30px;padding-bottom:30px;border-bottom:1px solid #393b3c}.footer-top strong{color:white;font-size:20px}.social{display:flex;gap:24px;flex-wrap:wrap}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px}.page-hero{padding:60px 0;background:#202223;color:white}.page-hero .eyebrow{color:#e77981}.page-hero h1{font-size:clamp(50px,6vw,78px);margin:18px 0}.page-hero p{color:#d0d1d2;max-width:650px;font-size:18px}.breadcrumb{font-size:13px;color:#aaadb0;margin-bottom:32px}.jumpbar{border-bottom:1px solid #dcded9;background:white}.jumpbar .wrap{display:flex;gap:12px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}.jumpbar a{border:1px solid #d8dad6;padding:8px 18px;font-size:14px;font-weight:700}.jumpbar a:hover{color:#c52632;border-color:#c52632;text-decoration:none}.coordinator{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff;border-left:4px solid #c52632;padding:25px 30px;margin:40px 0 10px}.coordinator p{margin:3px 0;color:#626568}.coordinator strong{font-size:20px}.team-section{padding:42px 0;border-bottom:1px solid #dcded9}.team-section:last-child{border:0}.team-intro{display:grid;grid-template-columns:1fr 1.4fr;gap:50px;margin-bottom:26px;align-items:start}.team-intro h2{font-size:34px}.team-intro p{margin:8px 0 0;color:#626568}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.team-card{padding:26px;background:#fff;border:1px solid #dcddd9}.team-card .tag{font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:#b9202c}.team-card h3{margin:9px 0 24px}.team-card dl{margin:0}.team-card dt{font-size:12px;color:#777b7e;text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin-top:17px}.team-card dd{margin:3px 0;font-size:15px}.team-card dd a[href^='tel:']{color:#b9202c;display:inline-block}.team-card .league{display:block;margin-top:23px;padding-top:18px;border-top:1px solid #e2e2df;font-size:14px;font-weight:700}.team-card .town{font-size:14px;color:#686b6e}.team-card .area{border-top:1px solid #e2e2df;padding-top:14px;font-size:13px;color:#686b6e;margin-top:20px}.feature{background:#fff;border:1px solid #dddeda;padding:35px}.feature h3{font-size:28px}.feature dl{display:grid;grid-template-columns:130px 1fr;gap:14px}.feature dt{color:#73777a}.feature dd{margin:0;font-weight:700}.callout{padding:35px;background:#c52632;color:#fff}.callout p{color:#ffe4e7}.callout h3{font-size:30px}.skip{position:absolute;top:-100px;left:20px;background:white;padding:10px;z-index:50}.skip:focus{top:10px}main{min-height:65vh}#Kontakt{scroll-margin-top:100px}@media(min-width:1500px){.hero{padding:90px 0}.hero h1{font-size:94px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.nav{gap:20px}.navlinks{gap:17px}.nav>.button{display:none}.hero-grid{gap:35px;grid-template-columns:1.3fr 1fr}.club-art{min-height:350px}.hero h1{font-size:60px}.team-grid{grid-template-columns:repeat(2,1fr)}.split{gap:35px}.department{padding:24px}.rewe{grid-template-columns:auto 1fr}.rewe>.button{grid-column:2}.stat{padding:24px 20px}.stat strong{font-size:31px}}@media(max-width:700px){.wrap{width:calc(100% - 36px)}.nav{min-height:76px;flex-wrap:wrap;gap:0}.brand{font-size:18px}.brand img{height:44px;width:38px}.menu{display:block}.navlinks{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:14px 0}.navlinks.open{display:flex}.navlinks a{padding:12px 0;border-bottom:1px solid #e5e5e0}.hero{padding:38px 0}.hero-grid{grid-template-columns:1fr;gap:30px}.hero h1{font-size:clamp(44px,10.3vw,70px)}.hero p{font-size:16px}.club-art{min-height:260px}.club-art img{height:170px;width:145px}.stats .wrap{grid-template-columns:1fr}.stat,.stat:first-child{padding:17px 0;border-right:0;border-bottom:1px solid #47494a}.stat strong{min-width:85px}.stat span br{display:initial}.section-head,.split,.team-intro{display:block}.section-head p{margin-top:18px}.departments,.team-grid{grid-template-columns:1fr}.department{min-height:220px}.department h3{margin-top:18px}.section{padding:45px 0!important}.club-list{margin-top:28px}.rewe{padding:25px;gap:20px}.rewe .percent{font-size:48px}.rewe .button{grid-column:1/-1}.footer-top,.footer-bottom{flex-direction:column}.coordinator{align-items:start;flex-direction:column;padding:22px}.page-hero{padding:38px 0}.page-hero h1{font-size:49px;overflow-wrap:anywhere}.team-intro p{margin:16px 0 24px}.team-section{padding:32px 0}.feature{padding:23px}.feature dl{grid-template-columns:1fr;gap:4px}.feature dd{margin-bottom:18px}.callout{margin-top:25px;padding:25px}.jumpbar .wrap{gap:8px}.jumpbar a{padding:7px 12px}.contact-line{margin:25px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.department{transition:none}}

.hero-grid{grid-template-columns:1.08fr 1fr;gap:45px}.hero h1{font-size:clamp(44px,4.8vw,69px);letter-spacing:-.04em}.hero-photo{margin:0;position:relative;align-self:stretch;min-height:430px;background:#24292a;overflow:hidden}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 58%}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0b1712b0)}.hero-photo figcaption{position:absolute;bottom:30px;left:30px;color:#fff;z-index:2;line-height:1.1}.hero-photo figcaption span{font-size:16px}.hero-photo figcaption strong{display:block;font-size:44px;letter-spacing:-.04em;margin-top:8px}.photo-corner{position:absolute;right:0;top:0;background:#c52632;padding:15px 22px;color:white;font-weight:900;line-height:1.05;font-size:22px;z-index:2}.story-photo{margin:0}.story-photo img{width:100%;height:auto;display:block}.team-banner{margin:0;max-width:900px;margin:auto}.team-banner img{width:100%;height:auto;display:block}.team-banner figcaption{font-size:14px;color:#6b6e70;padding-top:10px}.text-link{display:inline-block;border-bottom:1px solid #c52632;font-weight:700;padding:10px 0}.team-card dd a{overflow-wrap:anywhere}.contact .split>div{min-width:0}.navlinks{gap:20px}.nav{gap:25px}.nav>.button{white-space:nowrap}.section-head>div{min-width:0}@media(max-width:1000px){.hero h1{font-size:clamp(40px,5.1vw,58px)}.hero-grid{gap:25px}.hero-photo{min-height:400px}}@media(max-width:700px){.hero-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(37px,8.8vw,60px)}.hero-photo{min-height:320px;aspect-ratio:1.3}.hero-photo figcaption{bottom:23px;left:23px}.hero-photo figcaption strong{font-size:36px}.story-photo{margin-bottom:28px}.navlinks{gap:0}}
.hero h1{font-size:clamp(40px,4.55vw,62px);line-height:1.07;letter-spacing:-.045em}@media(max-width:700px){.hero h1{font-size:clamp(30px,8.2vw,52px)}}

/* Venues and accessibility refinements */
.ground-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding:58px 0;border-bottom:1px solid #dcded9;scroll-margin-top:105px}.ground-detail:last-child{border-bottom:0}.ground-detail h2{font-size:clamp(30px,3.3vw,44px);overflow-wrap:anywhere}.ground-detail .eyebrow{line-height:1.5}.ground-photo{margin:0}.ground-photo img{width:100%;height:auto;display:block}.ground-identity{background:#eeefec;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:30px;font-weight:700}.ground-identity img{max-width:160px;height:auto;mix-blend-mode:multiply}.address{border-top:1px solid #dcded9;padding-top:17px;margin:23px 0}.address span{font-size:14px;color:#626568}.address address{font-style:normal;font-size:18px;font-weight:700}.ground-detail .button{white-space:normal;text-align:left}.social{max-width:530px;font-size:14px;gap:10px 24px}.footer-top{align-items:center}.footer-top>div{min-width:0}.social a{overflow-wrap:anywhere}.team-card dd{font-size:16px}.team-card dt,.team-card .tag,.team-card .area,.eyebrow,.department .index,.breadcrumb{font-size:14px}.team-card .tag,.team-card dt{letter-spacing:.045em}.team-card dd a[href^='tel:']{padding:6px 0}.hero-grid>div,.hero-grid>figure,.split>div,.team-intro>div{min-width:0}.navlinks a{white-space:nowrap}.contact .mail{overflow-wrap:anywhere}.hero h1 span{overflow-wrap:normal}.jumpbar a{min-height:44px;display:inline-flex;align-items:center}.menu{min-height:44px}.footer-bottom{flex-wrap:wrap}.footer-bottom a{display:inline-block;padding:5px 0}
@media(max-width:1100px){.nav{gap:18px}.navlinks{gap:15px}.brand{font-size:18px}.brand img{width:38px}}
@media(max-width:900px){.nav{min-height:76px;flex-wrap:wrap;gap:0}.nav>.button{display:none}.menu{display:block}.navlinks{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:14px 0}.navlinks.open{display:flex}.navlinks a{padding:12px 0;border-bottom:1px solid #e5e5e0}.ground-detail{gap:30px}.footer-top{align-items:start;flex-direction:column}}
@media(max-width:700px){.ground-detail{grid-template-columns:1fr;padding:36px 0;gap:25px}.ground-identity{min-height:230px}.ground-detail h2{font-size:32px}.brand small{font-size:10px}.hero h1{font-size:clamp(28px,7.7vw,50px)}.footer-top .social{display:flex;flex-direction:column}}

.legal{max-width:860px;padding-top:48px;padding-bottom:60px}.legal section{margin-bottom:35px}.legal h2{font-size:27px;margin-bottom:18px}.legal p{line-height:1.8}.legal a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}.legal-note{padding:25px;background:#fff;border-left:4px solid #c52632;margin-bottom:35px}.legal-note p{margin-bottom:0;color:#555b5f}

.contact-layout{align-items:start;grid-template-columns:.85fr 1.15fr;gap:65px}.contact-form{background:#fff;color:#202223;padding:32px;min-width:0}.contact-form h3{margin:0 0 12px;font-size:27px}.contact-form p{color:#626568}.contact-form label{display:block;font-size:14px;font-weight:700;margin:15px 0 7px}.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;border:1px solid #bfc3c1;border-radius:0;background:#fafbf9;color:#1b1c1d;padding:11px 12px;font-size:16px;line-height:1.5}.contact-form textarea{resize:vertical;min-height:130px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form .consent{display:flex;align-items:start;gap:12px;font-size:14px;font-weight:400;line-height:1.6;margin-top:20px}.consent input{flex-shrink:0;width:20px;height:20px;margin:2px 0;accent-color:#c52632}.consent a{color:#b9202c;text-decoration:underline}.contact-form .form-hint{font-size:13px;line-height:1.5}.contact-form .button{margin-top:10px}.contact-form .form-status{margin:18px 0 0;font-size:15px;color:#285837}.contact-form .form-status:empty{display:none}.contact-form .form-status.error{color:#ad1b28}.captcha-panel{border-top:1px solid #ddd;padding-top:8px;margin-top:22px}.captcha-panel[hidden]{display:none}.captcha-image-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px}.captcha-image{max-width:100%;height:auto}.captcha-refresh{background:none;color:#ad1b28;border:1px solid #ccc;padding:10px;cursor:pointer;font-size:14px}.contact-form button:disabled{opacity:.6;cursor:wait}.contact .contact-line a{display:inline-block;padding:5px 0}@media(max-width:900px){.contact-layout{grid-template-columns:1fr;display:grid;gap:25px}}@media(max-width:500px){.contact-form{padding:22px}.form-row{grid-template-columns:1fr;gap:0}}

@media(min-width:701px) and (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:30px}.hero h1{font-size:52px}.hero-photo{min-height:360px;aspect-ratio:16/10}}

/* Ramp-up design: shorter introductions, prominent training and year selection. */
.hero{padding:42px 0}.hero-grid{gap:40px}.hero-photo{min-height:340px}.hero h1{font-size:clamp(36px,4.25vw,58px);margin:18px 0}.hero p{margin:16px 0;max-width:470px}.hero .actions{margin-top:22px}.hero-photo figcaption strong{font-size:36px}.stat{padding-top:19px;padding-bottom:19px}.stat strong{font-size:31px}.page-hero{padding:30px 0 34px}.page-hero h1{font-family:Arial,Helvetica,sans-serif;text-transform:none;font-size:clamp(34px,4.3vw,56px);letter-spacing:-.04em;line-height:1.12;margin:12px 0}.page-hero p{font-size:17px;max-width:750px;margin:12px 0 0}.page-hero .button{margin-top:20px}.breadcrumb{margin-bottom:18px}.section-head h2{font-size:36px}.department{min-height:228px}.department h3{margin-top:20px}.team-card{padding:24px;border-top:3px solid #c52632}.team-card h3{margin-bottom:19px}.training-data{background:#f1f3ef;border-left:3px solid #bfc9bb;padding:14px 16px;min-height:118px}.training-data dt{margin:0;color:#515853}.training-data dd{font-weight:700;line-height:1.65;margin-top:7px}.training-data a{font-weight:400;text-decoration:underline;text-decoration-color:#bdc7b7;text-underline-offset:4px}.trainer-data{padding-top:4px}.trainer-data dt{color:#616669}.team-card:target{outline:3px solid #c52632;outline-offset:4px}.year-finder{margin:32px 0 20px;padding:28px 30px;background:#fff;border:1px solid #d9ddd8;display:grid;grid-template-columns:1fr 320px;gap:16px 40px}.year-finder h2{font-size:30px;margin:9px 0}.year-finder p{font-size:15px;color:#5a6260;margin-bottom:0}.year-control label{display:block;font-weight:700;font-size:15px;margin-bottom:8px}.year-control select{width:100%;padding:13px;border:1px solid #aeb6ae;border-radius:0;background:#fafbf9;font:inherit;color:#1d2520;min-height:48px}.year-control select:focus-visible{outline:3px solid #c52632;outline-offset:3px}.year-finder .year-note{grid-column:1/-1;border-top:1px solid #e1e5df;padding-top:14px;font-size:14px;margin-top:0}.year-control button{font:inherit;font-size:14px;border:0;background:none;color:#b9202c;padding:8px 0;cursor:pointer;text-decoration:underline}.year-empty{padding:22px;background:#fff;border:1px solid #d9ddd8;margin:15px 0}.team-card[hidden],.team-section[hidden],[hidden]{display:none!important}.coordinator{margin-top:20px;padding:20px 26px}.team-intro h2{font-size:30px}.team-intro{gap:32px;grid-template-columns:1fr 1.6fr}.youth-story{margin-top:25px;background:#eeefec}.feature dd{line-height:1.7}.feature dt{font-size:14px}.feature dl{margin-top:28px}.ground-photo img{border-radius:3px}.ground-detail .button{margin-top:3px}.navlinks a:focus-visible,.jumpbar a:focus-visible{outline-offset:-3px}.contact-form input,.contact-form textarea{scroll-margin-top:110px}
@media(max-width:1000px){.year-finder{grid-template-columns:1fr 260px;gap:20px}.hero-grid{gap:25px}.hero-photo{min-height:350px}}
@media(min-width:701px) and (max-width:900px){.hero-grid{grid-template-columns:1.1fr 1fr}.hero h1{font-size:35px}.hero-photo{aspect-ratio:auto;min-height:330px}.hero-photo figcaption{left:20px;bottom:20px}.hero-photo figcaption strong{font-size:28px}}
@media(max-width:700px){.hero{padding:29px 0}.hero-grid{gap:23px}.hero h1{font-size:clamp(28px,7.7vw,48px)}.hero-photo{min-height:260px;aspect-ratio:1.45}.hero-photo figcaption{bottom:20px}.hero-photo figcaption strong{font-size:29px}.page-hero{padding:23px 0 28px}.page-hero h1{font-size:36px}.page-hero p{font-size:16px}.section-head h2{font-size:31px}.year-finder{display:block;padding:22px;margin-top:25px}.year-control{margin-top:20px}.year-finder .year-note{margin-top:18px}.team-intro{display:block}.training-data{min-height:0}.coordinator{padding:20px}.team-card h3{font-size:25px}.ground-detail h2{font-size:30px}}

/* Keep both primary actions side by side, including narrow phones. */
.hero .actions{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:10px;max-width:540px;align-items:stretch}.hero .actions .button{min-width:0;min-height:50px;padding:13px 12px;gap:8px;text-align:center;line-height:1.35;white-space:normal;overflow-wrap:normal}.hero .actions .button span{display:none}@media(max-width:380px){.hero .actions{gap:8px}.hero .actions .button{padding:12px 8px;font-size:14px}}

/* Balanced columns and separated contact actions on the women's page. */
.women-overview{align-items:stretch;gap:40px}.women-overview>.feature{display:flex;flex-direction:column;min-width:0;height:100%;padding:32px}.women-overview>.feature h2{font-size:clamp(28px,3vw,38px)}.women-overview>.feature>.button{align-self:flex-start;margin-top:auto}.women-overview>.feature dl{margin-bottom:30px}.women-intro{display:flex;flex-direction:column;min-width:0}.women-intro>h2{margin-top:10px}.women-intro>.callout{margin-top:auto;padding:30px}.women-intro>.muted{margin-bottom:25px}.women-contact-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:stretch}.women-contact-actions .button{min-height:52px;justify-content:center;gap:14px;margin:0;padding:14px 20px}.women-contact-actions .button span{display:none}@media(max-width:700px){.women-overview{display:grid;grid-template-columns:1fr;gap:28px}.women-overview>.feature{padding:24px}.women-intro>.callout{margin-top:0;padding:24px}.women-contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.women-contact-actions .button{padding:12px 10px;line-height:1.4;text-align:center;min-width:0;white-space:normal}}

.brand{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:21px;letter-spacing:-.015em;line-height:1.2}.brand small{font-family:Arial,Helvetica,sans-serif;font-weight:400;font-size:11px;letter-spacing:.10em;line-height:1.4;margin-top:4px}.brand>span{min-width:0}.brand img{flex-shrink:0}@media(max-width:1100px){.brand{font-size:19px}}@media(max-width:900px){.brand{max-width:calc(100% - 82px);font-size:19px;gap:10px}.brand small{font-size:10px;letter-spacing:.08em;max-width:225px}.menu{margin-left:auto}}@media(max-width:380px){.brand{font-size:17px}.brand small{max-width:170px}.brand img{width:34px}}

.trial-shell{max-width:1080px;padding-top:34px;padding-bottom:50px}.trial-shell>.breadcrumb{color:#656b68}.trial-shell>h1{font-size:clamp(30px,4vw,46px);letter-spacing:-.04em;line-height:1.15;margin:13px 0}.trial-panel{background:#fff;border:1px solid #d9ddd8;padding:32px;margin-top:27px;border-top:4px solid #c52632}.trial-panel h2{font-size:29px;line-height:1.25;letter-spacing:-.025em;margin:16px 0 22px}.trial-panel h2:focus{outline:none}.trial-choices{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.trial-choice{position:relative;display:flex;flex-direction:column;text-align:left;padding:24px 45px 24px 22px;border:1px solid #d3d8d1;background:#f7f8f5;color:#202223;cursor:pointer;min-height:132px}.trial-choice strong{font-size:20px;line-height:1.3}.trial-choice span{font-size:15px;line-height:1.6;color:#5a625b;margin-top:10px}.trial-choice b{position:absolute;right:20px;top:24px;color:#bc202c}.trial-choice:hover{border-color:#c52632;background:#fff5f5}.trial-nav{border-top:1px solid #e1e4df;margin-top:26px;padding-top:18px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.trial-nav button{background:none;border:0;color:#9e1d26;cursor:pointer;font-size:15px;padding:9px 0;text-decoration:underline}.trial-help{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding:22px;border-left:3px solid #c52632;background:#eeefec}.trial-help p{margin:4px 0 0;font-size:15px;color:#59605a}.trial-privacy{font-size:14px;color:#666d68}#trial-year label{display:block;font-weight:700;margin-bottom:8px}#trial-birth{display:block;width:min(100%,360px);padding:13px;font:inherit;border:1px solid #aab2a8;background:#f8f9f6;margin-bottom:22px}#trial-birth:focus-visible{outline:3px solid #c52632;outline-offset:3px}.trial-note{background:#f1f3ef;padding:14px 18px;font-size:15px}.trial-results{margin-top:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.trial-results>.team-card{min-width:0}.trial-results .button{margin-top:20px;padding:12px;font-size:14px;display:flex}.trial-end{margin-top:24px}@media(max-width:600px){.trial-shell{padding-top:24px}.trial-panel{padding:22px 18px}.trial-panel h2{font-size:25px}.trial-choices,.trial-results{grid-template-columns:1fr}.trial-choice{min-height:116px}.trial-help{align-items:start;flex-direction:column;gap:16px}.trial-help .button{width:100%}}

@media(max-width:700px){.stat{display:grid;grid-template-columns:85px minmax(0,1fr);gap:20px;align-items:center}.stat span{line-height:1.6;min-width:0}.stat span br{display:initial}}

/* Accessible footer social links with inline icons, no external asset requests. */
.footer-top .social{display:flex;flex-wrap:wrap;gap:12px 22px;max-width:none;align-items:center}.footer-top .social a{display:inline-flex;align-items:center;gap:11px;min-height:48px;padding:8px 0;color:#e5e8e6;text-decoration:none}.footer-top .social svg{width:24px;height:24px;flex-shrink:0;display:block}.footer-top .social a>span{font-size:14px;font-weight:700;line-height:1.3}.footer-top .social small{display:block;font-size:12px;color:#bfc7c2;font-weight:400;margin-top:4px}.footer-top .social a:hover{color:white}.footer-top .social a:hover>span{text-decoration:underline;text-underline-offset:4px}.footer-top .social a:focus-visible{outline:2px solid white;outline-offset:5px}@media(max-width:700px){.footer-top .social{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;width:100%}.footer-top .social a{min-width:0}.footer-top .social small{overflow-wrap:anywhere}}@media(max-width:350px){.footer-top .social{grid-template-columns:1fr}}

.social-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:28px}.social-group{min-width:0}.social-group h3{display:flex;align-items:center;gap:12px;font-size:22px;margin:0 0 16px}.social-directory svg,.footer-email svg,.footer-social-link svg{width:24px;height:24px;flex-shrink:0}.social-accounts{display:grid;gap:10px}.social-accounts a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:16px 20px;background:white;border:1px solid #deded9;font-weight:700}.social-accounts small{display:block;font-size:13px;font-weight:400;color:#555e58;overflow-wrap:anywhere}.social-accounts a:hover{border-color:#c52632}.footer-email,.footer-social-link{display:inline-flex;gap:10px;align-items:center;min-height:48px}.footer-top{flex-wrap:wrap;gap:20px 32px}.footer-top a:focus-visible{outline-color:white}.team-social{border-top:1px solid #deded9}@media(max-width:700px){.social-directory{grid-template-columns:1fr;gap:30px}.social-accounts a{padding:14px 16px}}

@media(min-width:1051px){.nav{gap:22px}.navlinks{gap:18px}}

/* Vereinsfarben und gut lesbare Standardschrift. */


:root{--sg-red:#ff030a;--sg-blue:#0024bb;--sg-black:#161b1f;--sg-white:#fff;--sg-paper:#f6f8fa;--sg-red-soft:#ffecec;--sg-blue-soft:#eaeffe;--sg-burgundy:#8d2035}
body{--accent:var(--sg-red);--accent-soft:var(--sg-red-soft);background:var(--sg-paper);color:var(--sg-black);font-family:Arial,Helvetica,sans-serif;font-weight:400;line-height:1.65}
.page-herren{--accent:var(--sg-blue);--accent-soft:var(--sg-blue-soft)}
.page-damen{--accent:var(--sg-burgundy);--accent-soft:#f7e9ed}
.page-jugend{--accent:var(--sg-red);--accent-soft:var(--sg-red-soft)}
h1,h2,h3,.hero-photo figcaption strong,.stat strong,.percent{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.035em}
.hero h1,.page-hero h1,.trial-shell>h1{font-family:Arial,Helvetica,sans-serif;text-transform:none;font-weight:700;letter-spacing:-.045em}
.eyebrow,.department .index,.team-card .tag,.team-card dt,.breadcrumb{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:.1em}
.red,.page-herren .red,.page-damen .red{color:var(--accent)}
.muted,.hero p,.section-head p,.team-intro p,.coordinator p{color:#596168}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--accent)}

header{border-bottom:1px solid #dfe3e8;background:var(--sg-white)}
.brand{font-family:Arial,Helvetica,sans-serif;font-size:21px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.brand small{font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:700;letter-spacing:.11em;line-height:1.45;color:#4f5860;max-width:310px}
.navlinks a[aria-current]{border-color:var(--accent);color:var(--accent)}
.button{background:var(--accent);border-color:var(--accent);font-weight:700;transition:background-color .18s,color .18s,border-color .18s}
.button:hover{background:var(--sg-black);border-color:var(--sg-black)}
.button.light{background:var(--sg-white);color:var(--sg-black);border-color:#cfd5db}
.button.light:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--sg-black)}
.button.dark{background:var(--sg-black);border-color:var(--sg-black);color:var(--sg-white)}
.button.dark:hover{background:var(--sg-blue);border-color:var(--sg-blue)}

.hero{background:var(--sg-white);padding-top:50px;padding-bottom:50px}
.hero h1{font-size:clamp(42px,4.7vw,68px);line-height:.99}
.hero h1 .red{color:var(--sg-red)}
.hero-photo{min-height:390px;background:var(--sg-black)}
.hero-photo:before,.hero-photo:after{content:'';position:absolute;left:0;right:0;top:auto;z-index:1;pointer-events:none}
.hero-photo:before{bottom:0;height:126px;background:var(--sg-white);clip-path:polygon(0 31%,100% 0,100% 100%,0 100%)}
.hero-photo:after{bottom:0;height:113px;background:var(--sg-blue);clip-path:polygon(0 35%,100% 2%,100% 100%,0 100%)}
.hero-photo figcaption{left:30px;right:30px;bottom:18px;z-index:2}
.hero-photo figcaption span{font-size:15px;font-weight:600}
.hero-photo figcaption strong{font-size:39px;margin-top:0}
.stats{background:var(--sg-black)}
.stat{border-color:#3c4247}
.stat strong{font-size:38px;font-weight:700}
.stat span{color:#e7eaed}

.page-hero{position:relative;overflow:hidden;background:var(--accent);padding:42px 0 66px}
.page-hero:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:30px;background:var(--sg-white);clip-path:polygon(0 72%,100% 0,100% 100%,0 100%)}
.page-hero .eyebrow,.page-hero .breadcrumb,.page-hero p{color:var(--sg-white)}
.page-hero .breadcrumb{opacity:.76}
.page-hero h1{font-size:clamp(40px,5vw,66px);line-height:1.02}
.page-impressum,.page-datenschutz,.page-social-media,.page-sportstaetten,.page-probetraining{--accent:var(--sg-black);--accent-soft:#eef0f2}
.page-social-media .page-hero{background:var(--sg-black)}

section.section{padding:64px 0}
.section-head h2{font-size:clamp(34px,4vw,52px)}
.section-head .eyebrow,.team-intro .eyebrow{color:var(--accent)}
.community,.match-center,.youth-story{background:var(--sg-paper)}
.departments{gap:18px}
.department{border:1px solid #dbe0e5;border-top-width:7px;background:var(--sg-white);min-height:236px}
.department:nth-child(1){border-top-color:var(--sg-red)}
.department:nth-child(2){border-top-color:var(--sg-blue)}
.department:nth-child(3){border-top-color:var(--sg-burgundy)}
.department:hover{transform:translateY(-4px);border-color:var(--sg-black);box-shadow:0 12px 0 #161b1f0d}
.department:nth-child(1):hover{border-top-color:var(--sg-red)}
.department:nth-child(2):hover{border-top-color:var(--sg-blue)}
.department:nth-child(3):hover{border-top-color:var(--sg-burgundy)}
.department h3{font-size:38px}
.club-list,.club-row,.rewe,.feature,.contact-form,.team-card,.year-finder,.trial-panel,.social-accounts a,body .match-consent{border-color:#dbe0e5}
.club-row{background:var(--sg-white)}
.text-link{border-color:var(--accent)}
.rewe{position:relative;border-top:7px solid var(--sg-red);background:var(--sg-white)}
.rewe .percent{color:var(--sg-red)}

.team-section{border-color:#dbe0e5}
.team-card{border-top:5px solid var(--accent);background:var(--sg-white)}
.team-card .tag,.team-card dd a[href^='tel:']{color:var(--accent)}
.training-data{background:var(--accent-soft);border-left:0;padding:16px}
.team-card:target{outline-color:var(--accent)}
.coordinator{border-left:7px solid var(--accent);background:var(--sg-white)}
.jumpbar{border-color:#dbe0e5}
.jumpbar a:hover{color:var(--accent);border-color:var(--accent)}
.year-finder{border-top:7px solid var(--sg-red)}
.year-control select:focus-visible,#trial-birth:focus-visible{outline-color:var(--accent)}
.year-control button,.trial-nav button{color:var(--accent)}

.women-intro>.callout{background:var(--sg-burgundy)}
.women-intro>.callout p{color:#fff}
.page-damen .women-overview>.feature{border-top:7px solid var(--sg-burgundy)}
.page-damen .team-card{border-top-color:var(--sg-burgundy)}

.contact{position:relative;background:var(--sg-black);border-top:9px solid var(--sg-white);box-shadow:inset 0 7px 0 var(--sg-blue)}
.contact-form{border-top:7px solid var(--sg-red)}
.contact-form input:not([type=checkbox]),.contact-form textarea{background:var(--sg-paper);border-color:#b9c1c8}
.consent input{accent-color:var(--sg-red)}
.consent a,.captcha-refresh{color:#b90006}
.trial-panel{border-top-color:var(--sg-red)}
.trial-choice{background:var(--sg-paper)}
.trial-choice:hover{border-color:var(--sg-red);background:var(--sg-red-soft)}
.trial-choice b{color:var(--sg-red)}
.trial-help{border-left-color:var(--sg-blue);background:var(--sg-blue-soft)}

body .match-consent{border-top-color:var(--sg-blue)}
.match-placeholder>a,.match-widget-head button{color:#001c8f}
.social-accounts a{border-left:5px solid var(--accent)}
.social-accounts a:hover{border-color:var(--accent)}
.ground-photo img{border-radius:0}

footer{position:relative;background:var(--sg-black);color:#cbd1d6;padding-top:43px}
footer:before{content:'';position:absolute;left:0;right:50%;top:0;height:7px;background:var(--sg-red);border-right:4px solid var(--sg-white)}
footer:after{content:'';position:absolute;left:50%;right:0;top:0;height:7px;background:var(--sg-blue);border-left:4px solid var(--sg-white)}
.footer-top strong{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:22px}
.footer-top .social a,.footer-email,.footer-social-link{color:#e9edf0}

@media(max-width:900px){.brand small{max-width:245px}.page-hero{padding-bottom:55px}}
@media(max-width:700px){
 .brand{font-size:18px}.brand small{font-size:8px;letter-spacing:.075em;max-width:220px}
 .hero{padding-top:31px;padding-bottom:32px}.hero h1{font-size:clamp(34px,9vw,50px);line-height:1.01}
 .hero-photo{min-height:295px;aspect-ratio:1.25}.hero-photo:before{height:100px}.hero-photo:after{height:90px}.hero-photo figcaption{bottom:13px;left:20px}.hero-photo figcaption strong{font-size:32px}
 .page-hero{padding:29px 0 50px}.page-hero:after{height:20px}.page-hero h1{font-size:clamp(36px,10vw,48px)}
 .section-head h2{font-size:34px}.department{min-height:205px}.department h3{font-size:34px}
 .stat{grid-template-columns:76px minmax(0,1fr);gap:16px}.stat strong{font-size:36px}.stat span{font-size:14px;line-height:1.45}
 .contact{box-shadow:inset 0 5px 0 var(--sg-blue)}
}
@media(max-width:380px){.brand{font-size:16px}.brand small{font-size:7px;max-width:185px}.hero h1{font-size:32px}.hero-photo{min-height:260px}}

/* Homepage: one compact, selectable match area. */
.home-matches{width:min(100%,880px);margin:0 auto;background:var(--sg-white,#fff);border:1px solid #dbe0e5;border-top:6px solid var(--sg-blue,#083bb8);padding:18px 25px 21px}
.home-match-navigation{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:10px}
.home-match-navigation button{border:0;background:transparent;color:var(--sg-blue,#083bb8);cursor:pointer;font-size:40px;line-height:1;width:48px;height:48px;padding:0}
.home-match-navigation button:hover:not(:disabled){background:#edf2fa}
.home-match-navigation button:disabled{opacity:.35;cursor:default}
.home-match-picker{position:relative;text-align:center;min-width:0;width:min(100%,520px);justify-self:center;line-height:1.35}
.home-match-picker:after{content:'';position:absolute;right:15px;top:18px;width:7px;height:7px;border-right:1.5px solid #303b45;border-bottom:1.5px solid #303b45;transform:rotate(45deg);pointer-events:none}
.home-match-picker select{display:block;appearance:none;width:100%;padding:10px 34px;border:1px solid #cbd3db;background:#fff;color:var(--sg-black,#19212b);font:400 17px/1.35 Arial,Helvetica,sans-serif;text-align:center;text-align-last:center;cursor:pointer}
.home-match-picker option{font-weight:400}
.home-match-picker span{display:block;color:#56616b;font-size:13px;margin-top:6px}
.home-match-panels{border-top:1px solid #dbe0e5;margin-top:15px;padding-top:15px}
.home-match-panel[hidden]{display:none}
.home-match-panel .team-matches{margin:0}
.home-match-hint{margin:0;color:#52606a;font-size:14px}
.home-match-link{display:inline-block;margin-top:13px;color:var(--sg-blue,#083bb8);font-size:14px;font-weight:700}
.home-match-link:hover{text-decoration:underline}
@media(max-width:600px){.home-matches{padding:10px}.home-match-navigation{grid-template-columns:42px minmax(0,1fr) 42px;gap:3px}.home-match-navigation button{width:42px;height:44px;font-size:36px}.home-match-picker select{padding:8px 27px;font-size:15px}.home-match-picker:after{top:15px;right:12px}}

/* Official match data in the existing visual system. */
.team-matches{min-width:0;margin-top:18px;border:1px solid #dbe0e5;background:var(--sg-white,#fff)}
.team-matches summary{cursor:pointer;list-style:none;padding:13px 16px;color:var(--sg-blue,#0634a7);font-weight:700;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.team-matches summary::-webkit-details-marker{display:none}
.team-matches summary:after{content:'+';font-size:22px;line-height:1;font-weight:400}
.team-matches[open] summary:after{content:'−'}
.team-matches[open] summary{border-bottom:1px solid #dbe0e5}
.team-matches-body{padding:15px;min-width:0;overflow-x:auto}
.team-matches-body p{margin:0 0 6px;font-size:14px;font-weight:700}
.team-matches-body .team-matches-note{font-weight:400;color:#5d6560}
.team-matches-body>button{border:0;background:var(--sg-blue,#0634a7);color:#fff;font:inherit;font-weight:700;font-size:14px;padding:9px 13px;cursor:pointer;margin-top:12px}
.team-matches-body>a{font-size:13px;color:var(--sg-blue,#0634a7);margin-left:8px;text-decoration:underline}
.team-matches-status{font-size:13px;color:#5d6560;margin-bottom:12px}
.team-matches-status button{font:inherit;color:var(--sg-blue,#0634a7);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}
.team-matches-body .fussballde_widget,.team-matches-body iframe{max-width:100%}
.page-herren .team-matches summary{color:var(--sg-red,#c52632)}
.page-damen .team-matches summary{color:var(--sg-burgundy,#811b38)}
.page-herren .team-matches-body>button{background:var(--sg-red,#c52632)}
.page-damen .team-matches-body>button{background:var(--sg-burgundy,#811b38)}
.page-herren .team-matches-status button{color:var(--sg-red,#c52632)}
.page-damen .team-matches-status button{color:var(--sg-burgundy,#811b38)}
.match-center{background:#eeefec}.match-center .section-head{margin-bottom:26px}.match-consent{width:100%;min-height:190px;background:#fff;border:1px solid #d9ddd8;border-top:4px solid #c52632;padding:28px;overflow:hidden}.match-placeholder{max-width:720px}.match-placeholder strong{display:block;font-size:23px;line-height:1.25}.match-placeholder p{color:#5d6560;margin:8px 0 20px}.match-placeholder>a{display:inline-block;margin-left:18px;color:#8f1b24;font-size:14px;text-decoration:underline;text-underline-offset:4px}.match-widget-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid #e0e3df;color:#5d6560;font-size:14px}.match-widget-head button{border:0;background:none;color:#941c26;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font:inherit}.match-widget-head .error{color:#a21e29;font-weight:700}.match-consent .fussballde_widget{max-width:100%;min-width:0}.match-consent iframe{max-width:100%;border:0}@media(max-width:700px){.match-consent{padding:20px 14px;min-height:170px}.match-placeholder>a{display:block;margin:15px 0 0}.match-widget-head{align-items:flex-start;flex-direction:column;gap:8px}.match-center .section-head{margin-bottom:20px}}

/* Homepage image: show the action photo on phones and keep the caption below the diagonal. */
.hero-photo picture,.hero-photo picture img{display:block;width:100%;height:100%}
.hero-photo picture{position:absolute;inset:0}
.hero-photo picture img{object-fit:cover;object-position:50% 58%}
@media(max-width:700px){
 .hero-photo{min-height:380px;aspect-ratio:auto}
 .hero-photo picture img{object-position:50% 50%}
 .hero-photo:before{height:145px;clip-path:polygon(0 18%,100% 0,100% 100%,0 100%)}
 .hero-photo:after{height:132px;clip-path:polygon(0 20%,100% 2%,100% 100%,0 100%)}
 .hero-photo figcaption{left:20px;right:20px;bottom:18px;line-height:1.1}
 .hero-photo figcaption span{display:block;font-size:15px;line-height:1.3}
 .hero-photo figcaption strong{font-size:32px;line-height:1.1;margin-top:3px}
}

/* Keep the entire desktop photo caption inside the blue panel. */
@media(min-width:701px){
 .hero-photo:before{height:160px}
 .hero-photo:after{height:146px}
 .hero-photo figcaption{bottom:18px;line-height:1.1}
 .hero-photo figcaption span{display:block;font-size:14px}
 .hero-photo figcaption strong{font-size:36px;line-height:1.08;margin-top:3px}
}

/* The portrait hero keeps the huddle in view at each image aspect ratio. */
.page-home .hero-photo picture img{object-position:50% 60%}
@media (min-width:701px) and (max-width:1000px){.page-home .hero-photo picture img{object-position:50% 72%}}
@media (max-width:700px){.page-home .hero-photo picture img{object-position:50% 90%}}

/* Equal presentation frames for the three founding-club crests. */
.club-row img{flex:0 0 68px;width:68px;height:68px;padding:6px;background:#fff;object-fit:contain;mix-blend-mode:normal}

/* Shared footer layout for all content and legal pages. */
.site-footer-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1.2fr);gap:32px 56px;padding:12px 0 42px;border-bottom:1px solid #434950}
.site-footer-grid>div{min-width:0}
.site-footer-grid h2{font-size:13px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:#cbd1d6;margin:0 0 16px}
.site-footer-grid .site-footer-brand{font-size:22px;color:#fff;font-weight:700;letter-spacing:-.025em;line-height:1.3}
.site-footer-grid .site-footer-copy{max-width:29ch;font-size:14px;line-height:1.55;color:#cbd1d6;margin:15px 0 0}
.site-footer-grid a{color:#e9edf0;display:inline-flex;align-items:center;min-height:38px;text-decoration:none}
.site-footer-grid a:hover,.site-footer-grid a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.site-footer-grid .site-footer-links{display:flex;flex-direction:column;align-items:flex-start}
.site-footer-grid .site-footer-external{display:flex;gap:6px 15px;flex-wrap:wrap;margin:8px 0 0}
.site-footer-grid .site-footer-external a{font-size:13px;min-height:32px}
.site-footer-grid .site-footer-contact{overflow-wrap:anywhere}
.site-footer-meta{display:flex;align-items:center;justify-content:space-between;gap:15px 25px;flex-wrap:wrap;font-size:13px;padding:17px 0 20px}
.site-footer-meta a{color:#e9edf0;display:inline-flex;min-height:32px;align-items:center}
@media (max-width:850px){.site-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.site-footer-grid>div:first-child{grid-column:1/-1}.site-footer-grid .site-footer-copy{max-width:none}}
@media (max-width:550px){.site-footer-grid{grid-template-columns:1fr;gap:24px}.site-footer-grid>div:first-child{grid-column:auto}.site-footer-grid h2{margin-bottom:9px}}

/* v38 · Shared photo presentation and the women's editorial shortcuts. */
:root{--content-width:1240px;--venue-aspect:4/3;--image-contrast:1.04}
.wrap{max-width:var(--content-width)}
.ground-photo,.ground-identity{aspect-ratio:var(--venue-aspect);width:100%;overflow:hidden}
.ground-photo img{width:100%;height:100%;object-fit:cover;object-position:center;filter:contrast(var(--image-contrast)) saturate(.95)}
.ground-identity{min-height:0;margin:0;background:#edf0ef;border:1px solid #d6ddda;text-align:center;gap:12px}
.ground-identity img{mix-blend-mode:normal;max-width:min(160px,45%);max-height:50%;object-fit:contain}
.ground-identity figcaption{display:flex;flex-direction:column;gap:4px;font-size:17px;line-height:1.4}
.ground-identity figcaption span{font-size:14px;color:#596168;font-weight:400}
.story-photo{aspect-ratio:4/3;overflow:hidden}
.story-photo img{width:100%;height:100%;object-fit:cover;filter:contrast(var(--image-contrast)) saturate(.95)}
.women-quicklinks{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 25px}
.women-quicklinks .button{margin:0;white-space:normal;text-align:center;min-height:50px;padding:11px 16px}
@media(max-width:700px){
 .ground-identity{min-height:0}
 .women-quicklinks{flex-direction:column;align-items:stretch}
 .page-home .hero-photo picture img{object-position:50% 73%;transform:scale(1.12);transform-origin:center 65%}
}
.contact-mail{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:250px}
.contact-mail .button{margin:8px 0 4px}
.contact-mail .form-hint{margin:12px 0 0;font-size:14px}
.contact-mail .form-hint a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}

/* v39 · Section colors and a single width for colored card-top rules. */
.page-herren{--accent:var(--sg-red);--accent-soft:var(--sg-red-soft)}
.page-jugend{--accent:var(--sg-red);--accent-soft:var(--sg-red-soft)}
.page-home .department:nth-child(1),.page-home .department:nth-child(1):hover{border-top-color:var(--sg-red)}
.page-home .department:nth-child(2),.page-home .department:nth-child(2):hover{border-top-color:var(--sg-red)}
.page-home .rewe{border-top-color:var(--sg-blue)}
.page-home .rewe .percent{color:var(--sg-blue)}
.page-jugend .year-finder{border-top-color:var(--sg-red)}
.page-jugend .contact-form{border-top-color:var(--sg-red)}
.page-herren .contact-form{border-top-color:var(--sg-red)}
.page-herren .contact{box-shadow:inset 0 7px 0 var(--sg-red)}
.page-damen .contact-form{border-top-color:var(--sg-burgundy)}
.page-probetraining .team-card[data-team-category="youth"],.page-probetraining .team-card[data-team-category="girls"]{--accent:var(--sg-blue);--accent-soft:var(--sg-blue-soft)}
.page-probetraining .team-card[data-team-category="men"],.page-probetraining .team-card[data-team-category="veterans"]{--accent:var(--sg-red);--accent-soft:var(--sg-red-soft)}
.page-probetraining .team-card[data-team-category="women"]{--accent:var(--sg-burgundy);--accent-soft:#f7e9ed}
.department,.rewe,.team-card,.year-finder,.trial-panel,.contact-form,.match-consent,.page-damen .women-overview>.feature{border-top-width:6px}
.team-photo,.women-team-photo{margin:0 0 22px;aspect-ratio:890/500;overflow:hidden;background:#e6ebed}
.team-photo img,.women-team-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:contrast(1.03) saturate(.96)}
.team-card .team-photo{margin:0 0 20px}
.page-herren .team-card{min-width:0}
@media(max-width:700px){.page-herren .contact{box-shadow:inset 0 5px 0 var(--sg-red)}}

/* v40 · Keep department bars equally thick; use the women's accent on active buttons. */
.page-home .departments > .department{border-top-width:6px}
.page-damen .button.dark{background:var(--sg-burgundy);border-color:var(--sg-burgundy);color:var(--sg-white)}
.page-damen .button.dark:hover,.page-damen .button.dark:focus-visible{background:#691529;border-color:#691529;color:var(--sg-white)}
/* The descriptions belong to their section headings, above the team cards. */
.page-herren .section-head{display:block}
.page-herren .section-head>p{max-width:70ch;margin:14px 0 0;line-height:1.6}
/* Filled actions on the women's page keep the burgundy accent when used. */
.page-damen .button:not(.light):hover,.page-damen .button:not(.light):focus-visible,.page-damen .button:not(.light):active{background:#691529;border-color:#691529;color:var(--sg-white)}
/* Kontaktformular auf der öffentlichen Website. */
.contact-form{display:block;min-height:0}
.contact-form .contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.coordinator .button:focus-visible{outline:3px solid var(--sg-blue);outline-offset:3px}
.contact-form [data-turnstile]{min-height:0;max-width:100%;overflow:hidden;margin-top:16px}
.contact-form input:focus-visible,.contact-form textarea:focus-visible,.contact-form button:focus-visible{outline:3px solid var(--sg-blue);outline-offset:2px}
.contact-form .button{cursor:pointer;border:0;font:inherit;font-weight:700}
.contact-form .form-hint a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
.contact-form .form-status{min-height:1em}

/* v43: Das neue quadratische Hero-Motiv bleibt inklusive Ball sichtbar. */
.page-home .hero-photo{display:flex;flex-direction:column;min-height:0;align-self:center;aspect-ratio:auto;background:#fff}
.page-home .hero-photo:before,.page-home .hero-photo:after{display:none}
.page-home .hero-photo picture{display:block;position:relative;inset:auto;width:100%;height:auto;aspect-ratio:5/4;overflow:hidden}
.page-home .hero-photo picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 44%;transform:none!important}
.page-home .hero-photo figcaption{display:block;position:relative;inset:auto;bottom:auto;left:auto;right:auto;z-index:2;padding:14px 28px 19px;background:var(--sg-blue);color:#fff;line-height:1.05}
.page-home .hero-photo figcaption:before{content:'';position:absolute;left:0;right:0;bottom:100%;height:15px;background:#fff;clip-path:polygon(0 75%,100% 0,100% 44%,0 100%)}
.page-home .hero-photo figcaption span{display:block;font-size:14px}
.page-home .hero-photo figcaption strong{display:block;font-size:clamp(27px,3vw,36px);margin-top:3px;line-height:1.1}
@media(max-width:700px){.page-home .hero-photo{min-height:0;aspect-ratio:auto}.page-home .hero-photo picture{aspect-ratio:1/1}.page-home .hero-photo picture img{object-position:center 43%}.page-home .hero-photo figcaption{padding:12px 20px 18px}.page-home .hero-photo figcaption strong{font-size:32px}}
.page-home .hero-photo picture{aspect-ratio:16/10}
.page-home .hero-photo figcaption:before{height:36px;background:var(--sg-white);clip-path:polygon(0 72%,100% 0,100% 100%,0 100%)}
.page-home .hero-photo figcaption:after{content:'';position:absolute;left:0;right:0;bottom:100%;height:29px;background:var(--sg-blue);clip-path:polygon(0 88%,100% 3%,100% 100%,0 100%)}
.trial-help-contacts{list-style:none;margin:16px 0 0;padding:0}
.trial-help-contacts li+li{margin-top:12px;padding-top:12px;border-top:1px solid #bdcbe0}
.trial-help-contacts strong{display:block}
.trial-help-contacts a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.page-home .hero-photo picture{aspect-ratio:7/6}}

/* Das Formular steht einmal auf der Kontaktseite; die Bereiche erhalten kurze CTAs. */
.contact-brief{padding:46px 0!important}
.contact-brief-inner{display:flex;justify-content:space-between;align-items:center;gap:36px}
.contact-brief h2{margin:7px 0 0;color:#fff}
.contact-brief p{max-width:730px;color:#dce1e6;margin:8px 0 0}
.contact-brief .button{flex:none;min-height:53px}
.page-jugend .contact-brief .button{background:var(--sg-red);border-color:var(--sg-red)}
.page-jugend .contact-brief .button:hover{background:var(--sg-black);border-color:var(--sg-black)}
.contact-page{background:#f7fafc}
.contact-page-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(28px,5vw,68px);align-items:start}
.contact-intro{min-width:0;padding-top:20px}
.contact-intro h2{margin:12px 0 20px}
.contact-intro p{max-width:490px}
.contact-intro .text-link{padding:0}
.contact-help-card{margin:30px 0;padding:22px 26px;background:#fff;border-left:6px solid var(--sg-blue)}
.contact-help-card strong{font-size:18px}
.contact-help-card p{margin:8px 0}
.contact-help-card a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.page-kontakt .contact-form{border:1px solid #dbe0e5;border-top:6px solid var(--sg-blue);box-shadow:0 16px 38px #17212b0b}
.page-kontakt .contact-form h2{font-size:clamp(26px,2.7vw,34px);margin:0 0 10px}
.contact-form select{display:block;width:100%;padding:11px 12px;min-height:48px;border:1px solid #b9c1c8;background:var(--sg-paper);color:#1b1c1d;font:inherit;line-height:1.5}
.contact-form select:focus-visible{outline:3px solid var(--sg-blue);outline-offset:2px}
.team-contact-link{display:inline-flex;align-items:center;font-size:14px;font-weight:700;margin-top:14px;text-decoration:underline;text-underline-offset:4px;color:var(--sg-red)}
.page-herren .team-contact-link{color:var(--sg-red)}
@media(max-width:900px){.contact-page-grid{grid-template-columns:1fr;gap:22px}.contact-intro{padding:0}}
@media(max-width:700px){.contact-brief{padding:36px 0!important}.contact-brief-inner{align-items:flex-start;flex-direction:column;gap:18px}.contact-brief .button{width:100%}.contact-page{padding:35px 0!important}.contact-help-card{margin:20px 0}}
/* The added contact link needs a little more room in the desktop navigation. */
@media (min-width:901px) and (max-width:1180px){.nav{min-height:76px;flex-wrap:wrap;gap:0}.nav>.button{display:none}.menu{display:block;margin-left:auto}.navlinks{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:14px 0}.navlinks.open{display:flex}.navlinks a{padding:12px 0;border-bottom:1px solid #e5e5e0}}

/* Das geöffnete Menü liegt unter der Kopfzeile und verändert ihre Höhe nicht. */
@media(max-width:1180px){
  .nav{position:relative;flex-wrap:nowrap}
  .menu{min-width:105px;text-align:center;flex-shrink:0}
  .navlinks.open{position:absolute;left:50%;top:100%;transform:translateX(-50%);width:100vw;margin:0;padding:14px max(18px,calc((100vw - 1240px)/2));background:#fff;border-bottom:1px solid #dfe3e8;box-shadow:0 12px 24px #14202a18;z-index:25}
}

/* Admin-managed start page gallery. The image windows keep the established hero dimensions. */
.page-home .hero-photo .hero-slides{position:relative;display:block;width:100%;aspect-ratio:16/10;overflow:hidden;background:#161b1f}
.page-home .hero-photo .hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease-in-out,visibility 0s linear .9s}
.page-home .hero-photo .hero-slide.is-active{opacity:1;visibility:visible;transition:opacity .9s ease-in-out,visibility 0s}
.page-home .hero-photo .hero-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--hero-desktop-x) var(--hero-desktop-y);transform:scale(var(--hero-desktop-zoom,1));transform-origin:var(--hero-desktop-x) var(--hero-desktop-y)}
.page-home .hero-photo[data-hero-slideshow] figcaption{position:relative;display:block;padding:12px 28px 15px}
.page-home .hero-photo[data-hero-slideshow] figcaption:before{bottom:calc(100% - 2px);height:31px;background:var(--sg-blue);clip-path:polygon(0 88%,100% 3%,100% 100%,0 100%)}
.page-home .hero-photo[data-hero-slideshow] figcaption:after{content:none;display:none}
.page-home .hero-photo .hero-controls{position:absolute;z-index:4;left:16px;bottom:16px;display:flex;align-items:center;gap:4px;padding:0;color:#fff;background:transparent}
.page-home .hero-photo .hero-controls button{min-width:40px;min-height:40px;padding:0;border:0;color:#fff;background:transparent;font:700 36px/1 Arial,sans-serif;text-shadow:0 1px 5px #000,0 0 12px #000;cursor:pointer}
.page-home .hero-photo .hero-controls button:hover,.page-home .hero-photo .hero-controls button:focus-visible{color:#fff;background:transparent;text-shadow:0 1px 6px #000,0 0 14px #000;transform:scale(1.14)}
@media(max-width:700px){.page-home .hero-photo .hero-slides{aspect-ratio:7/6}.page-home .hero-photo .hero-slide img{object-position:var(--hero-mobile-x) var(--hero-mobile-y);transform:scale(var(--hero-mobile-zoom,1));transform-origin:var(--hero-mobile-x) var(--hero-mobile-y)}.page-home .hero-photo[data-hero-slideshow] figcaption{padding:12px 20px 15px}.page-home .hero-photo .hero-controls{left:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.page-home .hero-photo .hero-slide,.page-home .hero-photo .hero-slide.is-active{transition:none}}

/* Short heading for the youth page on narrow screens. */
.page-jugend .youth-title-mobile{display:none}
@media(max-width:700px){.page-jugend .page-hero h1{overflow-wrap:normal;word-break:normal;hyphens:none}.page-jugend .youth-title-desktop{display:none}.page-jugend .youth-title-mobile{display:inline}}

/* Keep the wordmark legible when its home link is hovered. */
.brand:hover{text-decoration:none}

/* Linked club identities on the start page. */
.club-row{color:inherit;background:#fff;text-decoration:none;transition:color .18s ease}
.club-row:hover{background:#f1f4fa;color:var(--sg-blue);text-decoration:none}
.club-row:focus-visible{outline:3px solid var(--sg-blue);outline-offset:-3px}
.club-external{margin-left:auto;font-size:21px;color:var(--sg-blue)}
.club-row img{mix-blend-mode:multiply}

/* Full-size team photos */
.team-photo-open{display:block;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;cursor:zoom-in}
.team-photo-open:focus-visible{outline:3px solid #0024bb;outline-offset:-3px}
.team-photo-viewer{position:fixed;inset:0;box-sizing:border-box;width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:0;padding:60px 16px 28px;border:0;background:#101820;color:#fff;overflow:auto}
.team-photo-viewer::backdrop{background:rgba(0,0,0,.88)}
.team-photo-viewer-inner{width:max-content;max-width:100%;margin:auto;text-align:center}
.team-photo-viewer img{display:block;width:auto;max-width:100%;max-height:calc(100vh - 125px);height:auto;margin:auto;object-fit:contain;touch-action:pinch-zoom}
.team-photo-viewer-caption{font-size:15px;line-height:1.4;margin:14px auto 0}
.team-photo-viewer-close{position:fixed;top:12px;right:16px;z-index:1;padding:10px 16px;border:1px solid #fff;background:#101820;color:#fff;font:inherit;cursor:pointer}
.team-photo-viewer-close:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* Auf der Jugendseite verwenden auch Spielplan und Bildfokus das Rot der Herren. */
.page-jugend .team-matches summary,.page-jugend .team-matches-status button,.page-jugend .team-matches-body>a{color:var(--sg-red)}
.page-jugend .team-matches-body>button{background:var(--sg-red)}
.page-jugend .team-photo-open:focus-visible{outline-color:var(--sg-red)}
