/* ============================================================================
   WSN — Wrestling Society Network — flagship site (2026-09-29)
   Cinematic, premium. Red / silver / white / black. Bebas display + Inter.
   ============================================================================ */
:root{
  --bg:#050506; --bg2:#0a0b0e; --panel:#111318; --panel2:#171a21;
  --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.15);
  --text:#f5f7fb; --mut:#9aa4b4; --faint:#6b7482;
  --red:#e5333c; --red2:#ff3b45; --redglow:rgba(255,59,69,.55);
  --gold:#e4c87d;
  --fd:"Bebas Neue","Anton",sans-serif;
  --ease:cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);font-family:Inter,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden;
  background-color:var(--bg)}
/* site-wide red/black brushed metallic "X" background on every page */
body::before{content:"";position:fixed;inset:0;z-index:-2;
  background:var(--site-bg-image, url('/img/site/bg-cross.png')) center/cover no-repeat;opacity:.5}
body::after{content:"";position:fixed;inset:0;z-index:-1;
  background:
    radial-gradient(120% 90% at 50% -8%, rgba(229,51,60,.12), transparent 55%),
    linear-gradient(180deg, rgba(5,5,6,.82), rgba(5,5,6,.9) 60%, rgba(5,5,6,.95))}
/* let the X texture show between content blocks */
section.blk{background:transparent !important}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(18px,4vw,44px)}

/* shine display headings */
.shine{background:linear-gradient(100deg,#fff,#c7ccd6 45%,#fff 70%,#dfe3ea);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.fd{font-family:var(--fd);font-weight:400;letter-spacing:.01em;line-height:.95}
.eyebrow{color:var(--red2);font-weight:800;font-size:12px;letter-spacing:.22em;text-transform:uppercase}

/* ---------------- NAV ---------------- */
.nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:22px;height:72px;padding:0 clamp(18px,4vw,44px);
  background:linear-gradient(180deg,rgba(5,5,6,.92),rgba(5,5,6,.55));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;font-weight:900}
.brandMark{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;font-family:var(--fd);font-size:20px;color:#fff;
  background:linear-gradient(155deg,#ff3b45,#8f0a12);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 10px 24px -8px var(--redglow)}
.brandLogo{width:48px;height:48px;border-radius:50%;object-fit:cover;transition:.2s var(--ease);
  box-shadow:0 8px 22px -8px var(--redglow),0 0 0 1px rgba(255,255,255,.10)}
.brand:hover .brandLogo{transform:scale(1.05);box-shadow:0 10px 28px -8px var(--redglow),0 0 0 1px rgba(255,59,69,.4)}
.brandName{font-family:var(--fd);font-size:23px;letter-spacing:.055em;line-height:1;white-space:nowrap}
@media(max-width:600px){.brandName{font-size:17px;white-space:normal;max-width:150px}}
@media(max-width:380px){.brandName{display:none}}
.navlinks{display:flex;gap:4px;margin-left:auto}
.navlinks a{padding:9px 14px;border-radius:9px;font-weight:700;font-size:14px;color:#c3cad6;transition:.15s var(--ease)}
.navlinks a:hover{background:rgba(255,255,255,.06);color:#fff}
.navlinks a.on{color:#fff;box-shadow:inset 0 -2px 0 var(--red2)}
.navcta{margin-left:8px;padding:11px 20px;border-radius:11px;font-weight:800;color:#fff;
  background:linear-gradient(180deg,#ff3b45,#c9151e);box-shadow:0 10px 24px -10px var(--redglow)}
.navcta:hover{filter:brightness(1.07)}
.burger{display:none;margin-left:auto;width:44px;height:44px;border-radius:11px;border:1px solid var(--line2);background:var(--panel);color:#fff;font-size:20px;cursor:pointer}
@media(max-width:900px){
  .navlinks{position:fixed;inset:72px 0 auto 0;flex-direction:column;gap:2px;background:#08090c;border-bottom:1px solid var(--line);padding:12px;transform:translateY(-120%);transition:transform .26s var(--ease);margin-left:0}
  body.navopen .navlinks{transform:none}
  .navlinks a{padding:14px}
  .navcta{display:none}
  .burger{display:block}
}

/* ---------------- HERO ---------------- */
.hero{position:relative;min-height:min(92vh,860px);display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url('/img/hero-action.jpg') center 20%/cover no-repeat;transform:scale(1.05);animation:zoom 26s ease-in-out infinite alternate}
@keyframes zoom{to{transform:scale(1.16)}}
.hero-fade{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(5,5,6,.72) 0%,rgba(5,5,6,.42) 38%,rgba(5,5,6,.9) 82%,rgba(5,5,6,1) 100%),
  radial-gradient(120% 90% at 50% 8%,transparent 40%,rgba(5,5,6,.55)),
  radial-gradient(70% 80% at 18% 92%,rgba(229,51,60,.28),transparent 60%)}
/* hero content pinned to the far LEFT (breaks out of the centered wrap) */
.hero .wrap{max-width:none;margin:0;padding-left:clamp(20px,5vw,80px);padding-right:24px}
.hero-inner{position:relative;z-index:2;max-width:720px;margin:0;text-align:left;padding:clamp(80px,12vh,120px) 0 clamp(40px,7vw,72px)}
/* slow light-glare sweep on the hero headline */
.glare{background:linear-gradient(100deg,#eef1f6 0%,#ffffff 38%,#ffd9dc 46%,#ff5760 50%,#ffd9dc 54%,#ffffff 62%,#cfd6e0 100%);
  background-size:280% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  animation:glare 12s cubic-bezier(.45,0,.2,1) infinite}
@keyframes glare{0%{background-position:170% 0}42%,100%{background-position:-70% 0}}
@media(prefers-reduced-motion:reduce){.glare{animation:none}}
.hero .eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.28em}
.hero .eyebrow::before{content:"";width:44px;height:2px;background:linear-gradient(90deg,var(--red2),transparent)}
.hero h1{font-size:clamp(54px,11.5vw,138px);margin:18px 0 20px;letter-spacing:.005em;text-shadow:0 14px 60px rgba(0,0,0,.7)}
.hero h1 .accent{color:var(--red2);-webkit-text-fill-color:var(--red2)}
.hero p{max-width:620px;color:#eef1f6;font-size:clamp(16px,2.1vw,20px);font-weight:500;line-height:1.65;text-shadow:0 2px 18px rgba(0,0,0,.85)}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;gap:9px;padding:16px 30px;border-radius:13px;font-weight:800;font-size:15px;cursor:pointer;transition:.16s var(--ease)}
.btn-red{color:#fff;background:linear-gradient(180deg,#ff3b45,#c9151e);box-shadow:0 16px 40px -14px var(--redglow),inset 0 1px 0 rgba(255,255,255,.22);border:none}
.btn-red:hover{transform:translateY(-2px)}
.btn-ghost{color:#fff;background:rgba(255,255,255,.06);border:1px solid var(--line2);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:var(--red2)}
.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.badge{padding:8px 15px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--mut);font-weight:700;font-size:13px}

/* marquee */
.marquee{overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;
  background:linear-gradient(90deg,#1c0e11,#0b0c10 45%,#1c0e11)}
.marquee .track{display:inline-block;animation:mq 30s linear infinite}
.marquee span{font-family:var(--fd);font-size:24px;letter-spacing:.05em;color:#e9ecf1;margin:0 8px}
.marquee b{color:var(--red2);margin:0 6px}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------------- SECTIONS ---------------- */
section.blk{padding:clamp(56px,8vw,110px) 0}
.sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px;flex-wrap:wrap}
.sechead h2{font-size:clamp(30px,5vw,58px);margin:8px 0 0}
.sechead .sub{color:var(--mut);max-width:52ch}
.link-red{color:var(--red2);font-weight:800;font-size:14px}

/* featured event */
.feature{position:relative;overflow:hidden;border-radius:24px;border:1px solid var(--line2);min-height:420px;display:flex;align-items:flex-end;
  background:linear-gradient(180deg,transparent,rgba(5,5,6,.6)),url('/img/battle.jpg') center/cover}
.feature .fbody{position:relative;z-index:1;padding:clamp(26px,4vw,44px)}
.feature .fmeta{color:var(--gold);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:13px}
.feature h3{font-family:var(--fd);font-size:clamp(34px,5vw,64px);margin:8px 0 12px}
.countdown{display:flex;gap:14px;margin:18px 0 22px}
.cd{background:rgba(0,0,0,.5);border:1px solid var(--line2);border-radius:12px;padding:12px 16px;text-align:center;min-width:74px;backdrop-filter:blur(6px)}
.cd b{font-family:var(--fd);font-size:34px;display:block;line-height:1}
.cd span{color:var(--mut);font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}

/* promotions grid */
.promos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.promos{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.promos{grid-template-columns:1fr}}
.promo{position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--line);aspect-ratio:16/10;display:flex;align-items:flex-end;
  background:var(--panel);transition:.18s var(--ease)}
.promo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:.4s var(--ease)}
.promo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(5,5,6,.92))}
.promo .pb{position:relative;z-index:1;padding:20px}
.promo .pb h4{font-family:var(--fd);font-size:26px;margin:0 0 4px}
.promo .pb p{color:var(--mut);font-size:13px;margin:0}
.promo:hover{transform:translateY(-4px);border-color:var(--red2)}
.promo:hover img{opacity:.8;transform:scale(1.06)}

/* roster grid */
.roster{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:900px){.roster{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.roster{grid-template-columns:1fr 1fr;gap:10px}}
.card{position:relative;overflow:hidden;border-radius:16px;border:1px solid var(--line);background:var(--panel);aspect-ratio:3/4;display:flex;align-items:flex-end;transition:.18s var(--ease)}
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:.4s var(--ease)}
.card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(5,5,6,.95))}
.card .cb{position:relative;z-index:1;padding:16px}
.card .cb .rn{font-family:var(--fd);font-size:24px;line-height:1}
.card .cb .rt{color:var(--red2);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-top:3px}
.card:hover{transform:translateY(-5px);border-color:var(--red2);box-shadow:0 30px 60px -30px #000}
.card:hover img{transform:scale(1.06)}

/* watch band */
.watchband{position:relative;overflow:hidden;border-radius:24px;border:1px solid var(--line2);padding:clamp(34px,6vw,72px);text-align:center;
  background:linear-gradient(120deg,rgba(229,51,60,.16),transparent 60%),url('/img/ring.jpg') center/cover}
.watchband::before{content:"";position:absolute;inset:0;background:rgba(5,5,6,.72)}
.watchband > *{position:relative;z-index:1}
.watchband h2{font-family:var(--fd);font-size:clamp(34px,6vw,72px);margin:8px 0 14px}
.watchband p{color:#dfe3ea;max-width:560px;margin:0 auto 26px}
.platforms{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.platforms .badge{font-size:14px}

/* news */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.news{grid-template-columns:1fr}}
.article{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);transition:.18s var(--ease)}
.article .ph{aspect-ratio:16/9;background-size:cover;background-position:center}
.article .ab{padding:18px}
.article .ab .k{color:var(--red2);font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.article .ab h4{margin:8px 0 8px;font-size:19px;line-height:1.25}
.article .ab p{color:var(--mut);font-size:14px;margin:0}
.article:hover{transform:translateY(-4px);border-color:var(--line2)}

/* generic page hero (interior pages) */
.pagehero{position:relative;overflow:hidden;min-height:340px;display:flex;align-items:flex-end}
.pagehero .pbg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04)}
.pagehero .pfade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,6,.45),rgba(5,5,6,.96))}
.pagehero .pin{position:relative;z-index:1;padding:0 0 40px}
.pagehero h1{font-size:clamp(44px,8vw,88px);margin:10px 0 0}

/* ---------------- FOOTER ---------------- */
.foot{border-top:1px solid var(--line);background:#050506;padding:52px 0 30px;margin-top:20px}
.footgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
@media(max-width:760px){.footgrid{grid-template-columns:1fr 1fr}}
.footgrid h5{color:var(--faint);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;margin:0 0 14px}
.footgrid a{display:block;color:var(--mut);padding:5px 0;font-size:14px}
.footgrid a:hover{color:#fff}
.footbottom{border-top:1px solid var(--line);margin-top:36px;padding-top:22px;color:var(--faint);font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* ============================================================================
   LIVE WSN CONTENT — premium streaming rails, cinematic tiles, videos
============================================================================ */
/* scroll reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* radial depth glow for content sections */
.glow{position:relative;isolation:isolate}
.glow::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(1100px 460px at 80% -10%,rgba(229,51,60,.10),transparent 60%);pointer-events:none}

/* rails */
.railwrap{position:relative;margin:0 -4px}
.wsnrail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;padding:8px 4px 24px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.wsnrail::-webkit-scrollbar{display:none}
.wsnrail>*{scroll-snap-align:start;flex:0 0 auto}
.railwrap::before,.railwrap::after{content:"";position:absolute;top:0;bottom:24px;width:70px;pointer-events:none;z-index:2;transition:opacity .2s}
.railwrap::before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}
.railwrap::after{right:0;background:linear-gradient(270deg,var(--bg),transparent)}
.railwrap.on-alt::before{background:linear-gradient(90deg,var(--bg2),transparent)}
.railwrap.on-alt::after{background:linear-gradient(270deg,var(--bg2),transparent)}
.railbtn{position:absolute;top:calc(50% - 12px);transform:translateY(-50%);z-index:4;width:48px;height:48px;border-radius:50%;border:1px solid var(--line2);background:rgba(10,11,14,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-size:17px;cursor:pointer;display:none;place-items:center;transition:.16s var(--ease);box-shadow:0 12px 30px -12px #000}
.railbtn:hover{background:var(--red);border-color:var(--red);transform:translateY(-50%) scale(1.06)}
.railbtn.prev{left:-4px}.railbtn.next{right:-4px}
@media(hover:hover) and (min-width:920px){.railwrap:hover .railbtn{display:grid}}

/* cinematic promotion tile (name over art) */
.ptile{position:relative;width:290px;aspect-ratio:16/10;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#0c0d11;text-decoration:none;color:#fff;display:block;transition:transform .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease)}
.ptile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.ptile::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,5,6,0) 28%,rgba(5,5,6,.5) 60%,rgba(5,5,6,.96));transition:background .28s var(--ease)}
.ptile .pt{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:20px 18px 17px}
.ptile .pt .kind{color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;margin-bottom:7px}
.ptile .pt h4{font-family:var(--fd);font-size:27px;line-height:.98;margin:0;letter-spacing:.012em;text-shadow:0 2px 22px rgba(0,0,0,.65)}
.ptile .watch{position:absolute;top:14px;right:14px;z-index:3;opacity:0;transform:translateY(-5px);transition:.22s var(--ease);background:var(--red);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:30px;box-shadow:0 8px 22px -8px var(--redglow)}
.ptile:hover{transform:translateY(-7px);border-color:var(--red2);box-shadow:0 34px 74px -36px #000,0 0 0 1px rgba(255,59,69,.4)}
.ptile:hover>img{transform:scale(1.09)}
.ptile:hover::after{background:linear-gradient(180deg,rgba(229,51,60,.14) 0,rgba(5,5,6,.55) 58%,rgba(5,5,6,.97))}
.ptile:hover .watch{opacity:1;transform:none}

/* creator = premium avatar tile */
.ctile{position:static;width:172px;aspect-ratio:auto;background:transparent;border:0;overflow:visible;text-align:center}
.ctile>img{position:relative;width:152px;height:152px;margin:0 auto;border-radius:22px;object-fit:cover;border:1px solid var(--line);transition:transform .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease)}
.ctile::after{display:none}
.ctile .watch{display:none}
.ctile .pt{position:static;padding:13px 4px 0;text-align:center}
.ctile .pt .kind{color:var(--gold)}
.ctile .pt h4{font-family:"Inter",sans-serif;font-weight:800;font-size:14px;line-height:1.25;letter-spacing:0;text-shadow:none;color:#eef2f7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ctile:hover{transform:none;box-shadow:none;border-color:transparent}
.ctile:hover>img{transform:translateY(-6px);border-color:var(--red2);box-shadow:0 26px 46px -26px #000}

/* cinematic video card */
.vtile{position:relative;width:330px;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#0c0d11;text-decoration:none;color:#fff;display:block;transition:transform .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease)}
.vtile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.vtile::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,5,6,0) 40%,rgba(5,5,6,.55) 66%,rgba(5,5,6,.95))}
.vtile .vplay{position:absolute;inset:0;z-index:2;display:grid;place-items:center;opacity:0;transition:.22s var(--ease)}
.vtile .vplay b{width:60px;height:60px;border-radius:50%;background:rgba(229,51,60,.95);display:grid;place-items:center;color:#fff;font-size:20px;padding-left:3px;box-shadow:0 14px 36px rgba(0,0,0,.55);transform:scale(.82);transition:.22s var(--ease)}
.vtile:hover .vplay{opacity:1}
.vtile:hover .vplay b{transform:scale(1)}
.vtile .vmeta{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:16px 16px 15px}
.vtile .vmeta .vp{color:#ff5760;font-weight:800;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.vtile .vmeta h4{margin:5px 0 0;font-size:16px;line-height:1.25;font-weight:700;text-shadow:0 2px 16px rgba(0,0,0,.6);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vtile:hover{transform:translateY(-6px);border-color:var(--red2);box-shadow:0 30px 66px -34px #000}
.vtile:hover>img{transform:scale(1.07)}

/* full network directory grid */
.netgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.netgrid .ptile{width:auto}
.netgrid .ctile{width:auto;padding:8px 0}
.netgrid .ctile>img{width:150px;height:150px}
.netfilter{display:flex;gap:10px;margin:0 0 28px;flex-wrap:wrap}
.netfilter button{font:inherit;font-weight:800;font-size:13px;letter-spacing:.03em;color:var(--mut);background:var(--panel);border:1px solid var(--line);padding:11px 22px;border-radius:30px;cursor:pointer;transition:.16s var(--ease)}
.netfilter button:hover{color:#fff;border-color:var(--line2)}
.netfilter button.on{background:linear-gradient(150deg,var(--red2),var(--red));color:#fff;border-color:transparent;box-shadow:0 12px 30px -14px var(--redglow)}

/* premium stat band */
.countstrip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:linear-gradient(150deg,var(--panel),var(--bg2))}
.cchip{padding:26px 28px;border-right:1px solid var(--line);position:relative}
.cchip:last-child{border-right:0}
.cchip::before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:3px;background:linear-gradient(180deg,var(--red2),transparent);opacity:0}
.cchip b{font-family:var(--fd);font-size:54px;display:block;line-height:.82;color:#fff;letter-spacing:.01em}
.cchip span{color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;margin-top:6px;display:block}

@media(max-width:820px){
  .countstrip{grid-template-columns:1fr 1fr}
  .cchip:nth-child(1),.cchip:nth-child(2){border-bottom:1px solid var(--line)}
  .cchip:nth-child(2){border-right:0}
}
@media(max-width:600px){
  .ptile{width:240px}.ctile{width:150px}.ctile>img{width:132px;height:132px}.vtile{width:290px}
  .cchip b{font-size:44px}
}

/* ============================================================================
   DETAIL PAGES (promotion / creator / video)
============================================================================ */
.dhero{display:flex;gap:24px;align-items:flex-end;flex-wrap:wrap}
.dhero .dlogo{width:126px;height:126px;border-radius:20px;object-fit:cover;border:1px solid var(--line2);background:#0c0d11;flex:0 0 auto;box-shadow:0 24px 50px -26px #000}
.dhead .kind{color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px}
.dhead h1{font-family:var(--fd);font-size:clamp(38px,6vw,72px);line-height:.92;margin:0}
.ddesc{color:#dbe2ec;max-width:74ch;line-height:1.7;font-size:clamp(15px,1.7vw,17px);margin:18px 0 0}
.dactions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.dcount{color:var(--mut);font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;align-self:center}

.vidgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:18px}
.vidgrid .vtile{width:auto}
.netgrid .vtile{width:auto}

/* video detail stage */
.vwrap{display:grid;grid-template-columns:1.5fr .9fr;gap:32px;align-items:start}
@media(max-width:920px){.vwrap{grid-template-columns:1fr}}
.vstage{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;border:1px solid var(--line2);background:#000;box-shadow:0 40px 90px -50px #000}
.vstage>img{width:100%;height:100%;object-fit:cover}
.vstage .vgate{position:absolute;inset:0;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(5,5,6,.35),rgba(5,5,6,.82));text-align:center;padding:20px}
.vstage .vgate .pplay{width:76px;height:76px;border-radius:50%;background:var(--red);display:grid;place-items:center;color:#fff;font-size:28px;padding-left:4px;box-shadow:0 18px 44px -14px var(--redglow);transition:.2s var(--ease)}
.vstage .vgate:hover .pplay{transform:scale(1.07)}
.vstage .vgate .glabel{color:#fff;font-weight:800;letter-spacing:.02em;font-size:15px}
.vstage .vgate .gsub{color:var(--mut);font-size:12.5px;max-width:34ch}
.vinfo h1{font-family:var(--fd);font-size:clamp(28px,3.6vw,44px);line-height:1.02;margin:0 0 10px}
.vinfo .vsub{color:var(--red2);font-weight:800;font-size:12px;letter-spacing:.07em;text-transform:uppercase}
.vinfo .vsub a{color:var(--red2)}
.vinfo .vfacts{display:flex;gap:16px;flex-wrap:wrap;color:var(--mut);font-size:13px;font-weight:600;margin:12px 0 16px}
.vinfo .vdesc{color:#cfd6e0;line-height:1.7;font-size:15px}
.vinfo .badge-pay{display:inline-block;background:linear-gradient(150deg,#e4c87d,#b8983f);color:#151515;font-weight:900;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:20px;margin-left:8px;vertical-align:middle}

/* ============================================================================
   SPONSORS / PARTNERS & ADVERTISERS
============================================================================ */
.sponsors{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.sponsors{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.sponsors{grid-template-columns:1fr}}
.sponsor{position:relative;display:flex;flex-direction:column;padding:30px 26px;border-radius:20px;border:1px solid var(--line);
  background:linear-gradient(160deg,rgba(23,26,33,.9),rgba(10,11,14,.9));overflow:hidden;transition:transform .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease)}
.sponsor::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .28s var(--ease);
  background:radial-gradient(90% 70% at 50% 0,rgba(229,51,60,.14),transparent 60%)}
.sponsor:hover{transform:translateY(-6px);border-color:var(--red2);box-shadow:0 34px 70px -38px #000,0 0 0 1px rgba(255,59,69,.35)}
.sponsor:hover::before{opacity:1}
.sponsor .slogo{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;font-family:var(--fd);font-size:30px;color:#fff;
  background:linear-gradient(155deg,#2a2e37,#14161c);border:1px solid var(--line2);margin-bottom:18px;overflow:hidden}
.sponsor .slogo img{width:100%;height:100%;object-fit:contain;padding:8px}
.sponsor h4{font-family:var(--fd);font-size:26px;letter-spacing:.02em;margin:0 0 6px;position:relative}
.sponsor .stag{color:var(--gold);font-size:10.5px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.sponsor p{color:var(--mut);font-size:14px;line-height:1.6;margin:0 0 20px;flex:1}
.sponsor .svisit{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:11px;font-weight:800;font-size:13px;
  color:#fff;background:linear-gradient(180deg,#ff3b45,#c9151e);box-shadow:0 12px 30px -14px var(--redglow);transition:.16s var(--ease)}
.sponsor .svisit:hover{transform:translateY(-2px);filter:brightness(1.06)}
.sponsor.empty{align-items:center;justify-content:center;text-align:center;border-style:dashed;border-color:var(--line2);background:rgba(17,19,24,.4)}
.sponsor.empty .slogo{background:transparent;border-style:dashed;color:var(--faint)}
.sponsor.empty h4{color:#cfd6e0}
.sponsor.empty p{flex:none}
.sponsor.empty .svisit{background:rgba(255,255,255,.07);border:1px solid var(--line2);box-shadow:none;color:#fff}
.sponsor.empty .stag{color:var(--faint)}

/* WSN+ partner promotions grid — rows of 4, bigger thumbs, lighter/thinner text */
.partnergrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:1040px){.partnergrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.partnergrid{grid-template-columns:repeat(2,1fr)}}
.partnergrid .ptile{width:auto;aspect-ratio:16/11}
.partnergrid .ptile::after{background:linear-gradient(180deg,transparent 55%,rgba(5,5,6,.55) 78%,rgba(5,5,6,.92))}
.partnergrid .ptile .pt{padding:12px 13px}
.partnergrid .ptile .pt h4{font-size:17px;font-weight:400;letter-spacing:.03em;line-height:1.02;text-shadow:0 1px 12px rgba(0,0,0,.75)}
.partnergrid .ptile .watch{font-size:9.5px;padding:5px 10px;top:10px;right:10px}

/* ============================================================================
   EVENTS + CALENDAR
============================================================================ */
.evwrap{display:grid;grid-template-columns:344px 1fr;gap:30px;align-items:start}
@media(max-width:900px){.evwrap{grid-template-columns:1fr}}
.cal{border:1px solid var(--line);border-radius:20px;background:linear-gradient(160deg,var(--panel),var(--bg2));padding:20px;position:sticky;top:88px}
@media(max-width:900px){.cal{position:static}}
.calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.calhead b{font-family:var(--fd);font-size:25px;letter-spacing:.02em}
.calnav{display:flex;gap:8px}
.calnav button{width:36px;height:36px;border-radius:10px;border:1px solid var(--line2);background:var(--panel2);color:#fff;cursor:pointer;font-size:16px;transition:.15s var(--ease)}
.calnav button:hover{border-color:var(--red2);background:var(--red)}
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.caldow{color:var(--faint);font-size:10px;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.06em;padding:4px 0}
.calday{aspect-ratio:1;display:grid;place-items:center;border-radius:10px;font-size:13px;color:#cfd6e0;position:relative;border:1px solid transparent}
.calday.other{color:var(--faint);opacity:.35}
.calday.today{outline:2px solid var(--line2)}
.calday.has{cursor:pointer;background:rgba(229,51,60,.16);border-color:rgba(229,51,60,.45);color:#fff;font-weight:800}
.calday.has::after{content:"";position:absolute;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--red2)}
.calday.has:hover,.calday.sel{background:var(--red);border-color:var(--red)}
.callegend{display:flex;align-items:center;gap:8px;margin-top:14px;color:var(--mut);font-size:12px}
.callegend i{width:9px;height:9px;border-radius:50%;background:var(--red2);display:inline-block}

.evlist{display:grid;gap:16px}
.evcard{display:grid;grid-template-columns:160px 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel);text-decoration:none;color:inherit;transition:transform .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease)}
.evcard:hover{transform:translateY(-4px);border-color:var(--red2);box-shadow:0 30px 62px -34px #000}
.evcard .evimg{position:relative;background:#0c0d11;min-height:150px}
.evcard .evimg img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:.4s var(--ease)}
.evcard:hover .evimg img{transform:scale(1.05)}
.evcard .evdate{position:absolute;top:10px;left:10px;z-index:1;background:rgba(5,5,6,.82);border:1px solid var(--line2);border-radius:11px;padding:7px 11px;text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.evcard .evdate b{font-family:var(--fd);font-size:27px;display:block;line-height:.85;color:#fff}
.evcard .evdate span{font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);font-weight:800}
.evcard .evb{padding:17px 20px;min-width:0}
.evcard .evtype{color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.evcard .evb h4{font-family:var(--fd);font-size:25px;margin:5px 0 7px;letter-spacing:.01em;line-height:1}
.evcard .evmeta{color:var(--mut);font-size:13px;display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.evcard .evp{color:var(--red2);font-weight:800;font-size:12px;letter-spacing:.03em;text-transform:uppercase}
.evcard .evdesc{color:#cfd6e0;font-size:13.5px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:520px){.evcard{grid-template-columns:104px 1fr}.evcard .evb h4{font-size:21px}}

/* ============================================================================
   MOBILE APP BAR (native-app feel) — injected by site.js on every page
============================================================================ */
.mobiletabs{display:none}
@media(max-width:760px){
  .mobiletabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:300;
    background:rgba(8,9,12,.97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--line);
    padding:9px 6px calc(9px + env(safe-area-inset-bottom))}
  .mobiletabs a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--mut);font-size:9.5px;font-weight:800;letter-spacing:.02em;padding:3px 0;text-decoration:none}
  .mobiletabs a .ic{font-size:20px;line-height:1}
  .mobiletabs a.on{color:#fff}
  .mobiletabs a.on .ic{filter:drop-shadow(0 0 8px var(--redglow))}
  body{padding-bottom:70px}
  .foot{margin-bottom:0}
}

/* ============================================================================
   IMAGE BANNER HERO (title baked into the image) + EVERY SCREEN + ICONS
============================================================================ */
.bannerhero{position:relative;line-height:0;background:var(--bg)}
.bannerhero img{width:100%;height:auto;display:block}
.bannerhero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;top:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,transparent 28%,rgba(5,5,6,.35) 46%,rgba(5,5,6,.7) 62%,rgba(5,5,6,.92) 74%,#050506 84%)}
.bannerhero::before{content:"";position:absolute;left:0;right:0;top:-1px;height:34%;pointer-events:none;z-index:1;
  background:linear-gradient(180deg,#050506 0%,rgba(5,5,6,.72) 26%,rgba(5,5,6,.35) 55%,transparent 100%)}
.bannerhero picture{display:block}
/* section right below a banner: stay black, then fade out into the red-line bg */
.afterbanner{background:linear-gradient(180deg,#050506 0%,#050506 26%,rgba(5,5,6,.72) 48%,rgba(5,5,6,.32) 68%,transparent 86%)!important}

.everyscreen{text-align:center;max-width:1000px;margin:0 auto}
.everyscreen img{width:100%;max-width:940px;border-radius:22px;border:1px solid var(--line);box-shadow:0 44px 100px -54px #000;margin:0 auto 28px}
.everyscreen h2{font-family:var(--fd);font-size:clamp(32px,4.6vw,56px);letter-spacing:.01em;margin:0 0 12px}
.everyscreen p{color:#dbe2ec;max-width:60ch;margin:0 auto 24px;font-size:clamp(15px,1.8vw,18px);line-height:1.7}
.everyscreen .platforms{justify-content:center;margin-top:22px}

/* premium inline SVG icons in platform badges + bottom nav */
.badge svg{width:18px;height:18px;flex:0 0 auto;display:block}
.platforms .badge{display:inline-flex;align-items:center;gap:8px}
.mobiletabs a .ic{display:grid;place-items:center;height:23px}
.mobiletabs a .ic svg{width:23px;height:23px;display:block}

/* ============================================================================
   MOBILE POLISH — tighter, cleaner, app-like
============================================================================ */
@media(max-width:760px){
  section.blk{padding:40px 0}
  .wrap{padding-left:16px;padding-right:16px}
  .sechead{margin-bottom:20px;gap:6px}
  .sechead .sub{font-size:14px}
  .hero{min-height:auto}
  .hero .wrap{padding-left:18px;padding-right:18px}
  .hero-inner{max-width:100%;padding:92px 0 44px}
  .hero-cta{gap:10px}
  .hero-cta .btn{flex:1 1 auto;justify-content:center}
  .marquee{padding:12px 0}
  .feature{min-height:340px}
  .countdown{gap:8px}
  .cd{min-width:58px;padding:9px 10px}
  .cd b{font-size:26px}
  .watchband{padding:32px 20px}
  .everyscreen img{border-radius:16px;margin-bottom:20px}
  .sponsors{gap:14px}
  .foot{padding-bottom:20px}
}
@media(max-width:420px){
  .hero h1{font-size:clamp(44px,15vw,66px)}
  .partnergrid{gap:12px}
  .badge{font-size:12px;padding:7px 12px}
}

/* mobile homepage hero uses the mobile-fit banner */
@media(max-width:760px){
  .hero-bg{background-image:url('/img/Homepage2.png');background-position:center top}
}

/* WSN+ menu item — LIVE-style red glow (desktop nav + mobile bottom bar) */
@keyframes wsnLive{0%,100%{color:#ff3b45;text-shadow:0 0 6px rgba(255,59,69,.55)}50%{color:#ff6b73;text-shadow:0 0 15px rgba(255,59,69,.95)}}
.navlinks a.navwsn{color:#ff3b45;font-weight:800;animation:wsnLive 1.8s ease-in-out infinite}
.navlinks a.navwsn:hover{background:rgba(255,59,69,.10);color:#ff6b73}
.navlinks a.navwsn.on{box-shadow:inset 0 -2px 0 var(--red2)}
.mobiletabs a.wsnglow{animation:wsnLive 1.8s ease-in-out infinite}
.mobiletabs a.wsnglow .ic{filter:drop-shadow(0 0 7px rgba(255,59,69,.9))}

/* mobile: lift hero eyebrow + title toward the top; AMW event uses portrait image */
@media(max-width:760px){
  .hero{align-items:flex-start}
  .hero-inner{padding-top:24px;padding-bottom:38px}
  .feature{background:linear-gradient(180deg,rgba(5,5,6,.1),rgba(5,5,6,.5) 60%,rgba(5,5,6,.92)),url('/img/AMWLive.png') center/cover !important;min-height:470px}
}

/* ============================================================================
   v15 — redesign: social nav, advertiser banner, podcasts, lead form, promo tools
   ============================================================================ */
/* nav WSN+ highlight + social icons */
.navlinks a.navwsn{color:#fff}
.navlinks a.navwsn:hover{background:rgba(255,59,69,.16)}
.navsocial{display:flex;align-items:center;gap:6px;margin-left:12px;padding-left:12px;border-left:1px solid var(--line2)}
.navsocial a{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:#c3cad6;background:rgba(255,255,255,.05);transition:.15s var(--ease)}
.navsocial a:hover{color:#fff;background:rgba(255,59,69,.2)}
.navsocial svg{width:18px;height:18px}
@media(max-width:900px){
  .navsocial{margin:10px 0 2px;padding:14px 0 2px;border-left:none;border-top:1px solid var(--line);justify-content:center;gap:12px}
  .navsocial a{width:44px;height:44px}
}

/* advertiser sliding banner (home) */
.adbanner{overflow:hidden;white-space:nowrap;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:16px 0;
  background:linear-gradient(90deg,#050506,#5a0a0f 25%,#c01722 50%,#5a0a0f 75%,#050506);background-size:220% 100%;animation:adflow 9s linear infinite}
@keyframes adflow{0%{background-position:0% 50%}100%{background-position:220% 50%}}
.adbanner .track{display:inline-block;animation:mq 34s linear infinite}
.adbanner:hover .track{animation-play-state:paused}
.adlogo{display:inline-flex;align-items:center;gap:12px;margin:0 30px;vertical-align:middle;color:#e9ecf1}
.adlogo .amono{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;font-family:var(--fd);font-size:20px;color:#fff;background:linear-gradient(155deg,#2a2d35,#15171c);border:1px solid var(--line2);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.adlogo b{font-family:var(--fd);font-size:22px;letter-spacing:.04em;line-height:1}
.adlogo span{display:block;font-size:11px;color:var(--mut);font-weight:700;letter-spacing:.08em;text-transform:uppercase}

/* podcasts / featured content cards */
.podrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.podcard{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#0c0d11;display:block;color:#fff;transition:transform .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease)}
.podcard:hover{transform:translateY(-4px);border-color:rgba(255,59,69,.5);box-shadow:0 22px 48px -22px rgba(0,0,0,.8)}
.podcard .pimg{aspect-ratio:16/9;background:#07080b center/cover no-repeat;position:relative}
.podcard .pplay{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transition:.2s;background:rgba(5,6,10,.35)}
.podcard:hover .pplay{opacity:1}
.podcard .pplay b{width:60px;height:60px;border-radius:50%;background:var(--red);display:grid;place-items:center;font-size:22px;box-shadow:0 10px 26px -8px var(--redglow)}
.podcard .pbody{padding:16px 18px 18px}
.podcard .ptag{color:var(--red2);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.podcard h4{font-family:var(--fd);font-size:26px;letter-spacing:.02em;margin:6px 0 4px}
.podcard .phost{color:#cfd5df;font-weight:700;font-size:13px}
.podcard p{color:var(--mut);font-size:14px;margin:8px 0 0}

/* generic intake / lead form (home bottom + contact) */
.cform{max-width:640px;display:grid;gap:14px}
.cform input,.cform textarea,.cform select{width:100%;padding:14px 15px;border-radius:12px;border:1px solid var(--line2);background:rgba(10,11,14,.75);color:#fff;font:inherit;font-size:15px}
.cform input:focus,.cform textarea:focus,.cform select:focus{outline:none;border-color:var(--red2);box-shadow:0 0 0 3px rgba(255,59,69,.18)}
.crow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.crow{grid-template-columns:1fr}}
.formcard{border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,rgba(17,19,24,.9),rgba(10,11,14,.9));padding:clamp(22px,4vw,38px);max-width:760px}

/* promotions page tools: search + sort */
.promotools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:4px 0 26px}
.promosearch{flex:1;min-width:220px;position:relative}
.promosearch input{width:100%;padding:13px 15px 13px 42px;border-radius:12px;border:1px solid var(--line2);background:rgba(10,11,14,.75);color:#fff;font:inherit;font-size:15px}
.promosearch input:focus{outline:none;border-color:var(--red2);box-shadow:0 0 0 3px rgba(255,59,69,.18)}
.promosearch svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--mut)}
.promosort{display:flex;gap:6px}
.promosort button{padding:11px 15px;border-radius:11px;border:1px solid var(--line2);background:var(--panel);color:#c3cad6;font:inherit;font-weight:700;font-size:13px;cursor:pointer;transition:.15s var(--ease)}
.promosort button.on,.promosort button:hover{background:linear-gradient(180deg,#ff3b45,#c9151e);color:#fff;border-color:transparent}
/* event counter on promotion cards */
.ptile .evcount{position:absolute;top:10px;left:10px;z-index:3;background:rgba(5,6,10,.78);border:1px solid var(--line2);color:#fff;font-weight:800;font-size:11px;letter-spacing:.04em;padding:5px 10px;border-radius:999px}
.ptile .evcount b{color:var(--red2)}

/* partners composite banner + every-screen device row */
.compbanner{border-radius:20px;overflow:hidden;border:1px solid var(--line2);box-shadow:0 30px 70px -30px rgba(0,0,0,.85);display:block}
.compbanner img{width:100%;display:block}
.devicerow{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px}
.promohero{border-radius:20px;overflow:hidden;border:1px solid var(--line2);display:block;box-shadow:0 30px 70px -30px rgba(0,0,0,.85)}
.promohero img{width:100%;display:block}

/* v16 — real device logos, tighter streaming rows, patreon spot, ticker diamonds */
/* transparent device logos, rendered as clean white marks (no boxes) */
.devlogo{display:inline-flex;align-items:center;justify-content:center;padding:0 16px}
.devlogo img{height:26px;width:auto;display:block;object-fit:contain;filter:brightness(0) invert(1);opacity:.9;transition:opacity .15s var(--ease)}
.devlogo:hover img{opacity:1}
.hero-badges .devlogo img{height:24px}

/* bring the three streaming rows closer together (keep a little breathing room) */
section.blk.rowtight{padding-top:26px;padding-bottom:26px}
@media(max-width:760px){section.blk.rowtight{padding-top:18px;padding-bottom:18px}}

/* ticker red diamonds between sponsors + little image box in front */
.adbanner b.dia{color:var(--red2);font-size:18px;margin:0 2px;vertical-align:middle}

/* Patreon support spot */
.patreonspot{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:center;text-align:center;flex-direction:column;
  border:1px solid var(--line2);border-radius:20px;padding:clamp(24px,4vw,38px);max-width:620px;margin:0 auto;
  background:linear-gradient(180deg,rgba(255,66,77,.08),rgba(17,19,24,.85))}
.patreonspot img{width:min(360px,80%);height:auto;border-radius:16px;transition:transform .2s var(--ease),box-shadow .2s var(--ease);box-shadow:0 18px 40px -20px rgba(0,0,0,.8)}
.patreonspot a:hover img{transform:translateY(-3px);box-shadow:0 26px 54px -22px rgba(255,66,77,.5)}
.patreonspot h3{font-family:var(--fd);font-size:clamp(28px,4vw,40px);margin:0}
.patreonspot p{color:var(--mut);margin:0;max-width:46ch}

/* v16b — ticker sponsor logo images */
.adlogo .amono.img{overflow:hidden;background:#fff;padding:4px}
.adlogo .amono.img img{width:100%;height:100%;object-fit:contain;display:block}

/* ============================================================================
   v19 — PARTNER TICKER (same broadcast look as the Master Portal Top 10 ticker)
============================================================================ */
.adbanner{position:relative;display:flex;align-items:stretch;height:58px;padding:0;overflow:hidden;white-space:nowrap;
  background:#070708;border:0;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);animation:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 30px -18px rgba(229,51,60,.55)}
.adbanner::before{content:"";position:absolute;top:0;bottom:0;left:0;width:300%;pointer-events:none;z-index:0;opacity:.9;
  background:linear-gradient(90deg,#3a070c 0%,#120305 12%,#050506 22%,#1b1c21 33%,#4a0a10 45%,#0b0b0d 56%,#1d1e23 67%,#3a070c 78%,#120305 90%,#3a070c 100%);
  animation:adField 26s linear infinite}
.adbanner::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(180deg,rgba(255,255,255,.075) 0%,rgba(255,255,255,.02) 46%,rgba(0,0,0,0) 50%,rgba(0,0,0,.28) 100%),
    linear-gradient(90deg,transparent,rgba(255,75,84,.55) 30%,rgba(255,255,255,.55) 50%,rgba(255,75,84,.55) 70%,transparent) bottom/100% 1px no-repeat}
@keyframes adField{to{transform:translateX(-66.666%)}}
.adplate{position:relative;z-index:3;flex:none;display:flex;align-items:center;gap:11px;padding:0 32px 0 18px;
  background:linear-gradient(180deg,#2b2d33 0%,#141518 48%,#0b0b0d 52%,#18191d 100%);
  clip-path:polygon(0 0,100% 0,calc(100% - 18px) 100%,0 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
.adplate::after{content:"";position:absolute;top:0;bottom:0;right:0;width:22px;background:linear-gradient(180deg,#ff5a62,#b81822);
  clip-path:polygon(18px 0,22px 0,4px 100%,0 100%);filter:drop-shadow(0 0 6px rgba(255,75,84,.9))}
.adlive{width:8px;height:8px;border-radius:50%;background:#ff3b45;box-shadow:0 0 0 3px rgba(255,59,69,.2),0 0 12px #ff3b45;animation:adPulse 1.6s ease-in-out infinite}
@keyframes adPulse{50%{opacity:.45;box-shadow:0 0 0 6px rgba(255,59,69,0),0 0 6px #ff3b45}}
.adplatetext{display:flex;flex-direction:column;line-height:1}
.adlabel{font-family:var(--fd);font-size:23px;letter-spacing:.06em;padding-top:3px;
  background:linear-gradient(180deg,#ffffff 0%,#e9ecf1 38%,#9ea3ad 52%,#f4f5f7 70%,#b9bdc6 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 rgba(0,0,0,.8))}
.adkicker{margin-top:3px;font-size:9px;font-weight:700;letter-spacing:.22em;color:#ff8a90;text-transform:uppercase}
.adview{position:relative;z-index:3;flex:1 1 auto;min-width:0;overflow:hidden;margin-left:-10px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 56px,#000 calc(100% - 72px),transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 56px,#000 calc(100% - 72px),transparent 100%)}
.adbanner .track{display:flex;align-items:center;width:max-content;height:100%;animation:mq 40s linear infinite;will-change:transform}
.adbanner:hover .track,.adbanner .track:focus-within{animation-play-state:paused}
.adloop{display:flex;align-items:center;height:100%}
.adbanner .adlogo{position:relative;flex:none;display:inline-flex;align-items:center;gap:10px;height:100%;margin:0;padding:0 24px 0 18px;color:var(--text);transition:background .2s var(--ease)}
.adbanner .adlogo::after{content:"";position:absolute;right:0;top:14px;bottom:14px;width:1px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.18),transparent)}
.adbanner .adlogo:hover{background:radial-gradient(60% 90% at 50% 50%,rgba(255,75,84,.16),transparent 75%);color:#fff}
.adbanner .adlogo .amono{width:34px;height:34px;border-radius:9px;font-size:14px;letter-spacing:.02em;background:#15161a;border:0;
  box-shadow:0 0 0 1px rgba(255,255,255,.2),inset 0 1px 0 rgba(255,255,255,.2),0 0 14px -3px rgba(255,75,84,.7)}
.adbanner .adlogo .amono.img{background:#fff;padding:3px}
.admain{display:flex;flex-direction:column;gap:2px;min-width:0}
.adbanner .adlogo b{font-family:inherit;color:#fff;font-size:13.5px;font-weight:700;letter-spacing:-.01em;line-height:1.2;white-space:nowrap}
.adbanner .adlogo .admeta{display:block;font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;color:#a4a7ae;white-space:nowrap}
.adbanner b.dia{display:none}
@media(prefers-reduced-motion:reduce){.adbanner::before{animation:none}}
@media(max-width:760px){
  .adbanner{height:52px}
  .adplate{padding:0 26px 0 12px;gap:8px}
  .adlabel{font-size:19px}
  .adkicker{display:none}
  .adbanner .adlogo{padding:0 16px 0 14px;gap:8px}
  .adbanner .adlogo .amono{width:30px;height:30px;font-size:12px}
  .adbanner .adlogo b{font-size:13px}
}

/* ============================================================================
   v19 — PHONE = APP. Clean app bar, compact hero, card sections, snap rails,
   floating tab bar. Everything below only applies at phone/tablet-portrait width.
============================================================================ */
.navapp{display:none}
@media(max-width:900px){
  /* app bar */
  .nav{height:60px;gap:10px;padding:0 14px;background:rgba(6,6,8,.82);border-bottom:1px solid rgba(255,255,255,.06)}
  .brandLogo{width:40px;height:40px}
  .navapp{display:inline-flex;align-items:center;gap:7px;margin-left:auto;height:36px;padding:0 15px;border-radius:999px;font-weight:800;font-size:13px;color:#fff;
    background:linear-gradient(180deg,#ff3b45,#c9151e);box-shadow:0 8px 20px -8px var(--redglow),inset 0 1px 0 rgba(255,255,255,.25)}
  .navapp i{width:0;height:0;border-left:8px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent}
  .burger{margin-left:0;width:40px;height:40px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
  .burger span{display:block;width:17px;height:2px;border-radius:2px;background:#fff;transition:transform .25s var(--ease),opacity .2s}
  body.navopen .burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  body.navopen .burger span:nth-child(2){opacity:0}
  body.navopen .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  /* menu = a sheet that drops from the app bar */
  .navlinks{inset:60px 10px auto 10px;padding:8px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(12,13,17,.97);
    -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 30px 60px -20px #000;transform:translateY(-12px) scale(.98);opacity:0;pointer-events:none;
    transition:transform .22s var(--ease),opacity .2s var(--ease)}
  body.navopen .navlinks{transform:none;opacity:1;pointer-events:auto}
  .navlinks a{display:flex;align-items:center;justify-content:space-between;padding:15px 14px;border-radius:12px;font-size:15px}
  .navlinks>a:not(.navcta)::after{content:"\203A";color:var(--faint);font-size:20px;line-height:1}
  .navlinks a.on{box-shadow:none;background:rgba(255,59,69,.12)}
}
@media(max-width:760px){
  body{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .wrap{padding-left:16px;padding-right:16px}
  section.blk{padding:30px 0}
  section.blk.rowtight{padding-top:16px;padding-bottom:16px}

  /* hero: tighter, buttons side by side, devices in a frosted strip */
  .hero-inner{padding:26px 0 30px}
  .hero .wrap{padding-left:16px;padding-right:16px}
  .hero .eyebrow{font-size:10.5px;letter-spacing:.24em;gap:8px}
  .hero .eyebrow::before{width:22px}
  .hero h1{font-size:clamp(46px,14vw,60px);margin:12px 0 12px}
  .hero p{font-size:15px;line-height:1.6;margin:0}
  .hero-cta{display:grid;grid-template-columns:1.25fr 1fr;gap:10px;margin-top:20px}
  .hero-cta .btn{padding:14px 10px;font-size:14px;border-radius:14px;justify-content:center}
  .hero-badges{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:0;margin-top:18px;padding:12px 10px;border-radius:16px;
    background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  .hero-badges .devlogo{padding:0 4px;min-width:0}
  .hero-badges .devlogo img{height:17px;max-width:72px}

  /* inner page headers (were flush against the screen edge) */
  .pagehero{min-height:250px}
  .pagehero .pin{padding:0 16px 26px}
  .pagehero h1{font-size:clamp(40px,12vw,54px)}

  /* banner image becomes a card */
  .promohero{margin:0 16px 18px !important;border-radius:16px}

  /* section headers: compact, "See all" pill pinned top right */
  .sechead{position:relative;display:block;margin-bottom:14px}
  .sechead .eyebrow{font-size:10.5px;letter-spacing:.2em;padding-right:118px}
  .sechead h2{font-size:30px;margin-top:6px;line-height:1}
  .sechead .sub{font-size:13.5px;line-height:1.5;margin:8px 0 0}
  .sechead .link-red{position:absolute;top:-3px;right:0;max-width:150px;padding:5px 11px;border-radius:999px;font-size:11.5px;line-height:1.2;white-space:nowrap;
    background:rgba(255,59,69,.1);border:1px solid rgba(255,59,69,.35);color:#ff6b73}

  /* rails: edge to edge, snap, peek of the next card */
  .railwrap{margin:0 -16px}
  .railwrap::before,.railwrap::after{display:none}
  .wsnrail{gap:12px;padding:4px 16px 14px;scroll-padding:0 16px;scroll-snap-type:x mandatory}
  .vtile{width:78vw;max-width:320px;border-radius:14px}
  .ptile{width:62vw;max-width:260px;border-radius:14px}
  .ptile .pt{padding:14px 14px 12px}
  .ptile .pt h4{font-size:22px}
  .vtile .vmeta{padding:12px 13px 12px}
  .vtile .vmeta h4{font-size:14.5px}
  .vtile .vplay{opacity:1}
  .vtile .vplay b{width:44px;height:44px;font-size:15px;transform:none;background:rgba(229,51,60,.88)}

  /* next live event */
  .feature{min-height:440px;border-radius:20px}
  .feature .fbody{padding:20px 18px}
  .feature h3{font-size:40px;margin:6px 0 8px}
  .feature p{font-size:14.5px}
  .countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 16px}
  .cd{min-width:0;padding:10px 4px;border-radius:12px}
  .cd b{font-size:28px}
  .cd span{font-size:9px;letter-spacing:.12em}
  .feature .btn{width:100%;justify-content:center}

  /* network counts: one tight row of four */
  .countstrip{grid-template-columns:repeat(4,1fr);margin-top:14px;border-radius:16px}
  .cchip{padding:14px 6px;text-align:center;border-right:1px solid var(--line);border-bottom:0}
  .cchip:last-child{border-right:0}
  .cchip b{font-size:30px}
  .cchip span{font-size:9px;letter-spacing:.08em}
  .cchip::before{display:none}

  /* events: compact calendar card + clean list */
  .evwrap{gap:14px}
  .cal{position:static;padding:14px;border-radius:18px}
  .calhead b{font-size:22px}
  .calgrid{gap:3px}
  .calday{font-size:12.5px;border-radius:9px}
  .calday.has::after{bottom:3px;width:4px;height:4px}
  .callegend{margin-top:10px;font-size:11.5px}
  .evlist{gap:10px}
  .evcard{grid-template-columns:96px 1fr;border-radius:16px}
  .evcard .evimg{min-height:120px}
  .evcard .evdate{top:8px;left:8px;padding:5px 8px;border-radius:9px}
  .evcard .evdate b{font-size:21px}
  .evcard .evb{padding:12px 14px}
  .evcard .evb h4{font-size:19px;margin:4px 0 5px}
  .evcard .evmeta{gap:10px;font-size:12px;margin-bottom:4px}
  .evcard .evdesc{font-size:12.5px}

  /* partners / patreon / forms */
  .everyscreen h2{font-size:32px;line-height:1.05}
  .everyscreen p{font-size:14.5px;margin-bottom:18px}
  .compbanner{border-radius:16px;margin-bottom:18px !important}
  .devicerow{gap:4px 0;margin-top:16px}
  .devicerow .devlogo{padding:0 10px}
  .devicerow .devlogo img{height:20px}
  .patreonspot{padding:22px 18px;gap:14px;border-radius:20px}
  .formcard{padding:18px;border-radius:20px}
  .cform{gap:10px}
  .cform input,.cform textarea,.cform select{padding:13px 14px;font-size:16px;border-radius:12px}
  .btn{padding:14px 22px}

  /* footer: brand row + three link columns */
  .foot{padding:30px 0 18px;margin-top:10px}
  .footgrid{grid-template-columns:repeat(3,1fr);gap:18px 12px}
  .footgrid>div:first-child{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center}
  .footgrid>div:first-child p{margin-top:8px !important;font-size:13px}
  .footgrid .brandLogo{width:44px;height:44px}
  .footgrid h5{margin-bottom:8px;font-size:10px}
  .footgrid a{font-size:13px;padding:4px 0}
  .footbottom{margin-top:20px;padding-top:14px;justify-content:center;text-align:center;font-size:12px}

  /* floating app tab bar with a raised WSN+ button */
  .mobiletabs{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));padding:7px 4px;border-radius:24px;
    background:rgba(14,15,19,.86);border:1px solid rgba(255,255,255,.09);box-shadow:0 18px 40px -12px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.06)}
  .mobiletabs a{font-size:9.5px;gap:3px;padding:4px 0;border-radius:16px;position:relative}
  .mobiletabs a.on{color:#fff}
  .mobiletabs a.on::before{content:"";position:absolute;top:-7px;left:50%;width:22px;height:3px;margin-left:-11px;border-radius:0 0 3px 3px;background:var(--red2);box-shadow:0 0 10px var(--redglow)}
  .mobiletabs a.wsnglow{animation:none;color:#fff}
  .mobiletabs a.wsnglow .ic{width:48px;height:48px;margin-top:-24px;border-radius:50%;filter:none;color:#fff;
    background:linear-gradient(180deg,#ff3b45,#b8121b);border:3px solid #0e0f13;box-shadow:0 10px 24px -6px var(--redglow),0 0 0 1px rgba(255,90,98,.5)}
  .mobiletabs a.wsnglow .ic svg{width:24px;height:24px}
}
@media(max-width:360px){
  .hero-badges .devlogo img{height:15px}
  .sechead .eyebrow{padding-right:104px}
  .sechead .link-red{font-size:10.5px;padding:4px 9px}
}

/* ---- Portals dropdown (top menu) ---- */
.navdrop{position:relative;display:flex;align-items:center}
.navdropbtn{display:flex;align-items:center;gap:6px;padding:9px 14px;border:0;border-radius:9px;background:none;font:inherit;font-weight:700;font-size:14px;color:#c3cad6;cursor:pointer;transition:.15s var(--ease)}
.navdropbtn svg{width:14px;height:14px;transition:transform .2s var(--ease)}
.navdropbtn:hover,.navdrop.open .navdropbtn{background:rgba(255,255,255,.06);color:#fff}
.navdrop.open .navdropbtn svg{transform:rotate(180deg)}
.navdropmenu{position:absolute;top:calc(100% + 10px);right:0;min-width:290px;padding:8px;border-radius:16px;border:1px solid var(--line2);
  background:rgba(12,13,17,.98);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 28px 60px -18px #000,0 0 0 1px rgba(255,59,69,.08);
  opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .18s var(--ease),transform .18s var(--ease);z-index:120}
.navdropmenu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.navdrop.open .navdropmenu{opacity:1;transform:none;pointer-events:auto}
@media(hover:hover) and (min-width:901px){.navdrop:hover .navdropmenu{opacity:1;transform:none;pointer-events:auto}.navdrop:hover .navdropbtn svg{transform:rotate(180deg)}}
.navlinks .navdropmenu a{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;border-radius:11px;border-left:3px solid transparent;color:#fff}
.navlinks .navdropmenu a b{font-size:14.5px;font-weight:800;letter-spacing:.01em}
.navlinks .navdropmenu a small{font-size:12.5px;font-weight:600;color:var(--mut)}
.navlinks .navdropmenu a:hover{background:rgba(255,59,69,.10);border-left-color:var(--red2)}
@media(max-width:900px){
  .navdrop{flex-direction:column;align-items:stretch}
  .navdropbtn{justify-content:space-between;padding:15px 14px;border-radius:12px;font-size:15px}
  .navdropmenu{position:static;min-width:0;padding:0 0 4px 10px;border:0;border-radius:0;background:none;box-shadow:none;
    -webkit-backdrop-filter:none;backdrop-filter:none;transform:none;opacity:1;display:none}
  .navdrop.open .navdropmenu{display:block}
  .navdropmenu::before{display:none}
  .navlinks .navdropmenu a::after{content:none}
}
/* keep the top menu on one line now that it has a Portals item */
.navlinks a,.navcta,.navdropbtn{white-space:nowrap}
@media(min-width:901px) and (max-width:1240px){
  .nav{gap:12px}
  .navlinks a,.navdropbtn{padding:9px 9px;font-size:13.5px}
  .navcta{padding:10px 14px}
  .navsocial a{width:30px;height:30px}
}
/* room for the WSN Shop item on narrow laptops */
@media(min-width:901px) and (max-width:1020px){
  .navlinks{gap:0}
  .navlinks a,.navdropbtn{padding:9px 7px;font-size:13px}
  .navsocial{margin-left:8px;padding-left:8px;gap:4px}
  .navsocial a{width:28px;height:28px}
}
