/* Der Einstieg nutzt die verfügbare Fensterhöhe; mobile Mindesthöhen sichern Platz für Text und Links. */
:root{color-scheme:light;--black:#1a1a1a;--yellow:#ffd900;--paper:#f0f0f0;--grey:#d3d4d6;--dark:#0b090a;--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--black);color:var(--paper);font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif;line-height:1.65}a{color:inherit}button{font:inherit}img{max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.035em}h2{font-size:clamp(32px,4.2vw,54px);font-weight:800}h3{font-size:28px}.container{width:min(1240px,calc(100% - 80px));margin-inline:auto}.site-header{position:sticky;top:0;background:var(--black);z-index:10;border-bottom:1px solid #ffffff18}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:block;padding:9px 18px}.brand img{display:block;height:80px;width:auto}nav{display:flex;align-items:center;gap:32px}nav a{text-decoration:none;font-size:14px;font-weight:700}nav a:hover{color:var(--yellow)}nav .nav-cta{color:var(--black);background:var(--yellow);padding:12px 18px;border-radius:8px;transition:transform .18s ease}nav .nav-cta:hover{color:var(--black);transform:scale(1.04)}@media(prefers-reduced-motion:reduce){nav .nav-cta{transition:none}nav .nav-cta:hover{transform:none}}.nav-cta span{margin-left:22px}.menu-toggle{display:none}.skip-link{position:fixed;top:-100px;left:16px;background:var(--yellow);color:var(--black);padding:12px;z-index:30}.skip-link:focus{top:8px}:focus-visible{outline:3px solid #b28b00;outline-offset:5px}.site-header :focus-visible,.hero :focus-visible,.club :focus-visible,.magazine :focus-visible,.site-footer :focus-visible{outline-color:var(--yellow)}.hero{position:relative;isolation:isolate;min-height:clamp(760px,calc(100svh - 100px),1040px);overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:grayscale(1);z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,9,10,.93),rgba(11,9,10,.66) 45%,rgba(11,9,10,.1)),linear-gradient(0deg,rgba(11,9,10,.65),transparent 45%);z-index:-1}.hero-content{min-height:inherit;display:flex;flex-direction:column;padding-top:110px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;margin-bottom:20px}.hero .eyebrow{display:flex;align-items:center;gap:12px}.yellow-line{width:28px;height:2px;background:var(--yellow)}h1{font-size:clamp(58px,7.7vw,100px);font-weight:900;letter-spacing:-.055em}.hero h1 span{color:var(--yellow)}.hero-description{margin-top:24px;color:var(--grey);font-size:18px;max-width:500px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:50px;padding:13px 20px;border-radius:8px;text-decoration:none;font-size:13px;font-weight:700;border:1px solid transparent;transition:transform .15s,background .15s}.button:hover{transform:translateY(-2px)}.primary{background:var(--yellow);color:var(--black)}.primary:hover{background:#ffe64d}.outline{border-color:#ffffff80;background:#1a1a1a44}.hero-bottom{display:flex;justify-content:space-between;gap:20px;width:100%;margin-top:auto;padding:22px 0;border-top:1px solid #ffffff30;font-size:11px;color:var(--grey)}.hero-bottom a{text-decoration:none}.hero-bottom a span{margin-left:18px;color:var(--yellow)}.section-light{background:var(--paper);color:var(--black)}.sports{padding:85px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:40px}.section-heading>p{max-width:345px;font-size:15px;color:#555}.sport-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.sport-card{position:relative;border:1px solid #ccc;border-radius:var(--radius);padding:28px;background:#fff;overflow:hidden}.sport-card.handball{background:var(--yellow);border-color:var(--yellow)}.card-number{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.sport-symbol{font-size:64px;line-height:1;margin:34px 0 20px;font-family:Arial,sans-serif}.sport-card h3{font-size:30px}.sport-card p{font-size:14px;margin-top:16px;min-height:70px;max-width:300px}.sport-card a{display:flex;justify-content:space-between;text-decoration:none;font-weight:700;font-size:12px;margin-top:30px;padding-top:18px;border-top:1px solid #1a1a1a30}.club{padding:90px 0}.club-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.club-mark{border:1px solid #ffffff25;border-radius:16px;min-height:300px;padding:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden}.since{text-transform:uppercase;font-size:12px;letter-spacing:.3em}.year{color:var(--yellow);font-size:clamp(75px,10vw,135px);font-weight:900;letter-spacing:-.07em;line-height:1.2}.club-mark-caption{font-size:13px}.club .eyebrow,.magazine .eyebrow{color:var(--yellow)}.club p:not(.eyebrow),.magazine p:not(.eyebrow){color:var(--grey);font-size:15px;margin-top:22px;max-width:540px}.text-link{display:inline-flex;align-items:center;gap:24px;font-weight:700;text-decoration:none;font-size:13px}.club .text-link{margin-top:28px;color:var(--yellow)}.offer-details{padding:80px 0}.offer-details h2{margin-bottom:35px}.detail-row{display:grid;grid-template-columns:45px 1fr 225px;gap:30px;padding:32px 0;border-top:1px solid #ccc;align-items:center;scroll-margin-top:15px}.detail-index{font-size:12px;align-self:start;padding-top:8px;color:#666}.detail-row h3{font-size:25px}.detail-row p{font-size:14px;color:#555;max-width:610px;margin:14px 0}.tag{display:inline-block;padding:4px 10px;border:1px solid #ccc;border-radius:8px;margin:0 5px 4px 0;font-size:10px}.editorial-note{font-size:12px;color:#666;margin-top:20px}.magazine{padding:80px 0}.magazine-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.magazine-cover{background:var(--yellow);color:var(--black);width:min(100%,320px);min-height:340px;padding:30px;border-radius:8px;transform:rotate(-4deg);margin:10px auto;box-shadow:14px 18px 0 #ffffff0b;display:flex;flex-direction:column;justify-content:space-between}.magazine-cover>span{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.magazine-cover strong{font-size:68px;line-height:.9;letter-spacing:-.055em;font-weight:900;margin:40px 0}.cover-dot{color:white}.cover-bottom{display:flex;align-items:end;justify-content:space-between;border-top:2px solid var(--black);padding-top:12px;font-size:11px}.cover-bottom b{font-size:34px;line-height:1}.magazine .button{margin-top:25px}.magazine p.magazine-note{font-size:11px;margin-top:12px}.join{padding:85px 0}.join-inner{text-align:center}.join h2{font-size:clamp(45px,6vw,76px)}.join h2 span{display:inline-block;background:var(--yellow);padding:0 8px}.join p:not(.eyebrow){max-width:590px;margin:25px auto 0;font-size:15px;color:#555}.join .actions{justify-content:center}.dark{background:var(--black);color:var(--paper)}.light-outline{border-color:#888}.site-footer{background:var(--black);color:var(--paper);padding:50px 0 24px}.footer-top{display:grid;grid-template-columns:1.4fr 1fr .7fr;gap:40px}.footer-brand{font-size:19px;font-weight:700;text-decoration:none}.footer-brand span{display:block;font-size:12px;font-weight:400;color:var(--grey);margin-top:6px}.footer-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--yellow);margin-bottom:12px}.footer-top>div>a{display:block;font-size:12px;text-decoration:none;margin-bottom:8px}.footer-bottom{border-top:1px solid #ffffff25;margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--grey)}.footer-bottom a{text-decoration:none}.site-footer .editorial-note{color:var(--grey);font-size:10px}
@media(max-width:900px){.container{width:calc(100% - 40px)}.header-inner{position:relative}.menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;color:var(--paper);border:1px solid #555;border-radius:8px;padding:8px 12px;cursor:pointer}.site-header nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--black);padding:24px;border:1px solid #444;border-radius:0 0 16px 16px;align-items:stretch;gap:24px}.site-header nav.is-open{display:flex;flex-direction:column}.hero{min-height:max(720px,calc(100svh - 100px))}.hero-content{padding-top:70px}.hero:after{background:linear-gradient(90deg,rgba(11,9,10,.91),rgba(11,9,10,.6)),linear-gradient(0deg,rgba(11,9,10,.65),transparent)}.section-heading{align-items:start;flex-direction:column;gap:24px}.section-heading>p{max-width:560px}.sport-grid{gap:14px}.sport-card{padding:20px}.sport-card h3{font-size:24px}.sport-card p{min-height:115px}.club-grid,.magazine-grid{gap:40px;grid-template-columns:1fr 1fr}.detail-row{grid-template-columns:25px 1fr;gap:20px}.detail-row>.text-link{grid-column:2}.footer-top{gap:25px;grid-template-columns:1fr 1fr}.footer-top>div:last-child{grid-column:2}.brand{padding-left:9px;padding-right:9px}}
@media(max-width:600px){.container{width:calc(100% - 32px)}.hero{min-height:max(700px,calc(100svh - 100px))}.hero-content{padding-top:55px}.hero-image{object-position:65% center}.hero .eyebrow{font-size:9px;letter-spacing:.1em}h1{font-size:60px}.hero-description{font-size:16px}.hero .actions{flex-direction:column;align-items:flex-start}.hero-bottom{margin-top:auto;font-size:10px}.sports,.club,.offer-details,.magazine,.join{padding:56px 0}.sport-grid{grid-template-columns:1fr}.sport-card{padding:25px}.sport-card p{min-height:auto;max-width:none}.sport-symbol{position:absolute;right:25px;top:22px;font-size:45px;margin:0}.sport-card h3{margin-top:35px;font-size:30px}.club-grid,.magazine-grid{grid-template-columns:1fr;gap:40px}.club-mark{min-height:230px}.year{font-size:105px}.magazine-cover{min-height:310px;max-width:270px}.magazine-cover strong{font-size:62px}.join .actions{flex-direction:column;align-items:stretch}.footer-top{grid-template-columns:1fr}.footer-top>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:10px}.detail-row{gap:14px}.detail-row h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media print{.site-header,.menu-toggle,.hero-image{display:none}.hero:after{display:none}body,.hero,.club,.magazine,.site-footer{background:white;color:black}.container{width:100%}.hero{min-height:auto}.hero-content{padding:20px}.hero h1 span,.club .eyebrow,.magazine .eyebrow{color:black}}

.contact-preview{font-size:12px;border-left:3px solid #b39700;padding-left:16px}.contact-preview strong{font-size:13px}.contact-preview p{margin:10px 0;font-size:12px}.contact-preview>span{color:#666;font-size:11px}.detail-row{grid-template-columns:45px 1fr 280px}@media(max-width:900px){.detail-row{grid-template-columns:25px 1fr}.contact-preview{grid-column:2}}@media(max-width:600px){.sport-grid{grid-template-columns:1fr}}

.contact-intro{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.08em;color:#666;margin-bottom:16px}.contact-entry+.contact-entry{border-top:1px solid #ccc;margin-top:18px;padding-top:18px}.contact-entry p{margin:6px 0 10px}.contact-actions{display:flex;gap:18px;flex-wrap:wrap}.contact-actions a{font-size:12px;gap:8px;min-height:44px}.contact-actions a:first-child{font-weight:800}.detail-row{align-items:start}

.groups-page{padding:60px 0 80px;min-height:65vh}.group-heading{font-size:clamp(40px,6vw,76px);margin-bottom:24px}.group-audience{font-size:20px;margin-bottom:24px}.group-image{display:block;width:100%;max-height:500px;object-fit:cover;border-radius:16px;margin:30px 0}.group-detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;margin:40px 0}.group-detail-grid h2{font-size:28px;margin:28px 0 16px}.group-detail-grid p{margin:16px 0}.preserve-lines{white-space:pre-line;overflow-wrap:anywhere}.group-contact{background:white;border:1px solid #ccc;border-radius:16px;padding:28px;align-self:start}.group-contact h3{font-size:20px;margin-top:24px}.group-contact .actions{gap:10px}.sport-filters{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0}.sport-filters a{padding:10px 15px;border:1px solid #aaa;border-radius:8px;text-decoration:none;font-size:13px}.sport-filters [aria-current]{background:var(--yellow);border-color:#b39700}.groups-page .sport-card h2{font-size:30px;margin-top:20px}.group-thumbnail{width:100%;height:180px;object-fit:cover;border-radius:8px;margin-top:20px}.empty-state{padding:30px;background:white;border-radius:16px}@media(max-width:700px){.group-detail-grid{grid-template-columns:1fr;gap:15px}.group-contact{padding:20px}}

.public-coach+.public-coach{border-top:1px solid #ccc;margin-top:28px;padding-top:16px}.coach-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.group-contact .public-coach h3{margin-top:10px}.pdf-embed{display:block;width:100%;height:650px;border:1px solid #777;border-radius:16px;background:white;margin:22px 0}.latest-home{margin-top:45px}.latest-home[hidden]{display:none}.latest-magazine{margin:45px 0}.latest-magazine h2,.archive-heading{font-size:32px}.archive-heading{margin:50px 0 25px}@media(max-width:600px){.pdf-embed{height:450px}}

.coach-portrait{display:block;width:96px;height:96px;object-fit:cover;border-radius:16px;margin:12px 0}

.public-training{border:1px solid #ccc;border-radius:16px;background:white;padding:22px;margin:18px 0}.public-training h3{font-size:21px}.training-alternative{border-top:1px dashed #ccc;padding-top:18px;margin-top:18px}.training-alternative>span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.public-training .training-note{font-size:12px;color:#666}.handball-live{border-top:1px solid #ccc;margin:50px 0;padding-top:35px}.handball-live h2{font-size:32px}.handball-widget-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}.handball-widget-grid[hidden]{display:none}.handball-widget-grid>section{background:white;border:1px solid #ccc;border-radius:16px;padding:22px;min-width:0;overflow-x:auto}.handball-widget-grid h3{font-size:22px;margin-bottom:22px}@media(max-width:850px){.handball-widget-grid{grid-template-columns:1fr}}

.magazine-cover .cover-headline{display:block;font-size:16px;line-height:1.3;font-weight:700;text-transform:none;letter-spacing:0;margin:0 0 25px}.magazine-cover strong{margin:28px 0}.magazine-cover .cover-bottom b{font-variant-numeric:tabular-nums}

.team-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.team-chip{display:inline-flex;align-items:center;gap:9px;padding:7px 11px 7px 7px;border:1px solid #bbb;background:white;border-radius:30px;text-decoration:none;font-size:12px;font-weight:700;transition:background .15s,border-color .15s}.team-chip:hover{background:#fff3ad;border-color:#b49a00}.team-chip-icon{display:grid;place-items:center;min-width:28px;height:28px;padding:0 4px;border-radius:50%;background:#1a1a1a;color:#ffd900;font-size:10px;font-weight:800}.team-chip>span:last-child{margin-left:3px}.team-links:empty{display:none}

/* Bildkarten für die Sportangebote; bestehende Gruppen-Karten behalten ihr Layout. */
.sports{padding:64px 0 76px}.sports .container{width:min(1536px,calc(100% - 80px))}.sports .section-heading{gap:40px;align-items:center;margin-bottom:32px;padding-inline:clamp(0px,3vw,48px)}.sports .section-heading h2{font-size:clamp(34px,4.2vw,68px)}.sports .section-heading>p{max-width:420px;flex:0 1 420px;font-size:16px}.sports .sport-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.sport-tile{width:100%;min-width:0;position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:340px;aspect-ratio:2.12/1;border-radius:16px;overflow:hidden;background:#1a1a1a;color:#fff;text-decoration:none}.sport-tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:grayscale(1);z-index:-2;transition:transform .4s ease}.sport-tile-handball>img{object-position:50% 0%}.sport-tile:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#111 0,#111111e6 100px,#111111b8 220px,transparent 360px)}.sport-tile-content{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:end;width:100%;padding:28px}.sport-tile h3{font-size:clamp(28px,2.6vw,40px);line-height:1.1;letter-spacing:-.035em}.sport-tile h3:before{content:"";display:block;width:46px;height:3px;background:#ffd900;margin-bottom:11px}.sport-tile p{font-size:15px;line-height:1.45;margin-top:10px;max-width:470px}.sport-tile-action{display:inline-flex;align-items:center;gap:12px;color:#ffd900;font-size:16px;font-weight:800;white-space:nowrap;padding-bottom:2px}.sport-tile-action>span{font-size:27px;line-height:1;transition:transform .2s}.sport-tile:hover>img{transform:scale(1.035)}.sport-tile:hover .sport-tile-action>span{transform:translateX(4px)}.sport-tile:focus-visible{outline:3px solid #b28b00;outline-offset:5px}
@media(max-width:1100px){.sport-tile-content{padding:24px;gap:16px}.sport-tile p{font-size:14px}.sport-tile-action{font-size:14px;gap:8px}}
@media(max-width:900px){.sports .container{width:calc(100% - 40px)}.sports .section-heading{padding-inline:0;gap:18px;align-items:flex-start}.sports .section-heading>p{flex:initial;max-width:560px}.sport-tile-content{grid-template-columns:1fr;gap:14px}.sport-tile{min-height:330px}.sport-tile-action{justify-self:end}}
@media(max-width:760px){.sports .sport-grid{grid-template-columns:1fr}.sport-tile{min-height:350px;aspect-ratio:1.65/1}.sport-tile h3{font-size:32px}.sport-tile p{font-size:15px;max-width:480px}.sport-tile-content{gap:15px}}
@media(max-width:600px){.sports{padding:48px 0 56px}.sports .container{width:calc(100% - 32px)}.sports .section-heading h2{font-size:36px}.sports .section-heading>p{font-size:15px}.sport-tile-content{padding:24px}.sport-tile{min-height:360px}.sport-tile-action{font-size:15px}}
@media(prefers-reduced-motion:reduce){.sport-tile:hover>img{transform:none}.sport-tile:hover .sport-tile-action>span{transform:none}}
@media print{.sport-tile{background:white;color:black;min-height:0;aspect-ratio:auto;border:1px solid #ccc}.sport-tile>img,.sport-tile:after{display:none}.sport-tile-action{color:black}}

/* Vereinsgeschichte: Bild im Gründungsjahr und ruhiger Fotohintergrund. */
.club{position:relative;isolation:isolate;overflow:hidden;background:#111;padding:110px 0}
.club-backdrop{position:absolute;right:0;top:0;width:72%;height:100%;object-fit:cover;object-position:75% 15%;filter:grayscale(1);opacity:.19;z-index:-3}
.club:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#111 20%,#111111b8 65%,#11111140),linear-gradient(0deg,#111,transparent 75%);z-index:-2}
.club:after{content:"";position:absolute;right:-130px;top:-210px;width:400px;height:520px;transform:rotate(33deg);border-left:2px solid #ffd90080;z-index:-1;pointer-events:none}
.club .container{width:min(1440px,calc(100% - 80px))}
.club-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.club-mark{padding:32px;border:1px solid #ffffff30;min-height:0;align-items:stretch;background:#11111155;border-radius:24px}
.club .since{display:flex;align-items:center;gap:24px;font-size:15px;font-weight:700;letter-spacing:.28em}
.club .since:after{content:"";width:90px;height:2px;background:var(--yellow)}
.club-year{display:block;width:100%;height:auto;margin:12px 0 0;overflow:visible}
.club-mark-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}
.club .club-mark-caption{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.18em}
.club-stripes{font-size:44px;line-height:1;color:var(--yellow);font-weight:900;font-style:italic;letter-spacing:-.15em;padding-right:6px}
.club-copy{min-width:0}
.club .eyebrow{font-size:12px;letter-spacing:.2em;margin-bottom:20px}
.club h2{font-size:clamp(34px,4.1vw,64px);line-height:1.05;letter-spacing:-.045em}
.club h2 span{color:var(--yellow)}
.club .club-copy>p:not(.eyebrow){font-size:17px;line-height:1.65;margin-top:26px;max-width:570px}
.club .button{margin-top:32px;min-height:62px;padding:16px 28px;font-size:17px;gap:42px}
@media(max-width:1000px){.club-grid{gap:32px}.club-mark{padding:24px}.club .club-copy>p:not(.eyebrow){font-size:16px}.club .club-mark-caption{font-size:10px;letter-spacing:.1em}}
@media(max-width:760px){.club{padding:64px 0}.club .container{width:calc(100% - 40px)}.club-grid{grid-template-columns:1fr;gap:40px}.club-mark{width:min(100%,520px);margin-inline:auto}.club-backdrop{width:100%;opacity:.12}.club h2{font-size:clamp(34px,7.5vw,52px)}.club .club-copy>p:not(.eyebrow){max-width:100%}.club .button{max-width:100%;gap:24px}}
@media(max-width:400px){.club .container{width:calc(100% - 32px)}.club-mark{padding:20px}.club .club-mark-caption{font-size:9px}.club-stripes{font-size:36px}}
@media print{.club-backdrop,.club:before,.club:after{display:none}.club{background:white;color:black}.club h2 span{color:black}}

/* Direct sport and group discovery. */
.offer-details .container{width:min(1440px,calc(100% - 80px))}
.offer-details h2{font-size:clamp(36px,4.8vw,68px);margin-bottom:40px}.sport-title-dot{color:#d4ac00}
.sport-explorer{display:grid;grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);gap:24px;align-items:start}
.sport-selector{display:grid;gap:14px}.sport-select{width:100%;display:grid;grid-template-columns:20px 64px minmax(0,1fr) 22px;align-items:center;gap:12px;min-height:132px;padding:22px 20px;text-align:left;border:1px solid #d0d0cd;border-radius:18px;background:transparent;color:#1a1a1a;font:inherit;cursor:pointer;transition:background .18s,border-color .18s}.sport-select-number{font-size:12px;align-self:start;padding-top:6px;color:#666}.sport-select>img{width:64px;height:74px;object-fit:contain;mix-blend-mode:multiply}.sport-select>span:nth-last-child(2){font-size:20px;font-weight:800;line-height:1.15;letter-spacing:-.025em}.sport-select-arrow{font-size:25px}.sport-select:hover{background:#fff;border-color:#9d9d96}.sport-select[aria-selected=true]{background:#ffd900;border-color:#ffd900}.sport-select[aria-selected=true] .sport-select-number{color:#1a1a1a}
.sport-panels{min-width:0}.sport-panel{border:1px solid #d0d0cd;border-radius:20px;background:white;overflow:hidden;scroll-margin-top:120px;margin-bottom:24px}.sport-panel[hidden]{display:none}.sport-panel-intro{position:relative;isolation:isolate;min-height:240px;display:flex;align-items:center;padding:36px}.sport-panel-photo{position:absolute;right:0;top:0;width:52%;height:100%;object-fit:cover;object-position:75% 20%;filter:grayscale(1);z-index:-2}.sport-panel-intro:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fff 32%,#fffffff2 48%,#ffffff30 85%);pointer-events:none}.sport-panel-intro-copy{max-width:76%}.sport-panel-intro .eyebrow{font-size:11px;color:#686000;margin-bottom:18px}.sport-panel-intro h3{font-size:clamp(29px,3.2vw,46px);line-height:1.08}.sport-panel-intro-copy>p:last-child{font-size:16px;color:#444;margin-top:18px;max-width:540px;line-height:1.6}
.sport-panel-content{padding:0 36px 32px}.sport-panel-content h4{margin:0;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.sport-panel-content>.team-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 0}.sport-panel-content .team-chip{min-width:0;display:grid;grid-template-columns:44px minmax(0,1fr) 20px;gap:12px;padding:14px;border-radius:12px;font-size:16px;min-height:78px}.sport-panel-content .team-chip-icon{width:44px;height:44px;font-size:15px;padding:0}.sport-panel-content .team-chip>span:nth-child(2){overflow-wrap:anywhere;line-height:1.2}.sport-panel-content .team-chip>span:last-child{margin:0;font-size:22px}.sport-group-count{letter-spacing:0;margin-left:8px;color:#777}
.sport-leaders{border-top:1px solid #ddd;margin-top:28px;padding-top:24px}.sport-leaders>[data-sport-contacts]{display:grid;gap:12px;margin-top:18px}.sport-contact{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f5f5f1;border-radius:10px;padding:16px}.sport-contact h5{margin:4px 0 0;font-size:17px;line-height:1.2}.sport-contact-office{font-size:11px;color:#666;line-height:1.4}.sport-contact-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;max-width:58%}.sport-contact-links a{border:1px solid #ccc;border-radius:6px;background:white;text-decoration:none;padding:6px 10px;font-size:12px;font-weight:700;overflow-wrap:anywhere}.sport-contact-links a:hover{background:#ffd900;border-color:#b49a00}.sport-data-status{font-size:14px;color:#666;line-height:1.6;margin:0}.team-links>.sport-data-status{grid-column:1/-1}
@media(max-width:1150px){.sport-explorer{grid-template-columns:240px minmax(0,1fr);gap:18px}.sport-select{grid-template-columns:16px 42px minmax(0,1fr) 18px;gap:9px;padding:18px 14px}.sport-select>img{width:42px;height:60px}.sport-select>span:nth-last-child(2){font-size:17px}.sport-panel-intro{padding:28px}.sport-panel-content{padding:0 28px 28px}.sport-panel-intro-copy{max-width:86%}.sport-panel-content>.team-links{grid-template-columns:1fr}.sport-contact{align-items:flex-start;flex-direction:column;gap:12px}.sport-contact-links{max-width:100%;justify-content:flex-start}}
@media(max-width:900px){.offer-details .container{width:calc(100% - 40px)}.sport-explorer{grid-template-columns:1fr}.sport-selector{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sport-select{min-height:110px;padding:14px;grid-template-columns:1fr;justify-items:center;text-align:center;gap:6px}.sport-select-number,.sport-select-arrow{display:none}.sport-select>img{height:42px;width:42px}.sport-select>span:nth-last-child(2){font-size:15px}.sport-panel-intro-copy{max-width:75%}.sport-panel-content>.team-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.offer-details .container{width:calc(100% - 32px)}.offer-details h2{font-size:38px;margin-bottom:26px}.sport-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.sport-select{min-height:78px;grid-template-columns:36px minmax(0,1fr);text-align:left;justify-items:start;gap:10px}.sport-select>img{width:36px;height:44px}.sport-panel-intro{min-height:250px;padding:24px;align-items:flex-end}.sport-panel-photo{width:100%;opacity:.28}.sport-panel-intro:after{background:linear-gradient(90deg,#fffffff2,#ffffffa8),linear-gradient(0deg,#fff,transparent)}.sport-panel-intro-copy{max-width:100%}.sport-panel-intro h3{font-size:32px}.sport-panel-intro-copy>p:last-child{font-size:15px}.sport-panel-content{padding:0 24px 24px}.sport-panel-content>.team-links{grid-template-columns:1fr}.sport-panel-content .team-chip{font-size:15px}.sport-contact{padding:14px}.sport-contact-links a{font-size:11px}}
@media(prefers-reduced-motion:reduce){.sport-select{transition:none}}

/* Consistent vector action icons, including Safari on iOS. */
.ui-icon{display:inline-block;width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
a.button,button.button,.nav-cta,.text-link,.menu-toggle{align-items:center}
nav .nav-cta{display:inline-flex;gap:18px}.nav-cta .ui-icon{margin-left:0}
.menu-toggle .ui-icon{width:18px;height:18px}
.sport-tile-action .ui-icon{width:25px;height:25px;transition:transform .2s}
.sport-tile:hover .sport-tile-action .ui-icon{transform:translateX(4px)}
.sport-select-arrow .ui-icon{width:22px;height:22px}
.sport-contact-links a{display:inline-flex;align-items:center;gap:8px}
.sport-contact-links .ui-icon{width:17px;height:17px}
.sport-panel-content .team-chip>.ui-icon{width:22px;height:22px;justify-self:end}
/* Diagonal cut references the MTV logo; image and copy remain distinct. */
.sport-panel-intro{min-height:280px}
.sport-panel-photo{width:46%;clip-path:polygon(27% 0,100% 0,100% 100%,0 82%);object-position:80% 15%}
.sport-panel-intro:after{background:linear-gradient(90deg,#fff 32%,#ffffffeb 51%,#ffffff00 76%)}
.sport-panel-intro-copy{max-width:72%}
@media(max-width:1150px){.sport-panel-photo{width:48%}.sport-panel-intro-copy{max-width:88%}.sport-panel-intro:after{background:linear-gradient(90deg,#fff 20%,#fffffff2 48%,#ffffff26 88%)}}
@media(max-width:600px){.sport-panel-intro{min-height:0;padding:0;display:flex;flex-direction:column;align-items:stretch}.sport-panel-photo{position:relative;inset:auto;display:block;width:100%;height:170px;opacity:1;clip-path:polygon(0 0,100% 0,100% 74%,0 100%);object-position:75% 15%;z-index:auto}.sport-panel-intro:after{display:none}.sport-panel-intro-copy{max-width:none;padding:24px}.sport-panel-content{padding-top:8px}}
@media(prefers-reduced-motion:reduce){.sport-tile-action .ui-icon{transition:none}.sport-tile:hover .sport-tile-action .ui-icon{transform:none}}

.handball-next{margin:28px 0;padding:24px;border-radius:14px;background:#ffd900;color:#1a1a1a}.handball-next[hidden]{display:none}.handball-next .eyebrow{margin-bottom:12px}.handball-match{padding:18px 0;border-bottom:1px solid #ddd}.handball-match h4{font-size:17px;line-height:1.35;margin:8px 0}.handball-match-time,.handball-match-venue{font-size:13px;color:#555}.handball-match-score{display:block;margin-top:8px;font-size:23px}.handball-match.is-next{border:0;padding:0}.handball-match.is-next h4{font-size:24px}.handball-table-scroll{overflow-x:auto;margin-top:18px}.handball-table-scroll table{border-collapse:collapse;width:100%;font-size:13px;min-width:420px}.handball-table-scroll caption{text-align:left;font-size:12px;color:#555;margin-bottom:10px}.handball-table-scroll th,.handball-table-scroll td{padding:10px;border-bottom:1px solid #ddd;text-align:left}.handball-table-scroll th[scope=row]{font-weight:500}.handball-table-scroll .is-own{background:#fff4ac}.handball-table-scroll .is-own th{font-weight:800}.hint code{overflow-wrap:anywhere}
@media(max-width:600px){.handball-next{padding:20px}.handball-match.is-next h4{font-size:21px}}

/* A season's schedule stays compact; only the next match is featured. */
#handball-spielplan .handball-match{display:grid;grid-template-columns:92px minmax(0,1fr) 48px;gap:12px;align-items:center;padding:11px 0}
#handball-spielplan .handball-match-time{display:grid;gap:2px;font-size:11px;line-height:1.35;margin:0}
#handball-spielplan .handball-match-summary{min-width:0}
#handball-spielplan .handball-match h4{font-size:14px;line-height:1.3;margin:0;overflow-wrap:anywhere}
#handball-spielplan .handball-match-venue{font-size:11px;line-height:1.3;margin:4px 0 0;color:#666}
#handball-spielplan .handball-match-score{font-size:16px;line-height:1.3;margin:0;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:600px){#handball-spielplan .handball-match{grid-template-columns:76px minmax(0,1fr) 42px;gap:9px;padding:10px 0}#handball-spielplan .handball-match h4{font-size:13px}#handball-spielplan .handball-match-score{font-size:15px}}

.match-week{padding:64px 0;background:#222;color:#f4f4ed}.match-week .eyebrow{color:#ffd900;margin-bottom:12px}.match-week-heading{display:flex;align-items:end;justify-content:space-between;gap:28px}.match-week h2{font-size:clamp(30px,3.7vw,48px)}.match-week h2>span{color:#ffd900}.match-week-heading>.text-link{flex:none;font-size:13px}.match-week-meta{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:24px 0 16px}.match-week-meta p{font-weight:700;font-size:16px}.match-week-legend{color:#d2d2cb;font-size:12px;display:flex;align-items:center;gap:8px}.match-week-legend:before{content:"";width:9px;height:9px;border-radius:50%;background:#ffd900;display:block}.match-week-list{display:grid;gap:10px}.week-game{display:grid;grid-template-columns:112px minmax(0,1fr) minmax(160px,.55fr);gap:24px;align-items:center;background:#ffffff08;border:1px solid #ffffff22;border-radius:12px;padding:18px 22px}.week-game.is-gathe{border-left:4px solid #ffd900;background:#ffd9000c;padding-left:19px}.week-game-time{display:grid;gap:3px;font-size:12px;color:#d2d2cb}.week-game-time strong{font-size:18px;color:white;white-space:nowrap}.week-game-detail{min-width:0}.week-game h3{font-size:17px;line-height:1.35;letter-spacing:0;overflow-wrap:anywhere}.week-game-groups{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:5px}.week-game-groups a{color:#ffd900;font-size:12px;font-weight:700;text-decoration:none}.week-game-groups a:hover{text-decoration:underline}.week-game-venue{display:grid;gap:4px;font-size:12px;line-height:1.5}.week-game-venue strong{font-size:13px}.week-game-venue>span{color:#d2d2cb}.week-game-venue .week-home-badge{color:#ffd900;font-size:10px;letter-spacing:.05em;text-transform:uppercase;font-weight:700}.match-week-message{padding:24px;border:1px solid #ffffff22;border-radius:12px;color:#d2d2cb;font-size:15px}.match-week-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}.match-week-footer p{font-size:11px;color:#bdbdb4;max-width:850px}.match-week-footer button{font-size:12px;white-space:nowrap;color:#fff}.match-week-footer button[hidden]{display:none}
@media(max-width:900px){.match-week-heading{align-items:start;flex-direction:column;gap:18px}.week-game{grid-template-columns:94px minmax(0,1fr);gap:12px 20px}.week-game-venue{grid-column:2}.match-week-meta{align-items:start;flex-direction:column;gap:8px}}
@media(max-width:600px){.match-week{padding:44px 0}.week-game{grid-template-columns:74px minmax(0,1fr);gap:10px 14px;padding:16px}.week-game.is-gathe{padding-left:13px}.week-game h3{font-size:14px}.week-game-time strong{font-size:15px}.week-game-time{font-size:11px}.match-week-meta p{font-size:14px}.match-week-footer{align-items:start;flex-direction:column;gap:12px}}

.legal-page{padding:64px 0 80px}.legal-page .container{max-width:920px}.legal-page h1{font-size:clamp(38px,5vw,60px);margin-bottom:30px}.legal-page h2{font-size:30px;margin:40px 0 18px;scroll-margin-top:130px}.legal-page h3{font-size:21px;line-height:1.3;margin:28px 0 14px}.legal-page p{font-size:16px;line-height:1.8;margin:16px 0;overflow-wrap:anywhere}.legal-footer{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:13px}.legal-footer nav{display:flex;gap:18px;flex-wrap:wrap}.legal-footer a{text-decoration:none}.footer-bottom{flex-wrap:wrap}.portrait-footer>a{font-size:13px}.reader-legal{flex:none;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:20px;background:#1a1a1a;color:#ddd;padding:7px 24px;font-size:11px;line-height:1.4}.reader-legal a{text-decoration:none}.reader-legal a:hover{color:#ffd900}@media(max-width:600px){.legal-page{padding:40px 0 56px}.legal-footer{flex-direction:column}.reader-legal{justify-content:center;gap:16px;padding:7px 12px;font-size:10px}}

.footer-contact-name{display:block;font-size:14px;font-weight:700;margin-bottom:8px;overflow-wrap:anywhere}.footer-top>.social-links>a{display:flex;align-items:center;gap:9px}.social-links .ui-icon{width:19px;height:19px}.footer-bottom .ui-icon{width:14px;height:14px;margin-left:4px}.reader-legal{align-items:center}.reader-legal .ui-icon{width:16px;height:16px}.reader-footer-contact{margin-right:auto;font-size:10px}.reader-footer-contact>[data-chair-name]{font-weight:700}@media(max-width:900px){.reader-footer-contact{width:100%;margin:0;text-align:center}.reader-legal{gap:8px 15px}}

.match-week-stage{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:12px;align-items:center}
.match-week-stage .match-week-list{grid-column:2;grid-row:1}
.match-week-arrow{display:grid;place-items:center;align-self:stretch;border:0;background:transparent;color:#ffd900;padding:0;cursor:pointer;border-radius:8px;min-height:44px;grid-column:3;grid-row:1}
.match-week-arrow.is-previous{grid-column:1}.match-week-arrow.is-previous svg{transform:rotate(180deg)}
.match-week-arrow:hover{background:#ffffff10}.match-week-arrow:focus-visible{outline:2px solid #ffd900;outline-offset:3px}.match-week-arrow:disabled{opacity:.4;cursor:wait}.match-week-arrow[hidden]{display:none}
.week-game-result{display:flex;align-items:center;gap:10px;margin:8px 0 0}.week-game-result strong{color:#ffd900;font-size:20px;white-space:nowrap}.week-game-result span,.week-game-result.is-pending{font-size:11px;color:#d2d2cb}
@media(max-width:600px){.match-week-stage{grid-template-columns:22px minmax(0,1fr) 22px;gap:5px}.match-week-arrow .ui-icon{width:20px;height:20px}.match-week-stage .week-game{grid-template-columns:1fr;gap:8px}.match-week-stage .week-game-time{display:flex;gap:12px;align-items:center}.match-week-stage .week-game-venue{grid-column:1}}

/* Instagram lives in the club section; the QR is a local asset, with no tracking embed. */
.club-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px;flex-wrap:wrap}
.club .club-actions>.button{margin-top:0;gap:24px;font-size:16px;padding:16px 22px}
.club-instagram-desktop{position:relative;display:block;flex:0 0 184px;width:184px;height:212px;color:#d2d2cb;text-decoration:none;transition:transform .2s,color .2s}
.club-instagram-caption{position:absolute;inset:0 0 auto;width:184px;height:184px;fill:currentColor;font-family:Arial,sans-serif;font-size:9px;font-weight:600;letter-spacing:2px;overflow:visible}
.club-instagram-qr{position:absolute;width:116px;height:116px;top:34px;left:34px;border-radius:2px}
.club-instagram-handle{position:absolute;bottom:2px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:7px;color:#ffd900;font-size:12px;font-weight:600}
.club-instagram-handle .ui-icon{width:15px;height:15px}
.club-instagram-desktop:hover{color:#ffd900;transform:translateY(-3px)}
.club .club-instagram-mobile{display:none}
@media(max-width:1100px){.club-instagram-desktop{display:none}.club .club-instagram-mobile{display:inline-flex;align-items:center;justify-content:center;color:#fff;border-color:#ffffff50;gap:12px}.club .club-instagram-mobile .ui-icon{color:#ffd900}.club-actions{justify-content:flex-start;gap:14px}.club .club-instagram-mobile:hover{background:#ffffff12;transform:translateY(-2px);color:#fff}}
@media(max-width:760px){.club-actions{align-items:stretch;flex-direction:column}.club .club-actions>.button{justify-content:center;min-height:54px;font-size:16px;gap:14px}}
@media(prefers-reduced-motion:reduce){.club-instagram-desktop,.club .club-instagram-mobile{transition:none}}
@media print{.club-actions{display:none}}

.offer-week-link{display:flex;justify-content:flex-end;margin:20px 0 26px}.offer-week-link .button{font-size:14px}.week-overview-link{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-weight:700;font-size:14px;text-underline-offset:4px}@media(max-width:600px){.offer-week-link{justify-content:flex-start}}
