/* TheBank Event System v26.92 */
:root{--tb-bg:#050505;--tb-panel:#0c0c0c;--tb-text:#fff;--tb-muted:#c8c8c8;--tb-cream:#fbfaf5;--tb-orange:#f39b35;--tb-max:1180px}
html,body{max-width:100%;overflow-x:hidden}
body{background:var(--tb-bg)}
.ev-wrap,.gj-wrap,.wrap{width:min(var(--tb-max),calc(100% - 40px));margin-left:auto;margin-right:auto}
.ev-nav,.gj-nav,.topbar{position:sticky!important;top:0;z-index:1000;background:rgba(5,5,5,.94)!important;backdrop-filter:blur(14px);border-bottom:1px solid rgba(243,155,53,.38)!important;min-height:68px}
.ev-nav .ev-wrap,.gj-nav .gj-wrap,.topbar .nav{min-height:68px!important;display:flex;align-items:center;justify-content:space-between;gap:20px}
.ev-brand,.gj-brand,.brand{display:flex!important;align-items:center;gap:10px;text-decoration:none;font-weight:900;color:#fff!important}
.ev-brand img,.gj-brand img,.brand img{width:44px!important;height:44px!important;object-fit:contain!important}
.ev-links,.gj-links,.links{display:flex;align-items:center;gap:18px;font:800 .9rem/1 Arial,Helvetica,sans-serif}
.ev-links a,.gj-links a,.links a{color:#fff;text-decoration:none}
.ev-btn,.gj-btn,.btn{border-radius:999px!important;min-height:46px!important;padding:0 20px!important;font-weight:900!important;letter-spacing:.02em!important;text-transform:uppercase!important}
/* Generic event heroes */
.ev-hero{min-height:520px!important;height:auto!important;padding:88px 0 42px!important;display:flex!important;align-items:flex-end!important;background-color:#090909!important;background-size:cover!important;background-position:center 34%!important}
.ev-hero:before{background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.54) 44%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.38) 100%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.15) 52%,#000 100%)!important}
.hero-copy{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%}
.hero-copy h1{max-width:900px!important;font-size:clamp(3.8rem,8vw,7.2rem)!important;line-height:.86!important}
.hero-copy p{font-size:clamp(1.05rem,2vw,1.28rem)!important}
.facts,.gj-event-facts{padding:20px 0 28px!important}
.fact-grid,.gj-event-fact-grid{width:100%!important;max-width:100%!important;margin:0!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.fact,.gj-fact{min-width:0!important;overflow-wrap:anywhere}
.section{padding:78px 0!important}
.split{gap:44px!important}
.poster{max-height:640px!important;width:100%!important;object-fit:contain!important}
.cards,.chaos-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.card,.chaos-card{min-width:0}
.footer{padding:44px 0 60px!important}
/* Green Jelly: hero must identify the event and never overflow */
.gj-event-hero{height:auto!important;min-height:530px!important;padding:90px 0 46px!important;display:flex!important;align-items:flex-end!important;background-size:cover!important;background-position:center 28%!important}
.gj-event-hero:before{background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.26) 62%,rgba(0,0,0,.38)),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.06) 48%,#000 100%)!important}
.gj-hero-copy{position:relative;z-index:4;width:min(var(--tb-max),calc(100% - 40px));margin:auto;padding-top:210px}
.gj-hero-copy .eyebrow{display:block}
.gj-hero-copy h1{font:900 clamp(3.2rem,7.3vw,6.8rem)/.88 Arial,Helvetica,sans-serif;letter-spacing:-.055em;text-transform:uppercase;margin:10px 0 12px;max-width:900px;color:#fff}
.gj-hero-copy p{font:700 clamp(1rem,2vw,1.28rem)/1.45 Arial,Helvetica,sans-serif;margin:0;color:#fff}
.gj-event-fact-grid{overflow:visible!important}
/* Events hub adopts same visual language */
.topbar .submenu{background:#0b0b0b!important;border:1px solid #2a2a2a!important}
.page-hero.events-hub-hero-v80{min-height:480px!important;padding:105px 0 70px!important;background-position:center!important}
.page-hero.events-hub-hero-v80:before{background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.3)),linear-gradient(180deg,rgba(0,0,0,.12),#050505)!important}
.page-hero h1,.section h2{letter-spacing:-.045em}
.calendar-feature-v80,.event-card,.archive-panel-v80{border-radius:20px!important}
.event-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.event-card img{aspect-ratio:4/3;object-fit:cover;width:100%}
/* Danksgiving cleanup */
body.danksgiving-page .cta{display:none!important}
body.danksgiving-page .section:first-of-type .poster{max-height:590px!important}
body.danksgiving-page .section:first-of-type{padding-bottom:62px!important}
/* responsive */
@media(max-width:900px){
 .ev-wrap,.gj-wrap,.wrap{width:min(var(--tb-max),calc(100% - 28px))}
 .ev-links a:not(.ev-btn),.gj-links a:not(.gj-btn){display:none!important}
 .links{display:none!important}
 .ev-hero,.gj-event-hero{min-height:460px!important;padding-top:70px!important}
 .gj-hero-copy{width:min(var(--tb-max),calc(100% - 28px));padding-top:170px}
 .fact-grid,.gj-event-fact-grid{grid-template-columns:1fr 1fr!important}
 .split,.video-grid{grid-template-columns:1fr!important}
 .cards,.chaos-grid,.event-card-grid{grid-template-columns:1fr!important}
 .section{padding:62px 0!important}
}
@media(max-width:560px){
 .ev-wrap,.gj-wrap,.wrap{width:calc(100% - 22px)}
 .ev-brand span,.gj-brand span{font-size:.92rem}
 .ev-nav .ev-wrap,.gj-nav .gj-wrap,.topbar .nav{min-height:62px!important}
 .ev-brand img,.gj-brand img,.brand img{width:40px!important;height:40px!important}
 .ev-hero,.gj-event-hero{min-height:420px!important;padding:58px 0 28px!important;background-position:center 25%!important}
 .hero-copy h1,.gj-hero-copy h1{font-size:clamp(3rem,16vw,5.2rem)!important}
 .gj-hero-copy{width:calc(100% - 22px);padding-top:140px}
 .fact-grid,.gj-event-fact-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
 .fact,.gj-fact{padding:14px 12px!important}
 .section{padding:54px 0!important}
 .poster{box-shadow:8px 8px 0 var(--accent,var(--slime,#f39b35))!important}
}

/* v27.01: preserve full portrait event artwork on event hub/calendar cards */
.event-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:3/4!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f7faf7!important;
}
@media(max-width:620px){
  .event-card img{
    aspect-ratio:3/4!important;
    object-fit:contain!important;
  }
}
