/* Gentle finishing touches to the original RLZ layout and colour system. */
h1,h2,h3{text-wrap:balance}
.hero-description,.section-heading>p,.values article>p,.location>p,.coach-copy>p,.steps p{text-wrap:pretty}
.values article>p,.coach-copy>p:last-child{line-height:1.8}
.section-heading{margin-bottom:48px}
.values .value-subtitle{margin-bottom:13px}
.club-link{font-size:.8125rem;line-height:1.5}
.location>p.partner-label{font-size:.6875rem}
.location-documents{font-size:.8125rem;gap:10px;line-height:1.6}
.location-documents a{width:fit-content}
.document-actions{gap:16px 22px}
.button{transition:background .18s,color .18s,border-color .18s}
.button:hover{transform:none}
nav>a:not(.button):hover{box-shadow:none;text-decoration:underline;text-underline-offset:6px}
.footer-bottom{flex-wrap:wrap}
.footer-bottom>div{flex-wrap:wrap;gap:16px 24px}
.calendar-controls button,.admin-calendar-controls button{font-size:.875rem}
.calendar-day-status{font-size:.75rem;line-height:1.4}
.calendar-weekdays span{font-size:.8125rem}
.calendar-key{font-size:.8125rem}
.admin-title h1,.admin-gate h2{overflow-wrap:anywhere}
.admin-gate>.eyebrow{margin-top:0;margin-bottom:18px}
@media(min-width:1101px){nav>a{font-size:.875rem}}
@media(max-width:800px){.section-heading{margin-bottom:32px}.club-link{font-size:.8125rem}.two-clubs .club-link{font-size:.8125rem}.calendar-key{font-size:.75rem}.calendar-day-status{font-size:0}.calendar-day.is-reserved .calendar-day-status:after{content:'×';font-size:1rem;color:#fff}.calendar-day.is-unknown .calendar-day-status:after{content:'?';font-size:.875rem}}
@media(max-width:450px){.admin-title h1{font-size:1.65rem;letter-spacing:-.055em}.calendar-controls button{font-size:.75rem}#kalender h2{font-size:1.5rem}.footer-bottom>div{gap:14px 20px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}

/* Linked prevention-programme logo in the shared footer. */
.footer-programmes{padding-top:22px}.footer-programme-logo{display:inline-flex;align-items:center;justify-content:center;background:#fff;padding:12px 15px;max-width:100%;min-height:48px}.footer-programme-logo img{display:block;width:190px;max-width:100%;height:auto}.footer-programme-logo:focus-visible{outline:2px solid #fff;outline-offset:4px}

/* Kick-off event: the existing monochrome layout with documentary photography. */
.events-section{background:#f4f4f1;scroll-margin-top:100px}.event-intro{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(24px,5vw,80px);margin-bottom:36px}.event-intro h3{font-size:clamp(28px,3vw,44px);line-height:1.08;margin:12px 0 18px}.event-lead{font-size:20px;max-width:26ch}.event-copy p{margin:0 0 16px;line-height:1.7}.event-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.event-photo{position:relative;display:block;background:#111;overflow:hidden;aspect-ratio:3/2}.event-photo:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.event-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}.event-photo:first-child img{object-fit:contain}.event-photo span{position:absolute;right:8px;bottom:8px;background:#000c;color:#fff;padding:5px 8px;font-size:11px}.event-photo:hover img{transform:scale(1.025)}.event-photo:focus-visible{outline:3px solid #111;outline-offset:4px}.event-album{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}.event-album p{max-width:48ch;margin:0}.event-album .button{flex-shrink:0}@media(max-width:760px){.event-intro{grid-template-columns:1fr;gap:20px}.event-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.event-photo:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:3/2}.event-album{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.event-photo img{transition:none}}

/* Consistent headshots on the established location colours. */
.coach-art{height:auto;aspect-ratio:1/1}
.coach-art .coach-portrait{width:100%;height:100%;object-fit:contain;object-position:center;transform:none;max-width:none}
.coach-art .coach-location{z-index:1;background:#000;color:#fff}
#team-bern .coach-art,#team-bern-ralph .coach-art{background:#d7ff2f}
#team-sursee .coach-art,#team-leitung .coach-art{background:#8ffd43}
#team-aarau .coach-art,#team-aarau-david .coach-art{background:#00d4ff}
#standorte .club-logo,#standorte .location-sponsor-logo,#standorte .squad-lockup{background:transparent}#standorte .club-logo img[src$="tri-club-sursee.png"],#standorte .club-logo img[src$="tri-team-oensingen.jpg"],#standorte .squad-lockup img{mix-blend-mode:multiply}#standorte .location{isolation:isolate}

#team-bern-ralph .coach-portrait{transform:scale(1.18);transform-origin:50% 7%}

.event-lightbox{width:min(1100px,94vw);max-width:94vw;max-height:94dvh;padding:50px 20px 18px;background:#111;color:white;border:1px solid #555;overflow:auto}.event-lightbox::backdrop{background:#000d}.event-lightbox figure{margin:0}.event-lightbox .event-full-photo{width:100%;height:min(65dvh,720px);object-fit:contain}.event-lightbox figcaption{font-size:14px;text-align:center;margin:12px 0}.event-lightbox .dialog-close{position:absolute;top:6px;right:12px;background:none;color:#fff;border:0;font-size:32px;width:44px;height:44px}.event-lightbox-controls{display:flex;justify-content:center;gap:24px;align-items:center}.event-lightbox-controls button{width:48px;height:44px;background:#fff;color:#000;border:0;font-size:24px}.event-lightbox button:focus-visible{outline:3px solid #d7ff2f;outline-offset:3px}body:has(#event-lightbox[open]){overflow:hidden}
