:root{--ink:#0b0b0c;--paper:#f2f0eb;--white:#fff;--red:#ba1c2b;--gold:#e2a328;--muted:#6f6e6a;--line:rgba(11,11,12,.14);--display:"Barlow Condensed",Impact,sans-serif;--body:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select{font:inherit}.container{width:min(1240px,calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:16px;z-index:9999;background:#fff;padding:10px 16px;color:#000}.skip-link:focus{top:16px}.site-header{position:fixed;inset:0 0 auto;z-index:100;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.16);color:#fff;transition:.3s}.site-header.scrolled{background:rgba(9,9,10,.94);padding:11px 0;backdrop-filter:blur(14px)}.nav-wrap,.brand,.nav{display:flex;align-items:center}.nav-wrap{justify-content:space-between}.brand{gap:13px}.brand-mark{width:49px;height:49px;border:2px solid var(--gold);display:grid;place-content:center;position:relative;line-height:.75;transform:skew(-5deg);font-family:var(--display);font-weight:900;text-align:center}.brand-mark i{font-size:12px;color:var(--gold);font-style:normal;letter-spacing:2px}.brand-mark b{font-size:22px}.brand-copy{display:flex;flex-direction:column;line-height:1.1;text-transform:uppercase}.brand-copy strong{font:800 20px var(--display);letter-spacing:1.6px}.brand-copy small{font-size:8px;letter-spacing:1.25px;margin-top:3px}.nav{gap:31px;font-size:13px;font-weight:600}.nav>a:not(.nav-cta){position:relative}.nav>a:not(.nav-cta)::after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:-9px;background:var(--gold);transition:.25s}.nav>a:hover::after,.nav>a.active::after{right:0}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;text-transform:uppercase;font-size:12px;letter-spacing:1.2px;font-weight:700}.nav-cta{padding:12px 15px;border:1px solid rgba(255,255,255,.45)}.nav-cta:hover{background:#fff;color:#111}.menu-toggle{display:none;border:0;background:none;width:44px;height:44px}.menu-toggle span{display:block;width:24px;height:2px;background:white;margin:6px auto}.hero{height:max(720px,100svh);min-height:680px;position:relative;background:#080809;color:#fff;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(4,4,5,.97) 0%,rgba(4,4,5,.8) 31%,rgba(4,4,5,.15) 67%,rgba(4,4,5,.25) 100%),linear-gradient(0deg,rgba(4,4,5,.85),transparent 30%)}.hero-inner{position:relative;padding-top:clamp(150px,20vh,210px);z-index:2}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:2.6px;font-size:11px;font-weight:700;display:flex;align-items:center;gap:12px}.eyebrow{color:#d3d1cd}.eyebrow>span{width:34px;height:2px;background:var(--gold)}h1,h2{font-family:var(--display);text-transform:uppercase;line-height:.82;margin:28px 0;font-weight:800;letter-spacing:-2px}h1{font-size:clamp(64px,7.5vw,118px);max-width:760px}h1 em,h2 em{font-style:italic;color:var(--gold)}.hero-inner>p{color:#c9c8c4;max-width:470px;font-size:17px}.hero-actions{display:flex;align-items:center;gap:37px;margin-top:38px}.button{border:0;cursor:pointer;padding:18px 23px;min-width:198px}.button-primary{background:var(--red);color:#fff}.button-primary:hover{background:#d12334}.text-link{display:flex;align-items:center;gap:13px;text-transform:uppercase;font-size:11px;letter-spacing:1.3px;font-weight:700}.play{border:1px solid rgba(255,255,255,.45);width:38px;height:38px;border-radius:50%;display:grid;place-content:center;font-size:8px;padding-left:2px}.hero-foot{position:absolute;bottom:29px;left:50%;transform:translateX(-50%);z-index:2;display:flex;align-items:flex-end;gap:46px}.hero-foot>div{display:flex;gap:11px;align-items:flex-start}.hero-foot span{color:var(--gold);font:700 11px var(--body)}.hero-foot p{margin:0;color:#bbb;font-size:11px;line-height:1.45;text-transform:uppercase;letter-spacing:1px}.hero-foot>a{margin-left:auto;text-transform:uppercase;letter-spacing:1.8px;font-size:9px;color:#aaa;writing-mode:vertical-rl;display:flex;gap:12px;align-items:center}.hero-foot>a i{color:var(--gold);font-size:16px}.section{padding:120px 0}.section-kicker{color:#52504c}.section-kicker span{color:var(--red);font-size:10px}.section-kicker::after{content:"";width:40px;height:1px;background:currentColor;opacity:.45}.intro-grid{display:grid;grid-template-columns:1fr 2fr}.intro-copy h2,.section-head h2,.events h2,.news h2,.join h2{font-size:clamp(58px,7vw,96px);margin:0}.intro-copy>p{max-width:650px;margin:42px 0;color:#5f5e5a;font-size:18px}.arrow-link{display:inline-flex;align-items:center;gap:45px;border-bottom:1px solid #bbb;padding-bottom:8px;text-transform:uppercase;font-size:11px;letter-spacing:1.4px;font-weight:700}.arrow-link span{color:var(--red);font-size:16px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:90px;border-block:1px solid var(--line)}.stat-grid article{background:var(--paper);padding:35px 45px}.stat-grid strong{font:800 72px var(--display)}.stat-grid sup{font:800 25px var(--display);color:var(--red);vertical-align:top}.stat-grid h3{font:700 19px var(--display);text-transform:uppercase;margin:5px 0}.stat-grid p{font-size:13px;color:var(--muted);max-width:240px}.mission{background:#111113;color:#fff;position:relative;overflow:hidden}.mission-grid{display:grid;grid-template-columns:1fr 2fr;position:relative;z-index:1}.section-kicker.light{color:#aaa}.mission h2{font-size:clamp(58px,7vw,96px);margin:0 0 54px}.value-list{border-top:1px solid #38383b}.value-list article{display:grid;grid-template-columns:60px 1fr;padding:26px 0;border-bottom:1px solid #38383b}.value-list>article>span{color:var(--gold);font-size:11px}.value-list h3{font:700 34px var(--display);text-transform:uppercase;margin:0}.value-list p{margin:5px 0;color:#9c9c9d;max-width:510px;font-size:14px}.mission-art{position:absolute;inset:auto auto -150px -90px;width:460px;height:460px;border:1px solid rgba(226,163,40,.12);border-radius:50%;display:grid;place-content:center;color:rgba(226,163,40,.05);font:900 210px var(--display);transform:rotate(-12deg)}.mission-art::after,.mission-art::before{content:"";position:absolute;border:1px solid rgba(226,163,40,.1);border-radius:50%;inset:30px}.mission-art::after{inset:75px}.section-head{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:end;margin-bottom:60px}.section-head>p{color:var(--muted);font-size:14px;max-width:300px}.programme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.programme-card{min-height:440px;border:1px solid var(--line);padding:25px;display:flex;flex-direction:column;transition:.3s}.programme-card:hover{transform:translateY(-6px);border-color:var(--red)}.programme-card.featured{background:var(--red);color:#fff;border-color:var(--red)}.card-no{font:600 11px var(--body);margin-left:auto}.card-icon{font-size:55px;margin-top:55px;color:var(--red)}.featured .card-icon{color:#fff}.programme-card>div:last-child{margin-top:auto}.programme-card h3{font:700 31px var(--display);text-transform:uppercase;line-height:1;margin:0}.programme-card p{font-size:13px;color:var(--muted);min-height:64px}.featured p{color:#f1ced2}.programme-card a{border-top:1px solid currentColor;padding-top:16px;margin-top:20px;display:flex;justify-content:space-between;text-transform:uppercase;font-size:10px;letter-spacing:1.4px;font-weight:700}.events{background:#18181a;color:#fff}.events-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:60px}.light-link{border-color:#555}.light-link span{color:var(--gold)}.event-list{border-top:1px solid #3b3b3d}.event-list article{display:grid;grid-template-columns:155px 1fr 50px;align-items:center;border-bottom:1px solid #3b3b3d;padding:26px 0}.event-list time{display:flex;flex-direction:column;font:700 22px/1 var(--display);text-transform:uppercase}.event-list time span{color:#888;font-size:16px;margin-top:6px}.tag{color:var(--gold);font-size:9px;letter-spacing:1.5px;text-transform:uppercase}.event-list h3{font:700 29px var(--display);text-transform:uppercase;margin:6px 0 0}.event-list p{color:#888;font-size:12px;margin:2px 0}.event-list>a{width:44px;height:44px;border:1px solid #555;display:grid;place-content:center}.event-list>a:hover{background:var(--red);border-color:var(--red)}.section-head.row{display:flex;justify-content:space-between}.news-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.news-lead{display:grid;grid-template-columns:1fr 1fr;background:#e6e3dc}.news-visual{min-height:400px;background:repeating-linear-gradient(-35deg,#111 0,#111 18px,#161617 18px,#161617 35px);position:relative;overflow:hidden;display:grid;place-content:center;color:#252528;font:900 65px var(--display);writing-mode:vertical-rl}.news-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 40%,rgba(186,28,43,.4))}.news-visual b{position:absolute;bottom:15px;left:20px;color:var(--gold);font-size:14px;writing-mode:initial}.news-body{padding:38px;display:flex;flex-direction:column}.news-body small,.news-side small{font-size:9px;text-transform:uppercase;letter-spacing:1.4px;color:var(--red)}.news-body h3,.news-side h3{font:700 34px/1.05 var(--display);text-transform:uppercase}.news-body p{font-size:13px;color:var(--muted)}.news-body a{margin-top:auto;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:1.4px;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px}.news-side{display:grid;grid-template-rows:1fr 1fr;gap:18px}.news-side article{border:1px solid var(--line);padding:32px;position:relative}.news-side h3{max-width:380px}.news-side a{position:absolute;right:24px;bottom:22px;color:var(--red);font-size:20px}.join{background:var(--red);color:#fff;padding:110px 0}.join-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px}.join .section-kicker span,.join h2 em{color:var(--gold)}.join-form>p{margin-top:0;color:#f1cbd0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.join-form label{display:block;margin-bottom:18px}.join-form label span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.3px;margin-bottom:6px}.join-form input,.join-form select{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.6);background:transparent;color:white;padding:10px 0;outline:none}.join-form input::placeholder{color:#e7aab1}.join-form select option{color:#111}.join-form .button{background:#111;margin-top:15px}.form-status{font-size:13px;margin-top:15px!important;color:#fff!important;min-height:20px}.footer{background:#0a0a0b;color:#fff;padding:75px 0 25px}.footer-main{display:grid;grid-template-columns:1.2fr 1.4fr 1fr;gap:70px;padding-bottom:70px}.footer-main>p{color:#858587;max-width:340px;font-size:13px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:40px}.footer-links div{display:flex;flex-direction:column;gap:7px}.footer-links strong{text-transform:uppercase;color:var(--gold);font-size:10px;letter-spacing:1.5px;margin-bottom:9px}.footer-links a{font-size:12px;color:#aaa}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid #2c2c2e;padding-top:22px;display:flex;justify-content:space-between;color:#656568;text-transform:uppercase;font-size:9px;letter-spacing:1.3px}
@media(max-width:900px){.container{width:min(100% - 32px,1240px)}.nav{position:fixed;inset:0;background:#0b0b0c;display:flex;flex-direction:column;justify-content:center;gap:25px;transform:translateX(100%);transition:.3s;font:700 35px var(--display);text-transform:uppercase}.nav.open{transform:none}.nav-cta{font:700 13px var(--body)}.menu-toggle{display:block;position:relative;z-index:2}.menu-toggle.open span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle.open span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero-image{object-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(4,4,5,.95),rgba(4,4,5,.35)),linear-gradient(0deg,rgba(4,4,5,.9),transparent 40%)}.hero-foot>div{display:none}.intro-grid,.mission-grid,.section-head,.join-inner{grid-template-columns:1fr;gap:45px}.stat-grid{grid-template-columns:1fr}.section-head>p{max-width:500px}.programme-grid{grid-template-columns:1fr 1fr}.programme-card:last-child{grid-column:1/-1}.news-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr 1fr}.footer-main>p{order:3}.footer-links{grid-column:2;grid-row:1/3}.section{padding:85px 0}}
@media(max-width:600px){.container{width:calc(100% - 28px)}.brand-copy{display:none}.site-header{padding:12px 0}.brand-mark{width:43px;height:43px}.hero{min-height:720px}.hero-inner{padding-top:150px}h1{font-size:61px;letter-spacing:-1px}.hero-inner>p{font-size:14px;max-width:320px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-foot{bottom:18px}.section{padding:72px 0}.intro-copy h2,.section-head h2,.events h2,.news h2,.join h2,.mission h2{font-size:53px}.intro-copy>p{font-size:15px;margin:30px 0}.stat-grid{margin-top:60px}.stat-grid article{padding:25px}.mission-grid{gap:35px}.programme-grid{grid-template-columns:1fr}.programme-card:last-child{grid-column:auto}.programme-card{min-height:360px}.events-top{display:block}.events-top>a{margin-top:25px}.event-list article{grid-template-columns:75px 1fr 35px;gap:7px}.event-list h3{font-size:23px}.event-list p{display:none}.event-list>a{width:34px;height:34px}.news-lead{grid-template-columns:1fr}.news-visual{min-height:250px;writing-mode:initial}.news-side article{min-height:210px}.field-row{grid-template-columns:1fr}.join-inner{gap:45px}.footer-main{grid-template-columns:1fr;gap:28px}.footer-links{grid-column:auto;grid-row:auto}.footer-main>p{order:initial}.footer-bottom{flex-direction:column;gap:10px}}
/* Motion system: enabled progressively by JavaScript so content stays visible without JS. */
.motion-ready .site-header{animation:nav-drop .75s cubic-bezier(.22,1,.36,1) both}.motion-ready .hero-image{--hero-shift:0px;transform:translate3d(0,var(--hero-shift),0) scale(1.045);animation:hero-focus 1.8s cubic-bezier(.22,1,.36,1) both;will-change:transform}.motion-ready .hero .eyebrow,.motion-ready .hero h1,.motion-ready .hero-inner>p,.motion-ready .hero-actions,.motion-ready .hero-foot{opacity:0;animation:hero-rise .85s cubic-bezier(.22,1,.36,1) both}.motion-ready .hero .eyebrow{animation-delay:.18s}.motion-ready .hero h1{animation-delay:.3s}.motion-ready .hero-inner>p{animation-delay:.44s}.motion-ready .hero-actions{animation-delay:.56s}.motion-ready .hero-foot{animation-delay:.75s}.reveal{opacity:0;transform:translate3d(0,38px,0);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}.reveal.reveal-left{transform:translate3d(-38px,0,0)}.reveal.reveal-scale{transform:scale(.94)}.reveal.is-visible{opacity:1;transform:none}.programme-card.reveal.is-visible:hover{transform:translateY(-6px)}.stat-grid article.reveal.is-visible:hover,.news-side article.reveal.is-visible:hover{transform:translateY(-4px)}.stat-grid article,.news-side article,.event-list article{transition:border-color .3s,background-color .3s,transform .3s}.event-list article:hover{background:rgba(255,255,255,.025)}.event-list article:hover>a{transform:rotate(45deg);background:var(--red);border-color:var(--red)}.event-list>a,.programme-card a span,.news-body a span,.arrow-link span,.button span{transition:transform .3s cubic-bezier(.22,1,.36,1)}.programme-card:hover a span,.news-body a:hover span,.arrow-link:hover span,.button:hover span{transform:translate(3px,-3px)}.play{transition:transform .3s,background-color .3s}.text-link:hover .play{transform:scale(1.1);background:rgba(255,255,255,.12)}.brand-mark{transition:transform .35s cubic-bezier(.22,1,.36,1),background-color .35s}.brand:hover .brand-mark{transform:skew(-5deg) rotate(-4deg) scale(1.04);background:rgba(226,163,40,.08)}.section-kicker::after{transform-origin:left;transition:transform .7s .25s}.reveal.section-kicker::after,.reveal .section-kicker::after{transform:scaleX(0)}.reveal.is-visible.section-kicker::after,.is-visible .section-kicker::after{transform:scaleX(1)}.mission-art{animation:seal-spin 35s linear infinite}.news-visual span{transition:letter-spacing .6s,color .6s}.news-lead:hover .news-visual span{letter-spacing:7px;color:#343438}.news-visual::after{transition:opacity .5s}.news-lead:hover .news-visual::after{opacity:.65}.join-form input:focus,.join-form select:focus{border-color:var(--gold)}
@keyframes nav-drop{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:none}}@keyframes hero-rise{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}@keyframes hero-focus{from{opacity:.35;transform:translate3d(0,var(--hero-shift),0) scale(1.12)}to{opacity:1;transform:translate3d(0,var(--hero-shift),0) scale(1.045)}}@keyframes seal-spin{to{transform:rotate(348deg)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}.motion-ready .hero .eyebrow,.motion-ready .hero h1,.motion-ready .hero-inner>p,.motion-ready .hero-actions,.motion-ready .hero-foot{opacity:1!important}.motion-ready .hero-image{transform:none!important}}

/* Federation identity — gold, oxblood and warm ivory. */
:root{--paper:#f6f3ec;--red:#7d1420;--gold:#e7b957;--muted:#716d65;--line:rgba(55,43,22,.16)}
::selection{background:var(--gold);color:#111}
section[id]{scroll-margin-top:100px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.brand-logo{border-radius:50%;width:68px;height:68px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 10px #0005)}
.brand-copy strong{font-size:24px;letter-spacing:2px}
.brand-copy small{font-size:8px;letter-spacing:1.4px;max-width:195px;line-height:1.5}
.site-header{padding:12px 0;background:linear-gradient(180deg,#080808e8,#08080875);border-color:#e7b95726}
.site-header.scrolled{padding:7px 0;background:#080808f2}
.nav{gap:25px}
.nav-cta{border-color:#e7b95780;color:var(--gold);padding:13px 17px}
.nav-cta:hover{background:var(--gold);color:#14110b}
.hero{height:max(800px,100svh);max-height:1100px}
.hero-image{object-position:65% center}
.hero-shade{background:linear-gradient(90deg,#070707f7 0%,#070707d9 27%,#07070745 66%,#0707071a),linear-gradient(0deg,#070707 0%,transparent 40%)}
.hero-inner{padding-top:clamp(170px,21vh,230px)}
.eyebrow{font-size:10px;letter-spacing:3.2px;color:#e3c891}
h1{font-size:clamp(76px,7.8vw,118px);line-height:.9;letter-spacing:-1.5px;margin:27px 0}
h1 em{color:var(--gold)}
.hero-inner>p{font-size:16px;line-height:1.8;max-width:420px;color:#c6c2ba}
.button{min-height:54px;transition:background .25s,box-shadow .25s,transform .25s}
.button-primary{background:linear-gradient(115deg,#efc96f,#d6a13d);color:#17120a;box-shadow:0 6px 28px #d6a13d15}
.button-primary:hover{background:#f4d48b;box-shadow:0 8px 30px #d6a13d30;transform:translateY(-2px)}
.hero-foot{bottom:30px;padding-top:24px;border-top:1px solid #e7b95733;gap:60px}
.hero-foot>div{gap:16px}
.hero-foot p{color:#c5c0b6;letter-spacing:1.5px;line-height:1.7}
.hero-foot>a{writing-mode:initial;align-self:center}
.section{padding:105px 0}
h2{line-height:.94;letter-spacing:-1px}
.intro h2 em,.programmes h2 em,.news h2 em{color:#8d651e}
.intro-grid{grid-template-columns:1fr 2fr;gap:30px}
.intro-copy>p{line-height:1.9;font-size:17px;margin:30px 0}
.section-kicker{font-size:10px;letter-spacing:2px}
.stat-grid{margin-top:64px;background:transparent;gap:0}
.stat-grid article{background:transparent;padding:30px 40px;border-right:1px solid var(--line)}
.stat-grid article:first-child{padding-left:0}.stat-grid article:last-child{border-right:0}
.stat-grid strong{font-size:78px;line-height:1.1}.stat-grid h3{letter-spacing:.7px}
.mission{background:radial-gradient(ellipse at 15% 60%,#3e201b 0%,#171311 38%,#101010 72%)}
.mission-grid{gap:30px}
.mission-art{inset:150px auto auto max(24px,calc((100vw - 1240px)/2));width:290px;height:290px;border:0;border-radius:0;animation:none;transform:none;opacity:.82}
.mission-art::before,.mission-art::after{display:none}
.mission-art img{width:100%;height:100%;object-fit:contain; border-radius: 50%}
.value-list{border-color:#e7b95730}.value-list article{border-color:#e7b95725;padding:27px 0}
.value-list p{color:#b3aaa0;line-height:1.8}.value-list h3{letter-spacing:.8px}
.section-head{grid-template-columns:1fr 1.6fr 1fr;gap:25px}
.programme-grid{gap:22px}
.programme-card{background:#fffcf6;position:relative;padding:30px;min-height:410px;border-color:#ded7c9}
.programme-card::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:3px;background:#c79c49;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.programme-card:hover::before{transform:scaleX(1)}
.programme-card:hover{border-color:#c79c49;box-shadow:0 18px 40px #32260e0a}
.programme-card.featured{background:radial-gradient(ellipse at top right,#ad3c3b,#731421 65%);border-color:#731421}
.card-no{color:#9d793c}.featured .card-no{color:#edcc8f}.card-icon{margin-top:28px;font-size:48px;color:#987028}.featured .card-icon{color:var(--gold)}
.programme-card h3{font-size:32px}.programme-card p{line-height:1.8;min-height:74px}.featured p{color:#e5c9c8}
.events{background:linear-gradient(120deg,#211b15,#111111 65%)}
.events-top h2{margin-top:24px}.event-list{border-color:#e7b95733}
.event-list article{padding:32px 16px;border-color:#e7b95726;transition:background .25s}
.event-list article:hover{background:#e7b95708}
.event-list article>a{width:44px;height:44px;display:grid;place-content:center;border:1px solid #e7b95766;color:var(--gold);transition:background .25s}
.event-list article>a:hover{background:var(--gold);color:#111}
.event-list time{font-size:25px}.event-list p{color:#a8a195;margin-top:8px}
.news .section-kicker{margin-bottom:24px}
.news-lead{background:#ece6da;border:1px solid #ded7c9}
.news-visual{background:radial-gradient(ellipse at center,#342316,#080808 75%);writing-mode:initial;min-height:390px;padding:20px}
.news-visual img{width:100%;height:auto; border-radius: 50%;transition:transform .5s}
.news-lead:hover .news-visual img{transform:scale(1.035)}
.news-visual::after{display:none}.news-visual b{font:600 8px var(--body);letter-spacing:1.4px;left:0;right:0;text-align:center;bottom:24px}
.news-body{padding:30px}.news-body h3{font-size:31px}.news-body p{line-height:1.8}
.news-side article{background:#fffcf6;border-color:#ded7c9}
.join{background:radial-gradient(ellipse at 0 100%,#71242b,transparent 65%),#350d13;border-top:1px solid #a27738;padding:100px 0}
.join-inner{gap:80px}.join .section-kicker{margin-bottom:25px;color:#d8b7a0}.join-form>p{color:#d9c7c4}
.join-form input,.join-form select{padding:13px 12px;background:#ffffff06;border:1px solid #b895815c;border-radius:0}
.join-form input::placeholder{color:#c4a9a4}.join-form label span{color:#decfc5}.join-form .button{background:var(--gold);color:#16110b}
.footer{padding-top:65px}.footer-brand{align-self:start}.footer-brand .brand-logo{width:78px;height:78px}
.footer-main{grid-template-columns:1.2fr 1fr 1fr;gap:50px;padding-bottom:55px}.footer-main>p{line-height:1.9}.footer-bottom{border-color:#e7b95726}
@media(min-width:901px) and (max-width:1100px){.nav{gap:15px;font-size:12px}.brand-copy small{max-width:140px}.brand-logo{width:56px;height:56px}.mission-art{width:230px;height:230px}.section-head{grid-template-columns:1fr 1.7fr}.section-head>p{grid-column:2}}
@media(max-width:900px){.intro-grid,.mission-grid,.section-head,.join-inner{grid-template-columns:1fr;gap:35px}.mission-art{width:300px;height:300px;inset:35px -80px auto auto;opacity:.12}.hero{max-height:none}.hero-foot{gap:30px}.hero-foot>div{display:flex}.hero-foot>a{display:none}.hero-shade{background:linear-gradient(90deg,#070707ed,#07070780),linear-gradient(0deg,#070707,transparent 60%)}.stat-grid{grid-template-columns:repeat(3,1fr)}.stat-grid article{padding:25px}.stat-grid strong{font-size:64px}.section{padding:80px 0}.footer-main{grid-template-columns:1fr 1fr}.nav{visibility:hidden;pointer-events:none}.nav.open{visibility:visible;pointer-events:auto}.news-visual{min-height:350px}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.brand-logo{width:52px;height:52px}.brand{gap:10px}.brand-copy{display:flex}.brand-copy strong{font-size:19px}.brand-copy small{font-size:6px;letter-spacing:.8px;max-width:165px}.site-header{padding:10px 0}.hero{height:auto;min-height:800px;padding-bottom:130px}.hero-inner{padding-top:158px}h1{font-size:clamp(58px,12vw,76px);line-height:.94}.eyebrow{font-size:8px;letter-spacing:2px;gap:8px}.hero-inner>p{font-size:14px}.hero-actions{margin-top:28px;gap:24px}.hero-foot{bottom:26px;padding-top:20px;gap:20px}.hero-foot>div{gap:7px}.hero-foot p{font-size:8px;letter-spacing:.8px}.hero-foot span{font-size:9px}.section{padding:65px 0}.intro-copy h2,.section-head h2,.events h2,.news h2,.join h2,.mission h2{font-size:clamp(44px,10.8vw,60px);line-height:.98}.intro-copy>p{font-size:15px}.stat-grid{grid-template-columns:1fr;margin-top:38px}.stat-grid article,.stat-grid article:first-child{padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}.stat-grid article:last-child{border-bottom:0}.stat-grid p{max-width:none;margin-bottom:0}.stat-grid strong{font-size:60px}.programme-card{min-height:350px}.section-head{margin-bottom:32px}.section-head.row{gap:20px;align-items:start;flex-direction:column}.event-list article{padding:24px 0;grid-template-columns:65px 1fr 32px}.event-list article>a{width:32px;height:36px}.event-list time{font-size:20px}.event-list h3{font-size:22px}.tag{font-size:8px;letter-spacing:1px}.news-visual{min-height:300px}.news-visual img{width:250px}.news-body{padding:26px}.join{padding:65px 0}.footer-main{grid-template-columns:1fr;gap:30px}.footer-brand .brand-logo{width:66px;height:66px}.footer-bottom{font-size:8px;line-height:1.9}}

/* Full federation profile, using the existing section layout. */
.intro-copy > p + p { margin-top: 0; }
.intro-copy > p strong { color: var(--ink); font-weight: 600; }
.federation-purpose p { max-width: 650px; }
.federation-purpose ul { margin: 18px 0 0; padding-left: 20px; color: #b3aaa0; font-size: 14px; line-height: 1.8; }
.federation-purpose li { padding-left: 7px; margin-bottom: 12px; }
.federation-purpose li::marker { color: var(--gold); }
.federation-purpose strong { color: #eee5d7; font-weight: 600; }
.about-signature { margin-top: 32px; border-left: 2px solid var(--gold); padding-left: 20px; }
.about-signature p { color: #b3aaa0; font-size: 12px; line-height: 1.9; margin: 6px 0; }
.about-signature strong { color: var(--gold); text-transform: uppercase; letter-spacing: 1px; font-size: 11px; }
@media (max-width: 600px) {
  .federation-purpose article { grid-template-columns: 32px 1fr; }
  .federation-purpose ul { font-size: 13px; }
  .about-signature { padding-left: 15px; }
}

/* Standalone pages retain the original federation layout and colours. */
.inner-page main { padding-top: 93px; min-height: 65vh; }
.inner-page .site-header { background: #080808; }
.inner-page .page-title { font-size: clamp(58px, 7vw, 96px); line-height: .94; margin: 0; max-width: none; }
.inner-page .intro .page-title em,
.inner-page .programmes .page-title em,
.inner-page .news .page-title em { color: #8d651e; }
.inner-page .events .page-title { margin-top: 24px; }
@media (max-width: 600px) {
  .inner-page main { padding-top: 73px; }
  .inner-page .page-title { font-size: clamp(44px, 10.8vw, 60px); line-height: .98; }
}

/* Concise home-page previews link to the full standalone pages. */
.home-summary { padding-block: 78px; }
.home-pathways { border-top: 1px solid var(--line); }
.home-pathways .section-kicker { margin-bottom: 20px; }
.home-pathways .programme-card { min-height: 280px; }
.home-pathways .section-head.row { align-items: flex-end; }
.home-event-preview { display: grid; grid-template-columns: 1.2fr 1fr; gap: 50px; border-top: 1px solid #e7b95733; padding-top: 30px; }
.home-event-preview h3 { font: 700 32px/1.5 var(--display); text-transform: uppercase; margin: 0; }
.home-event-preview p { font-size: 14px; line-height: 1.8; color: #b3aaa0; margin-bottom: 0; }
.home-contact .join-inner { align-items: center; }
.home-contact-copy p { color: #d9c7c4; font-size: 15px; line-height: 1.9; margin: 0 0 25px; }
.home-email { display: block; margin-top: 20px; color: #e7c997; font-size: 13px; width: fit-content; }
.home-email:hover { text-decoration: underline; }
@media (max-width: 600px) {
  .home-summary { padding-block: 55px; }
  .home-pathways .section-head.row { align-items: flex-start; }
  .home-pathways .programme-card { min-height: 260px; }
  .home-event-preview { grid-template-columns: 1fr; gap: 20px; }
  .home-event-preview h3 { font-size: 26px; }
}

.contact-details { display: grid; gap: 20px; margin-top: 35px; font-style: normal; }
.contact-details a { color: #fff; font-size: 18px; width: fit-content; overflow-wrap: anywhere; }
.contact-details span { display: block; color: var(--gold); font-size: 10px; letter-spacing: 1.3px; text-transform: uppercase; margin-bottom: 5px; }
.contact-details a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-links a[href^="mailto:"] { overflow-wrap: anywhere; }

/* Compact, readable content flow across the home previews and inner pages. */
.section, .join, .home-summary { padding-block: 64px; }
.inner-page main { min-height: 0; }
.intro-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
.intro-copy { width: 100%; }
.section-kicker { align-self: start; margin-bottom: 18px; line-height: 1.5; }
.intro-copy > p { max-width: 850px; margin: 22px 0; font-size: 16px; line-height: 1.8; color: #57534e; }
.home-summary .intro-copy { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); column-gap: 48px; align-items: start; }
.home-summary .intro-copy > .section-kicker { grid-column: 1 / -1; margin-bottom: 18px; }
.home-summary .intro-copy > h2 { grid-column: 1; grid-row: 2 / 4; }
.home-summary .intro-copy > p { grid-column: 2; margin: 0 0 20px; }
.home-summary .intro-copy > .arrow-link { grid-column: 2; justify-self: start; }
.intro-copy h2, .section-head h2, .events h2, .news h2, .join h2, .mission h2, .inner-page .page-title { font-size: clamp(44px, 5.3vw, 72px); line-height: 1.02; letter-spacing: -.8px; }
.intro h2 em, .programmes h2 em, .news h2 em, .inner-page .intro .page-title em, .inner-page .programmes .page-title em, .inner-page .news .page-title em { color: #80561b; }
.home-summary.news { background: #eee8dc; border-block: 1px solid #ded4c2; }
.section-head, .events-top { gap: 24px; margin-bottom: 30px; }
.section-head { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: start; }
.section-head > .section-kicker { grid-column: 1 / -1; margin-bottom: 0; }
.section-head > p { margin: 0; max-width: 400px; line-height: 1.8; }
.section-head.row { align-items: flex-end; }
.section-head.row .section-kicker, .events-top .section-kicker, .join .section-kicker { margin-bottom: 18px; }
.events-top h2, .inner-page .events .page-title { margin-top: 0; }
.stat-grid { margin-top: 36px; }
.stat-grid article { padding-block: 22px; }
.stat-grid strong { font-size: 60px; }
.mission-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
.mission-grid > .section-kicker { margin-bottom: 18px; }
.mission h2 { margin-bottom: 30px; padding-right: 180px; }
.mission-art { inset: 42px max(24px, calc((100vw - 1240px)/2)) auto auto; width: 145px; height: 145px; opacity: .6; }
.value-list article { grid-template-columns: 40px minmax(0, 1fr); padding-block: 22px; }
.federation-purpose p { max-width: 900px; color: #c5bdb2; }
.federation-purpose ul { columns: 2; column-gap: 48px; max-width: 1100px; color: #c5bdb2; }
.federation-purpose li { break-inside: avoid; margin-bottom: 14px; }
.programme-card, .home-pathways .programme-card { min-height: 0; padding: 25px; }
.card-icon { margin: 15px 0 20px; line-height: 1; }
.programme-card > div:last-child { margin-top: 22px; }
.programme-card p { min-height: 0; margin: 14px 0 20px; color: #605a50; }
.programme-card.featured p { color: #f0d9d5; }
.programme-card a { margin-top: 0; }
.event-list article { padding: 24px 16px; grid-template-columns: 120px minmax(0, 1fr) 44px; gap: 20px; }
.event-list p, .event-list time span { color: #bdb4a7; }
.home-event-preview { padding-top: 24px; gap: 32px; }
.home-event-preview h3 { font-size: 28px; line-height: 1.4; }
.news-visual { min-height: 260px; }
.news-body { padding: 25px; }
.news-body h3, .news-side h3 { margin: 16px 0; font-size: 29px; line-height: 1.12; }
.news-body p { margin-top: 0; }
.news-side article { min-height: 0; padding: 24px 50px 24px 24px; }
.join-inner { gap: 48px; align-items: start; }
.home-contact .join-inner { align-items: start; }
.home-contact-copy p { margin-bottom: 20px; }
.home-email { margin-top: 12px; }
.footer { padding-top: 42px; }
.footer-main { gap: 30px; padding-bottom: 32px; grid-template-columns: 1.2fr 1fr 1.4fr; align-items: start; }
.footer-links { gap: 24px; grid-template-columns: minmax(80px, .7fr) minmax(155px, 1.3fr); }
.footer-main > p { margin-top: 0; color: #b0aaa0; }
.footer-bottom { color: #aaa398; }
/* Content must never depend on an observer becoming visible. */
.reveal, .reveal.reveal-left, .reveal.reveal-scale { opacity: 1; transform: none; }
@media (max-width: 900px) {
  .section, .join, .home-summary { padding-block: 48px; }
  .home-summary .intro-copy { column-gap: 28px; }
  .section-head { grid-template-columns: 1fr; gap: 18px; }
  .section-head > .section-kicker { grid-column: auto; }
  .section-head > p { grid-column: auto; max-width: none; }
  .join-inner { grid-template-columns: 1fr; gap: 28px; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-main > p { order: initial; }
  .footer-links { grid-column: 1 / -1; grid-row: auto; }
  .mission-art { right: 24px; width: 120px; height: 120px; opacity: .3; }
  .mission h2 { padding-right: 130px; }
}
@media (max-width: 600px) {
  .section, .join, .home-summary { padding-block: 38px; }
  .home-summary .intro-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
  .home-summary .intro-copy > h2 { margin-bottom: 18px; }
  .home-summary .intro-copy > p { margin-bottom: 18px; }
  .section-kicker, .news .section-kicker { margin-bottom: 14px; }
  .intro-copy h2, .section-head h2, .events h2, .news h2, .join h2, .mission h2, .inner-page .page-title { font-size: clamp(38px, 9vw, 52px); line-height: 1.05; }
  .intro-copy > p { font-size: 15px; margin: 18px 0; }
  .section-head.row { align-items: flex-start; gap: 18px; }
  .section-head, .events-top { margin-bottom: 24px; }
  .stat-grid { margin-top: 26px; }
  .stat-grid article, .stat-grid article:first-child { padding-block: 18px; }
  .mission h2 { padding-right: 0; position: relative; }
  .mission-art { width: 95px; height: 95px; top: 24px; opacity: .12; }
  .federation-purpose ul { columns: 1; }
  .value-list article { grid-template-columns: 28px minmax(0, 1fr); padding-block: 18px; }
  .programme-grid { gap: 14px; }
  .programme-card, .home-pathways .programme-card { min-height: 0; padding: 22px; }
  .event-list article { grid-template-columns: 60px minmax(0, 1fr) 34px; gap: 12px; padding: 20px 0; }
  .event-list article > a { width: 34px; height: 38px; }
  .event-list p { display: block; font-size: 12px; line-height: 1.6; }
  .event-list h3 { line-height: 1.15; }
  .home-event-preview { grid-template-columns: 1fr; gap: 14px; }
  .home-event-preview h3 { font-size: 25px; }
  .home-event-preview p { margin-top: 10px; }
  .news-visual { min-height: 230px; padding: 20px; }
  .news-visual img { width: 185px; }
  .news-visual b { bottom: 12px; font-size: 7px; }
  .news-side article { min-height: 0; }
  .footer-main { grid-template-columns: 1fr; gap: 24px; }
  .footer-links { grid-column: auto; }
  .footer { padding-top: 32px; }
}
/* Keep navigation and section labels readable over every background. */
.site-header { background: rgba(8, 8, 8, .97); }
.section-kicker.light > span, .mission .section-kicker > span { color: var(--gold); }
.home-summary { scroll-margin-top: 100px; }

/* Affiliated clubs directory and individual, indexable club profiles. */
[hidden] { display: none !important; }
.page-clubs .page-title em { color: #80561b; }
.directory-intro { max-width: 760px; color: #57534e; font-size: 16px; line-height: 1.8; margin: 22px 0 30px; }
.club-filters { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto; align-items: end; gap: 20px; padding: 24px; background: #eee8dc; border: 1px solid #ded4c2; }
.club-filters label { font-size: 11px; text-transform: uppercase; letter-spacing: 1px; font-weight: 600; }
.club-filters input, .club-filters select { display: block; width: 100%; min-height: 48px; padding: 12px; margin-top: 8px; border: 1px solid #bfb6a6; background: #fffcf6; color: var(--ink); font-size: 14px; border-radius: 0; }
.club-reset { min-height: 48px; padding: 12px 20px; background: var(--ink); color: #fff; border: 0; cursor: pointer; font-weight: 600; font-size: 12px; }
.club-reset:hover { background: var(--red); }
.country-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.country-links a { border: 1px solid #d2c3a8; color: #6b4512; padding: 7px 15px; font-size: 12px; }
.country-links a:hover { background: var(--gold); color: var(--ink); }
.club-result-count { margin: 22px 0; color: #605a50; font-size: 13px; }
.club-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.club-card { display: flex; flex-direction: column; align-items: flex-start; padding: 25px; background: #fffcf6; border: 1px solid #ded7c9; border-top: 3px solid var(--gold); min-width: 0; }
.club-status { display: inline-block; background: #f0e5d0; color: #65451d; font-size: 10px; font-weight: 700; letter-spacing: .7px; padding: 6px 9px; text-transform: uppercase; }
.club-card h2 { font-size: 32px; line-height: 1.1; letter-spacing: -.3px; margin: 20px 0 10px; overflow-wrap: anywhere; }
.club-card h2 a:hover { color: var(--red); }
.club-card p { font-size: 13px; color: #605a50; margin: 10px 0; }
.club-card .club-location { color: var(--red); font-weight: 600; }
.club-card .club-ref { font-size: 11px; }
.club-card .arrow-link { margin-top: auto; padding-top: 20px; gap: 24px; }
.club-empty { padding: 30px; background: #eee8dc; border: 1px solid #ded4c2; }
.club-empty h2, .clubs-callout h2 { font-size: 32px; line-height: 1.1; letter-spacing: -.3px; margin: 0 0 12px; }
.club-empty p, .clubs-callout p { font-size: 14px; color: #605a50; margin: 0 0 18px; }
.clubs-callout { display: flex; align-items: center; justify-content: space-between; gap: 30px; border-top: 1px solid var(--line); margin-top: 40px; padding-top: 30px; }
.clubs-callout p { margin-bottom: 0; }
.clubs-callout .button { flex-shrink: 0; }
.club-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 25px; font-size: 12px; color: #605a50; }
.club-breadcrumb a { text-decoration: underline; text-underline-offset: 4px; }
.club-profile .page-title { margin-top: 20px; overflow-wrap: anywhere; }
.club-profile-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.club-profile-grid h2 { font-size: 32px; letter-spacing: -.3px; margin: 26px 0 14px; line-height: 1.1; }
.club-profile-grid h2:first-child { margin-top: 0; }
.club-profile-grid p { color: #57534e; line-height: 1.8; }
.club-contact { padding: 28px; background: #eee8dc; border-top: 3px solid var(--gold); }
.club-contact address { font-style: normal; margin: 20px 0; }
.club-contact a { display: block; width: fit-content; margin-top: 16px; color: var(--red); overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 4px; }
.club-disciplines { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; }
.club-disciplines li { background: #eee8dc; padding: 8px 12px; font-size: 13px; }
.club-back { margin-top: 32px; }
@media (min-width: 901px) and (max-width: 1200px) { .nav { gap: 14px; font-size: 12px; } .nav-cta { gap: 12px; font-size: 10px; padding-inline: 12px; } }
@media (max-width: 900px) { .club-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .club-profile-grid { gap: 28px; } .clubs-callout { align-items: flex-start; flex-direction: column; gap: 20px; } }
@media (max-width: 600px) { .club-filters, .club-grid, .club-profile-grid { grid-template-columns: minmax(0, 1fr); } .club-filters { padding: 18px; gap: 14px; } .club-contact, .club-card { padding: 22px; } .directory-intro { font-size: 15px; } .club-profile-grid { gap: 26px; } }
.club-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.club-card > p { max-width: 80ch; }

/* Original desktop header, with a side drawer only on smaller screens. */
.sidebar, .sidebar-backdrop { display: none; }
.desktop-nav { display: flex; }
.motion-ready .hero-foot { animation: none; opacity: 1; transform: translateX(-50%); }
@media (max-width: 1100px) {
  .site-header { z-index: 100; padding-block: 10px; }
  .site-header .brand-logo { width: 52px; height: 52px; }
  .site-header .brand-copy strong { font-size: 21px; }
  .site-header .brand-copy small { font-size: 7px; }
  .site-header .desktop-nav { display: none; }
  .site-header .menu-toggle { display: none; }
  .nav-ready .site-header .menu-toggle { display: block; }
  .sidebar { position: relative; display: flex; flex-direction: column; width: 100%; margin-top: 73px; padding: 24px; color: #f5f0e5; background: linear-gradient(165deg, #17110f, #090909 65%); border-right: 1px solid #e7b95738; overflow-y: auto; overscroll-behavior: contain; }
  .sidebar-brand { position: relative; padding-bottom: 22px; border-bottom: 1px solid #e7b95730; }
  .sidebar-brand .brand { flex-direction: row; align-items: center; gap: 13px; }
  .sidebar-brand .brand-logo { width: 60px; height: 60px; }
  .sidebar-brand .brand-copy strong { font-size: 23px; letter-spacing: 2px; }
  .sidebar-brand .brand-copy small { font-size: 6px; line-height: 1.7; letter-spacing: 1px; max-width: 175px; }
  .sidebar-label { margin: 22px 12px 12px; color: #b1a28d; text-transform: uppercase; font-size: 8px; letter-spacing: 1.6px; }
  .sidebar .nav { position: static; inset: auto; width: auto; background: transparent; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 6px; transform: none; visibility: visible; pointer-events: auto; font: 500 13px/1.5 var(--body); text-transform: none; }
  .sidebar .nav > a { display: flex; align-items: center; gap: 13px; min-height: 45px; padding: 12px; color: #c7c1b8; border: 1px solid transparent; border-left: 2px solid transparent; font: 500 13px/1.5 var(--body); text-transform: none; letter-spacing: 0; justify-content: flex-start; transition: color .2s, background .2s, border-color .2s; }
  .sidebar .nav > a::before { content: attr(data-nav-number); font-size: 9px; color: #a58a5b; font-weight: 600; }
  .sidebar .nav > a::after { display: none; }
  .sidebar .nav > a:hover { background: #ffffff08; color: #fff; }
  .sidebar .nav > a.active { background: linear-gradient(90deg, #5a202a, #351b20); border-color: #e7b95720; border-left-color: var(--gold); color: #f5cc7c; }
  .sidebar .nav > a.active::before { color: var(--gold); }
  .sidebar .nav > .nav-cta { margin-top: 8px; border-top: 1px solid #e7b95730; }
  .sidebar-contact { display: flex; flex-direction: column; gap: 8px; margin-top: auto; padding: 26px 12px 0; font-size: 12px; }
  .sidebar-contact > span { color: #b1a28d; text-transform: uppercase; font-size: 8px; letter-spacing: 1.5px; margin-bottom: 3px; }
  .sidebar-contact > a { overflow-wrap: anywhere; color: #c7c1b8; }
  .sidebar-contact > a:hover { color: var(--gold); }
  .sidebar-contact .sidebar-affiliate { display: flex; justify-content: space-between; padding-top: 15px; margin-top: 6px; border-top: 1px solid #e7b95730; color: var(--gold); font-size: 11px; }
  .sidebar-close { display: none; }
  .nav-ready .sidebar { position: fixed; inset: 0 auto 0 0; z-index: 150; width: min(340px, calc(100vw - 40px)); margin-top: 0; transform: translateX(-100%); visibility: hidden; pointer-events: none; transition: transform .25s ease; box-shadow: 14px 0 50px #0005; }
  .nav-ready .sidebar.open { transform: none; visibility: visible; pointer-events: auto; }
  .nav-ready .sidebar-brand { padding-top: 30px; }
  .nav-ready .sidebar-close { display: grid; place-items: center; position: absolute; right: -8px; top: -16px; width: 44px; height: 44px; border: 0; background: transparent; color: var(--gold); font-size: 30px; cursor: pointer; }
  .nav-ready .sidebar-backdrop { position: fixed; inset: 0; z-index: 140; display: block; background: #0009; opacity: 0; visibility: hidden; transition: opacity .25s; }
  .menu-open .sidebar-backdrop { opacity: 1; visibility: visible; }
  .nav-ready .inner-page main { padding-top: 73px; }
  html:not(.nav-ready) .inner-page main { padding-top: 0; }
}
@media (max-width: 360px) {
  .sidebar { padding-inline: 18px; }
  .sidebar-brand .brand { gap: 9px; }
  .sidebar-brand .brand-copy strong { font-size: 21px; }
  .sidebar-brand .brand-copy small { font-size: 5px; letter-spacing: .6px; }
  .sidebar-brand .brand-logo { width: 50px; height: 50px; }
}
@media (prefers-reduced-motion: reduce) { .nav-ready .sidebar, .nav-ready .sidebar-backdrop { transition: none; } }

/* Hide scrollbar tracks while preserving wheel, touch and keyboard scrolling. */
html, body, .sidebar { scrollbar-width: none; -ms-overflow-style: none; }
html::-webkit-scrollbar, body::-webkit-scrollbar, .sidebar::-webkit-scrollbar { display: none; width: 0; height: 0; }

@media (max-width: 1100px) { .sidebar .nav { visibility: inherit; } }

/* Search-friendly headings retain the existing card typography. */
.programme-card .card-title { font: 700 32px/1 var(--display); letter-spacing: 0; text-transform: uppercase; margin: 0; }
.event-list .card-title { font: 700 29px/1.15 var(--display); letter-spacing: 0; text-transform: uppercase; margin: 6px 0 0; }
.event-date { display: flex; flex-direction: column; font: 700 25px/1 var(--display); text-transform: uppercase; }
.event-date span { color: #bdb4a7; font-size: 16px; margin-top: 6px; }
.news-body .card-title, .news-side .card-title { font: 700 29px/1.12 var(--display); text-transform: uppercase; letter-spacing: 0; margin: 16px 0; }
.federation-reading { padding-top: 0; }
.federation-reading article { border-top: 1px solid var(--line); padding: 28px 0; scroll-margin-top: 110px; }
.federation-reading h2 { font-size: 34px; line-height: 1.1; margin: 0 0 18px; }
.federation-reading p { color: #57534e; line-height: 1.8; max-width: 850px; font-size: 15px; }
.federation-reading a { color: var(--red); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 600px) { .event-list .card-title { font-size: 22px; } .event-date { font-size: 20px; } .federation-reading h2 { font-size: 28px; } }

.seo-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding-block: 20px; font-size: 12px; color: #62584c; border-bottom: 1px solid var(--line); }
.seo-breadcrumb a { color: var(--red); text-decoration: underline; text-underline-offset: 4px; }
.inner-page .seo-breadcrumb + .section, .inner-page .seo-breadcrumb + .join { padding-top: 38px; }
@media (max-width: 600px) { .seo-breadcrumb { font-size: 11px; padding-block: 16px; } .inner-page .seo-breadcrumb + .section, .inner-page .seo-breadcrumb + .join { padding-top: 28px; } }

/* Render primary content immediately for a faster first meaningful paint. */
.motion-ready .site-header, .motion-ready .hero-image, .motion-ready .hero .eyebrow,
.motion-ready .hero h1, .motion-ready .hero-inner > p, .motion-ready .hero-actions {
  animation: none; opacity: 1;
}

/* Membership enquiries and beginner guidance. */
.support-heading, .support-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.support-heading { margin-bottom: 30px; }
.support-heading h2, .support-layout h2 { font-size: clamp(38px, 5.3vw, 64px); line-height: 1.05; letter-spacing: -.8px; margin: 0; }
.support-heading h2 em, .support-layout h2 em { color: #80561b; }
.support-heading p, .support-layout > div > p { color: #57534e; max-width: 560px; }
.support-heading p { margin: 0; }
.membership-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.membership-grid article { padding: 26px; border: 1px solid var(--line); background: #fff9; }
.membership-grid h3, .clubs-callout h3 { font: 700 30px/1.1 var(--display); text-transform: uppercase; margin: 0 0 12px; }
.membership-grid p, .joining-steps p { font-size: 14px; color: #57534e; }
.membership-grid a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-block: 12px; border-top: 1px solid var(--line); color: var(--red); font-size: 13px; font-weight: 600; }
.joining-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; padding: 28px 0 0; margin: 28px 0 0; border-top: 1px solid var(--line); list-style: none; counter-reset: joining; }
.joining-steps li { counter-increment: joining; }
.joining-steps li::before { content: "0" counter(joining); display: block; color: var(--red); font: 700 16px var(--display); margin-bottom: 12px; }
.joining-steps strong { font-size: 15px; }
.joining-steps p { margin-bottom: 0; }
.joining-steps a, .faq-section p a { color: var(--red); text-decoration: underline; text-underline-offset: 3px; }
.faq-section, .beginner-section { background: #eee8dc; border-top: 1px solid var(--line); }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { padding: 20px 4px; font-size: 15px; font-weight: 600; cursor: pointer; }
.faq-list summary::marker { color: var(--red); }
.faq-list p { color: #57534e; font-size: 14px; margin: 0; padding: 0 4px 22px; }
.faq-list details[open] summary { color: var(--red); }
.join-form, .join-form label { min-width: 0; }
.join-form textarea { display: block; width: 100%; max-width: 100%; border: 1px solid #b895815c; border-radius: 0; background: #ffffff06; color: white; padding: 13px 12px; font: inherit; resize: vertical; }
.join-form textarea::placeholder { color: #c4a9a4; }
.join-form .form-note { font-size: 12px; line-height: 1.7; }
textarea:focus-visible, summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
@media (max-width: 900px) {
  .support-heading, .support-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .membership-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .joining-steps { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .membership-grid article { padding: 22px; }
  .support-heading h2, .support-layout h2 { font-size: clamp(38px, 9vw, 52px); }
}

/* Home hero: federation emblem beside the introduction, without a background photo. */
.hero--emblem { display: flex; flex-direction: column; height: auto; min-height: 760px; max-height: none; padding-bottom: 28px; background: radial-gradient(ellipse at 85% 45%, #311416 0%, #100c0b 38%, #080809 72%); }
.hero--emblem .hero-inner { flex: 1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: 32px; padding-top: 145px; padding-bottom: 42px; }
.hero-copy { min-width: 0; }
.hero--emblem h1 { font-size: clamp(58px, 6vw, 88px); line-height: .96; letter-spacing: -1px; margin: 0 0 25px; }
.hero-copy > p { color: #c6c2ba; font-size: 16px; line-height: 1.8; max-width: 470px; margin: 0; }
.hero--emblem .hero-actions { gap: 24px; margin-top: 28px; flex-wrap: wrap; }
.hero-emblem { display: grid; place-items: center; }
.hero-emblem img { width: 100%; max-width: 500px; height: auto; object-fit: contain; border-radius: 50%; }
.hero--emblem .hero-foot { position: static; left: auto; bottom: auto; transform: none; animation: none; opacity: 1; }
@media (max-width: 900px) {
  .hero--emblem { min-height: 670px; }
  .hero--emblem .hero-inner { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 20px; padding-top: 125px; padding-bottom: 35px; }
  .hero--emblem h1 { font-size: clamp(48px, 6.7vw, 65px); }
  .hero-copy > p { font-size: 14px; }
  .hero--emblem .hero-actions { flex-direction: column; align-items: flex-start; gap: 20px; }
}
@media (max-width: 600px) {
  .hero--emblem { min-height: 0; padding-bottom: 24px; }
  .hero--emblem .hero-inner { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-top: 115px; padding-bottom: 28px; }
  .hero--emblem h1 { font-size: clamp(45px, 10.7vw, 62px); }
  .hero-emblem img { max-width: 260px; }
}

#registration { scroll-margin-top: 100px; }
#registration h2, #leadership-title { font: 700 30px/1.1 var(--display); letter-spacing: 0; margin: 0 0 16px; }
