/* Persistent header controls; restrained second row on small screens. */
.compact-header .header-language{font-size:.875rem;min-width:48px;padding:.6rem;white-space:nowrap}
.compact-header .header-news-mobile{display:none}
.compact-header .primary-nav{gap:1rem}.compact-header .nav-row{gap:1rem}
.compact-header .header-actions{gap:.65rem}
.compact-header .primary-nav a{font-size:.9375rem}
.compact-site .home-people .person-card>img{width:160px!important;max-width:100%;height:200px!important;aspect-ratio:4/5;object-fit:contain;object-position:center;background:transparent}
.compact-site .home-people .person-body{padding-top:1rem}
.assistant-launch{position:fixed;right:1.25rem;bottom:1.25rem;z-index:40;display:flex;align-items:center;gap:.65rem;min-height:48px;background:#175d91;color:white;border:1px solid #fff8;border-radius:28px;padding:.65rem 1rem;font:600 .9375rem Inter,Arial,sans-serif;box-shadow:0 3px 18px #09223526;cursor:pointer}
.assistant-launch span{display:grid;place-items:center;width:22px;height:22px;border:1px solid #fff;border-radius:50%}
.club-assistant{width:min(460px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:1.4rem;margin:auto;border:0;border-radius:12px;color:#101b26;background:#fff}
.club-assistant .dialog-head{gap:1rem;align-items:center;margin:0 0 .8rem}
.club-assistant .dialog-head h2{font-family:'Barlow Condensed',Arial,sans-serif;font-size:1.65rem;letter-spacing:0}
.club-assistant .dialog-close{min-width:44px;min-height:44px;font-size:1.8rem}
.assistant-disclosure{font-size:.875rem;line-height:1.55;color:#536575;margin-bottom:1rem}
.assistant-log{max-height:min(38dvh,340px);overflow:auto;overscroll-behavior:contain;padding-right:.4rem}
.assistant-answer,.assistant-question{font-size:.9375rem;line-height:1.65;padding:.8rem 1rem;border-radius:7px;margin-bottom:.75rem;overflow-wrap:anywhere}
.assistant-answer{background:#edf3f7}.assistant-question{background:#185e91;color:#fff;margin-left:1.5rem}.assistant-answer a{display:inline-block;margin-top:.6rem;color:#145484;text-decoration:underline;text-underline-offset:3px}
.assistant-suggestions{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0}
.assistant-suggestions button{padding:.5rem .7rem;min-height:40px;background:white;border:1px solid #a8bccb;border-radius:20px;font:inherit;font-size:.875rem;color:#175d91;cursor:pointer}
.assistant-form label{display:block;font-size:.875rem;margin-bottom:.4rem}.assistant-form>div{display:flex;gap:.5rem}.assistant-form input{min-width:0;width:100%;border:1px solid #9bafbd;border-radius:4px;padding:.7rem;font:inherit;font-size:1rem}.assistant-form button{border:0;border-radius:4px;background:#ffdf00;padding:.7rem;font:600 .9375rem Inter,Arial,sans-serif;color:#101417;cursor:pointer}
.assistant-contact{display:block;font-size:.875rem;margin-top:1rem;color:#175d91;overflow-wrap:anywhere}
.compact-footer{padding-bottom:70px}
.high-contrast .club-assistant{background:#000;color:white}.high-contrast .assistant-disclosure,.high-contrast .assistant-contact{color:#fff}.high-contrast .assistant-answer{background:#fff;color:#000}
@media(max-width:1250px){.compact-header .primary-nav{display:none}.compact-header .header-news-mobile{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;color:white}.compact-header .brand span{display:none}}
@media(max-width:650px){.compact-header .nav-row{display:grid;grid-template-columns:1fr auto;gap:0 .5rem;padding-top:.25rem;padding-bottom:.5rem}.compact-header .brand{grid-column:1;grid-row:1}.compact-header .header-actions{display:contents}.compact-header .header-trial{grid-column:2;grid-row:1;justify-self:end;max-width:200px}.compact-header .header-news-mobile{grid-column:1;grid-row:2;justify-self:start}.compact-header .header-language{grid-column:2;grid-row:2;justify-self:end;margin-right:53px}.compact-header .menu-toggle{grid-column:2;grid-row:2;justify-self:end;min-width:44px}.compact-header .menu-word{display:none}.compact-header .brand img{width:72px;height:62px}.compact-header .header-trial{font-size:.875rem!important}.assistant-launch{right:.75rem;bottom:.75rem}.club-assistant{padding:1rem}.assistant-disclosure{font-size:.8125rem}.compact-site .home-people .person-card>img{width:105px!important;height:132px!important}.compact-site .home-people .person-body{padding:0}}
@media(min-width:551px) and (max-width:800px){.compact-site .home-people .person-card>img{width:140px!important;height:175px!important}.compact-site .home-people .person-body{padding-top:1rem}}
@media(prefers-reduced-motion:reduce){.assistant-log{scroll-behavior:auto}}

.compact-site .quick-access h2{hyphens:auto;overflow-wrap:normal}
.enlarged .compact-header .header-news-mobile{display:inline-flex}
.enlarged .compact-site .quick-access h2{overflow-wrap:anywhere}.enlarged .fee-summary>div{display:block}.enlarged .fee-summary h3{margin-bottom:.4rem}

/* Training: audience overview and individual activities. */
.visitor-schedule .schedule-filters{display:grid;gap:.75rem}
.schedule-filter-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}
.schedule-filter-row button{white-space:normal;line-height:1.5;min-width:0}
@media(max-width:800px){.schedule-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:400px){.schedule-filter-row{grid-template-columns:1fr}}
.enlarged .schedule-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:800px){.enlarged .schedule-filter-row{grid-template-columns:1fr}}

/* Clear offer pages and results, with one divider below the membership heading. */
.page-mitgliedschaft .membership-fees article:first-child{border-top:0;padding-top:0}
.offer-intro{max-width:720px;line-height:1.7;margin-bottom:1.3rem}
.offer-body{display:grid;grid-template-columns:1fr;gap:1.4rem;padding-top:.8rem}
.offer-copy{max-width:850px}.offer-copy>p{line-height:1.8;margin-bottom:1rem}
.offer-local{color:#425c70}.offer-source{font-size:.875rem;color:#425c70;text-decoration:underline;text-underline-offset:3px}
.offer-body:has(.nimi-logo){grid-template-columns:190px 1fr;gap:2.5rem;align-items:start}
.compact-site .nimi-logo{width:190px;height:auto;object-fit:contain;background:transparent}
.offer-body .anti-doping-content{border-top:1px solid #c9d4dc;padding-top:1.5rem}
.results-archive .archive-intro{max-width:750px;margin-bottom:1.5rem;line-height:1.7}
.result-teams{border-top:1px solid #bccbd7}.result-team{border-bottom:1px solid #bccbd7}
.result-team>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem 0;cursor:pointer}
.result-team>summary::-webkit-details-marker{display:none}.result-team>summary:after{content:'+';font-size:1.4rem;color:#216ca8}.result-team[open]>summary:after{content:'−'}
.result-team>summary strong{display:block;font-size:1.15rem;line-height:1.5;font-weight:650}.result-team>summary small{display:block;color:#536575;font-size:.875rem;margin-top:.25rem}.result-total{margin-left:auto;color:#536575;font-size:.875rem;white-space:nowrap}
.result-team-body{padding-bottom:1.5rem}.result-honours{padding:.8rem 1rem;background:#edf3f7;line-height:1.7;font-size:.875rem!important;margin-bottom:1.4rem}
.result-year{display:grid;grid-template-columns:90px 1fr;gap:1.5rem;padding:1rem 0;border-top:1px solid #dbe3e9}.result-year h3{font-size:1.25rem!important;margin:0!important;color:#216ca8}.result-year ul{list-style:none;margin:0;padding:0}.result-year li{display:flex;justify-content:space-between;gap:1rem;line-height:1.65;padding:.35rem 0}.result-year li small{font-size:.8125rem;white-space:nowrap;color:#536575}
.high-contrast .offer-local,.high-contrast .offer-source,.high-contrast .result-total,.high-contrast .result-team small,.high-contrast .result-year h3{color:white}.high-contrast .result-honours{background:black;color:white;border:1px solid white}
@media(max-width:600px){.offer-body:has(.nimi-logo){grid-template-columns:1fr;gap:1rem}.compact-site .nimi-logo{width:140px}.result-total{display:none}.result-team>summary strong{font-size:1rem}.result-year{grid-template-columns:1fr;gap:.5rem}.result-year li{display:block}.result-year li small{display:block}.result-honours{padding:.8rem}}
.enlarged .membership-fees article{display:block}.enlarged .membership-fees article>p{margin-top:.75rem;text-align:left}
.compact-site img[src*="/portrait-"]:is([src$="-cutout.png"],[src*="-black-shirt-v"]){object-fit:contain!important;object-position:center bottom;background:transparent!important;mix-blend-mode:normal}

.safeguarding-logo{display:block;margin:1.25rem 0 1.5rem}

/* Visible attribution stays below the hero copy, including enlarged text. */
.compact-hero{flex-direction:column;justify-content:center;align-items:stretch}
.compact-hero .hero-ai-note{position:relative;z-index:2;align-self:flex-end;margin:0 1.5rem 1rem;padding:.4rem .6rem;max-width:calc(100% - 3rem);background:#101417e8;color:#fff;font-size:.875rem;line-height:1.5;text-decoration:underline;text-underline-offset:.2em}
.legal.prose{overflow-wrap:anywhere}
.legal.prose h2[id]{scroll-margin-top:2rem}

/* One heading treatment across pages, cards, dialogs and expandable sections.
   CSS preserves readable source text and respects each document's language. */
.compact-site :is(h1,h2,h3,h4,h5,h6,[role="heading"]),
.compact-site summary{text-transform:uppercase;overflow-wrap:anywhere;hyphens:auto}
.compact-site summary :is(small,.result-total){text-transform:none}

/* Keep real content visible at 200% text size instead of clipping overflow. */
.enlarged .compact-site main{overflow-wrap:anywhere}
.enlarged .compact-site :is(.result-year,.safety-panel,.enquiry-intro,.localised-people,.section-heading,.download-list>a)>*{min-width:0}
.enlarged .compact-site .person-card{width:100%;max-width:100%}
.enlarged .compact-site .store-links a{flex-basis:100%;min-width:0}
.enlarged .compact-site .assistant-launch{position:static;display:flex;width:fit-content;max-width:calc(100% - 2rem);margin:1.5rem auto}
.enlarged .compact-site .disclosure summary{padding-inline-end:2rem}

/* Four persistent routes; all other destinations and preferences in the menu. */
.compact-site .compact-header .nav-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.5rem;align-items:center}
.compact-site .compact-header .primary-nav{display:flex;justify-content:center;gap:1.75rem;min-width:0}
.compact-site .compact-header .primary-nav a{text-transform:uppercase;font-weight:650;min-height:44px;line-height:1.4;overflow-wrap:anywhere;hyphens:auto}
.compact-site .compact-header .header-actions{display:flex;grid-column:3;grid-row:1}
.compact-site .compact-header .brand{grid-column:1;grid-row:1}
.compact-site .compact-header .brand span{display:none}
.compact-site .compact-header .menu-toggle{margin:0;grid-area:auto}
.compact-site .compact-header .menu-word{display:none}
.compact-site .compact-menu-links{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:800px){
 .compact-site .compact-header .nav-row{grid-template-columns:1fr auto;gap:.35rem 1rem;padding-block:.5rem}
 .compact-site .compact-header .header-actions{grid-column:2}
 .compact-site .compact-header .primary-nav{display:grid;grid-column:1/-1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem 1rem;border-top:1px solid #ffffff26;padding-top:.35rem}
 .compact-site .compact-header .primary-nav a{justify-content:center;text-align:center}
 .compact-site .compact-menu-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:550px){.compact-site .compact-header .primary-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
.enlarged .compact-site .compact-header .primary-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.enlarged .compact-site .compact-menu-links{grid-template-columns:minmax(0,1fr)}
@media(max-width:600px){.enlarged .compact-site :is(.result-year,.safety-panel,.enquiry-intro,.localised-people){grid-template-columns:minmax(0,1fr)}}
.compact-site .compact-header .header-trial{display:inline-flex!important;background:#ffdf00;color:#101417;text-transform:uppercase;align-items:center;justify-content:center;max-width:15rem;overflow-wrap:anywhere;line-height:1.35}
.compact-site .compact-header .header-actions{min-width:0}
.compact-site .compact-menu{position:fixed;inset:0 0 0 auto;margin:0;width:560px;max-width:100%;height:100dvh;max-height:100dvh;box-sizing:border-box;padding:2rem;background:#fff;border-left:1px solid #d5dde3;overflow-wrap:anywhere}
.compact-site .compact-menu .dialog-head{align-items:center;border:0;margin-bottom:1.75rem;padding:0}
.compact-site .compact-menu .dialog-head h2{font-size:2rem}
.compact-site .compact-menu-links{display:block!important}
.compact-site .menu-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:1.75rem}
.compact-site .menu-shortcuts a{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:#eef3f7;border:0;padding:1rem;font-weight:650;line-height:1.45;min-width:0}
.compact-site .menu-shortcuts a:hover{background:#dcebf6}
.compact-site .menu-section{border-top:1px solid #d5dde3}
.compact-site .menu-section:last-child{border-bottom:1px solid #d5dde3}
.compact-site .menu-section summary{list-style:none;position:relative;padding:1.1rem 2rem 1.1rem 0;cursor:pointer;font:650 1rem/1.5 Inter,Arial,sans-serif;letter-spacing:.035em}
.compact-site .menu-section summary::-webkit-details-marker{display:none}
.compact-site .menu-section summary:after{content:'+';position:absolute;right:.4rem;top:1rem;font-size:1.4rem;line-height:1.2}
.compact-site .menu-section[open] summary:after{content:'−'}
.compact-site .menu-section>div{padding:0 0 1rem 1rem;border-left:3px solid #216ca8;margin-bottom:1rem}
.compact-site .menu-section a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:.55rem 0;border:0;font-size:1rem;line-height:1.5}
.compact-site .menu-legal{display:flex;flex-wrap:wrap;gap:.25rem 1.2rem;margin-top:1.25rem}
.compact-site .menu-legal a{font-size:.875rem;line-height:1.5;border:0;padding:.4rem 0}
.compact-site .menu-legal a span{display:none}
.compact-site .compact-menu .menu-preferences{display:flex;flex-wrap:wrap;gap:.6rem;padding-top:1.2rem;margin-top:1.2rem}
.compact-site .compact-menu .menu-preferences>span{flex-basis:100%;font-size:.875rem;margin-bottom:.25rem}
.compact-site .trial-info{padding-top:2rem}
.compact-site .trial-introduction{font-size:1.25rem;line-height:1.7;max-width:760px;margin:0 0 1.5rem}
.compact-site .trial-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem;margin-top:3rem}
.compact-site .trial-details h2{font-size:1.65rem;margin:0 0 .75rem}
.compact-site .trial-details p{line-height:1.75;margin:0}
.compact-site .trial-holiday{border-left:4px solid #ffdf00;background:#f2f5f7;padding:1rem 1.25rem;margin:2rem 0 0;line-height:1.6}
.compact-site .trial-info+.enquiry-intro{border-top:1px solid #d5dde3}
@media(max-width:1100px){
 .compact-site .compact-header .nav-row{grid-template-columns:1fr auto;gap:.35rem 1rem;padding-block:.5rem}
 .compact-site .compact-header .header-actions{grid-column:2}
 .compact-site .compact-header .primary-nav{display:grid;grid-column:1/-1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem 1rem;border-top:1px solid #ffffff26;padding-top:.35rem}
 .compact-site .compact-header .primary-nav a{justify-content:center;text-align:center}
}
@media(max-width:550px){
 .compact-site .compact-header .primary-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .compact-site .compact-header .header-trial{max-width:10rem;padding:.75rem .6rem!important}
 .compact-site .compact-header .nav-row{column-gap:.5rem}
 .compact-site .compact-menu{padding:1.25rem}
 .compact-site .trial-details{grid-template-columns:minmax(0,1fr);gap:2rem}
}
.enlarged .compact-site .menu-shortcuts,.enlarged .compact-site .trial-details{grid-template-columns:minmax(0,1fr)}
.enlarged .compact-site .compact-header .header-actions{flex-wrap:nowrap}
@media(max-width:600px){.enlarged .compact-site .compact-header .header-trial{max-width:7rem;font-size:.65rem!important}.enlarged .compact-site .compact-header .brand img{width:52px;height:52px}}
/* Text links use their existing border only, including inside prose and on hover. */
.compact-site a.text-link,.compact-site a.text-link:hover{text-decoration:none}
.link-emphasis .compact-site a.text-link{border-bottom:0}
.compact-site a.text-link{max-width:100%;min-width:0;line-height:1.55;hyphens:auto;word-break:normal}
.compact-site a.text-link>span[aria-hidden]{flex-shrink:0}
.compact-site :is(h1,h2,h3,h4,h5,h6,summary){text-wrap:balance;word-break:normal}
.compact-site :is(p,li){text-wrap:pretty}
.compact-site .fee-extra{max-width:80ch;line-height:1.8}
.compact-site .fee-extra p{margin:0 0 .65rem}
.compact-site .fee-extra a{color:#175d91;text-decoration:underline;text-underline-offset:.2em}
.compact-site .membership-fees article>div{min-width:0;flex:1}
.compact-site .membership-fees article>p{flex-shrink:0}
@media(max-width:550px){
 .compact-site .compact-page-heading h1{font-size:clamp(2rem,9vw,2.75rem);line-height:1.1}
 .compact-site .membership-fees h3{line-height:1.5}
 .compact-site .quiet-links{gap:.8rem 1.5rem}
 .compact-site .quiet-links .text-link{width:fit-content}
}
.compact-site main a.text-link{display:inline-block;text-wrap:balance}
.compact-site .hub-community{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:2.5rem;border-bottom:1px solid #d5dde3}
.compact-site .hub-community>div{min-width:0}
.compact-site .hub-community h2{font-size:clamp(1.75rem,3vw,2.5rem);margin-top:.6rem}
.compact-site .hub-community .button{flex-shrink:0}
.enlarged .compact-site .hub-community{flex-direction:column;align-items:flex-start}
@media(max-width:650px){.compact-site .hub-community{flex-direction:column;align-items:flex-start;gap:1.25rem}.compact-site .membership-fees article{align-items:flex-start}}
/* Use the available line width instead of balancing text into extra lines. */
.compact-site :is(h1,h2,h3,h4,h5,h6,summary,p,li),.compact-site main a.text-link{text-wrap:wrap}
.compact-site .page-mitgliedschaft{max-width:none}
.page-mitgliedschaft .membership-fees,.page-mitgliedschaft .fee-extra,.page-mitgliedschaft .compact-page-heading h1{max-width:none;width:100%}
.page-mitgliedschaft .fee-extra{font-size:1rem;line-height:1.65}
.page-mitgliedschaft .membership-next{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:2rem}
.page-mitgliedschaft .prose{max-width:1240px}
.page-mitgliedschaft .membership-fees h3{hyphens:manual;line-height:1.35}
.page-mitgliedschaft .membership-fees article{gap:1rem;padding-block:1.2rem}
.page-mitgliedschaft .membership-fees article>p{flex-direction:row;gap:.6rem;align-items:baseline}
.social-icon{display:inline-block;width:24px;height:24px;flex:0 0 24px;vertical-align:middle}
.compact-site .hub-community .button,.compact-site .instagram-section .section-heading>a{display:inline-flex;align-items:center;gap:.65rem}
.high-contrast .social-icon{color:inherit}
@media(max-width:650px){
 .page-mitgliedschaft .membership-fees article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem .75rem}
 .page-mitgliedschaft .membership-fees article>div{display:contents}
 .page-mitgliedschaft .membership-fees h3{grid-column:1/-1;margin-bottom:.1rem}
 .page-mitgliedschaft .membership-fees article>div>p{grid-column:1;align-self:center}
 .page-mitgliedschaft .membership-fees article>p{grid-column:2;grid-row:2;margin:0;flex-direction:column;gap:0}
 .page-mitgliedschaft .membership-fees strong{font-size:1.75rem;line-height:1.2}
 .page-mitgliedschaft .membership-next{grid-template-columns:minmax(0,1fr);gap:1.25rem}
 .page-mitgliedschaft .membership-next>.quiet-links{margin:0}
}
.enlarged .page-mitgliedschaft .membership-next{grid-template-columns:minmax(0,1fr)}
.compact-site .home-people{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:2rem}
.compact-site .home-people .person-initials{width:160px!important;max-width:100%;height:200px!important;aspect-ratio:4/5;font-size:2rem;background:#dbe3e9;align-self:start}
@media(max-width:1000px){.compact-site .home-people{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:550px){.compact-site .home-people{grid-template-columns:minmax(0,1fr)!important}.compact-site .home-people .person-initials{width:105px!important;height:132px!important}}
.enlarged .compact-site .home-people{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(max-width:650px){.enlarged .compact-site .home-people{grid-template-columns:minmax(0,1fr)!important}}
.compact-site :is(.button,.assistant-form button,.skip){text-transform:uppercase}
.compact-site .download-list>a>span:last-child{flex-shrink:0}
.compact-site .compact-footer .footer-bottom{border-top:0;margin-top:0}

/* Five primary destinations, including the Club Store. */
@media(min-width:551px) and (max-width:1100px){.compact-site .compact-header .primary-nav{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:550px){.compact-site .compact-header .primary-nav>a:last-child:nth-child(odd){grid-column:1/-1}}
.enlarged .compact-site .compact-header .primary-nav>a:last-child:nth-child(odd){grid-column:1/-1}

/* Unified board portraits */
#vorstand .contact-directory article{align-items:center}#vorstand .contact-directory article>img{width:120px;height:150px;object-fit:contain;object-position:center bottom;border-radius:0;background:transparent;flex:0 0 120px}#vorstand .contact-directory article.youth-representative>img{width:120px;height:150px}.office-contact{display:flex;gap:24px;align-items:center}.office-contact>img{width:120px;height:150px;object-fit:contain;flex:0 0 120px}.coach-sources{font-size:.85rem;line-height:1.6}@media(max-width:600px){#vorstand .contact-directory article>img,#vorstand .contact-directory article.youth-representative>img,.office-contact>img{width:96px;height:120px;flex-basis:96px}.office-contact{gap:16px}}
