:root{--bg:#07070a;--panel:#111117;--text:#f5f5f7;--muted:#a8a8b3;--accent:#ff3b30;--line:#2a2a33;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;width:100%}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:linear-gradient(#07070ae8,transparent);transition:.3s}.site-header.scrolled{background:#08080deb;backdrop-filter:blur(14px);border-bottom:1px solid #ffffff12}.brand{font-size:1.35rem;font-weight:900;letter-spacing:.16em}.brand span{color:var(--accent)}nav{display:flex;gap:2rem;align-items:center;font-size:.9rem}nav a{color:#d8d8de}.nav-cta{border:1px solid #ffffff55;padding:.65rem 1rem}.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:1.7rem}.hero{min-height:100vh;position:relative;display:grid;align-items:center;background:url('../images/DSC_0204.JPG') center/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#050508f2 0%,#050508a8 47%,#05050830 100%),linear-gradient(0deg,#07070a 0%,transparent 35%)}.hero-content{position:relative;z-index:1;max-width:840px;margin-left:max(6vw,calc((100vw - var(--max))/2));padding:7rem 2rem 4rem 0}.eyebrow{color:var(--accent);letter-spacing:.28em;font-weight:800;font-size:.78rem}.hero h1,.section h2,.booking h2{font-size:clamp(3.2rem,8vw,7rem);line-height:.93;margin:.7rem 0 1.5rem;letter-spacing:-.055em}.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #fff}.lead{max-width:650px;color:#d0d0d7;font-size:1.18rem}.actions{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.35rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.primary{background:var(--accent);color:#fff}.ghost{border:1px solid #ffffff66}.scroll-hint{position:absolute;right:4vw;bottom:3rem;z-index:2;font-size:.65rem;letter-spacing:.25em;transform:rotate(90deg);transform-origin:right bottom}.scroll-hint span{display:inline-block;width:45px;height:1px;background:#fff;margin:0 0 .2rem .8rem}.section{max-width:var(--max);margin:auto;padding:9rem 2rem}.section-label{color:#6f6f79;border-bottom:1px solid var(--line);padding-bottom:1rem;font-size:.75rem;letter-spacing:.2em}.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:7rem;padding-top:4rem}.intro h2,.events h2,.gallery h2{font-size:clamp(2.8rem,5vw,5.4rem);line-height:1;margin:.7rem 0}.intro-grid>div:last-child{color:var(--muted);font-size:1.08rem;padding-top:2rem}.feature-image{height:70vh;min-height:520px;background:url('../images/DSC_0019.JPG') center/cover fixed no-repeat;position:relative}.feature-image:after{content:"ANALOG SOUL · DIGITAL POWER";position:absolute;left:5vw;bottom:3rem;font-weight:900;letter-spacing:.2em;font-size:clamp(.9rem,2vw,1.7rem)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3rem}.section-head>p{color:var(--muted);max-width:390px}.event-card{display:grid;grid-template-columns:150px 1fr auto;gap:2rem;align-items:center;padding:2rem 0;border-top:1px solid var(--line)}.event-card:last-child{border-bottom:1px solid var(--line)}.event-date strong{font-size:4.7rem;line-height:.8}.event-date span{display:block;color:var(--muted);letter-spacing:.18em;font-size:.75rem;margin-top:.8rem}.event-info h3{font-size:1.75rem;margin:.35rem 0}.event-info p{color:var(--muted);margin:.3rem 0}.tag{font-size:.68rem;color:var(--accent);letter-spacing:.18em;font-weight:800}.poster-btn{background:none;border:0;color:#fff;border-bottom:1px solid #fff;padding:.5rem 0;cursor:pointer}.gallery{max-width:var(--max);margin:auto;padding:3rem 2rem 9rem}.gallery-copy{max-width:560px;margin-bottom:4rem}.gallery-copy p:last-child{color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery-grid figure{margin:0;overflow:hidden;aspect-ratio:1/1.15}.gallery-grid .wide{grid-column:span 2;aspect-ratio:1.8/1}.gallery-grid img{height:100%;object-fit:cover;transition:.6s}.gallery-grid figure:hover img{transform:scale(1.04)}.booking{min-height:75vh;display:grid;place-items:center;text-align:center;padding:7rem 2rem;background:radial-gradient(circle at 50% 50%,#27102c 0%,#0b0b10 45%,#07070a 75%)}.booking-inner{max-width:900px}.booking h2{font-size:clamp(3rem,7vw,6.5rem)}.booking p{max-width:600px;margin:0 auto 2rem;color:var(--muted)}footer{max-width:var(--max);margin:auto;padding:2.5rem 2rem;display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:center;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}footer p{text-align:center}footer div{display:flex;gap:1.2rem}.modal{position:fixed;z-index:100;inset:0;background:#000e;display:none;align-items:center;justify-content:center;padding:2rem}.modal.open{display:flex}.modal img{max-height:90vh;width:auto;max-width:90vw}.modal-close{position:absolute;top:1rem;right:2rem;background:none;border:0;color:white;font-size:3rem;cursor:pointer}.reveal{opacity:0;transform:translateY(30px);transition:.8s}.reveal.visible{opacity:1;transform:none}.legal{max-width:900px;margin:auto;padding:10rem 2rem 5rem}.legal h1{font-size:3rem}.legal h2{margin-top:2.5rem}.legal p{color:#c5c5cd}.back{display:inline-block;margin-top:2rem;color:var(--accent)}
@media(max-width:800px){.site-header{height:70px}.nav-toggle{display:block}nav{position:absolute;top:70px;left:0;right:0;display:none;flex-direction:column;background:#0a0a0f;padding:2rem;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero-content{margin-left:0;padding:7rem 1.5rem 3rem}.hero h1{font-size:clamp(3.2rem,15vw,5rem)}.intro-grid,.section-head{grid-template-columns:1fr;display:grid;gap:2rem}.section{padding:6rem 1.4rem}.feature-image{background-attachment:scroll;height:55vh}.event-card{grid-template-columns:90px 1fr}.poster-btn{grid-column:2}.event-date strong{font-size:3.3rem}.gallery{padding:2rem 1rem 6rem}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .wide{grid-column:span 2}.gallery-grid figure{aspect-ratio:1/1.2}footer{grid-template-columns:1fr;text-align:center}footer p{text-align:center}footer div{justify-content:center;flex-wrap:wrap}}
.event-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.7rem}.ticket-link{font-size:.85rem;color:var(--accent);font-weight:800}.archive-link-wrap{padding-top:2.5rem;text-align:right}.empty-events{padding:3rem;border:1px solid var(--line);background:var(--panel)}.empty-events h3{font-size:1.8rem;margin:0 0 .4rem}.empty-events p{color:var(--muted);margin:0}.archive-page{padding-top:70px}.archive-page h1{font-size:clamp(3rem,7vw,6rem);line-height:1;margin:.8rem 0}.archive-intro{color:var(--muted);margin-bottom:4rem}.archive-year{font-size:2rem!important;margin:4rem 0 1rem!important;border-bottom:1px solid var(--line);padding-bottom:.8rem}.event-card.archived{opacity:.86}
@media(max-width:800px){.event-actions{grid-column:2;align-items:flex-start}.archive-link-wrap{text-align:left}.archive-page{padding-top:50px}}
nav a.active{color:#fff;border-bottom:1px solid var(--accent)}
.gallery-tile{position:relative;margin:0;padding:0;border:0;background:none;overflow:hidden;aspect-ratio:1/1.15;cursor:pointer;color:#fff;text-align:left}.gallery-tile.wide{grid-column:span 2;aspect-ratio:1.8/1}.gallery-tile img{height:100%;object-fit:cover;transition:.6s}.gallery-tile:hover img{transform:scale(1.04)}.gallery-tile span{position:absolute;left:0;right:0;bottom:0;padding:1rem;background:linear-gradient(transparent,#000c);font-size:.8rem;font-weight:800;letter-spacing:.05em}
.event-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin:-.5rem 0 2.5rem 150px}.gallery-item{border:0;padding:0;background:none;cursor:pointer;aspect-ratio:1.3/1;overflow:hidden}.gallery-item img{height:100%;object-fit:cover;transition:.35s}.gallery-item:hover img{transform:scale(1.04)}
@media(max-width:800px){.event-gallery{grid-template-columns:repeat(2,1fr);margin:0 0 2rem 0}.gallery-tile.wide{grid-column:span 2}}

.event-media{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin:-.5rem 0 3rem 150px}.event-media .gallery-item,.event-media .video-item{aspect-ratio:1.3/1;overflow:hidden;background:#000}.event-media video{width:100%;height:100%;object-fit:cover;background:#000}.video-item{border:1px solid var(--line)}
@media(max-width:800px){.event-media{grid-template-columns:1fr;margin:0 0 2.5rem}.event-media .gallery-item,.event-media .video-item{aspect-ratio:16/9}}
.video-item{position:relative}.video-fallback{display:block;padding:.55rem .7rem;color:#fff;background:#111;text-align:center;font-size:.78rem;text-decoration:none}.video-fallback:hover{text-decoration:underline}

.gallery-video{background:#000;border:1px solid var(--line);overflow:hidden;min-width:0}.gallery-video video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#000}.gallery-video-caption{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.8rem 1rem;background:#111;font-size:.78rem}.gallery-video-caption span{font-weight:800}.gallery-video-caption a{color:var(--accent);white-space:nowrap}.event-media .video-item{aspect-ratio:auto;overflow:visible}.event-media .video-item video{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:contain}.event-media .video-fallback{border-top:1px solid var(--line)}
@media(max-width:800px){.gallery-video{grid-column:span 2}.gallery-video-caption{align-items:flex-start;flex-direction:column}}

/* Lightbox navigation */
body.modal-open{overflow:hidden}.modal-stage{position:relative;display:flex;align-items:center;justify-content:center;max-width:calc(100vw - 12rem);max-height:92vh}.modal-stage img{max-height:88vh;width:auto;max-width:100%;object-fit:contain}.modal-nav{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:58px;height:58px;border:1px solid #ffffff55;border-radius:50%;background:#09090dcc;color:#fff;font-size:3rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.2s}.modal-nav:hover,.modal-nav:focus-visible{background:var(--accent);border-color:var(--accent);outline:none}.modal-prev{left:2rem}.modal-next{right:2rem}.modal-counter{position:absolute;left:50%;bottom:.8rem;transform:translateX(-50%);padding:.35rem .75rem;border-radius:999px;background:#000b;color:#fff;font-size:.78rem;letter-spacing:.08em}.modal-close{z-index:3}.modal-nav[hidden]{display:none}
@media(max-width:700px){.modal{padding:1rem}.modal-stage{max-width:100%;max-height:86vh}.modal-stage img{max-height:82vh}.modal-nav{width:46px;height:46px;font-size:2.3rem;background:#09090de6}.modal-prev{left:.6rem}.modal-next{right:.6rem}.modal-close{top:.25rem;right:.75rem}.modal-counter{bottom:.4rem}}
