:root{--black:#0a0c10;--ink:#12161d;--panel:#ffffff;--gold:#f4b82e;--gold-d:#d99a12;--sky:#5cc3ef;--sky-d:#2b9fd3;--ice:#eef6fb;--text:#1a1f27;--muted:#5d6775;--line:#e3e8ee;--radius:6px;--head:'Roboto Condensed',Arial Narrow,Arial,sans-serif;--body:'Inter',Segoe UI,Roboto,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--text);line-height:1.6;background-color:var(--black);background-image:radial-gradient(ellipse at 20% -10%,rgba(92,195,239,.28),transparent 55%),radial-gradient(ellipse at 90% 10%,rgba(244,184,46,.14),transparent 45%);background-attachment:fixed;min-height:100vh}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:repeating-linear-gradient(115deg,transparent 0 46px,rgba(255,255,255,.025) 46px 48px)}
img{max-width:100%;display:block}a{color:var(--sky-d)}
.wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#000;padding:8px 12px;z-index:100}.skip:focus{left:8px}
.dev-banner{position:relative;z-index:60;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 12px;background:linear-gradient(90deg,#000 0%,#111 30%,#111 70%,#000 100%);border-bottom:4px solid var(--gold);box-shadow:inset 0 -7px 0 -4px var(--sky);color:#fff;padding:10px 16px 12px;text-align:center;font:600 13px/1.35 var(--body,system-ui)}
.dev-banner strong{font:900 clamp(16px,2.4vw,22px)/1 var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.dev-banner .dev-sub{color:#cfe6f7}
.dev-dot{width:10px;height:10px;border-radius:50%;background:var(--sky);box-shadow:0 0 0 3px rgba(115,194,251,.25)}
@media (max-width:560px){.dev-banner{flex-direction:column;padding:9px 12px 11px}.dev-banner .dev-sub{font-size:12px}.dev-dot{display:none}}
.sched td small{color:#8793a3;font-size:12px}
/* header lockup */
.site-head{padding:22px 0 14px}
.lockup{display:flex;align-items:center;gap:16px;text-decoration:none;color:#fff}
.lockup .crest{width:78px;height:78px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.45)}
.lockup small{display:block;font:700 13px/1 var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--sky)}
.lockup strong{display:block;font:800 clamp(26px,4vw,40px)/1.05 var(--head);text-transform:uppercase;letter-spacing:.02em}
.lockup em{display:block;font-style:normal;font:600 13px/1.3 var(--body);color:#aab4c2;margin-top:4px}
.head-row{display:flex;justify-content:space-between;align-items:center;gap:16px}
.head-cta{font:800 14px/1 var(--head);text-transform:uppercase;letter-spacing:.06em;background:var(--gold);color:#111;padding:12px 18px;border-radius:var(--radius);text-decoration:none;white-space:nowrap}
.head-cta:hover{background:#ffd062}
/* nav */
.nav{position:sticky;top:0;z-index:50;background:#000;border-top:3px solid var(--sky);box-shadow:0 4px 14px rgba(0,0,0,.4)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.nav a{display:block;color:#fff;text-decoration:none;font:700 15px/1 var(--head);text-transform:uppercase;letter-spacing:.06em;padding:17px 16px;border-bottom:3px solid transparent}
.nav a:hover,.nav a[aria-current=page]{color:var(--gold);border-bottom-color:var(--gold)}
.nav-toggle{display:none;background:none;border:0;color:#fff;font:800 15px var(--head);text-transform:uppercase;letter-spacing:.08em;padding:14px 4px;cursor:pointer}
.nav-toggle span{display:inline-block;width:22px;height:2px;background:#fff;vertical-align:middle;margin-right:10px;box-shadow:0 -7px 0 #fff,0 7px 0 #fff}
main{padding:24px 0 48px}
/* hero */
.hero{position:relative;border-radius:var(--radius);overflow:hidden;min-height:460px;display:flex;align-items:flex-end;color:#fff;background:#111 center/cover no-repeat;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 20%,rgba(0,0,0,.85) 100%),linear-gradient(90deg,rgba(0,0,0,.55),transparent 60%)}
.hero-inner{position:relative;z-index:1;padding:40px clamp(20px,4vw,48px) 0;width:100%}
.kicker{font:800 13px/1 var(--head);letter-spacing:.18em;text-transform:uppercase;color:var(--sky)}
.hero h1{font:900 clamp(40px,7vw,84px)/.95 var(--head);text-transform:uppercase;margin:10px 0 12px;letter-spacing:.01em}
.hero h1 span{color:var(--gold)}
.hero p{max-width:600px;font-size:17px;color:#dfe6ee;margin:0 0 22px}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px}
.btn{display:inline-block;font:800 14px/1 var(--head);text-transform:uppercase;letter-spacing:.07em;padding:14px 20px;border-radius:var(--radius);text-decoration:none;border:2px solid var(--gold);background:var(--gold);color:#111;cursor:pointer}
.btn.ghost{background:transparent;color:#fff;border-color:#fff}.btn:hover{filter:brightness(1.08)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.2);margin:0 calc(-1*clamp(20px,4vw,48px));background:rgba(0,0,0,.55)}
.stat{padding:16px 20px;border-right:1px solid rgba(255,255,255,.15)}.stat:last-child{border-right:0}
.stat b{display:block;font:900 30px/1 var(--head);color:var(--gold)}
.stat span{font:700 12px/1.2 var(--head);letter-spacing:.1em;text-transform:uppercase;color:#cfd8e3}
.photo-credit{position:absolute;top:12px;right:12px;z-index:2;font:600 11px/1.2 var(--body);background:rgba(0,0,0,.7);color:#fff;padding:5px 8px;border-radius:4px}
.rights{display:inline-block;background:#c62828;color:#fff;font:800 10px/1 var(--head);letter-spacing:.08em;text-transform:uppercase;padding:4px 6px;border-radius:3px;margin-left:6px}
/* widgets (cards) */
.grid{display:grid;grid-template-columns:2fr 1fr;gap:22px;margin-top:22px}
.stack{display:grid;gap:22px;align-content:start}
.card{background:var(--panel);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.card-h{display:flex;justify-content:space-between;align-items:center;background:#000;color:#fff;padding:12px 16px;font:800 14px/1.2 var(--head);text-transform:uppercase;letter-spacing:.07em;border-bottom:3px solid var(--gold)}
.card-h a{color:var(--sky);text-decoration:none;font-size:13px}.card-h a:hover{color:var(--gold)}
.card-b{padding:18px}
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.news article{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.news .tag{font:800 11px/1 var(--head);letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;background:var(--ice);color:var(--sky-d)}
.news h3{font:800 17px/1.15 var(--head);text-transform:uppercase;margin:10px 12px 6px}
.news p{font-size:14px;color:var(--muted);margin:0 12px 10px}
.news .src{margin-top:auto;font-size:12px;padding:8px 12px;border-top:1px solid var(--line);color:var(--muted)}
.score{display:flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;background:linear-gradient(135deg,#0d1118,#1b2533);color:#fff;padding:16px 8px;font:900 28px/1 var(--head)}
.score small{font:700 10px/1.2 var(--head);letter-spacing:.06em;text-transform:uppercase;color:#aab4c2;width:64px;white-space:normal;text-align:center}
.next{text-align:center}
.next .when{font:900 26px/1.1 var(--head);text-transform:uppercase}
.next .what{font:800 18px/1.2 var(--head);color:var(--sky-d);text-transform:uppercase;margin:4px 0}
.next .where{color:var(--muted);font-size:14px}
.count{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius);margin-top:14px}
.count div{padding:10px 4px;border-right:1px solid var(--line)}.count div:last-child{border:0}
.count b{display:block;font:900 30px/1 var(--head)}.count span{font-size:12px;color:var(--muted)}
.list{list-style:none;margin:0;padding:0}.list li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.list li:last-child{border:0}
.list b{font-family:var(--head);text-transform:uppercase}
.badge-w,.badge-l,.badge-t{font:800 12px/1 var(--head);padding:4px 7px;border-radius:3px;color:#fff}
.badge-w{background:#1f8a4c}.badge-l{background:#b3261e}.badge-t{background:#6b7280}
.join{background:linear-gradient(135deg,var(--sky),var(--sky-d));color:#06202e}
.join h3{font:900 26px/1 var(--head);text-transform:uppercase;margin:0 0 8px}
.join p{margin:0 0 14px}
/* page header */
.page-h{color:#fff;padding:26px 0 18px}
.page-h h1{font:900 clamp(36px,6vw,60px)/1 var(--head);text-transform:uppercase;margin:6px 0 8px}
.page-h p{color:#c3ccd8;max-width:720px;margin:0}
.note{display:flex;gap:10px;align-items:flex-start;background:#fff8e6;border:1px solid #f1d48a;border-left:5px solid var(--gold);padding:12px 14px;border-radius:var(--radius);font-size:14px;color:#5b4610;margin-bottom:18px}
.note b{font-family:var(--head);text-transform:uppercase;letter-spacing:.05em}
/* roster */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.filters button{font:800 13px/1 var(--head);text-transform:uppercase;letter-spacing:.07em;padding:10px 14px;border:2px solid #000;background:#fff;border-radius:var(--radius);cursor:pointer}
.filters button[aria-pressed=true]{background:#000;color:var(--gold)}
.roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}
.player{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-align:center;background:#fff;transition:transform .15s}
.player:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(0,0,0,.12)}
.player .shot{aspect-ratio:1/1;background:linear-gradient(160deg,#0e131a,#22303f);position:relative;display:flex;align-items:center;justify-content:center}
.player .shot b{font:900 76px/1 var(--head);color:var(--gold);text-shadow:0 3px 0 #000}
.player .shot i{position:absolute;bottom:8px;left:8px;font:800 10px/1 var(--head);letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.12);color:#cfe9f7;padding:4px 6px;border-radius:3px;font-style:normal}
.player .shot.photo{background:#0e131a}.player .shot img{width:100%;height:100%;object-fit:cover;display:block}
.player .shot em{position:absolute;top:8px;right:8px;font:900 15px/1 var(--head);font-style:normal;background:#000;color:var(--gold);padding:5px 7px;border-radius:3px;border:1px solid var(--gold)}
.player .shot .ini{position:absolute;bottom:10px;left:0;right:0;font:800 13px/1 var(--head);letter-spacing:.2em;color:#9fb3c6}
.roster-note{font-size:13px;color:var(--muted);margin:-4px 0 14px}
.player h3{font:800 18px/1.1 var(--head);text-transform:uppercase;margin:12px 8px 2px}
.player p{margin:0 0 12px;font-size:13px;color:var(--muted)}
/* tables */
.tbl-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:15px}
th{background:var(--ice);text-align:left;font:800 13px/1.2 var(--head);letter-spacing:.07em;text-transform:uppercase;padding:12px;color:#22303f}
td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}
td.d{font:800 15px/1.2 var(--head);text-transform:uppercase;white-space:nowrap}
td .type{display:inline-block;font:800 11px/1 var(--head);text-transform:uppercase;letter-spacing:.08em;padding:4px 7px;border-radius:3px;background:var(--ice);color:var(--sky-d)}
td .type.game{background:#000;color:var(--gold)}td .type.tourney{background:var(--gold);color:#111}
tr.group td{background:#fafbfc;font:800 13px var(--head);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.recbar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:18px}
.recbar div{background:#fff;padding:14px;text-align:center}.recbar b{display:block;font:900 28px/1 var(--head)}.recbar span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
/* about */
.two{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:start}
.prose h2{font:900 28px/1.1 var(--head);text-transform:uppercase;margin:0 0 10px}
.prose h3{font:800 20px/1.2 var(--head);text-transform:uppercase;margin:22px 0 6px}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.pillars div{border-top:4px solid var(--sky);background:var(--ice);padding:14px;border-radius:0 0 var(--radius) var(--radius)}
.pillars b{font:900 18px var(--head);text-transform:uppercase}
.pillars p{margin:4px 0 0;font-size:14px;color:var(--muted)}
.timeline{list-style:none;margin:0;padding:0;border-left:3px solid var(--gold)}
.timeline li{padding:0 0 16px 16px;position:relative}.timeline li::before{content:"";position:absolute;left:-8px;top:6px;width:13px;height:13px;border-radius:50%;background:#000;border:3px solid var(--gold)}
.timeline b{font:800 14px var(--head);text-transform:uppercase;color:var(--sky-d)}
.timeline p{margin:2px 0 0;font-size:14px}
figure{margin:0}figcaption{font-size:12px;color:var(--muted);padding:8px 2px}
/* gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.gallery figure{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#fff}
.gallery img,.ph{width:100%;aspect-ratio:3/2;object-fit:cover}
.gallery button{all:unset;cursor:zoom-in;display:block;width:100%}
.ph{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;text-align:center;color:#9fb3c6;background:repeating-linear-gradient(45deg,#111821 0 14px,#16202b 14px 28px);font:800 14px/1.2 var(--head);text-transform:uppercase;letter-spacing:.08em}
.ph small{font:600 11px var(--body);letter-spacing:0;text-transform:none;color:#7f93a6}
.gallery figcaption{padding:10px 12px}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:200;padding:20px}
.lightbox.open{display:flex}.lightbox img{max-height:86vh;border-radius:4px}
.lightbox button{position:absolute;top:14px;right:18px;background:none;border:0;color:#fff;font-size:36px;cursor:pointer}
/* contact */
form{display:grid;gap:14px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{font:800 13px/1.2 var(--head);text-transform:uppercase;letter-spacing:.06em;display:grid;gap:6px}
input,select,textarea{font:400 15px var(--body);padding:12px;border:1px solid #c9d2dc;border-radius:var(--radius);width:100%;background:#fff;color:var(--text)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(92,195,239,.45);border-color:var(--sky-d)}
textarea{min-height:140px;resize:vertical}
.form-msg{display:none;padding:12px 14px;border-radius:var(--radius);background:#e8f6ee;border:1px solid #9fd5b4;color:#155a32;font-size:14px}
.form-msg.show{display:block}
.info p{margin:0 0 12px;font-size:15px}
/* footer */
.foot{background:#000;color:#c3ccd8;padding:36px 0 18px;border-top:3px solid var(--gold);font-size:14px}
.foot .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px}
.foot h4{font:800 14px var(--head);text-transform:uppercase;letter-spacing:.1em;color:#fff;margin:0 0 10px}
.foot ul{list-style:none;margin:0;padding:0}.foot li{margin:0 0 6px}
.foot a{color:#c3ccd8;text-decoration:none}.foot a:hover{color:var(--gold)}
.foot .crest{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);margin-bottom:10px}
.foot .legal{border-top:1px solid #222;margin-top:24px;padding-top:14px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:#7d8794}
/* responsive */
@media (max-width:960px){.grid,.two{grid-template-columns:1fr}.news{grid-template-columns:1fr 1fr}.foot .cols{grid-template-columns:1fr 1fr}}
@media (max-width:760px){
 .nav-toggle{display:block}.nav ul{display:none;width:100%;flex-direction:column;padding-bottom:8px}.nav ul.open{display:flex}
 .nav .wrap{flex-wrap:wrap}.nav a{padding:13px 4px;border-bottom:1px solid #1c1c1c}
 .head-cta{display:none}.lockup .crest{width:60px;height:60px}.lockup em{display:none}
 .hero{min-height:520px}.photo-credit{left:12px;right:auto;max-width:calc(100% - 24px)}.hero-inner{padding-top:64px}.hero p{font-size:15px}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.15)}
 .news{grid-template-columns:1fr}.pillars{grid-template-columns:1fr}.row{grid-template-columns:1fr}
 .recbar{grid-template-columns:1fr 1fr}
 .roster{grid-template-columns:repeat(2,1fr);gap:12px}.player .shot b{font-size:56px}
 table.sched thead{display:none}table.sched tr{display:grid;grid-template-columns:1fr;border-bottom:1px solid var(--line);padding:10px 0}
 table.sched td{border:0;padding:3px 12px}table.sched tr.group{padding:0}table.sched tr:not(.group){grid-template-columns:auto 1fr;align-items:center}table.sched td:nth-child(n+3){grid-column:1/-1}table.sched td:nth-child(2){font-weight:600}
 .foot .cols{grid-template-columns:1fr}
}
/* v0.4: roster photo number badge bottom-right */
.player .shot.photo em{top:auto;bottom:8px;right:8px}
/* v0.4: gear */
.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.product{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;background:#fff}
.mock{position:relative;aspect-ratio:1/1;background:radial-gradient(circle at 50% 40%,#ffffff 0,#eef6fb 60%,#dbe9f3 100%);display:flex;align-items:center;justify-content:center;overflow:hidden}
.mock svg{width:78%;height:78%}
.mock .patch{position:absolute;aspect-ratio:1/1;border-radius:50%;background-color:#fff;background-position:center;background-size:cover;background-repeat:no-repeat;border:2px solid var(--gold);box-shadow:0 2px 6px rgba(0,0,0,.35)}
.mock-hat svg{margin-top:6%}.mock-sticker .patch{border:0;box-shadow:none}
.mock .sample{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.82);color:var(--gold);font:800 11px/1 var(--head);letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:7px 4px}
.pbody{padding:12px 14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.pbody h3{font:800 19px/1.1 var(--head);text-transform:uppercase;margin:0}
.pbody p{margin:0;font-size:14px;color:var(--muted);flex:1}
.price{font:800 13px var(--head);text-transform:uppercase;letter-spacing:.06em;color:var(--sky-d)}
.product .btn[disabled]{background:#e5e9ee;border-color:#e5e9ee;color:#5d6775;cursor:not-allowed;filter:none;text-align:center}
.store-slot{margin-top:22px}
.store-ph{border:3px dashed #c9d2dc;border-radius:var(--radius);min-height:200px;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;background:repeating-linear-gradient(45deg,#fafbfc 0 14px,#f2f5f8 14px 28px)}
.store-ph b{font:900 24px var(--head);text-transform:uppercase}
.store-ph p{color:var(--muted);max-width:520px;margin:8px auto 14px;font-size:15px}
.btn.ghost-d{background:transparent;color:#5d6775;border-color:#c9d2dc;cursor:default}
@media (max-width:760px){.products{grid-template-columns:repeat(2,1fr);gap:12px}.pbody h3{font-size:16px}.pbody p{font-size:13px}.mock .sample{font-size:9px;letter-spacing:.05em}}
/* v0.4: player login under Join the team */
.head-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:center}
.player-login{font:700 12px/1 var(--head);text-transform:uppercase;letter-spacing:.08em;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.45);border-radius:var(--radius);padding:7px 10px;white-space:nowrap}
.player-login:hover,.player-login:focus-visible{border-color:var(--gold);color:var(--gold)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:760px){.head-actions{gap:0;flex:none}.player-login{font-size:10px;line-height:1.15;padding:6px 7px;letter-spacing:.04em;white-space:normal;width:58px}.player-login span[aria-hidden]{display:none}}
/* v0.4: schedule month view */
.view-toggle{margin:4px 0 14px}
[hidden]{display:none!important}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 10px}
.cal-title{font:900 24px var(--head);text-transform:uppercase;margin:0;text-align:center;flex:1}
.cal-nav{font:900 26px/1 var(--head);width:44px;height:44px;border:2px solid #000;background:#fff;border-radius:var(--radius);cursor:pointer}
.cal-nav:hover{background:#000;color:var(--gold)}
.cal-legend{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.ev{font:800 11px/1 var(--head);text-transform:uppercase;letter-spacing:.06em;padding:4px 7px;border-radius:3px;display:inline-block}
.ev.game,.chip.game{background:#000;color:var(--gold)}
.ev.practice,.chip.practice{background:#e3f4fc;color:#0b5577;border:1px solid var(--sky)}
.ev.tourney,.chip.tourney{background:var(--gold);color:#111}
.ev.tbd,.chip.tbd{background:#eceff3;color:#4b5563;border:1px dashed #9aa3af}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.cal .dow{background:#000;color:#fff;font:800 12px/1 var(--head);text-transform:uppercase;letter-spacing:.06em;padding:8px 6px;text-align:center}
.cal .day{background:#fff;min-height:96px;padding:6px;border:0;text-align:left;display:flex;flex-direction:column;gap:3px;font:inherit;color:inherit;cursor:default;min-width:0}
.cal .day.empty{background:#f6f8fa}
.cal .day.has{cursor:pointer}.cal .day.has:hover{background:#fffaf0}
.cal .day.sel{box-shadow:inset 0 0 0 3px var(--gold)}
.cal .day.today .num{background:var(--sky);color:#fff;border-radius:50%}
.cal .num{font:800 14px/1 var(--head);width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}
.chip{display:flex;align-items:center;gap:4px;font:700 11px/1.2 var(--body);padding:3px 5px;border-radius:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.chip>span{overflow:hidden;text-overflow:ellipsis}
.chip i{display:none;width:8px;height:8px;border-radius:50%;flex:none}
.cal-detail{margin-top:14px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--radius);padding:12px 14px;background:#fff}
.cal-detail h3{font:800 18px var(--head);text-transform:uppercase;margin:0 0 8px}
.cal-detail ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cal-detail li{font-size:14px;line-height:1.5}
.cal-hint{margin:0;color:var(--muted);font-size:14px}
@media (max-width:760px){
 .cal .dow{font-size:10px;padding:6px 0;letter-spacing:0}
 .cal .day{min-height:52px;padding:4px 2px;align-items:center;gap:2px}
 .cal .num{font-size:13px;width:22px;height:22px}
 .chip{padding:0;background:none!important;border:0!important;justify-content:center}
 .chip>span{display:none}.chip i{display:block}
 .chip.game i{background:#000;box-shadow:0 0 0 2px var(--gold)}.chip.practice i{background:var(--sky)}.chip.tourney i{background:var(--gold)}.chip.tbd i{background:#9aa3af}
 .cal-title{font-size:20px}
}
/* v0.5: photo mockups + Fourthwall store slot */
.mock{background:#eceef1}
.mock img{width:100%;height:100%;object-fit:cover;display:block}
.store-btn{display:inline-block;margin-top:2px}
.store-btn[aria-disabled=true]{opacity:.85;cursor:default}
.store-ph .store-note{margin:12px auto 0;font-size:13px;color:var(--muted)}
/* v0.7 sponsors */
.concept{position:absolute;top:10px;right:10px;z-index:2;background:rgba(0,0,0,.7);color:#fff;font:700 10px/1 var(--head);letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;border-radius:3px;border:1px solid rgba(255,255,255,.25)}
.sp-hero{position:relative;border-radius:var(--radius);overflow:hidden;min-height:440px;display:flex;align-items:flex-end;color:#fff;background:#111 center/cover no-repeat;box-shadow:0 10px 30px rgba(0,0,0,.45);margin-bottom:24px}
.sp-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.85) 100%),linear-gradient(90deg,rgba(0,0,0,.65),transparent 65%)}
.sp-hero-inner{position:relative;z-index:1;padding:40px clamp(20px,4vw,48px) 36px;max-width:680px}
.sp-hero h1{font:900 clamp(40px,7vw,80px)/.95 var(--head);text-transform:uppercase;margin:10px 0 12px}.sp-hero h1 span{color:var(--gold)}
.sp-hero p{font-size:17px;color:#dfe6ee;margin:0 0 22px}
.sp-hero .hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.why3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.why3 b{font:800 18px var(--head);text-transform:uppercase;display:block;border-left:4px solid var(--gold);padding-left:10px;margin-bottom:6px}.why3 p{margin:0;color:var(--muted)}
.sp-tiers{margin:34px 0}.sp-tiers-h{text-align:center;margin-bottom:18px}.sp-tiers-h h2{font:900 clamp(30px,4vw,44px)/1 var(--head);text-transform:uppercase;margin:8px 0 0;color:#fff}.sp-tiers-h h2 span{color:var(--gold)}
.tiers{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;align-items:stretch}.tiers>.tier{flex:0 1 calc((100% - 36px)/3)}
.tier{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,#141a23,#07090c);color:#fff;border-radius:10px;overflow:hidden;border:1px solid #2a3340;box-shadow:0 10px 26px rgba(0,0,0,.35);transition:transform .2s,box-shadow .2s}
.tier:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.45)}
.tier::before{content:"";position:absolute;inset:0;border-radius:10px;padding:2px;background:linear-gradient(135deg,var(--sky),transparent 40%,transparent 60%,var(--gold));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:3}
.tier-top{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold),0 14px 34px rgba(244,184,46,.25)}
.tier-top::after{content:"Most impact";position:absolute;top:24px;left:-44px;width:170px;text-align:center;transform:rotate(-45deg);background:linear-gradient(90deg,#ffd86b,#f4b82e,#b9800c);color:#111;font:800 11px/1 var(--head);letter-spacing:.1em;text-transform:uppercase;padding:6px 0;z-index:4;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.tier-art{position:relative;aspect-ratio:16/9;overflow:hidden}.tier-art img{width:100%;height:100%;object-fit:cover}
.tier-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#141a23)}
.tier-body{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 18px 20px}
.tier-badge{width:96px;height:120px;margin-top:-62px;position:relative;z-index:2;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}
.tier-name{font:900 22px/1 var(--head);text-transform:uppercase;letter-spacing:.04em;margin-top:6px}
.tier-price{font:900 40px/1 var(--head);background:linear-gradient(180deg,#fff1b8,#f4b82e 55%,#b9800c);-webkit-background-clip:text;background-clip:text;color:transparent;margin:6px 0 4px}
.tier h3{font:700 13px/1.3 var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--sky);margin:0 0 8px}
.tier p{color:#c6cfda;font-size:14px;margin:0 0 12px}
.perks{list-style:none;padding:0;margin:0 0 12px}.perks li{font:700 13px var(--head);text-transform:uppercase;letter-spacing:.06em;color:var(--gold)}.perks li::before{content:"\2605  "}
.tier-cta{margin-top:auto;width:100%;text-align:center}
.steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.steps li{counter-increment:s;position:relative;padding:14px 14px 14px 62px;background:var(--ice);border-radius:var(--radius)}
.steps li::before{content:counter(s);position:absolute;left:14px;top:14px;width:36px;height:36px;border-radius:50%;background:#000;color:var(--gold);border:2px solid var(--gold);font:900 18px/32px var(--head);text-align:center}
.steps b{display:block;font:800 17px var(--head);text-transform:uppercase}.steps span{color:var(--muted);font-size:14px}
.sp-how,.sp-wall{margin-top:24px}
.sponsor-slot{border:2px dashed #c9d2dc;border-radius:10px;padding:28px;text-align:center;background:repeating-linear-gradient(45deg,#fafcfe,#fafcfe 12px,#f1f5f9 12px,#f1f5f9 24px)}
.sponsor-slot b{display:block;font:900 24px var(--head);text-transform:uppercase}.sponsor-slot p{color:var(--muted)}
.fine{font-size:12px;color:var(--muted);margin:14px 0 0}
@media (max-width:1100px){.tiers>.tier{flex-basis:calc((100% - 18px)/2)}}
@media (max-width:760px){.tiers>.tier{flex-basis:100%}.why3,.steps{grid-template-columns:1fr}.sp-hero-photo{min-height:520px;background-position:22% top}.hero-credit{left:12px;right:12px;text-align:left}.sp-hero{min-height:420px}.tier-badge{width:84px;height:105px;margin-top:-54px}}
.tier-price.tbd{font-size:30px;line-height:40px;letter-spacing:.02em}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sp-hero-photo{min-height:500px;background-position:center 18%}
.sp-hero-photo::after{background:linear-gradient(180deg,rgba(0,0,0,0) 25%,rgba(5,8,12,.55) 52%,rgba(5,8,12,.94) 100%),linear-gradient(90deg,rgba(0,0,0,.45),transparent 60%)}
.sp-hero-photo .sp-hero-inner{padding-bottom:44px}
.sp-hero-photo h1{text-shadow:0 3px 18px rgba(0,0,0,.55)}
.hero-credit{position:absolute;right:14px;bottom:10px;z-index:2;font-size:11px;color:#cfd8e2;text-shadow:0 1px 3px rgba(0,0,0,.8)}
.hero-credit .rights{margin-left:4px}
@media (max-width:760px){.sp-hero-photo .sp-hero-inner{padding-bottom:72px}}
