/* Explore UBCC page - specific styles (loaded after styles.css) */
/* ============ Explore UBCC page (redesign) ============ */
/* Banner */
.xbanner{position:relative;overflow:hidden;background:var(--ink);color:#fff;display:grid;align-items:center;min-height:min(68vh,580px)}
.xbanner__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.xbanner__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,12,10,.58) 0%,rgba(16,12,10,.64) 55%,rgba(16,12,10,.76) 100%)}
.xbanner__in{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:clamp(56px,9vw,110px) var(--s-5);text-align:center}
.xbanner__title{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.14;max-width:none;margin:0 auto;color:#fff}
.xbanner__lead{font-family:var(--sans);font-weight:400;font-size:clamp(1.02rem,1.55vw,1.2rem);line-height:1.6;max-width:62ch;margin:clamp(18px,2.4vw,26px) auto 0;color:rgba(255,255,255,.9)}
.xbanner__lead b{font-weight:600;color:var(--gold-300)}
/* Intro */
.xintro2{text-align:center}
.xintro2 .wrap{max-width:74ch}
.xintro2 .lead{font-size:clamp(1.05rem,1.7vw,1.25rem);color:var(--text);line-height:1.7}
/* Venue tabs */
.vtabs .sec-head{text-align:center;max-width:60ch;margin:0 auto clamp(24px,3vw,36px)}
.vtabs__bar{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;width:fit-content;max-width:100%;margin:0 auto;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);padding:6px}
.vtab{display:inline-flex;align-items:center;font-family:var(--sans);font-weight:600;font-size:.96rem;letter-spacing:0;text-transform:none;color:var(--text-muted);background:transparent;border:0;border-radius:var(--r-pill);padding:11px 22px;cursor:pointer;transition:background .24s ease,color .24s ease,box-shadow .28s ease}
.vtab:hover{color:var(--ink);background:rgba(26,21,18,.05)}
.vtab:focus-visible{outline:2px solid var(--accent-solid);outline-offset:2px}
.vtab.is-active{background:var(--ink-900);color:#fff;box-shadow:0 8px 18px -8px rgba(26,21,18,.5)}
.vtab.is-active:hover{background:var(--ink-900);color:#fff}
.vpanel{display:none}
.vpanel.is-active{display:block}
@keyframes vfade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes vtileIn{from{opacity:0;transform:translateY(20px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:no-preference){
.vpanel.is-active .vpanel__body{animation:vfade .55s cubic-bezier(.2,.7,.2,1) .08s backwards}
.vpanel.is-active .vcol-tile{animation:vtileIn .6s cubic-bezier(.2,.7,.2,1) backwards}
.vpanel.is-active .vcol-tile:nth-child(1){animation-delay:.05s}
.vpanel.is-active .vcol-tile:nth-child(2){animation-delay:.13s}
.vpanel.is-active .vcol-tile:nth-child(3){animation-delay:.21s}
.vpanel.is-active .vcol-tile:nth-child(4){animation-delay:.29s}
}
.vpanel__grid{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(28px,4vw,56px);align-items:center;margin-top:clamp(30px,4vw,50px)}
.vcollage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(7,1fr);gap:12px;aspect-ratio:1/1;max-width:560px}
.vcol-tile{position:relative;margin:0;border-radius:18px;overflow:hidden;box-shadow:var(--e-2);background:var(--surface-2)}
.vcol-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.vcol-tile:hover img{transform:scale(1.08)}
.vcol-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(16,12,10,.22));opacity:0;transition:opacity .4s ease;pointer-events:none}
.vcol-tile:hover::after{opacity:1}
.vcollage--a .vcol-tile:nth-child(1){grid-column:1;grid-row:1/4}
.vcollage--a .vcol-tile:nth-child(2){grid-column:2;grid-row:1/5}
.vcollage--a .vcol-tile:nth-child(3){grid-column:1;grid-row:4/8}
.vcollage--a .vcol-tile:nth-child(4){grid-column:2;grid-row:5/8}
.vcollage--b .vcol-tile:nth-child(1){grid-column:1/3;grid-row:1/5}
.vcollage--b .vcol-tile:nth-child(2){grid-column:1;grid-row:5/8}
.vcollage--b .vcol-tile:nth-child(3){grid-column:2;grid-row:5/8}
.vcollage--c .vcol-tile:nth-child(1){grid-column:1;grid-row:1/8}
.vcollage--c .vcol-tile:nth-child(2){grid-column:2;grid-row:1/4}
.vcollage--c .vcol-tile:nth-child(3){grid-column:2;grid-row:4/8}
.vcollage--d .vcol-tile:nth-child(1){grid-column:1;grid-row:1/4}
.vcollage--d .vcol-tile:nth-child(2){grid-column:1;grid-row:4/8}
.vcollage--d .vcol-tile:nth-child(3){grid-column:2;grid-row:1/8}
.vcollage--e .vcol-tile:nth-child(1){grid-column:1;grid-row:1/5}
.vcollage--e .vcol-tile:nth-child(2){grid-column:2;grid-row:1/4}
.vcollage--e .vcol-tile:nth-child(3){grid-column:1;grid-row:5/8}
.vcollage--e .vcol-tile:nth-child(4){grid-column:2;grid-row:4/8}
.vpanel__body .eyebrow{color:var(--accent-ink)}
.vpanel__body h2{font-size:clamp(1.9rem,3vw,2.5rem);margin-top:var(--s-2)}
.vpanel__body h2 .dv{font-family:var(--deva);font-weight:500;color:var(--text-muted);font-size:.5em;margin-left:.35ch}
.vpanel__tag{font-family:var(--sans);font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);margin-top:var(--s-2)}
.vpanel__body>p{color:var(--text-muted);margin-top:var(--s-4);line-height:1.7;max-width:56ch}
.vpanel__facts{list-style:none;padding:0;margin:var(--s-5) 0 0;display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2) var(--s-4)}
.vpanel__facts li{position:relative;padding-left:20px;font-size:.9rem;color:var(--text);line-height:1.5}
.vpanel__facts li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--accent-solid)}
.vpanel__halls{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-5)}
.vpanel__halls span{font-size:.9rem;font-weight:600;color:var(--accent-ink);background:var(--p-50);border-radius:var(--r-pill);padding:8px 18px}
.vpanel__note{font-size:.78rem;color:var(--text-muted);margin-top:var(--s-4);max-width:62ch;line-height:1.5}
.vpanel__body .btn{margin-top:var(--s-6)}
.is-current{color:var(--accent-ink)!important;font-weight:700}
@media(max-width:860px){.vpanel__grid{grid-template-columns:1fr;gap:var(--s-6)}.vcollage{max-width:none}}
@media(max-width:520px){.vpanel__facts{grid-template-columns:1fr}.vtab{padding:12px 12px;font-size:.82rem}}
