/* v4 overrides */
.stage{padding-top:0}
.show{padding-top:clamp(30px,5vh,56px)}
.screen{margin-top:clamp(20px,4vh,50px)}
#mapping{position:absolute; inset:0; width:100%; height:100%; display:block}
.screen .frame{box-shadow:0 0 0 5px #121214, 0 0 0 6px #2b2b2f, 0 40px 90px rgba(0,0,0,.8)}

/* stickers: die-cut vinyl, readable */
.sticker{position:absolute; z-index:6; display:block; text-align:left; border:4px solid #fff; border-radius:10px; padding:9px 13px 8px; line-height:1; box-shadow:0 10px 22px rgba(0,0,0,.55)}
.sticker b{display:block; font-weight:900; font-size:18px; letter-spacing:-.01em; text-transform:uppercase}
.sticker small{display:block; margin-top:5px; font-weight:800; font-size:11px; letter-spacing:.12em; text-transform:uppercase}
.st1{left:-34px; top:22px; width:auto; height:auto; border-radius:10px; background:var(--tape); color:#111; transform:rotate(-7deg)}
.st2{right:-30px; left:auto; top:72%; bottom:auto; background:#111; color:#fff; transform:rotate(6deg)}
.st2 small{color:var(--tape)}

/* strip stickers */
.ach{display:inline-flex; flex-direction:column; align-items:flex-start; gap:4px; margin:0 12px; padding:9px 14px 8px; border-radius:10px; border:4px solid #fff; box-shadow:0 8px 18px rgba(0,0,0,.5); line-height:1}
.ach{font-size:17px; font-weight:900; letter-spacing:-.01em}
.ach small{font-size:10px; font-weight:800; letter-spacing:.14em; opacity:1}
.ach.a{background:var(--tape); color:#111}
.ach.b{background:#111; color:#fff} .ach.b small{color:var(--tape)}
.ach.c{background:var(--red); color:#fff}
.ach.d{background:#f1ede2; color:#111} .ach.d small{color:var(--red)}
.strip .r1{padding:16px 0 12px}

/* pass: lanyard from above, AAA with logo */
.passcol{padding-top:clamp(90px,13vh,130px)}
.passcol .ask{top:clamp(26px,5vh,50px)}
.card .top{grid-template-columns:auto 1fr auto; gap:0 14px; padding:12px 14px}
.card .top .sign{height:48px; width:auto}
.card .top .mid{display:flex; flex-direction:column; gap:4px}
.card .top .aaa{grid-row:auto; font-size:38px}
.card .top .t{justify-self:start; font-size:10px}
.card .top .wm{height:34px; width:auto}

/* call to action band */
.ctaband{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; margin:clamp(30px,5vh,60px) var(--gut) 0; padding:clamp(24px,3vw,44px); background:var(--tape); color:#111; border-radius:18px; position:relative; overflow:hidden}
.ctaband::after{content:""; position:absolute; right:-40px; bottom:-60px; width:260px; height:260px; background:url("sign.png") center/contain no-repeat; filter:invert(1); opacity:.07; pointer-events:none}
.ctaband .tape{background:#111; color:var(--tape); font-size:20px}
.ctaband h2{margin-top:14px; font-weight:900; font-size:clamp(28px,3.4vw,54px); line-height:.95; letter-spacing:-.035em; text-transform:uppercase}
.ctaband h2 span{color:var(--red)}
.cbtns{display:flex; flex-wrap:wrap; gap:12px; position:relative; z-index:1}
.ctaband .btn.y{background:#111; color:var(--tape); box-shadow:none}
.btn.big{padding:20px 26px; font-size:18px}

/* reels: tap to play */
.reel .play{position:absolute; inset:auto auto 14px 14px; width:52px; height:52px; border-radius:50%; background:rgba(0,0,0,.6); color:#fff; font-size:18px; display:grid; place-items:center; border:2px solid rgba(255,255,255,.7); z-index:2}
.reel.playing .play{opacity:0; pointer-events:none}

/* mobile sticky action bar */
.mbar{display:none}
@media (max-width:720px){
  .mbar{display:grid; grid-template-columns:1fr 1fr; gap:8px; position:fixed; left:10px; right:10px; bottom:10px; z-index:60; padding:8px; background:rgba(8,8,8,.9); border-radius:14px; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); box-shadow:0 10px 30px rgba(0,0,0,.6)}
  .mbar a{display:grid; place-items:center; padding:15px 8px; border-radius:10px; font-weight:900; font-size:15px; text-transform:uppercase}
  .mbar .y{background:var(--tape); color:#111} .mbar .r{background:var(--red); color:#fff}
  footer{padding-bottom:96px}
  .st1{left:-14px} .st2{right:-12px}
  .sticker b{font-size:14px}
  .card .top .wm{display:none}
  .ctaband .btn{flex:1 1 100%}
  .screen{margin-top:30px}
  .passcol{padding-top:110px}
}

/* language switcher */
.lang{position:relative}
.lang summary{list-style:none; cursor:pointer; display:grid; place-items:center; min-width:44px; height:40px; padding:0 10px; border-radius:8px; background:#161616; font-weight:900; font-size:13px; letter-spacing:.06em}
.lang summary::-webkit-details-marker{display:none}
.lang[open] summary{background:var(--ink); color:#000}
.langs{position:absolute; right:0; top:46px; z-index:70; background:#111; border:1px solid #2a2a2a; border-radius:10px; padding:6px; display:grid; min-width:150px; box-shadow:0 20px 40px rgba(0,0,0,.6)}
.langs a{padding:10px 12px; border-radius:6px; font-weight:700; font-size:14px; display:flex; justify-content:space-between; gap:12px}
.langs a b{font-weight:900; color:var(--dim)}
.langs a:hover,.langs a[aria-current="true"]{background:#1e1e1e}
.langs a[aria-current="true"] b{color:var(--tape)}
@media (max-width:720px){ .lang summary{min-width:40px; padding:0 8px} }
