:root{--night:#07071a;--ink:#0d0f2e;--indigo:#1a1b4b;--violet:#3b1f6b;--plum:#5b2a86;--glow:#a78bfa;--cyan:#6ee7f9;--text:#e7e4f5;--muted:#9a95bf}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Instrument Sans",sans-serif;color:var(--text);background:var(--night);line-height:1.65}
h1,h2,.logo{font-family:Fraunces,serif}
.nav{position:fixed;top:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.6rem;background:rgba(7,7,26,.7);backdrop-filter:blur(10px);border-bottom:1px solid rgba(167,139,250,.15);z-index:10}
.nav a{color:var(--text);text-decoration:none;margin-left:1.4rem;font-family:"Big Shoulders Display";font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.95rem}.nav .links a:hover{color:var(--glow)}
.logo{font-size:1.45rem!important;margin:0!important;letter-spacing:0!important;text-transform:none!important;font-style:italic;font-weight:600!important;color:#fff!important}
.hero{position:relative;height:820px;display:grid;place-items:center;text-align:center;overflow:hidden;background:radial-gradient(ellipse at 50% 120%,#3b1f6b 0%,#1a1b4b 40%,#07071a 80%)}
.glow{position:absolute;width:620px;height:620px;left:50%;top:55%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(167,139,250,.35),rgba(91,42,134,.15) 45%,transparent 70%);filter:blur(10px)}
.stars{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 10% 20%,#fff8,transparent),radial-gradient(1px 1px at 30% 70%,#fff6,transparent),radial-gradient(1.5px 1.5px at 70% 25%,#fff9,transparent),radial-gradient(1px 1px at 85% 60%,#fff6,transparent),radial-gradient(1px 1px at 50% 12%,#fff7,transparent),radial-gradient(1px 1px at 20% 85%,#fff5,transparent),radial-gradient(1.5px 1.5px at 92% 15%,#fff8,transparent)}
.haze{position:absolute;bottom:0;width:100%;height:35%;background:linear-gradient(transparent,var(--night))}
.hero-in{position:relative;z-index:2;padding:1rem}
.kicker{font-family:"Big Shoulders Display";font-weight:700;letter-spacing:.45em;text-transform:uppercase;color:var(--cyan);font-size:1rem}
h1{font-weight:300;font-style:italic;font-size:clamp(3.4rem,11vw,7.5rem);line-height:1;margin:.15em 0;color:#fff;text-shadow:0 0 40px rgba(167,139,250,.55)}
.tag{font-size:1.15rem;color:var(--muted)}.btns{margin-top:2rem}
.btn{display:inline-block;margin:.4rem;padding:.85rem 1.8rem;border-radius:4px;background:var(--glow);color:var(--night);text-decoration:none;font-family:"Big Shoulders Display";font-weight:800;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 0 24px rgba(167,139,250,.45)}
.ghost{background:transparent;color:#fff;border:1px solid rgba(167,139,250,.6);box-shadow:none}
.sec{padding:5.5rem 1.5rem;max-width:960px;margin:auto}.alt{background:linear-gradient(180deg,var(--ink),var(--indigo) 50%,var(--ink));max-width:none}.alt>*{max-width:960px;margin-left:auto;margin-right:auto}
h2{font-size:clamp(2rem,5vw,2.8rem);font-weight:400;text-align:center;margin:0 0 1.6rem;color:#fff}h2 span{font-style:italic;color:var(--glow);text-shadow:0 0 20px rgba(167,139,250,.5)}
.card{background:rgba(26,27,75,.45);border:1px solid rgba(167,139,250,.18);border-radius:10px;padding:2rem;font-size:1.08rem;box-shadow:0 20px 50px rgba(0,0,0,.4)}.center{text-align:center}.small{font-size:.9rem;color:var(--muted)}
.note,.lead{text-align:center;color:var(--muted)}.note{font-size:.85rem;font-family:"Big Shoulders Display";letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}
.shows{list-style:none;padding:0}.shows li{display:flex;align-items:center;gap:1.4rem;background:rgba(7,7,26,.55);border:1px solid rgba(167,139,250,.15);border-left:3px solid var(--glow);border-radius:8px;padding:1rem 1.4rem;margin:.7rem 0}
.d{font-family:"Big Shoulders Display";font-weight:800;font-size:1.25rem;letter-spacing:.08em;text-transform:uppercase;min-width:140px;color:#fff}.d span{display:block;font-family:"Instrument Sans";font-weight:500;font-size:.85rem;letter-spacing:0;text-transform:none;color:var(--cyan)}
.v{flex:1}.v b{font-weight:600}.v span{display:block;font-size:.88rem;color:var(--muted)}
.shows li.off{opacity:.5;border-left-color:var(--muted)}
.ttm{background:radial-gradient(ellipse at 50% 0%,#3b1f6b,#0d0f2e 70%);max-width:none}.ttm .card{max-width:720px;margin:auto}
.video{max-width:820px;margin:auto;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#2a2370,#07071a);border:1px solid rgba(167,139,250,.25);box-shadow:0 0 60px rgba(91,42,134,.35)}.video iframe{width:100%;height:100%;border:0}
.ph{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--text);font-size:1.3rem}.ph small{color:var(--muted)}
.social{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem}.social a{padding:.85rem 1.8rem;border-radius:4px;border:1px solid rgba(167,139,250,.5);color:#fff;text-decoration:none;font-family:"Big Shoulders Display";font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:rgba(59,31,107,.35)}
.social a:hover{box-shadow:0 0 20px rgba(167,139,250,.5)}.tip a{border-color:rgba(110,231,249,.5);background:rgba(26,27,75,.5)}
footer{text-align:center;padding:2rem;background:#04040f;color:var(--muted);font-size:.85rem;border-top:1px solid rgba(167,139,250,.12)}
@media(max-width:640px){.links{display:none}.hero{height:680px}.glow{width:380px;height:380px}.shows li{flex-wrap:wrap;gap:.3rem}.sec{padding:3.8rem 1.1rem}}
/* --- creative edges --- */
.wave{position:absolute;bottom:-1px;left:0;width:100%;height:110px;z-index:1}
.card{border:1px solid transparent;border-radius:28px 6px 28px 6px;background:linear-gradient(rgba(16,17,52,.92),rgba(16,17,52,.92)) padding-box,linear-gradient(135deg,rgba(167,139,250,.7),rgba(110,231,249,.15),rgba(91,42,134,.7)) border-box}
.about{transform:rotate(-.6deg)}.about p{transform:rotate(.6deg)}
.alt,.ttm{position:relative;clip-path:polygon(0 4vw,100% 0,100% calc(100% - 4vw),0 100%);padding-top:calc(5.5rem + 4vw);padding-bottom:calc(5.5rem + 4vw);margin:-2vw 0}
.ttm{clip-path:polygon(0 0,100% 4vw,100% 100%,0 calc(100% - 4vw))}
.shows li{border:1px solid rgba(167,139,250,.18);border-left:3px solid var(--glow);border-radius:4px 22px 4px 22px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);transition:transform .2s}
.shows li:nth-child(odd){margin-right:14px}.shows li:nth-child(even){margin-left:14px}
.shows li:hover{transform:translateX(4px);box-shadow:0 0 24px rgba(167,139,250,.25)}
.video{border-radius:40px 8px 40px 8px;box-shadow:0 0 0 1px rgba(167,139,250,.35),0 0 70px rgba(91,42,134,.45)}
.btn,.social a{border-radius:18px 4px 18px 4px}
.social a{border:1px solid transparent;background:linear-gradient(#141542,#141542) padding-box,linear-gradient(120deg,#a78bfa,#6ee7f9) border-box}
.tipsec{max-width:none;margin:0;padding-top:3rem;position:relative}
.tipsec>*{max-width:760px;margin-left:auto;margin-right:auto}
.tipsec::before{content:"";position:absolute;inset:1.5rem 50% auto;transform:translateX(-50%);width:min(760px,92%);height:calc(100% - 3rem);border-radius:60px 14px 60px 14px;background:radial-gradient(ellipse at 50% 0%,rgba(167,139,250,.18),transparent 70%);border:1px solid rgba(167,139,250,.25);z-index:-1}
h2::after{content:"";display:block;width:90px;height:10px;margin:.6rem auto 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 10'%3E%3Cpath d='M0 5 Q11 0 22 5 T45 5 T67 5 T90 5' fill='none' stroke='%23a78bfa' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}
footer{clip-path:polygon(0 30%,25% 0,50% 25%,75% 0,100% 30%,100% 100%,0 100%);padding-top:3.5rem}
@media(max-width:640px){.wave{height:60px}.shows li:nth-child(n){margin-left:0;margin-right:0}.about,.about p{transform:none}}
/* --- photos --- */
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:45% 28%;z-index:0}
.hero-shade{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(7,7,26,.55),rgba(26,27,75,.55) 45%,rgba(59,31,107,.6) 75%,#07071a),radial-gradient(ellipse at 50% 60%,rgba(7,7,26,.45) 10%,rgba(7,7,26,.75) 75%)}
.tag{color:#d8d4f0;text-shadow:0 2px 12px #000}
.glow{opacity:.6}.stars{opacity:.5}
.logo-img{display:block;width:min(520px,82vw);height:auto;margin:0 auto;filter:drop-shadow(0 0 22px rgba(167,139,250,.6))}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2.4rem;align-items:center}.split.rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.split.rev .photo{order:2}
.ttm .split{max-width:960px;margin:auto}.ttm .split .card{max-width:none}
.photo{margin:0;padding:3px;border-radius:44px 10px 44px 10px;background:linear-gradient(140deg,#a78bfa,#3b1f6b 45%,#6ee7f9);box-shadow:0 0 50px rgba(91,42,134,.45)}
.photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:41px 8px 41px 8px}
.tilt-l{transform:rotate(-2deg)}.tilt-r{transform:rotate(2deg)}
.about{position:relative;overflow:hidden}.emblem{float:right;width:120px;margin:0 0 .6rem 1rem;opacity:.85;transform:rotate(.6deg)}
.gallery{display:grid;align-items:start;grid-template-columns:1fr 1fr;gap:1.6rem;max-width:960px;margin:2rem auto 0;padding:0 1.5rem}
.gallery .photo:nth-child(2){border-radius:10px 44px 10px 44px;margin-top:3rem}.gallery .photo:nth-child(2) img{border-radius:8px 41px 8px 41px}
.gallery img{aspect-ratio:3/4}
@media(max-width:640px){.split,.split.rev{grid-template-columns:1fr;gap:1.6rem}.split.rev .photo{order:0}.photo img{aspect-ratio:4/3}.tilt-l,.tilt-r{transform:none}.emblem{width:84px}.gallery{gap:.8rem;padding:0 1rem}.gallery .photo:nth-child(2){margin-top:1.5rem}.hero-bg{object-position:45% 22%}}
@media(max-width:640px){.gallery .photo img{aspect-ratio:3/4}}
.week-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0}.week-nav .note{margin:0;flex:1}.wk-btn{font-family:"Big Shoulders Display";font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:transparent;color:#fff;border:1px solid rgba(167,139,250,.6);border-radius:18px 4px 18px 4px;padding:.6rem 1.2rem;cursor:pointer}.wk-btn:hover:not(:disabled),.wk-btn:focus-visible{background:var(--glow);color:var(--night);outline:none;box-shadow:0 0 18px rgba(167,139,250,.45)}.wk-btn:disabled{opacity:.35;cursor:not-allowed;color:var(--muted)}
@media(max-width:640px){.week-nav{flex-wrap:wrap}.week-nav .note{order:-1;flex-basis:100%}.wk-btn{flex:1}}

.week-page{max-width:960px;margin:0 auto}
.week-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin:0 0 1.4rem}
.week-tab{font-family:"Big Shoulders Display";font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;background:rgba(7,7,26,.55);color:var(--text);border:1px solid rgba(167,139,250,.35);border-radius:18px 4px 18px 4px;padding:.45rem .85rem;cursor:pointer}
.week-tab:hover,.week-tab:focus-visible{border-color:var(--glow);color:#fff;outline:none;box-shadow:0 0 14px rgba(167,139,250,.35)}
.week-tab.on{background:var(--glow);color:var(--night);border-color:var(--glow);box-shadow:0 0 18px rgba(167,139,250,.4)}
