@font-face{font-family:Archivo;src:url(/assets/fonts/archivo.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Archivo;src:url(/assets/fonts/archivo-ext.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --fg:255,255,255;--sh:8,8,14;--hi:#fff;--on-accent:#fff;
  --bg:#040307;--bg2:#08060f;--surf:#0e0b17;--surf2:#161225;--line:rgba(var(--fg),.09);--line2:rgba(var(--fg),.16);
  --ink:#f6f4ff;--ink2:#bdb7d4;--ink3:#7f7999;
  --p:#7c5cff;--b:#2f6bff;--p-soft:rgba(124,92,255,.16);--b-soft:rgba(47,107,255,.16);
  --grad:linear-gradient(110deg,var(--p),var(--b));
  --live:#ff3b5c;--ok:#39d98a;
  --ease:cubic-bezier(.2,.8,.2,1);--ease-io:cubic-bezier(.76,0,.24,1);--spring:cubic-bezier(.34,1.56,.64,1);
  --gutter:clamp(18px,4vw,64px);--maxw:1380px;--nav-h:74px;
  --r-s:6px;--r-m:10px;--r-l:16px;
  font-synthesis:none;-webkit-text-size-adjust:100%;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);color-scheme:dark;scroll-behavior:auto}
html.lock{overflow:hidden}
body{font-family:Archivo,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.55;color:var(--ink);background:var(--bg);overflow-x:hidden;min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,svg{display:block;max-width:100%}
img{height:auto;-webkit-user-drag:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
ul{list-style:none}
::selection{background:var(--p);color:var(--hi)}
:focus-visible{outline:2px solid var(--p);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ambient flowing background */
.ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:var(--bg)}
.ambient i{position:absolute;border-radius:50%;opacity:.38}
.ambient .a1{width:55vw;height:55vw;left:-18vw;top:-20vw;background:radial-gradient(circle,var(--p),transparent 65%)}
.ambient .a2{width:50vw;height:50vw;right:-20vw;bottom:-18vw;background:radial-gradient(circle,var(--b),transparent 65%);opacity:.42}
.ambient .grain{inset:-50%;width:200%;height:200%;border-radius:0;filter:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes drift1{to{transform:translate3d(14vw,10vw,0) scale(1.15)}}
@keyframes drift2{to{transform:translate3d(-12vw,-8vw,0) scale(1.1)}}

/* type */
.display{font-stretch:125%;font-weight:800;text-transform:uppercase;letter-spacing:-.025em;line-height:.9}
.h1{font-size:clamp(2.6rem,8.4vw,8.2rem)}
.h2{font-size:clamp(2.1rem,5.6vw,5.2rem)}
.h3{font-size:clamp(1.5rem,3vw,2.6rem)}
.kicker{display:inline-flex;align-items:center;gap:.7em;font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink2)}
.kicker::before{content:"";width:28px;height:1px;background:var(--grad)}
.lead{font-size:clamp(1.05rem,1.5vw,1.3rem);color:var(--ink2);max-width:60ch}
.muted{color:var(--ink3)}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.outline{-webkit-text-stroke:1.5px var(--line2);color:transparent}
.num{font-variant-numeric:tabular-nums}

/* layout */
.wrap{width:100%;max-width:calc(var(--maxw) + var(--gutter) * 2);margin:0 auto;padding:0 var(--gutter)}
.section{padding:clamp(72px,11vw,150px) 0;position:relative}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(32px,5vw,64px);flex-wrap:wrap}
.sec-head .kicker{margin-bottom:18px}
.sec-no{font-stretch:125%;font-weight:800;font-size:.8rem;letter-spacing:.14em;color:var(--ink3)}
.page{padding-top:calc(var(--nav-h) + clamp(40px,7vw,96px));min-height:70vh}
.page-head{margin-bottom:clamp(36px,6vw,80px)}
.page-head .kicker{margin-bottom:22px}
.page-head p.lead{margin-top:24px}

/* buttons */
.btn{--bh:52px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.7em;height:var(--bh);padding:0 26px;border-radius:999px;font-weight:600;font-size:.92rem;letter-spacing:.01em;white-space:nowrap;overflow:hidden;isolation:isolate;transition:transform .5s var(--ease),box-shadow .5s,color .4s,border-color .4s;border:1px solid var(--line2);background:rgba(var(--sh),.55)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--grad);transform:translateY(101%);border-radius:50% 50% 0 0/100% 100% 0 0;transition:transform .55s var(--ease),border-radius .55s var(--ease)}
.btn:hover::before{transform:translateY(0);border-radius:0}
.btn:hover{border-color:transparent;box-shadow:0 12px 40px -12px var(--p)}
.btn:active{transform:scale(.97)}
.btn.solid{background:#fff;color:#0a0714;border-color:#fff}
.btn.solid::before{background:var(--grad)}
.btn.solid:hover{color:var(--hi)}
.btn.grad{background:var(--grad);border-color:transparent}
.btn.grad::before{background:#fff}
.btn.grad:hover{color:#0a0714}
.btn.sm{--bh:40px;padding:0 18px;font-size:.84rem}
.btn .arr{display:inline-block;transition:transform .45s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.link-arrow{display:inline-flex;align-items:center;gap:.6em;font-weight:600;font-size:.92rem;padding-bottom:4px;background:linear-gradient(var(--ink),var(--ink)) left bottom/100% 1px no-repeat;transition:background-size .5s var(--ease),color .3s}
.link-arrow:hover{background-size:0 1px;color:var(--ink2)}
.link-arrow .arr{transition:transform .4s var(--ease)}
.link-arrow:hover .arr{transform:translateX(5px)}
.chip{display:inline-flex;align-items:center;gap:.5em;height:34px;padding:0 15px;border-radius:999px;border:1px solid var(--line);font-size:.8rem;font-weight:500;color:var(--ink2);transition:all .35s var(--ease);white-space:nowrap}
.chip:hover{border-color:var(--line2);color:var(--ink)}
.chip.on{background:var(--ink);color:#0a0714;border-color:var(--ink)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.pill-live{display:inline-flex;align-items:center;gap:8px;height:26px;padding:0 12px;border-radius:999px;background:var(--live);color:var(--hi);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.pill-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.7);opacity:.4}}
.tag{display:inline-block;padding:4px 11px;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--p-soft);color:#cfc4ff;border:1px solid rgba(124,92,255,.3)}

/* reveal */
.rv{opacity:0;transform:translate3d(0,34px,0);transition:opacity .9s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}
.split{display:block}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split .w>span{display:inline-block;transform:translate3d(0,110%,0) rotate(4deg);transition:transform 1s var(--ease);transition-delay:calc(var(--i) * 50ms + var(--d,0s))}
.split.in .w>span{transform:none}
.img-reveal{position:relative;overflow:hidden}
.img-reveal::after{content:"";position:absolute;inset:-1px;background:#040307;transform-origin:50% 0;transition:transform 1.2s var(--ease-io);z-index:6;pointer-events:none}
.img-reveal.in::after{transform:scaleY(0)}
.img-reveal img{transform:scale(1.2);transition:transform 1.6s var(--ease)}
.img-reveal.in img{transform:scale(1)}
[data-parallax]{will-change:transform}

/* images / empties */
.ph{display:grid;place-items:center;background:repeating-linear-gradient(135deg,rgba(var(--fg),.025) 0 10px,transparent 10px 20px),var(--surf);color:var(--ink3);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;border:1px dashed var(--line2);border-radius:var(--r-m)}
.empty{padding:clamp(40px,7vw,90px) 24px;text-align:center;border:1px dashed var(--line2);border-radius:var(--r-l);color:var(--ink3)}
.empty strong{display:block;color:var(--ink);font-size:1.15rem;margin-bottom:6px;font-stretch:112%}

/* cursor (Admin → Cursor). Ring style only; every other style is the system pointer image. */
.cur{--cs:1;--cc:#fff;--ca:#8a6bff;position:fixed;left:0;top:0;z-index:300;pointer-events:none;opacity:0;transition:opacity .3s}
.cur.on{opacity:1}
.cur-dot,.cur-ring{position:absolute;left:0;top:0;border-radius:50%;translate:-50% -50%}
.cur-dot{width:calc(5px * var(--cs));height:calc(5px * var(--cs));background:var(--cc)}
.cur-ring{width:calc(22px * var(--cs));height:calc(22px * var(--cs));border:1px solid var(--cc);transition:width .45s var(--ease),height .45s var(--ease),background .3s,border-color .3s}
.cur.hot .cur-ring{width:calc(40px * var(--cs));height:calc(40px * var(--cs));background:color-mix(in srgb,var(--ca) 14%,transparent);border-color:var(--ca)}
.cur.txt .cur-ring{width:calc(64px * var(--cs));height:calc(64px * var(--cs));background:color-mix(in srgb,var(--ca) 88%,transparent);border-color:transparent}
.cur-label{position:absolute;left:0;top:0;translate:-50% -50%;font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--hi);opacity:0;transition:opacity .25s;white-space:nowrap}
.cur.txt .cur-label{opacity:1}
@media (hover:none),(pointer:coarse){.cur,.cur-tag{display:none}}
html.has-cur,html.has-cur a,html.has-cur button{cursor:none}
html.has-cur input,html.has-cur textarea,html.has-cur select{cursor:text}
.cur-tag{position:fixed;left:0;top:0;z-index:300;pointer-events:none;padding:4px 9px;border-radius:99px;background:rgba(138,107,255,.92);color:var(--hi);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .2s;will-change:transform}
.cur-tag.on{opacity:1}

/* page transition curtain */
.curtain{position:fixed;inset:0;z-index:250;pointer-events:none;background:var(--bg);clip-path:circle(0 at var(--cx,50%) var(--cy,50%));display:grid;place-items:center}
.curtain::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 30% 30%,var(--p-soft),transparent),radial-gradient(60% 60% at 80% 80%,var(--b-soft),transparent)}
.curtain img{width:76px;height:auto;position:relative;opacity:0;transform:scale(.8);transition:opacity .3s,transform .5s var(--ease)}
.curtain.show img{opacity:1;transform:none}
.curtain.in{pointer-events:all;clip-path:circle(150vmax at var(--cx,50%) var(--cy,50%));transition:clip-path .45s var(--ease-io)}
.curtain.out{clip-path:circle(0 at var(--cx,50%) var(--cy,50%));transition:clip-path .45s var(--ease-io)}

/* toast */
.toast{position:fixed;left:50%;bottom:28px;translate:-50% 20px;opacity:0;z-index:400;padding:14px 22px;border-radius:999px;background:#fff;color:#0a0714;font-weight:600;font-size:.9rem;box-shadow:0 20px 60px -10px rgba(0,0,0,.6);transition:all .5s var(--ease);pointer-events:none}
.toast.on{translate:-50% 0;opacity:1}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .rv,.split .w>span,.img-reveal img{opacity:1!important;transform:none!important}
  .img-reveal::after{display:none}
}

/* ---------- classic controls: squared, broadcast-style, glow kept ---------- */
.btn{border-radius:4px;letter-spacing:.04em}
.btn::before{border-radius:0;transform:translateX(-101%)}
.btn:hover::before{transform:none}
.btn:hover{box-shadow:0 0 0 1px rgba(124,92,255,.5),0 14px 44px -12px var(--p),0 0 30px -10px var(--b)}
.btn.solid:hover{box-shadow:0 14px 44px -12px var(--p),0 0 34px -8px rgba(124,92,255,.7)}
.chips{gap:4px 22px}
.chip{height:36px;padding:0 1px;border:0;border-radius:0;background:none;position:relative;font-size:.82rem;letter-spacing:.06em;color:var(--ink3)}
.chip::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);box-shadow:0 0 12px rgba(124,92,255,.8)}
.chip:hover{color:var(--ink)}
.chip.on{background:none;color:var(--hi);text-shadow:0 0 18px rgba(124,92,255,.7)}
.chip.on::after{transform:none}
.pill-live{position:relative;isolation:isolate;background:none;border-radius:0;height:24px;padding:0 12px 0 11px;letter-spacing:.2em;font-size:.66rem}
.pill-live::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#ff2d55,#ff4d6d);transform:skewX(-14deg);box-shadow:0 0 22px rgba(255,59,92,.65)}
.pill-live::before{width:6px;height:6px}
.tag{padding:2px 0 2px 10px;border-radius:0;background:none;border:0;border-left:2px solid var(--p);color:#cfc6ff;letter-spacing:.18em;font-size:.66rem;box-shadow:-6px 0 14px -8px rgba(124,92,255,.9)}
.kicker{letter-spacing:.3em}


/* ---------- background décor (deco.js) ---------- */
#main{position:relative;z-index:0}
.deco-l{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.dg{position:absolute;inset:0}
.dk{position:absolute;display:block;translate:-50% 0;rotate:var(--r)}
.dk svg,.dk img{display:block;width:100%;height:auto}
.dk.spin{animation:dspin 70s linear infinite}
.dk.bob{animation:dbob 9s ease-in-out infinite}
@keyframes dspin{to{rotate:calc(var(--r) + 360deg)}}
@keyframes dbob{50%{transform:translateY(-18px)}}
@media (prefers-reduced-motion:reduce){.dk{animation:none!important}}

/* faint photographs behind page openings */
.page{position:relative}
#main[data-page]:not([data-page=home]) .page::before{content:"";position:absolute;z-index:-1;left:50%;width:100vw;translate:-50% 0;top:0;height:min(80vh,760px);background:var(--pbg) center 30%/cover no-repeat;opacity:var(--img-strength,.27);-webkit-mask:linear-gradient(180deg,#000 10%,transparent);mask:linear-gradient(180deg,#000 10%,transparent);pointer-events:none}
#main{--pbg:var(--img-page,url(/media/bg/stadium-bowl.webp))}
#main[data-page=matches]{--pbg:var(--img-matches,url(/media/bg/stadium-bowl.webp))}
#main[data-page=teams]{--pbg:var(--img-teams,url(/media/bg/crowd.webp))}
#main[data-page=games]{--pbg:var(--img-games,url(/media/bg/celebration.webp))}
#main[data-page=news]{--pbg:var(--img-news,url(/media/bg/celebration.webp))}
#main[data-page=gallery]{--pbg:var(--img-gallery,url(/media/bg/crowd.webp))}
#main[data-page=about]{--pbg:var(--img-about,url(/media/brand/hero-stadium-d.webp))}
.wrap.page{position:relative}
.zt{opacity:0;transform:scale(.8) rotate(-5deg);animation:none!important}
.zt.zin{opacity:1;transform:none;transition:opacity .6s var(--zd,0s),transform 1s cubic-bezier(.2,1.25,.4,1) var(--zd,0s)}
@media (prefers-reduced-motion:reduce){.zt{opacity:1;transform:none}}
.zdone{animation:none!important}
/* purple glow on the main calls to action (Partner with us, Contact, View squad…) */
.btn.solid,.btn.grad{box-shadow:0 0 0 1px rgba(160,138,255,.5),0 0 22px -4px rgba(124,92,255,.7),0 10px 30px -14px rgba(90,60,255,.85)}
.btn.solid:hover,.btn.grad:hover{box-shadow:0 0 0 1px rgba(185,168,255,.8),0 0 36px -2px rgba(124,92,255,.9),0 16px 44px -12px rgba(90,60,255,.95)}
.btn:not(.solid):not(.grad){border-color:rgba(170,150,255,.38);box-shadow:0 0 18px -8px rgba(124,92,255,.7)}
html,body{overflow-x:clip}
.chip::after{bottom:-1px}
@media (max-width:480px){.h1{font-size:clamp(2.1rem,10.4vw,3rem)}}
#main[data-page=partner]{--pbg:var(--img-partner,url(/media/brand/hero-stadium-d.webp))}
#main[data-page=sponsors]{--pbg:var(--img-sponsors,url(/media/bg/skyline.webp))}

/* ---- a touch lighter than pure black, still dark and mostly neutral ---- */
:root{
  --bg:#0a0a12;--bg2:#10101a;--surf:#171722;--surf2:#20202e;--line:rgba(var(--fg),.11);--line2:rgba(var(--fg),.2);
  --ink2:#d0cfdc;--ink3:#9a98ae;
  --p:#8a6bff;--b:#3d7bff;--p-soft:rgba(138,107,255,.18);--b-soft:rgba(61,123,255,.18);
}
.ambient .a1,.ambient .a2{opacity:.32}
.section{padding:clamp(54px,8vw,110px) 0}
.hero-media img{filter:brightness(1.3) saturate(1.1)}
#main .section:nth-of-type(even){background:linear-gradient(180deg,transparent 0,rgba(var(--fg),.035) 35%,rgba(var(--fg),.035) 65%,transparent 100%)}
/* calmer: no floating line-art, no travelling footer light */
.deco-l{display:none!important}

/* the purple button turns clean white (dark text) on hover, with a smooth gradient wipe */
.btn.grad{background:linear-gradient(135deg,#6f56f5,#4f6bff);color:#fff}
.btn.grad::before{background:linear-gradient(135deg,#fff,#ece8ff)}
.btn.grad:hover{color:#150f2e;box-shadow:0 12px 40px -12px rgba(255,255,255,.35)}
.btn.solid::before{background:linear-gradient(135deg,#6f56f5,#4f6bff)}
.btn.solid:hover{color:#fff}

/* ---------------------------------------------------------------------
   Long grids: a card far below the fold is not laid out until it is near
   the screen. Each one reserves its own height first, so nothing jumps.
   --------------------------------------------------------------------- */
.mc,.pl-c{content-visibility:auto}


.mc{contain-intrinsic-size:auto 190px}
.gl-i,.ig-p{contain-intrinsic-size:auto 280px}
.pl-c{contain-intrinsic-size:auto 320px}

/* ---------------------------------------------------------------------
   Calm mode. A phone with little memory or a data-saving connection still
   gets the whole design, only with the quiet background effects switched
   off, so scrolling stays at full speed.
   --------------------------------------------------------------------- */
html.lite .ambient .grain{display:none}
html.lite .ambient i{animation:none!important}
html.lite .dk{animation:none!important}
html.lite .deco-l{display:none}
html.lite .sp-spot{display:none}
/* layers that only ever move: hand them to the compositor up front */

