:root{--pro-yellow:#ffd900;--pro-gold:#f0b90b;--pro-black:#050505;--pro-panel:#101010;--pro-white:#f7f7f2;--pro-muted:#aaa;--pro-line:#ffffff1f}
body{background:var(--pro-black);color:var(--pro-white);font-family:Inter,"Helvetica Neue",Arial,sans-serif;overflow-x:hidden}
body:before{content:"";position:fixed;z-index:100;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--pro-yellow),#fff7a8,var(--pro-yellow));box-shadow:0 0 24px #ffd90099}
.public-nav{min-height:88px;padding:10px clamp(20px,5vw,82px);border:0;border-bottom:1px solid #ffd90040;background:#050505ed;color:#fff;box-shadow:0 12px 40px #0007}
.public-nav .public-brand{color:#fff}.public-nav .public-brand img{width:52px;height:64px;filter:drop-shadow(0 0 12px #ffd90025)}
.public-nav .public-brand b{font-size:18px;letter-spacing:.04em}.public-nav .public-brand small{color:var(--pro-yellow)}
.home-link{color:var(--pro-yellow);border-color:var(--pro-yellow)}
.site-nav-groups summary{color:#ddd;letter-spacing:.08em}.site-nav-groups details[open] summary,.site-nav-groups summary:hover{background:var(--pro-yellow);color:#050505}
.site-nav-groups details>div{background:#0b0b0bf5;border-color:#ffd90065;backdrop-filter:blur(18px)}
.site-nav-groups details b{color:var(--pro-yellow)}
.public-nav .manage-btn{border:1px solid var(--pro-yellow);background:var(--pro-yellow);color:#050505;padding:12px 20px;box-shadow:0 0 26px #ffd90022}
.public-nav .manage-btn:hover{box-shadow:0 0 32px #ffd90066}
.public-hero{position:relative;isolation:isolate;min-height:760px;padding:105px clamp(24px,8vw,130px);background:#050505;color:#fff}
.public-hero:before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,#030303 5%,#030303e8 40%,#03030377 69%,#030303b8),url('/gallery/23-famille-team-bs.jpg') center/cover no-repeat;animation:heroDrift 18s ease-in-out infinite alternate}
.public-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,transparent 65%,#050505),repeating-linear-gradient(90deg,transparent 0 89px,#ffd9000a 90px)}
.public-hero>div{max-width:800px}.public-hero .tag{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #ffd90077;background:#050505aa;color:var(--pro-yellow)}
.public-hero .tag:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pro-yellow);box-shadow:0 0 15px var(--pro-yellow)}
.public-hero h1{max-width:850px;font-size:clamp(56px,7.3vw,106px);text-transform:uppercase;letter-spacing:-.075em;text-shadow:0 4px 35px #000}
.public-hero h1 em{color:var(--pro-yellow);text-shadow:0 0 35px #ffd90025}
.public-hero>div>p:not(.tag){max-width:680px;color:#e0e0d9;font-size:19px;text-shadow:0 2px 12px #000}
.public-hero>img{width:min(250px,22vw);align-self:end;filter:drop-shadow(0 18px 38px #000);opacity:.96}
.hero-actions a{border-radius:2px;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.hero-actions .yellow-btn{background:var(--pro-yellow);border-color:var(--pro-yellow)}
.ghost-btn{background:#05050599;border-color:#ffffff55;backdrop-filter:blur(8px)}
.hero-metrics{max-width:700px;gap:12px;border:0}.hero-metrics>div{flex:1;padding:18px 20px;border-top:2px solid var(--pro-yellow);background:#080808bc;backdrop-filter:blur(9px)}
.hero-metrics b{font-size:25px}.hero-metrics span{color:#bbb}
.mission{position:relative;grid-template-columns:.8fr 1.2fr;gap:90px;padding-top:125px;padding-bottom:125px;background:linear-gradient(135deg,#050505,#111)}
.mission:after{content:"MISSION";position:absolute;right:3%;bottom:-3%;font-size:clamp(90px,16vw,230px);font-weight:950;color:#ffffff05;line-height:1;pointer-events:none}
.mission-mark{min-height:440px;border:1px solid #ffd90042;background:radial-gradient(circle,#ffd90017,transparent 55%),#090909;clip-path:polygon(0 0,92% 0,100% 8%,100% 100%,8% 100%,0 92%)}
.mission-mark:before{content:"";position:absolute;inset:18px;border:1px solid #ffffff10}
.mission h2,.needs-intro h2{color:var(--pro-yellow);text-transform:uppercase}.mission p:not(.tag){color:#c7c7c1}
.outline-yellow{border-radius:2px;border-color:var(--pro-yellow);color:var(--pro-yellow);text-transform:uppercase;font-size:11px;letter-spacing:.08em}
.intro{padding-top:125px;padding-bottom:125px;background:linear-gradient(180deg,#050505,#0c0c0c)}
.intro h2{text-transform:uppercase}.program-grid{gap:18px}.program-grid article{position:relative;overflow:hidden;min-height:280px;padding:30px;border:1px solid #ffffff15;border-top:3px solid var(--pro-yellow);border-left:1px solid #ffffff15;background:linear-gradient(145deg,#151515,#090909)}
.program-grid article:after{content:attr(data-step);position:absolute;right:-10px;bottom:-28px;font-size:130px;font-weight:950;color:#ffffff07}
.program-grid h3{color:#fff}.teams{padding-top:125px;padding-bottom:125px;background:linear-gradient(135deg,#0a0a0a,#151515)}
.teams h2{text-transform:uppercase;color:#fff}.age-grid{gap:12px}.age-grid span{border:1px solid #ffd90044;background:#0c0c0c;transition:.3s}.age-grid span:hover,.age-grid .senior{background:var(--pro-yellow);color:#050505;transform:translateY(-5px);box-shadow:0 16px 34px #0008}
.roster{padding-top:125px;background:radial-gradient(circle at 20% 0,#ffd90013,transparent 24%),linear-gradient(150deg,#050505,#111)}
.roster-title h2,.selected-team h3,.position-heading h3{color:var(--pro-yellow)}
.roster-tabs{padding:8px}.roster-tabs button{border:1px solid #ffffff22;background:#0c0c0c;color:#ddd;border-radius:1px}.roster-tabs button:hover,.roster-tabs button.active{background:var(--pro-yellow);border-color:var(--pro-yellow);color:#050505;box-shadow:0 0 24px #ffd90028}
.public-player .player-visual{border-color:var(--pro-yellow);background:linear-gradient(145deg,var(--pro-yellow),#d6aa00)}
.public-player h3{font-size:19px;letter-spacing:-.02em}.role-label{background:#050505;color:var(--pro-yellow)}
.gallery{padding-top:125px;background:#050505}.gallery-head h2{color:var(--pro-yellow);text-transform:uppercase}.gallery-filters button.active,.gallery-filters button:hover{background:var(--pro-yellow);border-color:var(--pro-yellow)}
.gallery-card{clip-path:polygon(0 0,96% 0,100% 5%,100% 100%,4% 100%,0 95%)}.gallery-card:hover:before{box-shadow:inset 0 0 0 3px var(--pro-yellow)}
.video-feature{background:var(--pro-yellow)}.video-stage{box-shadow:18px 18px 0 #0005}
.values{position:relative;padding-top:115px;padding-bottom:115px;background:var(--pro-yellow);color:#050505}.values h2{text-transform:uppercase;font-weight:950}
.needs{padding-top:125px;padding-bottom:125px;background:linear-gradient(150deg,#050505,#131313)}
.needs-grid article{border-top-color:var(--pro-yellow);background:#0c0c0c}.needs-grid h3,.needs-grid span{color:var(--pro-yellow)}
.needs-cta{background:var(--pro-yellow);clip-path:polygon(0 0,98% 0,100% 20%,100% 100%,2% 100%,0 80%)}
.social-community{padding-top:125px;padding-bottom:125px}.social-card-grid>a{border-color:#ffffff18;background:linear-gradient(145deg,#141414,#080808)}
.social-card-grid>a:hover{border-color:var(--pro-yellow)}.social-card-grid>a>span{background:var(--pro-yellow)}.social-card-grid b,.social-card-grid i{color:var(--pro-yellow)}
footer{padding-top:70px;background:var(--pro-yellow);border-top:8px solid #050505}.footer-contact b{color:#050505}.contact-line{border-color:#05050524}
@keyframes heroDrift{from{background-position:center center}to{background-position:center 43%}}
@media(max-width:900px){.public-hero{min-height:680px}.public-hero:before{background:linear-gradient(90deg,#030303f2,#030303b5),url('/gallery/23-famille-team-bs.jpg') center/cover no-repeat}.public-hero>img{width:160px}.mission{gap:45px}.hero-metrics{flex-wrap:wrap}.hero-metrics>div{min-width:150px}}
@media(max-width:560px){.public-nav{min-height:74px}.public-nav .public-brand img{width:43px;height:53px}.public-hero{padding-top:75px;min-height:690px}.public-hero h1{font-size:46px}.public-hero>img{display:none}.hero-metrics>div{min-width:125px;padding:14px}.mission,.intro,.teams,.roster,.gallery,.needs,.social-community{padding-top:85px;padding-bottom:85px}.mission-mark{min-height:300px}.program-grid article{min-height:230px}}
@media(prefers-reduced-motion:reduce){.public-hero:before{animation:none}}
