/* Public federation components; palette and local fonts are inherited from site-base.css. */
.rr-document{scroll-padding-top:0}
.federation-site{--rr-title:clamp(2rem,1.55rem + 1.7vw,3.25rem);--rr-section-title:clamp(1.75rem,1.5rem + .6vw,2.25rem);--rr-section-space:clamp(3rem,2.5rem + 1vw,4rem);font-size:1.0625rem;line-height:1.6}
.federation-site .shell{width:calc(100% - 4rem);max-width:85rem;margin-inline:auto}
.federation-site .section-space{padding-block:var(--rr-section-space)}
.federation-site .section-space+.section-space{padding-top:0}
.federation-site main>.section-space:last-child{padding-bottom:3rem}
.federation-site .section-space.rr-top-line{border-top:0}
.federation-site [id]{scroll-margin-top:calc(var(--rr-header-height,6rem) + 1.25rem)}
.federation-site .arrow-link,.federation-site .source-link{border-bottom:0;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.3em}
.federation-site .arrow-link::after,.federation-site .source-link::after{content:none}
.federation-site h2{font-size:var(--rr-section-title);line-height:1.15}
.federation-site :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.federation-site .section-label{font:600 .875rem/1.5 Manrope,Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.federation-site .eyebrow{font-size:.875rem;line-height:1.5;letter-spacing:.04em}
.federation-site .lead{max-width:72ch;font-size:1.125rem;line-height:1.6;color:var(--muted);margin-top:1rem}
.federation-site .arrow-link,.federation-site .source-link{font-size:.9375rem;line-height:1.5;letter-spacing:0;text-transform:none;padding-block:.625rem;min-height:2.75rem}
.federation-site .source-link{color:var(--gold);text-decoration:underline;text-underline-offset:.3em}
.federation-site .federation-header{position:sticky;top:0;background:var(--bg);min-height:5rem;height:auto;z-index:50;padding:.875rem max(2rem,calc((100% - 85rem)/2));gap:1.5rem}
.federation-brand{display:flex;flex-direction:column;line-height:1;flex-shrink:1;min-width:0}.federation-brand span{display:flex;flex-direction:column}
.federation-brand small{font:600 .6875rem/1.4 Manrope,Arial,sans-serif;letter-spacing:.12em;color:var(--muted);margin-bottom:.25rem}
.federation-brand strong{font:700 1.75rem/1 'Barlow Condensed',sans-serif;letter-spacing:.01em}
.federation-header .federation-brand{flex-direction:row;flex-wrap:wrap;align-items:center;gap:min(.75rem,3vw);flex-shrink:0;max-width:100%}.federation-header .federation-brand>span{min-width:0}
.federation-site .federation-header{flex-wrap:wrap}
.federation-header .federation-brand-logo{display:block;width:4rem;height:auto;object-fit:contain;flex-shrink:0}
.federation-header .desktop-nav{margin-left:auto;gap:clamp(1rem,1.7vw,1.75rem)}.federation-header .desktop-nav a{font-size:.9375rem;padding-block:.75rem}
.federation-site .skip-link{position:fixed;top:-6rem;left:1rem;background:var(--gold);color:var(--bg);padding:.75rem;z-index:100}.federation-site .skip-link:focus{top:.5rem}
/* Original club photograph, with a separate mobile focal point. */
.federation-hero{position:relative;isolation:isolate;background:var(--bg);min-height:clamp(26.25rem,35vw,32.5rem);display:flex;align-items:center}
.federation-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%;z-index:-2}
.federation-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.58) 48%,rgba(0,0,0,.12)),linear-gradient(0deg,var(--bg),transparent 26%)}
.federation-hero-content{padding-block:3rem;max-width:85rem}
.federation-hero-content .section-label{color:var(--ink);margin-bottom:.75rem}
.federation-hero h1{font-size:clamp(3rem,2rem + 2.5vw,4rem);line-height:1.1;text-transform:uppercase;letter-spacing:0}
.federation-hero-cities{font-size:1.125rem;line-height:1.6;max-width:40ch;margin-top:1rem}
.federation-motto{font-size:1.125rem;line-height:1.6;margin-top:.75rem}
.federation-hero-link{display:inline-flex;align-items:center;min-height:2.75rem;margin-top:1.25rem;color:var(--ink);font-size:1rem;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.35em}
.club-choices{padding-top:2rem}
.federation-quote{margin-top:1.25rem;font-size:1.0625rem;line-height:1.6;color:var(--muted)}
.federation-quote>p{margin:0}
.federation-quote blockquote{margin:1.25rem 0 0;padding:clamp(1rem,1.5vw,1.5rem);border-left:3px solid var(--gold);background:rgba(255,255,255,.045);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:clamp(1.25rem,1.05rem + .65vw,1.625rem);font-weight:700;line-height:1.45;text-transform:none;letter-spacing:0}
.federation-site .federation-quote blockquote p{margin:0;font:inherit;color:inherit;letter-spacing:inherit}
.club-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.club-card{display:flex;flex-direction:column;align-items:center;min-width:0;padding:.5rem .25rem;text-align:center}
.club-card-emblem{display:grid;place-items:center;width:min(100%,13.125rem);aspect-ratio:1}
.club-card-emblem img{display:block;width:100%;height:100%;object-fit:contain}
.club-card-caption{margin-top:.625rem;color:var(--gold);font:500 .9375rem/1.5 Manrope,Arial,sans-serif;text-decoration:underline;text-underline-offset:.3em}
.club-card-fallback{font:600 1.125rem/1.5 Manrope,Arial,sans-serif;overflow-wrap:anywhere}
.club-card-emblem [hidden]{display:none}
.club-card:focus-visible .club-card-emblem,.club-card:active .club-card-emblem{filter:drop-shadow(0 0 .35rem rgb(245 215 145 / .9)) drop-shadow(0 0 .9rem rgb(214 185 111 / .65))}
@media(hover:hover){.club-card:hover .club-card-emblem{filter:drop-shadow(0 0 .35rem rgb(245 215 145 / .9)) drop-shadow(0 0 .9rem rgb(214 185 111 / .65))}}
.rr-ipa-home{background:var(--panel);padding-block:var(--rr-section-space);margin-bottom:3rem}
.rr-ipa-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(2rem,4vw,4rem)}
.rr-ipa-logos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.3fr);align-items:center;gap:clamp(.625rem,1.5vw,1.5rem);width:100%;max-width:36rem;justify-self:center}
.rr-ipa-logos img{width:100%;height:auto;object-fit:contain}
.rr-ipa-copy{min-width:0}.federation-site .rr-ipa-copy h2{font-size:clamp(2rem,1.25rem + 2vw,3.25rem);line-height:1.12}
.rr-ipa-copy>p:not(.section-label){margin-top:1rem;color:var(--muted);font-size:1.0625rem;line-height:1.6;max-width:70ch}
.rr-ipa-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.5rem}
.federation-about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:center}
.federation-about .intro-copy{padding:0;margin:0;max-width:70ch}.federation-about .intro-copy>p{font-size:1.0625rem;line-height:1.6;margin:1rem 0;color:var(--muted)}
.federation-about .intro-copy .arrow-link{margin:.5rem 1.5rem 0 0}.federation-about .intro-copy .rr-signoff{margin-top:1.25rem;font-size:.875rem}
.rr-top-line{border-top:1px solid var(--line)}.rr-federation-photo{margin:0;min-width:0}.rr-federation-photo>img{width:100%;height:auto;object-fit:contain}
.rr-federation-photo>figcaption{padding-top:.625rem;font-size:.875rem;line-height:1.5;color:var(--muted)}
.rr-photo-unavailable{color:var(--muted);padding-block:.75rem}.rr-federation-photo.is-unavailable>img{display:none}
.rr-federation-info{margin-bottom:2rem}.rr-federation-info .prose .lead{margin-top:0}.rr-federation-info .other-clubs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.25rem;gap:.5rem 1.25rem}
.section-heading{display:flex;justify-content:space-between;gap:1rem 2rem;align-items:baseline;margin-bottom:1.5rem}.section-heading h2{font-size:var(--rr-section-title)}.section-heading .arrow-link{flex-shrink:1;max-width:100%}
.rr-content-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(20rem,calc((100% - 3rem)/3))),1fr));gap:2.5rem 1.5rem}.rr-content-grid>*{min-width:0}
.rr-content-grid img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:var(--panel)}
.rr-story-card-media{display:block}
.rr-story-card-cover{aspect-ratio:3/2}
.rr-content-grid h3,.rr-page-list h2{font:700 clamp(1.25rem,1.1rem + .25vw,1.5rem)/1.35 Manrope,Arial,sans-serif;text-transform:none;letter-spacing:0;margin:.625rem 0;overflow-wrap:normal;hyphens:none}
.rr-publication-meta{display:flex;flex-wrap:wrap;gap:.25rem .75rem;font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:.875rem}
.rr-publication-meta a,.rr-publication-meta .rr-publication-scope{color:var(--gold)}.rr-archive-note{font-size:.875rem;color:var(--muted);line-height:1.5}
.rr-story-card>p:not(.rr-publication-meta):not(.rr-archive-note){color:var(--muted);font-size:1.0625rem;line-height:1.6}.rr-story-card .source-link{display:inline-block;margin-top:.5rem}
.rr-album-card:hover h3,.rr-story-card h3 a:hover{color:var(--gold)}.empty-state{grid-column:1/-1;color:var(--muted);padding-block:1.5rem}
.federation-site .page-heading{padding:2.25rem 0 1.75rem}.federation-site .page-heading h1{font-size:var(--rr-title);line-height:1.12;text-transform:uppercase;max-width:75rem;letter-spacing:-.01em}
.federation-site .page-heading .lead{margin-top:1rem}.federation-site .page-heading time{display:inline-block;margin-top:0;color:var(--muted);font-size:.9375rem}
.federation-site .page-heading.publication-heading h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(1.75rem,1.35rem + 1.25vw,2.75rem);line-height:1.25;text-transform:none;letter-spacing:-.02em;max-width:35ch}
.club-local-nav{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;padding-block:.625rem;border-block:1px solid var(--line);font-size:.9375rem}.club-local-nav a{display:inline-flex;align-items:center;min-height:2.75rem}
.club-local-nav>a:first-child{color:var(--gold)}.club-local-nav>a:last-child{margin-left:auto}.club-local-nav+section{margin-top:1.75rem}
.prose{font-size:1.0625rem;line-height:1.65;color:var(--muted);max-width:72ch}.prose p+p{margin-top:1.25rem}
.prose h2,.prose h3{color:var(--ink);font-family:Manrope,Arial,sans-serif;text-transform:none;letter-spacing:0;line-height:1.3;font-size:1.625rem;margin:2rem 0 1rem}
.prose a{color:var(--ink);text-decoration:underline;text-underline-offset:.25em}.prose ul,.prose ol{padding-left:1.5rem;margin:1.25rem 0;list-style:revert}.prose li+li{margin-top:.625rem}
.prose img{max-width:100%;height:auto;margin:1.5rem 0}.prose figure{margin:2rem 0}.prose figcaption{font-size:.875rem}.prose iframe{max-width:100%}
.rr-article{padding-bottom:var(--rr-section-space)}.rr-article>.prose{margin-inline:auto}.rr-article>.arrow-link{margin-top:2rem}
.article-cover{width:100%;max-height:38rem;object-fit:contain;margin-bottom:2rem}
.other-clubs{display:flex;flex-wrap:wrap;gap:.5rem 2rem}.other-clubs a{border-bottom:0;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.3em;padding-block:.625rem;min-height:2.75rem}
.rr-listing{padding-bottom:3rem}.rr-listing>.prose{margin-bottom:2rem}.rr-listing>.lead{margin-top:0;margin-bottom:1.5rem}
.rr-filters{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;margin-bottom:1.75rem;padding-block:0 1.5rem;border-bottom:1px solid var(--line)}
.rr-filters label{max-width:100%;font-size:.9375rem;color:var(--muted);display:grid;grid-template-columns:minmax(0,1fr);gap:.375rem;min-width:0}
.rr-filters select,.rr-filters input{background:var(--panel);border:1px solid var(--muted);border-radius:0;padding:.625rem min(2rem,8vw) .625rem min(.875rem,4vw);color:var(--ink);min-height:3rem;font-size:clamp(.75rem,.625rem + 1.875vw,1rem);max-width:100%}
.rr-filters select[name=klub]{width:22rem}.rr-filters select[name=rok]{width:13rem}
.rr-filters button{background:var(--gold);color:var(--bg);padding:.625rem 1.5rem;min-height:3rem;font-size:1rem;font-weight:700}
.rr-filters>a{font-size:.9375rem;padding:.625rem 0;min-height:3rem;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:.25em}
.rr-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 2rem;border-top:1px solid var(--line);margin-top:2.5rem;padding-block:1.5rem;font-size:.9375rem}
.rr-pagination a{border-bottom:1px solid var(--gold);padding-block:.625rem;min-height:2.75rem}
.rr-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 1.25rem}
.rr-photo-grid img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:var(--panel)}.rr-photo-grid figcaption{margin-top:.5rem;color:var(--muted);font-size:.875rem}
.rr-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:0}.rr-contact-grid section{border-top:1px solid var(--line);padding-top:1.25rem;min-width:0}
.rr-contact-grid h2{font-size:var(--rr-section-title);margin-bottom:.75rem}.rr-contact-grid a{display:block;padding-block:.5rem;width:fit-content;min-height:2.75rem;color:var(--gold);text-decoration:underline;text-underline-offset:.25em;overflow-wrap:anywhere}
.rr-page-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;gap:2rem}.rr-page-list article{border-top:1px solid var(--line);padding-top:1rem}
.rr-page-list h2 a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.2em}
.rr-page-list .eyebrow{color:var(--muted);text-transform:none;letter-spacing:0;margin-bottom:.5rem}.rr-page-list p:not(.eyebrow){color:var(--muted);margin:.75rem 0 .375rem;font-size:1.0625rem;line-height:1.6}.rr-page-list .source-link{display:inline-block}
.preview-notice{background:var(--gold);color:var(--bg);padding:1rem;margin-top:1.25rem}.preview-notice a{text-decoration:underline}
.rr-mobile-navigation{position:fixed;inset:var(--rr-header-height,5rem) 0 0;background:var(--bg);z-index:49;padding:1rem 1.5rem;overflow:auto}.rr-mobile-navigation a{display:block;padding:.5rem 0;font-size:1.125rem;min-height:2.75rem}
.rr-mobile-navigation .mobile-club{font-size:1rem;color:var(--gold);padding-left:1rem}.rr-menu-toggle span{height:1px;background:var(--ink);display:block;width:1.75rem;margin:.5rem 0}.rr-menu-toggle{min-width:2.75rem;min-height:2.75rem}
#photo-viewer{border:0;padding:2.5rem 4rem;background:var(--bg);color:var(--ink);width:100vw;height:100dvh;max-width:none;max-height:none;position:fixed;inset:0;margin:0}
#photo-viewer::backdrop{background:rgba(0,0,0,.95)}#photo-viewer[open]{display:flex;align-items:center;justify-content:center}#photo-viewer figure{max-width:100%;margin:0}
#photo-viewer img{max-width:100%;max-height:80dvh;object-fit:contain;margin:auto}#photo-viewer figcaption{text-align:center;font-size:.9375rem;padding:.75rem}
#photo-viewer button{position:absolute;font-size:2.25rem;min-width:3rem;min-height:3rem;background:var(--panel)}.lightbox-close{right:.75rem;top:.625rem}.lightbox-prev{left:.5rem;top:48%}.lightbox-next{right:.5rem;top:48%}
.lightbox-counter{position:absolute;bottom:.75rem;left:0;right:0;text-align:center;font-size:.875rem}
.federation-site .footer{padding-top:0}.federation-site .footer-top{padding-block:1.25rem}.federation-site .footer-ipa-motto{display:block;font-size:.9375rem;color:var(--muted)}.federation-site .footer-top .federation-brand strong{font-size:2rem}.federation-site .footer-top .federation-brand small{font-size:.6875rem}
.federation-site .footer-grid{gap:1.5rem;padding-block:1.5rem;grid-template-columns:repeat(4,minmax(0,1fr))}.federation-site .footer-grid .eyebrow{font-size:.875rem;color:var(--muted);margin-bottom:.75rem;letter-spacing:.04em}
.federation-site .footer-grid a{font-size:.9375rem;line-height:1.5;padding-block:.25rem;margin:0;min-height:2rem}.federation-site .footer-bottom{justify-content:space-between;font-size:.875rem;letter-spacing:0;color:var(--muted);padding-block:1rem}.federation-site .footer-bottom a{padding-block:.5rem}
.legacy-prose .section-label,.legacy-prose .breadcrumb{display:none}.legacy-prose .source-note,.legacy-prose .rr-guide-meta{font-size:.875rem}.legacy-prose .shell{width:100%}
.legacy-prose :is(.guide-section>p,.guide-section li,.guide-note p,.guide-takeaway>p:last-child){font-size:1.0625rem;line-height:1.65}
.legacy-prose .guide-contents a,.legacy-prose .guide-sources a{font-size:.9375rem}.legacy-prose .guide-layout{display:block;padding-block:1.5rem}.legacy-prose .guide-contents{position:static;margin-bottom:2rem}.legacy-prose .guide-section h2{font-size:1.625rem}
@media(max-width:68rem){
.federation-site .desktop-nav{display:none}.federation-site .menu-toggle{display:block;margin-left:auto}.rr-content-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr))}.federation-site .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:64rem){.club-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rr-ipa-layout{grid-template-columns:minmax(0,1fr);gap:2rem}.rr-ipa-copy{max-width:70ch}}
@media(max-width:47.99rem){
.federation-site{--rr-section-space:2.25rem}
.federation-site main>.section-space:last-child,.rr-listing{padding-bottom:2rem}
.rr-mobile-navigation a[aria-current]{color:var(--gold)}
.rr-federation-info .other-clubs{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}
.federation-header .federation-brand-logo{width:min(3rem,15vw)}
.federation-site .shell{width:calc(100% - min(2.5rem,10vw))}.federation-site .federation-header{padding:.875rem min(1.25rem,5vw);gap:min(1.5rem,4vw)}.federation-site .brand>span{display:flex}.federation-brand strong{font-size:1.625rem}
.federation-site .page-heading{padding-block:1.5rem}.federation-site .page-heading h1{font-size:clamp(1.5rem,1rem + 4vw,2.25rem)}.federation-site .page-heading.publication-heading h1{font-size:calc(1rem + 3vw);overflow-wrap:anywhere;hyphens:auto}
.federation-site .lead,.federation-motto{font-size:1.0625rem}
.federation-hero{min-height:30rem}.federation-hero-content{padding-block:2.5rem}.federation-hero h1{font-size:clamp(2.5rem,2rem + 4vw,3.75rem)}
.federation-hero-photo{object-position:60% 58%}.federation-hero::before{background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.5)),linear-gradient(0deg,var(--bg),transparent 30%)}
.federation-hero-cities{font-size:1.0625rem;max-width:28ch}.club-choices{padding-top:1.5rem}.federation-quote blockquote{padding-left:1rem}
.federation-site .footer-ipa-motto{margin-top:.75rem}
.club-card-grid{gap:1.5rem 1rem}
.rr-ipa-home{margin-bottom:2rem}
.rr-ipa-logos{grid-template-columns:minmax(0,1fr);gap:1.25rem}.rr-ipa-club-logo{max-width:8rem;justify-self:center}.rr-ipa-banner{max-width:25rem;justify-self:center}
.federation-about{grid-template-columns:1fr;gap:1.5rem}.section-heading{flex-wrap:wrap;gap:.5rem 1.25rem}.rr-content-grid,.rr-page-list{grid-template-columns:minmax(0,1fr);gap:2rem}.rr-content-grid h3,.rr-page-list h2{hyphens:auto;overflow-wrap:anywhere}
.club-local-nav{gap:.25rem 1.25rem}.club-local-nav>a:first-child{flex-basis:100%}.club-local-nav>a:last-child{margin-left:0}
.rr-filters{gap:.75rem}.rr-filters label{flex:1 1 13rem}.rr-filters select[name]{width:100%}.rr-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem .75rem}
.rr-contact-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem;margin-top:0}
#photo-viewer{padding:3.75rem .75rem}#photo-viewer img{max-height:72dvh}.lightbox-prev,.lightbox-next{top:auto;bottom:1.25rem}.lightbox-counter{bottom:2.25rem;padding-inline:4rem}
.federation-site .footer-top{display:block}.federation-site .footer-grid{gap:1.5rem 1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}.federation-site .footer-grid>div:first-child{grid-column:auto}.federation-site .footer-bottom{flex-wrap:wrap;gap:.5rem}
}
@media(max-width:23rem){.federation-site .shell{width:calc(100% - min(2rem,10vw))}.federation-site .footer-grid{grid-template-columns:1fr}}
@media(max-width:23.99rem){.club-card-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
