@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");
:root{
  --orange:#d16a2e;
  --orange-2:#ff8a3d;
  --black:#050505;
  --black-2:#0b0b0b;
  --panel:#101010;
  --white:#f7f7f5;
  --muted:#9a9a95;
  --line:rgba(255,255,255,.11);
  --header-h:78px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--orange) #050505}
html::-webkit-scrollbar{width:9px}
html::-webkit-scrollbar-track{background:#050505}
html::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--orange-2),var(--orange));border-radius:0}
body{margin:0;background:var(--black);color:var(--white);font-family:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
img{max-width:100%;display:block}
::selection{background:var(--orange);color:#000}
.noise:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.025;z-index:90;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}

/* Cursor */
@media (pointer:fine){body,.cursor-link{cursor:none}.brand-cursor{position:fixed;left:0;top:0;width:30px;height:30px;z-index:99999;pointer-events:none;transform:translate(-50%,-50%);transition:width .18s,height .18s,filter .18s;filter:drop-shadow(0 0 10px rgba(209,106,46,.35))}.brand-cursor img{width:100%;height:100%;object-fit:contain}.brand-cursor.active{width:42px;height:42px;filter:drop-shadow(0 0 16px rgba(209,106,46,.7))}}

/* Loader + transitions */
.site-loader{position:fixed;inset:0;z-index:100000;background:#050505;display:grid;place-items:center;transition:opacity .35s ease,visibility .35s ease}
.site-loader.hidden{opacity:0;visibility:hidden}
.loader-mark{width:54px;max-height:54px;object-fit:contain;filter:none;animation:loaderIn .45s ease both}
.loader-line{position:absolute;left:50%;top:calc(50% + 46px);width:78px;height:2px;background:rgba(255,255,255,.08);transform:translateX(-50%);overflow:hidden}
.loader-line:after{content:"";display:block;width:100%;height:100%;background:var(--orange);transform:translateX(-100%);animation:loadline .7s ease forwards}
@keyframes loadline{to{transform:translateX(0)}}
@keyframes loaderIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
.page-wipe{position:fixed;inset:0;z-index:99990;pointer-events:none;background:var(--orange);transform:translateX(-101%)}
.page-wipe.show{animation:wipe .48s cubic-bezier(.76,0,.24,1) forwards}
@keyframes wipe{0%{transform:translateX(-101%)}52%{transform:translateX(0)}100%{transform:translateX(101%)}}

/* Nav */
.nav{position:sticky;z-index:500;top:0;left:0;right:0;height:var(--header-h);display:flex;align-items:center;padding:0 clamp(18px,4vw,64px);background:#070707;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 30px rgba(0,0,0,.2)}
.nav.scrolled,.inner-page .nav{background:#070707;border-bottom-color:rgba(209,106,46,.18)}
.nav-brand{width:138px;display:flex;align-items:center}.nav-brand img{max-height:32px;max-width:138px;object-fit:contain}
.nav-links{margin-left:auto;display:flex;align-items:center;gap:30px;font-size:.76rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.nav-links a{position:relative;color:#c8c8c5;transition:color .2s}.nav-links a:after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:-10px;background:var(--orange);transition:right .25s}.nav-links a:hover,.nav-links a.active{color:#fff}.nav-links a:hover:after,.nav-links a.active:after{right:0}
.nav-contact{border-left:1px solid var(--line);padding-left:28px;color:var(--orange)!important}.menu-btn{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:1.4rem}.mobile-menu{display:none}

/* General */
.container{width:min(1220px,calc(100% - 48px));margin:auto}.section{position:relative;padding:120px 0}.eyebrow{font-size:.71rem;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);font-weight:800}.display{font-size:clamp(3rem,7vw,6.8rem);line-height:.9;letter-spacing:-.05em;margin:14px 0 22px;font-weight:900;text-transform:uppercase}.lead{max-width:650px;color:#b6b6b0;line-height:1.75;font-size:1rem}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:1px solid rgba(255,255,255,.18);font-size:.73rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;overflow:hidden;transition:transform .2s,border-color .2s;background:#0a0a0a}.btn:before{content:"";position:absolute;inset:0;background:var(--orange);transform:translateX(-103%);transition:transform .3s cubic-bezier(.7,0,.2,1);z-index:-1}.btn:hover{transform:translateY(-2px);border-color:var(--orange)}.btn:hover:before{transform:translateX(0)}.btn.primary{background:var(--orange);color:#090909;border-color:var(--orange)}.btn.primary:before{background:#fff}.btn.primary:hover{border-color:#fff}.grid-lines{background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:72px 72px}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}

/* Home hero */
.hero{height:min(33.333vw,500px);min-height:330px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#050505}
.hero-bg{position:absolute;inset:0;background:url('../images/hero-bg.jpg') center center/cover no-repeat;transform:scale(1.015);will-change:transform}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.5),rgba(0,0,0,.08) 50%,rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.64),transparent 48%)}
.hero-content{position:relative;z-index:5;width:100%;padding:0 0 34px}
.hero-kicker{display:flex;align-items:center;gap:12px;font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:#f0f0ed}
.hero-kicker:before{content:"";width:34px;height:2px;background:var(--orange)}
.hero-title{font-size:clamp(2.1rem,4.5vw,4.8rem);line-height:.95;letter-spacing:-.045em;margin:10px 0 0;text-transform:uppercase;font-weight:800;max-width:650px}
.hero-meta{position:absolute;z-index:6;right:4vw;bottom:34px;text-align:right;font-size:.61rem;letter-spacing:.18em;text-transform:uppercase;color:#d2d2ce}.hero-meta b{display:block;color:var(--orange);font-size:.65rem;margin-bottom:7px}
.ember-field{position:absolute;inset:0;z-index:4;pointer-events:none}.ember{position:absolute;width:2px;height:2px;background:#ffae6e;box-shadow:0 0 10px #ff6e20;border-radius:50%;opacity:0;animation:emberRise linear infinite}@keyframes emberRise{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:.55}100%{transform:translateY(-130px) translateX(26px) scale(1.1);opacity:0}}

/* Home content */
.intro-split{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end}.orange-rule{height:1px;background:linear-gradient(90deg,var(--orange),transparent);margin:28px 0}.micro-data{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.micro-data div{padding:24px;background:#080808}.micro-data span{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.15em;font-size:.62rem}.micro-data b{display:block;margin-top:9px;font-size:1.15rem}
.stat-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:44px clamp(20px,3vw,48px);border-right:1px solid var(--line);position:relative;overflow:hidden}.stat:last-child{border-right:0}.stat:before{content:"";position:absolute;left:0;top:0;width:0;height:2px;background:var(--orange);transition:width .5s}.stat:hover:before{width:100%}.stat-value{font-size:clamp(2.4rem,5vw,5.4rem);font-weight:900;letter-spacing:-.06em}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:.63rem;margin-top:7px}
.feature-roster{display:grid;grid-template-columns:.82fr 1.18fr;gap:36px;align-items:stretch}.roster-preview{min-height:550px;position:relative;border:1px solid var(--line);overflow:hidden;background:radial-gradient(circle at 70% 20%,rgba(209,106,46,.25),transparent 35%),#0b0b0b}.roster-preview:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 60%,rgba(209,106,46,.06) 60% 61%,transparent 61%)}.preview-card{position:absolute;width:33%;aspect-ratio:3/4;background:linear-gradient(150deg,#1c1c1c,#090909);border:1px solid rgba(255,255,255,.11);bottom:-8%;transform:rotate(var(--r));left:var(--x);box-shadow:0 30px 50px rgba(0,0,0,.38)}.preview-card:after{content:attr(data-name);position:absolute;right:12px;bottom:12px;font-weight:900;text-transform:uppercase;letter-spacing:-.04em;font-size:clamp(.9rem,2vw,1.5rem)}
.news-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:1px;background:var(--line);border:1px solid var(--line)}.news-card{min-height:340px;padding:26px;background:#0a0a0a;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.news-card:first-child{min-height:480px;background:linear-gradient(145deg,rgba(209,106,46,.26),rgba(10,10,10,.7)),url('../images/hero-bg.jpg') center/cover}.news-card .tag{position:absolute;top:20px;left:20px;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}.news-card h3{font-size:clamp(1.5rem,3vw,3rem);letter-spacing:-.04em;margin:0 0 8px;text-transform:uppercase}.news-card p{color:var(--muted);font-size:.85rem;line-height:1.6}

/* Inner headers */
.inner-hero{padding:110px 0 72px;position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 80% 30%,rgba(209,106,46,.18),transparent 35%),#060606}.inner-hero .display{max-width:1050px}.inner-hero:after{content:"SFG";position:absolute;right:-1vw;bottom:-4vw;font-size:22vw;line-height:.7;font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.018)}

/* Roster */
.roster-tabs{position:sticky;top:var(--header-h);z-index:80;display:flex;justify-content:center;background:#080808;border-bottom:1px solid var(--line);border-top:1px solid rgba(255,255,255,.04)}
.roster-tab{appearance:none;border:0;border-right:1px solid var(--line);background:transparent;color:#777;padding:19px 28px;text-transform:uppercase;letter-spacing:.16em;font-size:.65rem;font-weight:800;cursor:pointer;transition:.2s}.roster-tab:first-child{border-left:1px solid var(--line)}.roster-tab:hover,.roster-tab.active{color:#fff;background:rgba(209,106,46,.08)}.roster-tab.active{box-shadow:inset 0 -2px var(--orange)}
.select-shell{position:relative;padding:56px 0 110px;background:radial-gradient(circle at 24% 38%,rgba(209,106,46,.11),transparent 25%),#050505}
.select-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px}.select-title h2{font-size:clamp(2.6rem,5vw,5.2rem);margin:0;letter-spacing:-.045em;text-transform:uppercase}.select-title span{color:var(--muted);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}
.character-select{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:26px;min-height:680px;border:1px solid var(--line);background:#080808;overflow:hidden}
.character-stage{position:relative;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(250px,.7fr);align-items:end;gap:28px;padding:46px;background:linear-gradient(115deg,rgba(209,106,46,.12),transparent 38%),radial-gradient(circle at 35% 40%,rgba(209,106,46,.15),transparent 27%),#090909;overflow:hidden}
.character-stage:before{content:"SFG";position:absolute;left:-18px;top:34px;font-size:12rem;font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.018);line-height:.7}
.character-stage:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,#000,transparent 82%);pointer-events:none}
.selected-art{position:relative;z-index:3;aspect-ratio:3/4;max-height:570px;width:100%;align-self:center;background:linear-gradient(155deg,#202020,#090909 72%);border:1px solid rgba(255,255,255,.14);box-shadow:0 38px 80px rgba(0,0,0,.42);overflow:hidden;transition:transform .35s ease,opacity .2s ease}.selected-art.switching{opacity:.15;transform:translateX(-18px) scale(.985)}
.selected-art:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.78)),radial-gradient(circle at 72% 25%,rgba(209,106,46,.2),transparent 35%)}
.selected-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:10rem;font-weight:900;color:rgba(255,255,255,.055)}
.selected-art-name{position:absolute;right:20px;bottom:18px;text-align:right;font-size:clamp(1.7rem,3vw,3.3rem);font-weight:900;text-transform:uppercase;letter-spacing:-.045em}
.character-info{position:relative;z-index:3;padding:0 0 16px;align-self:end}.character-info .eyebrow{margin-bottom:12px}.selected-name{font-size:clamp(3.3rem,6vw,6.7rem);line-height:.84;margin:0 0 26px;letter-spacing:-.06em;text-transform:uppercase}.selected-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-bottom:24px}.selected-stat{padding:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.selected-stat span{display:block;font-size:.54rem;letter-spacing:.15em;text-transform:uppercase;color:#777}.selected-stat b{display:block;margin-top:7px;font-size:1.08rem}.selected-stat b.orange{color:var(--orange)}
.character-grid-wrap{padding:28px;background:#060606;border-left:1px solid var(--line);display:flex;flex-direction:column}.select-instruction{display:flex;justify-content:space-between;gap:15px;color:#777;font-size:.59rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:15px}.character-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;overflow:auto;padding-right:4px}.character-option{position:relative;aspect-ratio:3/4;border:1px solid rgba(255,255,255,.1);background:linear-gradient(155deg,#1a1a1a,#080808);overflow:hidden;cursor:pointer;transition:transform .22s,border-color .22s,opacity .22s}.character-option:hover{transform:translateY(-3px);border-color:rgba(209,106,46,.6)}.character-option.active{border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange)}.character-option.active:before{content:"SELECTED";position:absolute;left:8px;top:8px;z-index:3;background:var(--orange);color:#070707;padding:4px 6px;font-size:.47rem;letter-spacing:.12em;font-weight:900}.option-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:3.4rem;font-weight:900;color:rgba(255,255,255,.06)}.option-label{position:absolute;z-index:2;right:9px;bottom:8px;text-align:right;font-size:.82rem;text-transform:uppercase;font-weight:900;letter-spacing:-.025em}.option-label span{display:block;color:var(--orange);font-size:.45rem;letter-spacing:.12em;margin-top:3px}.empty-state{border:1px solid var(--line);min-height:420px;display:grid;place-items:center;text-align:center;background:radial-gradient(circle,rgba(209,106,46,.13),transparent 35%),#080808}.empty-state h3{font-size:clamp(2.5rem,7vw,6rem);margin:0;text-transform:uppercase;letter-spacing:-.06em}.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,380px));gap:16px;justify-content:center}.management-card{position:relative;aspect-ratio:3/4;border:1px solid var(--line);background:linear-gradient(155deg,#1b1b1b,#080808);overflow:hidden}.management-card .placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:7rem;font-weight:900;color:rgba(255,255,255,.06)}.management-card .player-name{position:absolute;right:16px;bottom:14px;text-align:right;font-size:1.6rem;text-transform:uppercase;font-weight:900}.management-card .player-rank{display:block;color:var(--orange);font-size:.52rem;letter-spacing:.14em;margin-top:5px}

/* Apparel */
.apparel-stage{min-height:calc(100svh - var(--header-h));padding-top:0;display:grid;place-items:center;perspective:1200px;overflow:hidden;position:relative;background:radial-gradient(circle at 50% 45%,rgba(209,106,46,.23),transparent 28%),#050505}.apparel-stage:before{content:"APPAREL";position:absolute;font-size:20vw;font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.025);white-space:nowrap}.orbit{position:absolute;width:min(65vw,760px);aspect-ratio:1;border:1px solid rgba(209,106,46,.2);border-radius:50%;transform:rotateX(70deg);animation:orbitSpin 12s linear infinite}.orbit:after{content:"";position:absolute;width:10px;height:10px;background:var(--orange);box-shadow:0 0 30px var(--orange);border-radius:50%;top:50%;left:-5px}.merch-object{width:230px;height:310px;position:relative;transform-style:preserve-3d;animation:float3d 8s ease-in-out infinite}.merch-face{position:absolute;inset:0;border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,#1b1b1b,#080808);display:grid;place-items:center;backface-visibility:hidden}.merch-face img{width:55%;filter:drop-shadow(0 0 20px rgba(209,106,46,.35))}.merch-face.back{transform:translateZ(-46px) rotateY(180deg)}.merch-face.front{transform:translateZ(46px)}.merch-face.side1{width:92px;left:69px;transform:rotateY(90deg) translateZ(115px)}.merch-face.side2{width:92px;left:69px;transform:rotateY(-90deg) translateZ(115px)}@keyframes float3d{0%,100%{transform:rotateY(-18deg) rotateX(8deg) translateY(0)}50%{transform:rotateY(198deg) rotateX(-5deg) translateY(-20px)}}@keyframes orbitSpin{to{transform:rotateX(70deg) rotateZ(360deg)}}.apparel-copy{position:absolute;z-index:5;text-align:center;bottom:8vh}.apparel-copy h1{font-size:clamp(3.5rem,8vw,8rem);margin:0;letter-spacing:-.07em;text-transform:uppercase}.powered{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;color:#888;font-size:.6rem;letter-spacing:.17em;text-transform:uppercase}.powered img{width:92px;filter:brightness(0) invert(1);opacity:.75}

/* Partners */
.partner-feature{border:1px solid var(--line);min-height:460px;display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(135deg,#0a0a0a,#050505);overflow:hidden}.partner-logo-panel{display:grid;place-items:center;background:radial-gradient(circle,rgba(209,106,46,.18),transparent 40%);border-right:1px solid var(--line)}.partner-logo-panel img{width:min(270px,58%);filter:brightness(0) invert(1)}.partner-copy{padding:60px;display:flex;flex-direction:column;justify-content:center}.partner-copy h2{font-size:clamp(2.8rem,6vw,6rem);margin:8px 0 18px;letter-spacing:-.06em;text-transform:uppercase}.partner-slots{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.partner-slot{background:#080808;min-height:180px;display:grid;place-items:center;color:#575757;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase}

/* Contact */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.contact-card{background:#090909;min-height:310px;padding:36px;display:flex;flex-direction:column;justify-content:space-between;transition:background .3s}.contact-card:hover{background:linear-gradient(145deg,rgba(209,106,46,.14),#090909 60%)}.contact-icon{font-size:1.8rem;color:var(--orange)}.contact-card h3{font-size:1.8rem;text-transform:uppercase;letter-spacing:-.035em;margin:18px 0 8px}.contact-card p{color:var(--muted);line-height:1.65;font-size:.9rem}.contact-link{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900}.contact-link span{color:var(--orange);margin-left:6px}

/* Footer */
.pre-footer{padding:48px 24px 30px;border-top:1px solid var(--line);overflow:hidden;text-align:center}.pre-footer img{width:min(220px,48vw);margin:auto;opacity:.88}.footer{border-top:1px solid var(--line);padding:42px 0 28px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px}.footer h4{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin:0 0 14px}.footer-links{display:grid;gap:9px;color:#aaa;font-size:.86rem}.footer-links a:hover{color:#fff}.footer-meta{color:#757575;font-size:.76rem;line-height:1.7}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:36px;padding-top:24px;color:#565656;font-size:.67rem;line-height:1.6}

@media(max-width:950px){
  :root{--header-h:68px}.nav{padding:0 20px}.nav-links{display:none}.menu-btn{display:block}.mobile-menu{display:flex;position:fixed;inset:68px 0 auto 0;z-index:490;background:#070707;border-bottom:1px solid var(--line);flex-direction:column;padding:16px 20px;transform:translateY(-120%);transition:transform .3s}.mobile-menu.open{transform:none}.mobile-menu a{padding:15px 2px;border-bottom:1px solid var(--line);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800}
  .intro-split,.feature-roster,.partner-feature,.player-page{grid-template-columns:1fr}.stat-strip{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.news-grid{grid-template-columns:1fr}.news-card:first-child{min-height:420px}.character-select{grid-template-columns:1fr}.character-grid-wrap{border-left:0;border-top:1px solid var(--line)}.character-grid{grid-template-columns:repeat(5,1fr);overflow:visible}.character-stage{min-height:610px}.player-art{min-height:70svh;border-right:0;border-bottom:1px solid var(--line)}.player-info{padding:70px 28px 90px}.partner-logo-panel{min-height:330px;border-right:0;border-bottom:1px solid var(--line)}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:640px){
  .container{width:min(100% - 30px,1220px)}.section{padding:84px 0}.hero{height:360px;min-height:360px}.hero-content{width:100%;padding-bottom:24px}.hero-title{font-size:clamp(2rem,10vw,3.3rem)}.hero-meta{display:none}.hero-bg{background-position:62% center}.display{font-size:clamp(2.8rem,14vw,5rem)}.stat-strip{grid-template-columns:1fr}.stat{border-right:0!important;border-bottom:1px solid var(--line)!important}.stat:last-child{border-bottom:0!important}.character-stage{grid-template-columns:1fr;padding:24px;min-height:auto}.selected-art{max-height:none;width:min(78vw,360px);justify-self:center}.character-info{padding:0}.selected-name{font-size:clamp(3rem,14vw,5rem)}.character-grid{grid-template-columns:repeat(2,1fr)}.character-grid-wrap{padding:18px}.management-grid{grid-template-columns:1fr}.management-grid{grid-template-columns:1fr}.select-title{align-items:start;flex-direction:column;gap:12px}.roster-tab{padding:17px 15px;font-size:.58rem}.profile-stats{grid-template-columns:1fr}.profile-stat{border-bottom:1px solid var(--line)}.profile-stat:last-child{border-bottom:0}.partner-copy{padding:38px 24px}.partner-slots{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.apparel-copy{bottom:5vh}.merch-object{width:180px;height:245px}.orbit{width:92vw}.news-card{min-height:280px}.micro-data{grid-template-columns:1fr}}

/* v3 polish */
body{font-family:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* Hero: true banner composition + inset copy */
.hero-content{width:min(1160px,calc(100% - 120px));margin-left:auto;margin-right:auto;padding-bottom:34px}
.hero-title{max-width:720px;font-weight:800;letter-spacing:-.052em;text-shadow:0 2px 28px rgba(0,0,0,.42)}
.hero-kicker{text-shadow:0 1px 16px rgba(0,0,0,.55)}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:44%;z-index:3;background:linear-gradient(0deg,rgba(5,5,5,.68),transparent);pointer-events:none}
.ember{width:2.5px;height:2.5px;background:#ffc08b;box-shadow:0 0 9px #ff7428,0 0 20px rgba(255,95,20,.55)}
.ember.big{width:4px;height:4px;filter:blur(.15px)}
.ember.streak{width:1px;height:11px;border-radius:999px;background:linear-gradient(#ffd6b8,rgba(255,106,46,0));box-shadow:0 0 12px rgba(255,106,46,.9)}
@keyframes emberRise{0%{transform:translate3d(0,18px,0) scale(.6);opacity:0}12%{opacity:.85}65%{opacity:.48}100%{transform:translate3d(34px,-185px,0) scale(1.1);opacity:0}}

/* Minimal first-open intro */
.site-loader{background:#050505;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:opacity .55s cubic-bezier(.22,.61,.36,1),visibility .55s}
.loader-mark{width:48px;max-height:48px;object-fit:contain;opacity:0;transform:scale(.92);animation:introMark .8s cubic-bezier(.22,.61,.36,1) .08s forwards}
.loader-line{width:90px;height:1px;background:rgba(255,255,255,.12);position:relative;overflow:hidden}
.loader-line:after{content:"";position:absolute;inset:0;background:var(--orange);transform:translateX(-100%);animation:introLine 1.15s cubic-bezier(.65,0,.35,1) .12s forwards}
@keyframes introMark{to{opacity:1;transform:scale(1)}}
@keyframes introLine{to{transform:translateX(0)}}

/* Seamless page wipe: cover, navigate, then reveal on destination */
.page-wipe{transform:translateX(-100%);will-change:transform}
.page-wipe.transition-cover{transform:translateX(0);transition:transform .58s cubic-bezier(.76,0,.24,1)}
.page-wipe.transition-reveal{transform:translateX(0);animation:pageReveal .66s cubic-bezier(.76,0,.24,1) forwards}
@keyframes pageReveal{to{transform:translateX(101%)}}

/* Slower, smoother scroll motion across text + UI */
.scroll-animate{opacity:0;transform:translate3d(0,32px,0);filter:blur(2px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1),filter 1s cubic-bezier(.16,1,.3,1);transition-delay:var(--scroll-delay,0ms)}
.scroll-animate.in-view{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
.reveal{transition-duration:1s;transition-timing-function:cubic-bezier(.16,1,.3,1)}

/* Roster: 3D horizontal character-select carousel */
.select-shell{padding-top:62px;overflow:hidden}
.roster-carousel-shell{position:relative;height:650px;margin-top:18px;perspective:1400px;display:grid;place-items:center;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 46%,rgba(209,106,46,.2),transparent 23%),linear-gradient(180deg,#080808,#050505)}
.roster-carousel-shell:before{content:"SFG";position:absolute;left:50%;top:50%;transform:translate(-50%,-52%);font-size:min(31vw,27rem);font-weight:900;letter-spacing:-.09em;color:rgba(255,255,255,.018);pointer-events:none}
.roster-carousel-shell:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:68px 68px;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent);pointer-events:none}
.roster-carousel{position:relative;width:100%;height:100%;transform-style:preserve-3d}
.roster-card{--offset:0;position:absolute;left:50%;top:50%;width:min(290px,23vw);aspect-ratio:3/4;border:1px solid rgba(255,255,255,.12);background:#0b0b0b;overflow:hidden;cursor:pointer;transform-style:preserve-3d;transform:translate(-50%,-50%) translateX(calc(var(--offset)*250px)) translateZ(calc((2 - abs(var(--offset)))*-30px)) rotateY(calc(var(--offset)*-15deg)) scale(calc(1 - min(abs(var(--offset))*.12,.34)));opacity:calc(1 - min(abs(var(--offset))*.22,.78));transition:transform .72s cubic-bezier(.16,1,.3,1),opacity .55s ease,border-color .45s ease,filter .55s ease;z-index:calc(20 - abs(var(--offset)));filter:saturate(calc(1 - min(abs(var(--offset))*.18,.55))) brightness(calc(1 - min(abs(var(--offset))*.12,.36)));padding:0}
.roster-card[style*="--offset: 0"],.roster-card.active{border-color:rgba(209,106,46,.9);box-shadow:0 28px 70px rgba(0,0,0,.5),0 0 44px rgba(209,106,46,.12)}
.roster-card-art{position:absolute;inset:0;background:linear-gradient(145deg,rgba(209,106,46,.18),transparent 40%),linear-gradient(165deg,#1b1b1b,#080808);display:grid;place-items:center}
.roster-card-art:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.88))}
.roster-card-art span{font-size:8rem;font-weight:900;color:rgba(255,255,255,.055);letter-spacing:-.08em}
.roster-card-label{position:absolute;z-index:3;right:17px;bottom:15px;text-align:right;text-transform:uppercase}
.roster-card-label b{display:block;font-size:1.35rem;letter-spacing:-.04em}
.roster-card-label small{display:block;color:var(--orange);font-size:.52rem;letter-spacing:.14em;margin-top:4px;font-weight:800}
.carousel-arrow{position:absolute;z-index:50;top:50%;transform:translateY(-50%);width:58px;height:58px;border:1px solid rgba(255,255,255,.14);background:rgba(7,7,7,.82);backdrop-filter:blur(10px);color:#fff;font-size:1.35rem;cursor:pointer;transition:background .25s,border-color .25s,transform .25s}
.carousel-arrow:hover{background:var(--orange);border-color:var(--orange);color:#090909;transform:translateY(-50%) scale(1.05)}
.carousel-arrow.prev{left:28px}.carousel-arrow.next{right:28px}
.carousel-progress{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:14px;margin:18px 0 34px;color:#6f6f6f;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase}
.progress-track{height:1px;background:rgba(255,255,255,.12);position:relative;overflow:hidden}.progress-track i{display:block;height:100%;width:10%;background:var(--orange);transition:transform .65s cubic-bezier(.16,1,.3,1);transform-origin:left}
.carousel-player-info{display:grid;grid-template-columns:1.05fr 1.2fr auto;gap:32px;align-items:end;padding:0 0 38px;border-bottom:1px solid var(--line)}
.carousel-player-info h3{font-size:clamp(3.5rem,7vw,7.2rem);line-height:.78;letter-spacing:-.065em;text-transform:uppercase;margin:10px 0 0}
.carousel-stats{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}
.carousel-stats>div{padding:17px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.carousel-stats span{display:block;color:#727272;font-size:.52rem;letter-spacing:.14em;text-transform:uppercase}.carousel-stats b{display:block;font-size:1.06rem;margin-top:7px}.carousel-stats .orange{color:var(--orange)}
.carousel-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

/* Footer mark less dominant */
.pre-footer{padding:30px 24px 20px}.pre-footer img{width:min(150px,36vw);opacity:.58}

@media(max-width:950px){
  .hero-content{width:min(100% - 64px,1160px)}
  .roster-carousel-shell{height:570px}.roster-card{width:min(260px,34vw)}
  .carousel-player-info{grid-template-columns:1fr}.carousel-actions{justify-content:flex-start}.carousel-stats{max-width:720px}
}
@media(max-width:640px){
  .hero-content{width:calc(100% - 44px);padding-bottom:24px}.hero-title{font-size:clamp(2rem,9.5vw,3.15rem)}
  .roster-carousel-shell{height:500px;margin-left:-15px;margin-right:-15px}.roster-card{width:min(235px,62vw)}.carousel-arrow{width:46px;height:46px}.carousel-arrow.prev{left:10px}.carousel-arrow.next{right:10px}
  .carousel-stats{grid-template-columns:1fr}.carousel-player-info h3{font-size:clamp(3.3rem,17vw,5.2rem)}
}
@media(prefers-reduced-motion:reduce){.scroll-animate{opacity:1;transform:none;filter:none}.roster-card,.page-wipe{transition:none!important;animation:none!important}}

/* v4 motion + player profile polish */
/* Hero copy sits safely in the darker left portion of the supplied artwork. */
.hero-content{
  position:relative;z-index:5;width:min(620px,48vw);margin:0 0 0 clamp(28px,4.2vw,72px);padding:0 0 36px;
}
.hero-title{
  margin:0;font-size:clamp(2.35rem,4.35vw,4.7rem);line-height:.91;font-weight:850;letter-spacing:-.06em;
  text-transform:uppercase;color:#fff;text-shadow:0 4px 26px rgba(0,0,0,.78),0 1px 3px rgba(0,0,0,.9);
}

/* First-visit loader: restrained but branded, rather than a plain logo + line. */
.site-loader{background:#050505;gap:18px;isolation:isolate;overflow:hidden}
.site-loader:before{content:"";position:absolute;width:min(520px,72vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(209,106,46,.20),rgba(209,106,46,.05) 34%,transparent 68%);filter:blur(8px);animation:loaderGlow 2.2s ease-in-out infinite;z-index:-1}
.site-loader:after{content:"STRIVE FOR GREATNESS";position:absolute;bottom:clamp(26px,5vh,52px);font-size:.57rem;font-weight:700;letter-spacing:.31em;color:rgba(255,255,255,.34);transform:translateX(.15em);animation:loaderCaption 1.1s ease .18s both}
.loader-mark{width:66px;max-height:66px;filter:drop-shadow(0 0 28px rgba(209,106,46,.28));animation:loaderMarkV4 1.15s cubic-bezier(.16,1,.3,1) both}
.loader-line{width:128px;height:2px;background:rgba(255,255,255,.1);position:relative;overflow:visible}
.loader-line:before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 18px rgba(209,106,46,.95);transform:translate(-64px,-50%);animation:loaderDot 1.3s cubic-bezier(.65,0,.35,1) .1s both}
.loader-line:after{background:linear-gradient(90deg,rgba(209,106,46,.15),var(--orange),#ff9a5d);animation:loaderTrack 1.3s cubic-bezier(.65,0,.35,1) .1s both}
@keyframes loaderMarkV4{0%{opacity:0;transform:scale(.76) rotate(-5deg)}55%{opacity:1;transform:scale(1.04) rotate(0)}100%{opacity:1;transform:scale(1)}}
@keyframes loaderTrack{0%{transform:scaleX(0);transform-origin:left}100%{transform:scaleX(1);transform-origin:left}}
@keyframes loaderDot{0%{transform:translate(-64px,-50%);opacity:0}10%{opacity:1}100%{transform:translate(56px,-50%);opacity:1}}
@keyframes loaderGlow{50%{transform:scale(1.08);opacity:.7}}
@keyframes loaderCaption{from{opacity:0;transform:translateY(8px) translateX(.15em)}to{opacity:1;transform:translateY(0) translateX(.15em)}}

/* True page-to-page orange curtain. New page is covered before first paint, then uncovers. */
.page-wipe{left:0;right:auto;width:100%;transform:translate3d(-101%,0,0);background:linear-gradient(90deg,#b75320 0%,var(--orange) 62%,#ef8649 100%);box-shadow:16px 0 38px rgba(209,106,46,.16)}
.page-wipe.transition-cover{animation:v4Cover .82s cubic-bezier(.77,0,.18,1) forwards}
html.transition-enter .page-wipe{transform:translate3d(0,0,0);animation:v4Reveal .9s cubic-bezier(.77,0,.18,1) .08s forwards}
@keyframes v4Cover{from{transform:translate3d(-101%,0,0)}to{transform:translate3d(0,0,0)}}
@keyframes v4Reveal{from{transform:translate3d(0,0,0)}to{transform:translate3d(101%,0,0)}}

/* More deliberate scroll movement. */
.scroll-animate{transform:translate3d(0,42px,0);filter:blur(2.5px);transition-duration:1.45s;transition-timing-function:cubic-bezier(.16,1,.3,1)}
.reveal{transform:translateY(38px);transition-duration:1.4s;transition-timing-function:cubic-bezier(.16,1,.3,1)}

/* Carousel transforms are supplied numerically by JS for broad browser support. */
.roster-card{transition:transform 1.02s cubic-bezier(.16,1,.3,1),opacity .82s ease,border-color .55s ease,filter .82s ease,box-shadow .65s ease;will-change:transform,opacity;transform:translate(-50%,-50%)}
.roster-card.is-moving{pointer-events:none}
.roster-card-art{transition:transform 1.02s cubic-bezier(.16,1,.3,1),filter .82s ease}
.roster-card.active .roster-card-art{transform:scale(1.025)}
.carousel-player-info{transition:opacity .45s ease,transform .65s cubic-bezier(.16,1,.3,1)}
.carousel-player-info.switching{opacity:.25;transform:translateY(10px)}

/* Full player profile page */
.player-page{min-height:calc(100svh - var(--header-h));display:grid;grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr);position:relative;background:radial-gradient(circle at 20% 44%,rgba(209,106,46,.14),transparent 28%),#050505;border-bottom:1px solid var(--line)}
.player-page:before{content:"SFG";position:absolute;right:-2vw;top:6vh;font-size:min(25vw,24rem);line-height:.8;font-weight:900;letter-spacing:-.09em;color:rgba(255,255,255,.018);pointer-events:none}
.player-art{position:relative;min-height:760px;border-right:1px solid var(--line);display:grid;place-items:center;padding:clamp(42px,6vw,84px);overflow:hidden;background:linear-gradient(130deg,rgba(209,106,46,.08),transparent 38%),#080808}
.player-art:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:62px 62px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}
.player-art:after{content:"PLAYER CARD · 3:4";position:absolute;left:24px;bottom:22px;font-size:.55rem;font-weight:700;letter-spacing:.18em;color:#5f5f5f}
.player-placeholder{position:relative;z-index:2;width:min(390px,78%);aspect-ratio:3/4;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at 65% 25%,rgba(209,106,46,.2),transparent 30%),linear-gradient(155deg,#1c1c1c,#090909 75%);display:grid;place-items:center;font-size:clamp(7rem,12vw,12rem);font-weight:900;color:rgba(255,255,255,.055);box-shadow:0 40px 100px rgba(0,0,0,.48),0 0 70px rgba(209,106,46,.08);transform:perspective(1000px) rotateY(5deg);transition:transform .7s cubic-bezier(.16,1,.3,1),border-color .4s ease}
.player-placeholder:hover{transform:perspective(1000px) rotateY(0) translateY(-8px);border-color:rgba(209,106,46,.6)}
.player-info{position:relative;z-index:2;display:flex;align-items:center;padding:clamp(56px,8vw,120px);background:linear-gradient(90deg,rgba(5,5,5,.72),#050505)}
.player-info>div{width:min(680px,100%)}
.player-info h1{font-size:clamp(4.6rem,9vw,9.6rem);line-height:.77;margin:16px 0 44px;text-transform:uppercase;letter-spacing:-.075em;font-weight:900}
.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-bottom:28px}
.profile-stat{padding:22px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.012)}
.profile-stat span{display:block;color:#717171;font-size:.54rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700}
.profile-stat b{display:block;margin-top:10px;font-size:clamp(1.15rem,2vw,1.55rem);letter-spacing:-.025em}
.profile-stat:first-child b{color:var(--orange)}
.player-nav{display:flex;justify-content:space-between;gap:12px;margin-top:54px;padding-top:22px;border-top:1px solid var(--line)}
.player-page .button-row{margin-top:0}
.player-page .eyebrow:before{content:"";display:inline-block;width:30px;height:1px;background:var(--orange);vertical-align:middle;margin-right:10px}

@media(max-width:950px){
  .hero-content{width:min(580px,65vw);margin-left:32px}
  .player-page{grid-template-columns:1fr}.player-art{min-height:650px;border-right:0;border-bottom:1px solid var(--line)}.player-info{padding:70px 32px 90px}
}
@media(max-width:640px){
  .hero-content{width:66vw;margin-left:22px;padding-bottom:25px}.hero-title{font-size:clamp(2rem,9.2vw,3.1rem)}
  .player-art{min-height:520px;padding:44px 22px}.player-placeholder{width:min(300px,82vw)}.player-info{padding:58px 22px 78px}.player-info h1{font-size:clamp(4rem,19vw,6.5rem)}.profile-stats{grid-template-columns:1fr}.player-nav{flex-direction:column}.player-nav .btn{width:100%}
}

/* v5 interaction polish */
/* The custom cursor changes color on anything interactive. */
@media (pointer:fine){
  .brand-cursor img{transition:filter .28s ease,transform .28s cubic-bezier(.16,1,.3,1)}
  .brand-cursor.active{width:38px;height:38px;filter:drop-shadow(0 0 18px rgba(209,106,46,.72))}
  .brand-cursor.active img{filter:brightness(0) invert(1);transform:rotate(-7deg) scale(1.04)}
}

/* First-ever visit intro: branded, restrained, and with a true orange fill bar. */
.site-loader{background:#050505;gap:17px;isolation:isolate;overflow:hidden}
.site-loader:before{content:"";position:absolute;width:min(410px,68vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(209,106,46,.13),rgba(209,106,46,.035) 38%,transparent 70%);filter:blur(9px);animation:v5LoaderGlow 2.3s ease-in-out infinite;z-index:-1}
.site-loader:after{content:"STRIVE FOR GREATNESS";position:absolute;top:calc(50% + 69px);left:50%;transform:translateX(-50%);font-size:.5rem;font-weight:700;letter-spacing:.27em;color:rgba(255,255,255,.28);white-space:nowrap;animation:v5LoaderCaption .8s ease .22s both}
.loader-mark{width:60px;max-height:60px;object-fit:contain;filter:drop-shadow(0 0 20px rgba(209,106,46,.18));animation:v5LoaderMark .95s cubic-bezier(.16,1,.3,1) both}
.loader-line{position:absolute;left:50%;top:calc(50% + 45px);width:112px;height:3px;background:rgba(255,255,255,.09);transform:translateX(-50%);overflow:hidden}
.loader-line:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--orange),#f28a4c);transform:scaleX(0);transform-origin:left;animation:v5LoadFill 1.75s cubic-bezier(.22,1,.36,1) .18s forwards;box-shadow:0 0 14px rgba(209,106,46,.4)}
.loader-line:after{display:none!important}
@keyframes v5LoaderMark{0%{opacity:0;transform:translateY(8px) scale(.88)}100%{opacity:1;transform:none}}
@keyframes v5LoadFill{0%{transform:scaleX(0)}18%{transform:scaleX(.13)}55%{transform:scaleX(.62)}100%{transform:scaleX(1)}}
@keyframes v5LoaderGlow{50%{opacity:.65;transform:scale(1.06)}}
@keyframes v5LoaderCaption{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}

/* Seamless navigation transition: black glass curtain + a narrow orange light edge.
   It covers the old page, navigation happens while covered, then the same curtain
   continues off the right edge on the destination page. */
.page-wipe{position:fixed;inset:0;z-index:99990;pointer-events:none;background:linear-gradient(90deg,#050505 0%,#050505 92%,#090706 100%);transform:translate3d(-102%,0,0);will-change:transform;box-shadow:none}
.page-wipe:before{content:"";position:absolute;right:0;top:0;width:4px;height:100%;background:linear-gradient(180deg,#ef8a50,var(--orange) 45%,#8e3f18);box-shadow:-10px 0 34px rgba(209,106,46,.36),0 0 12px rgba(209,106,46,.58)}
.page-wipe:after{content:"";position:absolute;right:4px;top:0;width:82px;height:100%;background:linear-gradient(90deg,transparent,rgba(209,106,46,.055));opacity:.8}
.page-wipe.transition-cover{animation:v5CurtainIn .76s cubic-bezier(.76,0,.24,1) forwards!important}
html.transition-enter .page-wipe{transform:translate3d(0,0,0);animation:v5CurtainOut 1.02s cubic-bezier(.76,0,.24,1) .06s forwards!important}
@keyframes v5CurtainIn{0%{transform:translate3d(-102%,0,0)}100%{transform:translate3d(0,0,0)}}
@keyframes v5CurtainOut{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(102%,0,0)}}

/* Let the roster cards visibly travel between slots rather than snapping state. */
.roster-carousel{perspective:1200px;transform-style:preserve-3d}
.roster-card{will-change:transform,opacity,filter;backface-visibility:hidden}
.roster-card.is-moving .roster-card-art{filter:contrast(1.03)}


/* v6 final polish */
/* First-open loader: small, premium progress bar; this build uses a fresh once-only key. */
.site-loader{gap:20px}
.loader-mark{width:58px;max-height:58px}
.loader-line{top:calc(50% + 47px);width:126px;height:3px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.035)}
.loader-line:before{animation:v6LoadFill 2s cubic-bezier(.22,1,.36,1) .18s forwards}
.site-loader:after{top:calc(50% + 75px);font-size:.48rem;letter-spacing:.25em}
@keyframes v6LoadFill{0%{transform:scaleX(0)}12%{transform:scaleX(.07)}36%{transform:scaleX(.34)}69%{transform:scaleX(.73)}100%{transform:scaleX(1)}}

/* Orange light on BOTH edges of the navigation curtain. Right edge leads in, left edge trails out. */
.page-wipe:before,.page-wipe:after{content:"";position:absolute;top:0;width:4px;height:100%;z-index:3;background:linear-gradient(180deg,#f39a64 0%,var(--orange) 45%,#873914 100%)}
.page-wipe:before{right:0;left:auto;box-shadow:-10px 0 34px rgba(209,106,46,.34),0 0 12px rgba(209,106,46,.62)}
.page-wipe:after{left:0;right:auto;opacity:1;box-shadow:10px 0 34px rgba(209,106,46,.34),0 0 12px rgba(209,106,46,.62)}

/* Keep the player detail copy to one clean transition per selection. */
.carousel-player-info.switching{opacity:1!important;transform:none!important}
.roster-card{transition:border-color .55s ease,box-shadow .65s ease!important}

/* v7 loader polish: a single solid STRIVE-orange bar fills cleanly left-to-right. */
.loader-line{
  width:126px;
  height:3px;
  background:rgba(255,255,255,.08);
  border:0;
  overflow:hidden;
}
.loader-line:before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--orange);
  box-shadow:none;
  transform:scaleX(0);
  transform-origin:left center;
  animation:v7LoadFill 1.9s cubic-bezier(.4,0,.2,1) .12s forwards;
}
@keyframes v7LoadFill{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}

/* v8: keep player/management card names white */
.roster-card-label b,
.management-card .player-name {
  color: #fff;
}

/* Player artwork image support */
.roster-card-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.management-card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.player-card-image{position:relative;z-index:2;width:min(390px,78%);aspect-ratio:3/4;object-fit:cover;display:block;border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 100px rgba(0,0,0,.48),0 0 70px rgba(209,106,46,.08);transform:perspective(1000px) rotateY(5deg);transition:transform .7s cubic-bezier(.16,1,.3,1),border-color .4s ease}
.player-card-image:hover{transform:perspective(1000px) rotateY(0) translateY(-8px);border-color:rgba(209,106,46,.6)}
@media(max-width:640px){.player-card-image{width:min(300px,82vw)}}

/* Homepage roster category artwork */
.roster-category-card{background:#090909;overflow:hidden;transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .45s ease,box-shadow .45s ease,border-color .45s ease}
.roster-category-card:after{display:none}
.roster-category-card img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .45s ease;background:#090909}
.roster-category-preview:hover .roster-category-card{filter:brightness(.72)}
.roster-category-preview .roster-category-card:hover{filter:brightness(1);z-index:5;transform:rotate(0deg) translateY(-14px) scale(1.045);border-color:rgba(209,106,46,.65);box-shadow:0 34px 70px rgba(0,0,0,.5),0 0 42px rgba(209,106,46,.12)}
.roster-category-card:hover img{transform:scale(1.035)}


/* v12: keep homepage roster artwork fully visible and tint interactive cursor orange */
.roster-category-preview{
  min-height:590px;
  overflow:hidden;
  padding:18px;
}
.roster-category-preview .roster-category-card{
  width:31%;
  bottom:5%;
}
.roster-category-preview .roster-category-card img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
@media (max-width:900px){
  .roster-category-preview{min-height:520px}
  .roster-category-preview .roster-category-card{width:32%;bottom:5%}
}
@media (max-width:640px){
  .roster-category-preview{min-height:460px}
  .roster-category-preview .roster-category-card{width:36%;bottom:6%}
}
@media (pointer:fine){
  .brand-cursor.active img{
    filter:brightness(0) saturate(100%) invert(50%) sepia(61%) saturate(1705%) hue-rotate(339deg) brightness(92%) contrast(82%);
    transform:rotate(-7deg) scale(1.04);
  }
}

/* v13: Homepage roster showcase — all three designs fully visible, centered and interactive. */
.roster-category-preview{
  min-height:0!important;
  padding:34px!important;
  overflow:visible!important;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 44%,rgba(209,106,46,.16),transparent 34%),
    linear-gradient(180deg,#0a0a0a,#070707);
}
.roster-category-preview:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,rgba(209,106,46,.04) 49%,transparent 63%);
}
.home-roster-grid{
  position:relative;
  z-index:1;
  width:min(100%,850px);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:center;
  gap:22px;
  perspective:1200px;
}
.roster-category-preview .roster-category-card{
  --rx:0deg;
  --ry:0deg;
  --lift:0px;
  position:relative!important;
  left:auto!important;
  bottom:auto!important;
  width:100%!important;
  aspect-ratio:3/4;
  transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(var(--lift));
  transform-style:preserve-3d;
  border:1px solid rgba(255,255,255,.13);
  background:#080808;
  overflow:hidden;
  box-shadow:0 24px 55px rgba(0,0,0,.38);
  transition:transform .55s cubic-bezier(.16,1,.3,1),border-color .45s ease,box-shadow .55s ease,filter .45s ease;
  animation:homeCardFloat 6s ease-in-out infinite;
}
.roster-category-preview .roster-category-card:nth-child(2){animation-delay:-2s}
.roster-category-preview .roster-category-card:nth-child(3){animation-delay:-4s}
.roster-category-preview .roster-category-card img{
  width:100%;height:100%;object-fit:contain;object-position:center;display:block;background:#090909;
  transition:transform .65s cubic-bezier(.16,1,.3,1),filter .45s ease;
}
.roster-category-preview .roster-category-card:before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:3;
  pointer-events:none;
  border:1px solid transparent;
  background:linear-gradient(135deg,rgba(209,106,46,.9),transparent 24%,transparent 72%,rgba(209,106,46,.55)) border-box;
  -webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.28;
  transition:opacity .45s ease;
}
.roster-category-preview .roster-category-card:after{
  content:""!important;
  display:block!important;
  position:absolute;
  inset:auto 8% -8% 8%;
  height:16%;
  background:rgba(209,106,46,.25);
  filter:blur(24px);
  opacity:0;
  pointer-events:none;
  transition:opacity .45s ease;
}
.card-shine{
  position:absolute;
  z-index:4;
  inset:-35% auto -35% -65%;
  width:42%;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);
  transform:skewX(-18deg);
  opacity:0;
}
.roster-category-preview .roster-category-card:hover{
  --lift:-12px;
  z-index:5;
  border-color:rgba(209,106,46,.8);
  box-shadow:0 34px 75px rgba(0,0,0,.52),0 0 46px rgba(209,106,46,.16);
  filter:brightness(1.06);
  animation-play-state:paused;
}
.roster-category-preview .roster-category-card:hover:before{opacity:.95}
.roster-category-preview .roster-category-card:hover:after{opacity:1}
.roster-category-preview .roster-category-card:hover img{transform:scale(1.018)}
.roster-category-preview .roster-category-card:hover .card-shine{animation:cardShineSweep .85s ease forwards}
.home-roster-grid:hover .roster-category-card:not(:hover){filter:brightness(.72) saturate(.75);transform:perspective(1000px) scale(.975)}
@keyframes cardShineSweep{0%{left:-65%;opacity:0}18%{opacity:1}100%{left:125%;opacity:0}}
@keyframes homeCardFloat{0%,100%{translate:0 0}50%{translate:0 -5px}}
@media(max-width:900px){
  .roster-category-preview{padding:26px!important}
  .home-roster-grid{gap:14px;width:min(100%,720px)}
}
@media(max-width:640px){
  .roster-category-preview{padding:24px 18px!important;overflow:hidden!important}
  .home-roster-grid{grid-template-columns:repeat(3,70vw);width:auto;max-width:none;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px calc(50vw - 35vw) 22px;scrollbar-width:none}
  .home-roster-grid::-webkit-scrollbar{display:none}
  .roster-category-preview .roster-category-card{scroll-snap-align:center}
  .home-roster-grid:hover .roster-category-card:not(:hover){filter:none;transform:perspective(1000px)}
}
@media(prefers-reduced-motion:reduce){.roster-category-preview .roster-category-card{animation:none}.card-shine{display:none}}


/* v14: Homepage roster category selector — compact 3D carousel matching the roster page motion language. */
.roster-category-preview{
  min-height:620px!important;
  padding:28px 22px!important;
  overflow:hidden!important;
}
.home-roster-carousel{
  width:100%;height:560px;position:relative;display:grid;place-items:center;perspective:1350px;
}
.home-roster-stage{position:relative;width:min(100%,860px);height:100%;transform-style:preserve-3d}
.home-roster-card{
  position:absolute;left:50%;top:50%;width:min(290px,31%);aspect-ratio:3/4;
  border:1px solid rgba(255,255,255,.13);background:#080808;overflow:hidden;
  transform-style:preserve-3d;box-shadow:0 28px 68px rgba(0,0,0,.48);
  transition:border-color .45s ease,box-shadow .55s ease;will-change:transform,opacity,filter;
}
.home-roster-card img{width:100%;height:100%;display:block;object-fit:contain;background:#080808;transition:filter .45s ease,transform .6s cubic-bezier(.16,1,.3,1)}
.home-roster-card:before{
  content:"";position:absolute;inset:-1px;z-index:4;pointer-events:none;opacity:.22;
  background:linear-gradient(135deg,rgba(209,106,46,.95),transparent 20%,transparent 75%,rgba(209,106,46,.55)) border-box;
  border:1px solid transparent;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  transition:opacity .45s ease;
}
.home-roster-card:after{content:"";position:absolute;left:12%;right:12%;bottom:-8%;height:18%;background:var(--orange);filter:blur(26px);opacity:0;transition:opacity .45s ease;pointer-events:none}
.home-roster-card.active{border-color:rgba(209,106,46,.82);box-shadow:0 38px 88px rgba(0,0,0,.56),0 0 50px rgba(209,106,46,.16)}
.home-roster-card.active:before,.home-roster-card:hover:before{opacity:.95}
.home-roster-card.active:after,.home-roster-card:hover:after{opacity:.34}
.home-roster-card:hover img{transform:scale(1.018);filter:brightness(1.08)}
.home-roster-card:hover .card-shine{animation:cardShineSweep .9s ease forwards}
.home-roster-arrow{
  position:absolute;top:50%;translate:0 -50%;z-index:20;width:48px;height:48px;border:1px solid rgba(255,255,255,.16);
  background:rgba(5,5,5,.76);backdrop-filter:blur(8px);color:#fff;font-size:1.25rem;display:grid;place-items:center;cursor:pointer;
  transition:transform .3s ease,border-color .3s ease,background .3s ease,color .3s ease;
}
.home-roster-arrow.prev{left:10px}.home-roster-arrow.next{right:10px}
.home-roster-arrow:hover{transform:scale(1.08);border-color:var(--orange);background:var(--orange);color:#070707}
@media(max-width:900px){.roster-category-preview{min-height:540px!important}.home-roster-carousel{height:490px}.home-roster-card{width:min(250px,34%)}.home-roster-stage{width:100%}}
@media(max-width:640px){.roster-category-preview{min-height:500px!important;padding:18px 6px!important}.home-roster-carousel{height:450px}.home-roster-card{width:min(230px,58vw)}.home-roster-arrow{width:42px;height:42px}.home-roster-arrow.prev{left:2px}.home-roster-arrow.next{right:2px}}
@media(prefers-reduced-motion:reduce){.home-roster-card{transition:none!important}.home-roster-card img{transition:none!important}}

/* v15 — Homepage roster showcase: artwork-first, full-size, no background box. */
.home-roster-section{overflow:hidden}
.home-roster-heading{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:end;margin-bottom:52px}
.home-roster-heading .lead{margin-left:auto}
.home-roster-heading .button-row{justify-content:flex-start}
.home-roster-showcase{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
  perspective:1400px;
}
.home-roster-tile{
  --tiltX:0deg;
  --tiltY:0deg;
  --lift:0px;
  position:relative;
  display:block;
  aspect-ratio:3/4;
  overflow:hidden;
  background:transparent;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 22px 45px rgba(0,0,0,.32);
  transform:perspective(1100px) translateY(var(--lift)) rotateX(var(--tiltX)) rotateY(var(--tiltY));
  transform-style:preserve-3d;
  transition:transform .8s cubic-bezier(.16,1,.3,1),border-color .6s ease,box-shadow .7s ease,filter .6s ease;
  will-change:transform;
}
.home-roster-tile img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .9s cubic-bezier(.16,1,.3,1),filter .6s ease}
.home-roster-tile:before{
  content:"";position:absolute;inset:-1px;z-index:4;pointer-events:none;opacity:.28;
  border:1px solid transparent;
  background:linear-gradient(135deg,rgba(209,106,46,.95),transparent 22%,transparent 76%,rgba(209,106,46,.65)) border-box;
  -webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  transition:opacity .6s ease;
}
.home-card-glow{position:absolute;z-index:-1;left:10%;right:10%;bottom:-7%;height:18%;background:rgba(209,106,46,.42);filter:blur(34px);opacity:0;transition:opacity .65s ease}
.home-card-sweep{position:absolute;z-index:5;top:-25%;bottom:-25%;left:-65%;width:36%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);transform:skewX(-18deg);opacity:0}
.home-roster-tile:hover{--lift:-14px;border-color:rgba(209,106,46,.88);box-shadow:0 38px 80px rgba(0,0,0,.48),0 0 44px rgba(209,106,46,.14);filter:brightness(1.045)}
.home-roster-tile:hover:before{opacity:1}
.home-roster-tile:hover img{transform:scale(1.018)}
.home-roster-tile:hover .home-card-glow{opacity:1}
.home-roster-tile:hover .home-card-sweep{animation:homeRosterSweep 1.05s cubic-bezier(.16,1,.3,1) forwards}
.home-roster-showcase:hover .home-roster-tile:not(:hover){filter:brightness(.72) saturate(.82);transform:perspective(1100px) scale(.985)}
@keyframes homeRosterSweep{0%{left:-65%;opacity:0}18%{opacity:1}100%{left:130%;opacity:0}}
@media(max-width:900px){.home-roster-heading{grid-template-columns:1fr;gap:22px}.home-roster-heading .lead{margin-left:0}.home-roster-showcase{gap:14px}}
@media(max-width:640px){.home-roster-showcase{grid-template-columns:repeat(3,78vw);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px calc(50vw - 39vw) 26px;margin-left:calc((100vw - 100%)/-2);margin-right:calc((100vw - 100%)/-2);scrollbar-width:none}.home-roster-showcase::-webkit-scrollbar{display:none}.home-roster-tile{scroll-snap-align:center}.home-roster-showcase:hover .home-roster-tile:not(:hover){filter:none;transform:perspective(1100px)}}
@media(prefers-reduced-motion:reduce){.home-roster-tile,.home-roster-tile img{transition:none!important}.home-card-sweep{display:none}}

/* v16 — smooth homepage roster hover interpolation */
.home-roster-tile{
  --scale:1;
  transform:perspective(1100px) translateY(var(--lift)) rotateX(var(--tiltX)) rotateY(var(--tiltY)) scale(var(--scale));
  transition:transform 1s cubic-bezier(.16,1,.3,1),border-color .8s ease,box-shadow .9s cubic-bezier(.16,1,.3,1),filter .85s ease;
}
.home-roster-tile img{transition:transform 1.05s cubic-bezier(.16,1,.3,1),filter .85s ease}
.home-card-glow{transition:opacity .85s ease}
.home-card-sweep{
  left:-65%;
  opacity:0;
  transition:left 1.15s cubic-bezier(.16,1,.3,1),opacity .45s ease;
}
.home-roster-tile:hover{--lift:-14px;--scale:1.025}
.home-roster-tile:hover .home-card-sweep{animation:none;left:130%;opacity:0}
.home-roster-showcase:hover .home-roster-tile:not(:hover){
  --scale:.985;
  filter:brightness(.72) saturate(.82);
  /* keep the same transform pipeline so entering/leaving hover never snaps */
  transform:perspective(1100px) translateY(var(--lift)) rotateX(var(--tiltX)) rotateY(var(--tiltY)) scale(var(--scale));
}
@media(max-width:640px){.home-roster-showcase:hover .home-roster-tile:not(:hover){--scale:1;filter:none}}

/* v17 — homepage roster cards: explicit smooth hover scaling, no transform snapping */
.home-roster-tile{
  transform:translateY(0) scale(1) !important;
  transition:transform .72s cubic-bezier(.22,1,.36,1),border-color .55s ease,box-shadow .72s cubic-bezier(.22,1,.36,1),filter .62s ease !important;
  will-change:transform;
}
.home-roster-tile img{
  transform:scale(1);
  transition:transform .82s cubic-bezier(.22,1,.36,1),filter .62s ease !important;
}
.home-roster-tile:hover{
  transform:translateY(-12px) scale(1.028) !important;
}
.home-roster-tile:hover img{
  transform:scale(1.012);
}
.home-roster-showcase:hover .home-roster-tile:not(:hover){
  transform:translateY(0) scale(.986) !important;
  filter:brightness(.74) saturate(.84);
}
@media(max-width:640px){
  .home-roster-showcase:hover .home-roster-tile:not(:hover){transform:translateY(0) scale(1) !important;filter:none}
}
