/* Re:Wired v2 enhancements: accessibility, live booking and clearer journeys */
.skip-link{position:fixed;left:1rem;top:.5rem;z-index:200000;transform:translateY(-180%);background:#fff;color:#000;padding:.7rem 1rem;border:3px solid #000;font-weight:700}.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #ffcc00!important;outline-offset:4px!important}
button,a{touch-action:manipulation}
.accessibility-launcher{position:fixed;right:1rem;bottom:1rem;z-index:5000;border:2px solid var(--cyan,#00ddff);background:#080814;color:#fff;padding:.7rem .9rem;font:700 .82rem var(--fm,monospace);letter-spacing:1px;cursor:pointer;box-shadow:4px 4px 0 rgba(0,221,255,.25)}
.accessibility-launcher:hover,.accessibility-launcher:focus-visible{background:var(--cyan,#00ddff);color:#000}
.accessibility-panel{position:fixed;right:1rem;bottom:4.7rem;z-index:5001;width:min(390px,calc(100vw - 2rem));max-height:calc(100vh - 6rem);overflow:auto;background:#090918;color:#eee;border:2px solid #8855ff;padding:1.1rem;box-shadow:0 15px 60px rgba(0,0,0,.7)}
.accessibility-panel[hidden]{display:none}.accessibility-panel h2{font:700 1rem var(--fs,monospace);color:#ffcc00;margin:0 0 .45rem}.accessibility-panel p{font-size:.9rem;margin-bottom:.8rem}.access-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px solid rgba(255,255,255,.12)}.access-row label{font-weight:700}.access-row input{width:1.35rem;height:1.35rem}.access-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.access-actions button,.access-actions a{border:1px solid #00ddff;background:transparent;color:#fff;padding:.55rem .7rem;font:700 .82rem var(--fm,monospace);cursor:pointer}.access-actions button:hover,.access-actions a:hover{background:#00ddff;color:#000}
body.access-large-text{font-size:118%}body.access-large-text .container{max-width:1200px}
body.access-readable-font,body.access-readable-font *{font-family:'Atkinson Hyperlegible',Arial,sans-serif!important;letter-spacing:normal!important;text-shadow:none!important}
body.access-calm #bgCanvas,body.access-calm .hero-orb,body.access-calm .hero-grid,body.access-calm .bg-grid,body.access-calm .photo-strip{display:none!important}body.access-calm{background:#0b0b15!important}body.access-calm section{background:#0b0b15!important}
body.access-no-scanlines::after{display:none!important}
body.access-reduced-motion *,body.access-reduced-motion *::before,body.access-reduced-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.scroll-hint,#bgCanvas{display:none!important}}

/* Homepage live Wednesdays feature */
.wednesday-feature{padding:clamp(2.5rem,6vw,4.5rem) 0;background:linear-gradient(180deg,rgba(0,221,255,.035),rgba(136,85,255,.07),rgba(255,51,153,.035));position:relative;z-index:2}
.wednesday-feature-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.5rem;align-items:stretch}.wednesday-copy,.live-event-card{background:rgba(10,10,28,.94);border:1px solid var(--b2,rgba(120,80,255,.35));padding:clamp(1.2rem,3vw,2rem);position:relative}.wednesday-copy::before,.live-event-card::before{content:'';position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,#ff3399,#8855ff,#00ddff)}
.wednesday-kicker{font:700 .68rem var(--fp,monospace);letter-spacing:3px;color:#ff77cc;text-transform:uppercase;margin-bottom:.8rem}.wednesday-copy h2{font:700 clamp(1.4rem,3vw,2.2rem) var(--fs,monospace);color:#fff;margin-bottom:.8rem}.wednesday-copy .bigline{font-size:clamp(1.05rem,2vw,1.25rem);color:#fff}.journey-buttons{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.3rem}
.live-event-card{display:flex;flex-direction:column;justify-content:center}.live-label{font:700 .62rem var(--fp,monospace);letter-spacing:2px;color:#8888bb;text-transform:uppercase}.live-date{font:700 clamp(1.2rem,3vw,1.8rem) var(--fs,monospace);color:#ffcc00;line-height:1.25;margin:.5rem 0}.live-time{font:700 1rem var(--fm,monospace);color:#fff}.availability-pill{display:inline-flex;align-items:center;gap:.55rem;margin:1rem 0;padding:.65rem .85rem;border:1px solid rgba(0,238,119,.5);background:rgba(0,238,119,.08);font-weight:700;color:#66ffaa;width:max-content;max-width:100%}.availability-pill::before{content:'●';font-size:.75rem}.availability-pill.low{border-color:rgba(255,204,0,.55);background:rgba(255,204,0,.08);color:#ffe566}.availability-pill.soldout{border-color:rgba(255,51,68,.55);background:rgba(255,51,68,.08);color:#ff7b86}.availability-pill.unknown{border-color:rgba(0,221,255,.45);background:rgba(0,221,255,.07);color:#88eeff}.live-note{font-size:.85rem;color:#8f8fb7}.booking-button[aria-disabled="true"]{opacity:.55;pointer-events:none}
@media(max-width:800px){.wednesday-feature-grid{grid-template-columns:1fr}.accessibility-launcher{right:.6rem;bottom:.6rem}.accessibility-panel{right:.6rem;bottom:4.2rem;width:calc(100vw - 1.2rem)}}

/* Wednesday page booking panel */
.live-booking-panel{margin-top:1rem;background:#080814;border:1px solid rgba(0,221,255,.35);padding:1rem}.live-booking-panel .booking-status{display:grid;gap:.35rem}.live-booking-panel strong{color:#fff}.live-booking-panel .book-date{font:700 1.1rem var(--fs,monospace);color:#ffcc00}.booking-frame-wrap{margin-top:1.5rem;border:1px solid rgba(136,85,255,.35);background:#fff;min-height:120px}.booking-frame-note{padding:1rem;color:#444;font-family:Arial,sans-serif;background:#fff}.booking-frame-note a{color:#4c2bbd;text-decoration:underline}

/* Neurodivergent-friendly information */
.predictability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem}.predict-card{background:var(--card,#0e0e22);border:1px solid var(--b1,rgba(120,80,255,.18));padding:1.2rem}.predict-card h3{font:700 .8rem var(--fp,monospace);color:#ffcc00;line-height:1.6;margin-bottom:.6rem}.predict-card p{font-size:.95rem}.plain-steps{counter-reset:visitstep;list-style:none;padding:0;margin:1rem 0}.plain-steps li{counter-increment:visitstep;position:relative;padding:.8rem 1rem .8rem 3.2rem;border-bottom:1px solid var(--b1,rgba(120,80,255,.18));background:rgba(255,255,255,.02)}.plain-steps li::before{content:counter(visitstep);position:absolute;left:.75rem;top:.65rem;width:1.7rem;height:1.7rem;display:grid;place-items:center;border:1px solid #00ddff;color:#00ddff;font:700 .72rem var(--fp,monospace)}
@media(max-width:800px){.predictability-grid{grid-template-columns:1fr}}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.site-nav .nav-hamburger{display:block}.site-nav .nav-links{display:none!important;position:absolute!important;top:58px!important;left:0!important;right:0!important;background:#06060f!important;padding:.6rem!important;flex-direction:column!important;align-items:stretch!important}.site-nav .nav-links.open{display:flex!important}.site-nav .nav-links a{padding:.7rem!important;width:100%!important}.site-nav .nav-inner{align-items:center!important;min-height:58px!important}.site-nav .nav-logo{margin-right:auto}}
.site-nav .nav-hamburger{display:none}
@media(max-width:760px){.site-nav .nav-hamburger{display:block}}

/* Upcoming Re:Wired Wednesday occurrences */
.upcoming-sessions{display:grid;gap:.75rem;margin-top:1rem}.upcoming-session{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.9rem;align-items:center;padding:.9rem 1rem;background:rgba(8,8,20,.82);border:1px solid rgba(120,80,255,.22)}.upcoming-session.next{border-color:rgba(255,204,0,.4);background:rgba(255,204,0,.035)}.upcoming-date{display:block;font:700 .9rem var(--fs,monospace);color:#fff}.upcoming-time{display:block;margin-top:.15rem;font:.85rem var(--fm,monospace);color:#9d9dc1}.upcoming-session .availability-pill{margin:0;white-space:nowrap}.upcoming-book{padding:.55rem .8rem;font-size:.68rem;box-shadow:none}.upcoming-heading{margin-top:1.25rem;font:700 .72rem var(--fp,monospace);letter-spacing:2px;color:#88eeff;text-transform:uppercase}.programme-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}.programme-step{position:relative;padding:1.25rem;background:rgba(8,8,20,.8);border:1px solid rgba(136,85,255,.28)}.programme-step .step-no{font:700 .65rem var(--fp,monospace);color:#ff3399;letter-spacing:2px}.programme-step h3{margin:.5rem 0;color:#fff}.programme-step p{margin:0}.extras-note{margin-top:1.25rem;padding:1rem 1.1rem;border-left:3px solid #ffcc00;background:rgba(255,204,0,.055)}
@media(max-width:760px){.upcoming-session{grid-template-columns:1fr}.upcoming-session .availability-pill{width:max-content}.upcoming-book{width:max-content}.programme-flow{grid-template-columns:1fr}}


/* v3.0 — cleaner Re:Wired Wednesday homepage card */
.wednesday-feature-grid{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:1.4rem;align-items:start}
.live-event-card{padding:clamp(1.35rem,2.4vw,1.8rem)}
.live-event-card .live-date{max-width:15ch;line-height:1.12;margin:.45rem 0 .35rem}
.live-event-card>.availability-pill{margin:.8rem 0 .25rem}
.live-event-card>.booking-button{width:100%;justify-content:center;margin-top:.55rem}
.upcoming-heading{display:flex;align-items:center;gap:.75rem;margin-top:1.45rem;padding-top:1rem;border-top:1px solid rgba(136,85,255,.24)}
.upcoming-heading::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,rgba(0,221,255,.38),transparent)}
.compact-upcoming{gap:.55rem}
.compact-upcoming .upcoming-session{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'date book' 'availability book';gap:.35rem .8rem;padding:.78rem .85rem;border-color:rgba(120,80,255,.18);background:rgba(5,5,16,.64)}
.compact-upcoming .upcoming-session.next{border-color:rgba(120,80,255,.18);background:rgba(5,5,16,.64)}
.compact-upcoming .upcoming-session>div{grid-area:date;min-width:0}
.compact-upcoming .upcoming-date{font-size:.72rem;line-height:1.45;white-space:normal}
.compact-upcoming .upcoming-time{font-size:.76rem;margin-top:.05rem}
.compact-upcoming .availability-pill{grid-area:availability;padding:.38rem .55rem;font-size:.72rem;width:max-content;max-width:100%}
.compact-upcoming .upcoming-book{grid-area:book;align-self:center;padding:.55rem .7rem;min-width:64px;justify-content:center}
.hours-source-note{font-family:var(--fm);font-size:.82rem;color:var(--text2);margin-top:1rem;line-height:1.55}
.google-hours-status{display:inline-flex;align-items:center;gap:.4rem;color:var(--green);font-family:var(--fm);font-size:.75rem;margin-top:.55rem}
.google-hours-status::before{content:'●';font-size:.65rem}
@media(max-width:900px){.wednesday-feature-grid{grid-template-columns:1fr}.live-event-card .live-date{max-width:none}}
@media(max-width:520px){.compact-upcoming .upcoming-session{grid-template-columns:1fr auto;grid-template-areas:'date date' 'availability book'}.compact-upcoming .upcoming-book{min-width:72px}}
