:root {
  --bits-red: #d7352d;
  --bits-cream: #f3e8d0;
  --bits-green: #4bff82;
}

.bits-page {
  background: #03070a;
  color: #f7f3ea;
}

.bits-header {
  align-items: center;
  border-bottom: 1px solid rgba(224, 57, 46, .48);
  box-shadow: 0 16px 50px rgba(0, 0, 0, .56);
  display: flex;
  height: 154px;
  justify-content: space-between;
  overflow: visible;
  padding: 0 clamp(24px, 5.2vw, 86px);
  position: relative;
  z-index: 20;
}

.bits-header::before {
  background-image: url("images/bits-header.png");
  background-position: 68% 48%;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  inset: 0;
  position: absolute;
  z-index: -2;
}

.bits-header::after {
  background:
    linear-gradient(90deg, rgba(1, 3, 7, .84) 0%, rgba(3, 5, 10, .48) 46%, rgba(4, 2, 3, .32) 72%, rgba(0, 0, 0, .66) 100%),
    linear-gradient(0deg, rgba(0, 0, 0, .58), transparent 70%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}

.bits-brand {
  filter: drop-shadow(0 4px 12px #000);
  flex: 0 0 auto;
  position: relative;
  z-index: 2;
}

.bits-brand img {
  height: 58px;
  object-fit: contain;
  width: 58px;
}

.bits-brand b {
  font-size: 24px;
}

.bits-brand small {
  color: rgba(255, 255, 255, .78);
}

.bits-header nav {
  align-items: center;
  display: flex;
  gap: clamp(18px, 2.5vw, 42px);
  position: relative;
  z-index: 2;
}

.bits-header nav a {
  color: #f7f3ea;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 1.35px;
  padding: 18px 0;
  position: relative;
  text-decoration: none;
  text-shadow: 0 2px 8px #000;
}

.bits-header nav a::after {
  background: var(--bits-red);
  bottom: 7px;
  content: "";
  height: 2px;
  left: 50%;
  position: absolute;
  right: 50%;
  transition: left .2s ease, right .2s ease;
}

.bits-header nav a:hover::after,
.bits-header nav a.active::after {
  left: 0;
  right: 0;
}

.bits-header nav a.active {
  color: #fff;
}

.bits-menu-toggle {
  position: relative;
  z-index: 22;
}

.bits-stage {
  display: grid;
  isolation: isolate;
  min-height: calc(100vh - 214px);
  overflow: hidden;
  padding: clamp(68px, 10vh, 130px) clamp(24px, 8vw, 140px);
  place-items: center start;
  position: relative;
}

.bits-stage::before {
  background:
    radial-gradient(circle at 73% 34%, rgba(28, 124, 66, .16), transparent 26%),
    radial-gradient(circle at 12% 50%, rgba(134, 20, 28, .12), transparent 34%),
    linear-gradient(90deg, #020406 0%, rgba(2, 6, 9, .94) 42%, rgba(2, 7, 10, .72) 67%, #010304 100%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: 0;
}

.bits-stage::after {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .38) 0%, transparent 44%, rgba(0, 0, 0, .2) 100%),
    linear-gradient(0deg, #03070a 0%, transparent 22%, transparent 76%, rgba(0, 0, 0, .34) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.bits-guardian {
  filter: saturate(.82) contrast(.95);
  height: min(98%, 940px);
  max-width: 58vw;
  mix-blend-mode: screen;
  object-fit: contain;
  object-position: center;
  opacity: .22;
  pointer-events: none;
  position: absolute;
  right: clamp(-90px, -2vw, -20px);
  top: 2%;
  z-index: 1;
}

.bits-watermark {
  filter: grayscale(1) brightness(1.4);
  left: clamp(-120px, -3vw, -36px);
  max-width: 620px;
  mix-blend-mode: screen;
  opacity: .034;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-48%) rotate(-7deg);
  width: 42vw;
  z-index: 1;
}

.bits-intro {
  max-width: 680px;
  position: relative;
  text-shadow: 0 5px 22px #000;
  z-index: 3;
}

.bits-kicker {
  color: var(--bits-red);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 3.8px;
  margin-bottom: 18px;
}

.bits-intro h1 {
  color: var(--bits-cream);
  font-size: clamp(78px, 12vw, 176px);
  font-weight: 900;
  letter-spacing: -.065em;
  line-height: .78;
  margin: 0 0 30px;
}

.bits-intro p {
  color: rgba(245, 240, 229, .82);
  font-size: clamp(17px, 1.7vw, 24px);
  line-height: 1.55;
  margin: 0;
  max-width: 600px;
}

.bits-rule {
  background: linear-gradient(90deg, var(--bits-red), rgba(75, 255, 130, .42), transparent);
  height: 2px;
  margin: 34px 0 15px;
  width: min(420px, 70vw);
}

.bits-test-note {
  color: rgba(255, 255, 255, .42);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2.3px;
}

.bits-footer {
  background: #020304;
  border-top: 1px solid rgba(255, 255, 255, .06);
  position: relative;
  z-index: 5;
}

@media (max-width: 900px) {
  .bits-header {
    height: 112px;
    padding: 0 24px;
  }

  .bits-header::before {
    background-position: 64% center;
  }

  .bits-brand img {
    height: 48px;
    width: 48px;
  }

  .bits-brand b {
    font-size: 19px;
  }

  .bits-header nav {
    background: rgba(1, 3, 6, .97);
    border-bottom: 1px solid rgba(215, 53, 45, .48);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .55);
    display: grid;
    gap: 0;
    left: 0;
    max-height: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 112px;
    transition: max-height .3s ease;
  }

  .bits-header nav.open {
    max-height: 350px;
  }

  .bits-header nav a {
    border-bottom: 1px solid rgba(255, 255, 255, .06);
    padding: 18px 25px;
  }

  .bits-header nav a::after {
    display: none;
  }

  .bits-menu-toggle {
    display: block;
  }

  .bits-stage {
    min-height: calc(100vh - 172px);
    padding: 72px 26px;
  }

  .bits-guardian {
    height: 92%;
    max-width: 82vw;
    opacity: .17;
    right: -22vw;
    top: 6%;
  }

  .bits-watermark {
    left: -18vw;
    opacity: .025;
    width: 76vw;
  }
}

@media (max-width: 520px) {
  .bits-header::before {
    background-position: 58% center;
  }

  .bits-brand small {
    display: none;
  }

  .bits-stage {
    padding-top: 82px;
  }

  .bits-guardian {
    height: 86%;
    max-width: 104vw;
    opacity: .14;
    right: -40vw;
    top: 9%;
  }

  .bits-intro p {
    max-width: 88%;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}


/* Rev16 — use the exact Shop-page brand treatment in BITS header */
.bits-header .shop-brand{align-items:center;color:#fff;display:flex;flex:0 0 auto;gap:10px;text-decoration:none;position:relative;z-index:2;filter:drop-shadow(0 4px 12px #000);}
.bits-header .shop-brand img{height:45px;object-fit:contain;width:45px;}
.bits-header .shop-brand b{display:block;font-size:23px;font-weight:900;letter-spacing:-.3px;}
.bits-header .shop-brand strong{color:#e3372f;}
.bits-header .shop-brand small{color:#e7e2da;display:block;font-size:9px;font-weight:700;letter-spacing:.3px;margin-top:2px;}
@media(max-width:560px){.bits-header .shop-brand b{font-size:19px}.bits-header .shop-brand small{display:none}.bits-header .shop-brand img{width:42px;height:42px}}


/* Rev47 — BITS now uses the same global header/footer layout as the rest of the store */
.bits-page .bits-stage{min-height:calc(100vh - 98px - 30px - 86px);}
.bits-page .shop-header{background:#050505;}
@media(max-width:900px){.bits-page .bits-stage{min-height:calc(100vh - 80px - 26px - 86px);}}


/* =========================================================
   Rev88 — BITS newsroom
   ========================================================= */
.bits-newsroom{width:min(1500px,94vw);margin:0 auto;padding:62px 0 80px}.bits-news-hero{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;align-items:stretch}.bits-news-hero-copy{padding:44px 20px 44px 0}.bits-news-hero-copy h1{font-size:clamp(72px,10vw,150px);line-height:.8;margin:10px 0 24px;color:#f3f2ef}.bits-news-hero-copy p{max-width:520px;color:#aaa;font-size:16px;line-height:1.6}
.bits-lead-story{min-height:390px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(0deg,rgba(4,6,8,.96),rgba(4,6,8,.15)),url('images/boxed-figures-faded.webp') center/cover;border:1px solid rgba(255,255,255,.08)}.bits-lead-story>span,.bits-story-card span{color:#e33a31;font-size:9px;font-weight:900;letter-spacing:1.2px}.bits-lead-story h2{font-size:clamp(32px,4vw,56px);margin:7px 0;color:#fff}.bits-lead-story p{max-width:650px;color:#ccc;line-height:1.6}.bits-lead-story small,.bits-story-card small{color:#707070;font-size:8px}
.bits-news-controls{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:16px;align-items:center;margin:38px 0 18px;padding:12px;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.bits-news-search{display:flex;align-items:center;background:#080a0c;border:1px solid #272b2f;padding:0 11px}.bits-news-search i{color:#666}.bits-news-search input{width:100%;height:40px;background:none;border:0;color:#fff;padding:0 9px;font-size:14px;outline:0}.bits-news-filters{display:flex;flex-wrap:wrap;gap:7px}.bits-news-filters button{height:32px;padding:0 11px;background:#0a0c0f;border:1px solid #282c30;color:#878787;font-size:8px;font-weight:900}.bits-news-filters button.active,.bits-news-filters button:hover{color:#fff;border-color:#555}
.bits-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.bits-story-card{min-width:0;background:#080a0c;border:1px solid rgba(255,255,255,.065);overflow:hidden}.bits-story-card.wide{grid-column:span 2}.bits-story-art{height:180px;background:#101318}.bits-story-card.wide .bits-story-art{height:250px}.bits-story-card>div:last-child{padding:20px}.bits-story-card h2{margin:6px 0 9px;color:#f2f1ed;font-size:23px}.bits-story-card p{color:#979797;font-size:12px;line-height:1.6}.bits-art-reveals{background:linear-gradient(135deg,#191d24,#08090b 55%,#2b1110)}.bits-art-preorders{background:radial-gradient(circle at 70% 30%,#34221a,#07090b 62%)}.bits-art-talk{background:linear-gradient(130deg,#121417,#24211b)}.bits-art-retro{background:linear-gradient(150deg,#332417,#0b0b0b 58%,#111926)}.bits-art-watch{background:radial-gradient(circle at 50% 45%,#182637,#06080a 68%)}.bits-art-bin{background:linear-gradient(150deg,#35100f,#08090b 58%)}.bits-news-empty{padding:40px;text-align:center;color:#777}
.bits-release-strip{display:grid;grid-template-columns:.55fr 1.45fr;gap:20px;margin-top:38px;padding:28px;border:1px solid rgba(255,255,255,.065);background:#080a0c}.bits-release-strip h2{color:#fff;margin:5px 0}.bits-release-items{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bits-release-items article{padding:15px;border-left:1px solid #25282c}.bits-release-items b{display:block;color:#e33a31;font-size:8px}.bits-release-items span{display:block;color:#aaa;font-size:11px;margin-top:6px}
@media(max-width:850px){.bits-news-hero{grid-template-columns:1fr}.bits-news-hero-copy{padding-right:0}.bits-news-controls{grid-template-columns:1fr}.bits-news-grid{grid-template-columns:1fr 1fr}.bits-story-card.wide{grid-column:1/-1}.bits-release-strip{grid-template-columns:1fr}.bits-release-items{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.bits-newsroom{width:100%;padding:42px 15px 64px}.bits-news-hero-copy h1{font-size:76px}.bits-lead-story{min-height:330px;padding:22px}.bits-news-grid{grid-template-columns:1fr}.bits-story-card.wide{grid-column:auto}.bits-story-card.wide .bits-story-art{height:190px}.bits-news-filters{display:grid;grid-template-columns:1fr 1fr}.bits-release-items{grid-template-columns:1fr}}


/* =========================================================
   Rev124 — rich-black BITS canvas + hidden bacon hunt
   ========================================================= */
.bits-page{background:#010101!important;color:#f7f3ea}
.bits-page .shop-header{background:#020202!important}
.bits-newsroom{position:relative;isolation:isolate;background:#010101}
.bits-newsroom::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(circle at 82% 17%,rgba(107,9,9,.055),transparent 25%),
             radial-gradient(circle at 9% 73%,rgba(70,0,0,.04),transparent 28%);
}
.bits-newsroom>section,.bits-newsroom>.bits-news-empty{position:relative;z-index:2}
.bits-story-card,.bits-release-strip{background:#050505!important}
.bits-news-search,.bits-news-filters button{background:#040404!important}
.bits-story-art{background-color:#060606}
.bits-bacon-hunt{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.bits-bacon{
  position:absolute;height:auto;opacity:.18;filter:saturate(.76) brightness(.72) drop-shadow(0 0 5px rgba(215,53,48,.08));
  pointer-events:auto;transition:opacity .18s ease,filter .18s ease,transform .18s ease;
}
.bits-bacon:hover{opacity:.68;filter:saturate(1) brightness(1) drop-shadow(0 0 8px rgba(215,53,48,.34))}
.bits-bacon.b1{width:31px;left:.7%;top:8.4%;transform:rotate(-24deg)}
.bits-bacon.b2{width:22px;right:1.3%;top:18.7%;transform:rotate(29deg)}
.bits-bacon.b3{width:18px;left:7.6%;top:31.8%;transform:rotate(71deg)}
.bits-bacon.b4{width:27px;right:4.8%;top:42.2%;transform:rotate(-38deg)}
.bits-bacon.b5{width:20px;left:1.6%;top:54.9%;transform:rotate(15deg)}
.bits-bacon.b6{width:34px;right:.8%;top:65.3%;transform:rotate(62deg)}
.bits-bacon.b7{width:17px;left:17%;top:76.4%;transform:rotate(-52deg)}
.bits-bacon.b8{width:24px;right:13.5%;top:86.8%;transform:rotate(22deg)}
.bits-bacon.b9{width:19px;left:3.3%;top:94%;transform:rotate(83deg)}
@media(max-width:700px){
  .bits-bacon{opacity:.13}
  .bits-bacon.b2,.bits-bacon.b4,.bits-bacon.b7{display:none}
  .bits-bacon.b1{left:3%}.bits-bacon.b6{right:2%}.bits-bacon.b8{right:4%}
}

/* =========================================================
   Rev152 — live toy-industry wire + convention radar
   ========================================================= */
.bits-live-wire{margin:34px 0 18px;padding:28px;border:1px solid rgba(255,255,255,.07);background:linear-gradient(145deg,#040404,#010101 68%);box-shadow:0 24px 70px rgba(0,0,0,.32)}
.bits-live-head{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.06)}
.bits-live-head h2{margin:4px 0 0;font-size:clamp(29px,3.5vw,46px);letter-spacing:-.045em;color:#f7f4ed}.bits-live-head p{max-width:470px;margin:0;color:#777;font-size:11px;line-height:1.55;text-align:right}.bits-live-pulse{display:inline-flex;align-items:center;gap:7px;color:#8e9499;font-size:8px;font-weight:900;letter-spacing:.16em}.bits-live-pulse::before{content:"";width:7px;height:7px;border-radius:50%;background:#53df7d;box-shadow:0 0 13px rgba(83,223,125,.55)}
.bits-live-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:18px;margin-top:18px}.bits-live-column,.bits-convention-column{min-width:0}.bits-live-column>h3,.bits-convention-column>h3{display:flex;align-items:center;justify-content:space-between;margin:0 0 9px;color:#d9d8d4;font-size:10px;letter-spacing:.17em}.bits-live-column>h3 span,.bits-convention-column>h3 span{color:#5f6469;font-size:8px;letter-spacing:.08em;font-weight:700}
.bits-live-list{display:grid;gap:8px}.bits-live-item{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;min-height:74px;padding:13px 14px;border:1px solid rgba(255,255,255,.06);background:#050505;color:#fff;text-decoration:none;transition:border-color .18s ease,background .18s ease,transform .18s ease}.bits-live-item:hover,.bits-live-item:focus-visible{border-color:rgba(218,55,47,.45);background:#080606;transform:translateX(2px);outline:none}.bits-live-item .bits-wire-tag{min-width:70px;padding:5px 7px;border:1px solid rgba(218,55,47,.26);color:#df433b;font-size:7px;font-weight:950;letter-spacing:.13em;text-align:center}.bits-live-item b{display:block;font-size:12px;line-height:1.35}.bits-live-item small{display:block;margin-top:5px;color:#71767b;font-size:8px}.bits-live-item i{color:#555;font-size:10px}.bits-live-loading{padding:26px;border:1px dashed rgba(255,255,255,.07);color:#62666a;font-size:10px;text-align:center;letter-spacing:.08em}
.bits-convention-list{display:grid;gap:8px}.bits-convention-card{position:relative;display:grid;grid-template-columns:86px 1fr;gap:13px;min-height:78px;padding:13px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(120deg,#060606,#030303);color:#fff;text-decoration:none;overflow:hidden}.bits-convention-card::after{content:"";position:absolute;right:-40px;top:-70px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(179,35,30,.13),transparent 68%)}.bits-convention-date{display:grid;place-items:center;align-content:center;border-right:1px solid rgba(255,255,255,.07);color:#e1463e;font-size:9px;font-weight:950;letter-spacing:.08em;text-align:center}.bits-convention-date strong{display:block;color:#f2e8d5;font-size:18px;line-height:1}.bits-convention-copy{position:relative;z-index:1}.bits-convention-copy b{display:block;font-size:12px}.bits-convention-copy span{display:block;margin-top:5px;color:#72777c;font-size:9px;line-height:1.4}.bits-convention-card:hover,.bits-convention-card:focus-visible{border-color:rgba(255,255,255,.16);outline:none}.bits-live-updated{margin-top:10px;color:#53575b;font-size:8px;text-align:right}
@media(max-width:900px){.bits-live-layout{grid-template-columns:1fr}.bits-live-head{align-items:flex-start;flex-direction:column}.bits-live-head p{text-align:left}.bits-convention-list{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.bits-live-wire{padding:18px 14px}.bits-live-item{grid-template-columns:1fr auto}.bits-live-item .bits-wire-tag{grid-column:1/-1;justify-self:start}.bits-convention-list{grid-template-columns:1fr}.bits-live-head h2{font-size:32px}}

/* =========================================================
   Rev239 — former Shop cinematic video becomes the BITS environment
   Centered, low-opacity, smoothly feathered on all four sides.
   ========================================================= */
.bits-page{
  position:relative!important;
  isolation:isolate!important;
  background:#010101!important;
}
.bits-video-environment-v239{
  position:fixed;
  left:0;
  right:0;
  top:98px;
  height:calc(100vh - 98px);
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  background:#010101;
}
.bits-video-environment-v239 video{
  position:absolute;
  inset:-1.5%;
  width:103%;
  height:103%;
  object-fit:cover;
  object-position:center 48%;
  opacity:.27;
  filter:brightness(.58) saturate(.86) contrast(1.08);
  transform:scale(1.01);
}
.bits-video-environment-v239::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,#010101 0%,rgba(1,1,1,.84) 6%,rgba(1,1,1,.36) 17%,rgba(1,1,1,.07) 32%,rgba(1,1,1,.03) 50%,rgba(1,1,1,.07) 68%,rgba(1,1,1,.36) 83%,rgba(1,1,1,.84) 94%,#010101 100%),
    linear-gradient(180deg,#010101 0%,rgba(1,1,1,.68) 8%,rgba(1,1,1,.18) 22%,rgba(1,1,1,.035) 38%,rgba(1,1,1,.045) 68%,rgba(1,1,1,.42) 86%,#010101 100%);
}
.bits-page .shop-header,
.bits-page .bits-newsroom,
.bits-page .bb-social-dock-shell,
.bits-page .shop-footer{
  position:relative;
  z-index:2;
}
.bits-newsroom{
  background:linear-gradient(180deg,rgba(1,1,1,.24) 0%,rgba(1,1,1,.12) 24%,rgba(1,1,1,.30) 72%,rgba(1,1,1,.78) 100%)!important;
}
.bits-newsroom::before{
  background:
    radial-gradient(circle at 82% 17%,rgba(107,9,9,.045),transparent 25%),
    radial-gradient(circle at 9% 73%,rgba(70,0,0,.032),transparent 28%)!important;
}
@media(max-width:900px){
  .bits-video-environment-v239{top:80px;height:calc(100vh - 80px)}
  .bits-video-environment-v239 video{object-position:54% 47%;opacity:.23}
}
@media(max-width:560px){
  .bits-video-environment-v239 video{object-position:58% 46%;opacity:.20}
}
@media(prefers-reduced-motion:reduce){
  .bits-video-environment-v239 video{display:none!important}
}
