@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap');
:root{--bg:#07050b;--text:#f6f2f8;--muted:#aaa3b3;--purple:#b66cff;--line:rgba(255,255,255,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% 0%,#1b102b 0,#08060d 38%,#050408 100%);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.7}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to bottom,#000,transparent 80%)}.noise{position:fixed;inset:0;pointer-events:none;opacity:.035}.topbar{position:fixed;z-index:10;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:20px 5vw;background:linear-gradient(#08060ddd,transparent);backdrop-filter:blur(8px)}.brand-mini{font-family:"Barlow Condensed",sans-serif;font-weight:700;letter-spacing:.16em;color:#fff;text-decoration:none;font-size:22px}nav{display:flex;gap:27px}nav a{font-size:10px;letter-spacing:.2em;color:#c9c2d0;text-decoration:none}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 6vw 70px;position:relative;overflow:hidden}.hero-glow{position:absolute;width:55vw;height:55vw;max-width:720px;max-height:720px;background:radial-gradient(circle,rgba(143,55,255,.25),transparent 65%);filter:blur(10px)}.logo{position:relative;width:min(650px,82vw);height:auto;margin-bottom:26px}.eyebrow{font-size:11px;letter-spacing:.32em;color:#bcb2c7;margin:0 0 20px}h1,h2{font-family:"Barlow Condensed",sans-serif;line-height:.9;letter-spacing:.03em;margin:0}h1{font-size:clamp(52px,9vw,110px);text-transform:uppercase}h1 span,h2 span{color:var(--purple)}.intro{max-width:720px;color:var(--muted);font-size:15px;margin:25px auto 30px}.button{display:inline-block;text-decoration:none;padding:14px 24px;font-size:11px;font-weight:700;letter-spacing:.2em;border:1px solid var(--line)}.button.primary{background:#f4eff8;color:#09070d;border-color:#f4eff8}.panel{padding:105px 7vw;border-top:1px solid var(--line)}.section-label{font-size:10px;letter-spacing:.3em;color:var(--purple);margin-bottom:48px}.about-layout{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:70px minmax(0,1fr);gap:30px;align-items:start}.about-photo-wrap{width:70px;padding:6px;border:1px solid rgba(169,92,255,.35);background:#050408;box-shadow:0 0 45px rgba(111,43,199,.1)}.about-photo{display:block;width:100%;height:105px;object-fit:cover;object-position:center top;filter:saturate(.92) contrast(1.04)}.about-copy{font-size:15px;max-width:820px}.about-copy p{color:var(--muted);margin:0 0 21px}.about-copy .lead{color:#eee9f2;font-size:19px;line-height:1.5}.tags{border-top:1px solid var(--line);padding-top:20px;color:#d9d1df;font-size:12px;line-height:1.8}.section-subtitle{max-width:700px;margin:-25px auto 45px;text-align:center;color:var(--muted);font-size:14px}.show-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.event-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.event-card{padding:0;border:1px solid var(--line);background:rgba(255,255,255,.02);overflow:hidden}
.event-card img{display:block;width:100%;height:auto;margin:0}
.show-card{padding:18px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(255,255,255,.025),rgba(169,92,255,.035));display:flex;flex-direction:column}.show-card img{display:block;width:100%;height:125px;object-fit:cover;object-position:center;margin-bottom:16px;border:1px solid rgba(182,108,255,.18)}.show-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.show-card p b{color:#eee9f2}.schedule-card{max-width:1100px;margin:0 auto;border:1px solid var(--line);padding:50px;display:flex;justify-content:space-between;gap:50px;background:linear-gradient(135deg,rgba(169,92,255,.09),rgba(255,255,255,.015))}.schedule-card h2{font-size:clamp(42px,6vw,78px)}.schedule-note{max-width:380px;align-self:end;color:var(--muted)}.text-link{color:#fff;text-decoration:none;font-size:11px;letter-spacing:.18em;font-weight:700}.link-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:900px;margin:0 auto}.link-card{position:relative;min-height:210px;padding:30px;border:1px solid var(--line);color:#fff;text-decoration:none;background:rgba(255,255,255,.02)}.number{display:block;color:var(--purple);font-size:10px;letter-spacing:.2em;margin-bottom:50px}.link-card strong{display:block;font-family:"Barlow Condensed",sans-serif;font-size:34px;letter-spacing:.04em}.link-card small{display:block;color:var(--muted);margin-top:5px}.arrow{position:absolute;right:25px;bottom:20px;font-size:24px}.discord-pending{opacity:.7}.cta{padding:150px 6vw;text-align:center;position:relative;overflow:hidden}.cta-orb{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(126,42,224,.2),transparent 68%);filter:blur(12px)}.cta>*:not(.cta-orb){position:relative}.cta h2{font-size:clamp(65px,11vw,145px);margin-bottom:35px}footer{border-top:1px solid var(--line);padding:25px 5vw;display:flex;justify-content:space-between;color:#706878;font-size:9px;letter-spacing:.18em}@media(max-width:760px){nav{display:none}.hero{padding-top:110px}.logo{width:88vw}.about-layout{grid-template-columns:1fr;gap:32px}.about-photo-wrap{width:60px;margin:0 auto}.about-photo{height:90px}.about-copy{text-align:left}.about-copy .lead{font-size:18px}.about-copy{font-size:14px}.panel{padding:78px 6vw}.show-grid,.event-grid,.link-grid{grid-template-columns:1fr}.show-card img{height:145px}.schedule-card{padding:30px;display:block}.schedule-note{margin-top:35px}.link-card{min-height:190px}.number{margin-bottom:35px}footer{gap:15px;flex-direction:column}}

/* GRAEMERZ portrait — deliberately small, balanced profile image */
.about-layout > .about-photo-wrap{width:145px!important;min-width:145px!important;max-width:145px!important;height:auto!important;flex:0 0 145px!important;padding:4px!important}
.about-layout > .about-photo-wrap .about-photo{display:block!important;width:135px!important;min-width:135px!important;max-width:135px!important;height:202px!important;min-height:202px!important;max-height:202px!important;object-fit:cover!important}
@media(max-width:760px){.about-layout{grid-template-columns:110px minmax(0,1fr);gap:22px;align-items:start}.about-layout > .about-photo-wrap{width:110px!important;min-width:110px!important;max-width:110px!important;flex:0 0 110px!important;margin:0!important}.about-layout > .about-photo-wrap .about-photo{width:100px!important;min-width:100px!important;max-width:100px!important;height:150px!important;min-height:150px!important;max-height:150px!important}.about-copy{text-align:left}}

/* V10 — supplied GRAEMERZ show graphics */
.show-card img{
  width:100%;
  height:150px;
  object-fit:contain;
  object-position:center;
  margin-bottom:16px;
  padding:10px;
  background:#07050b;
  border:1px solid rgba(182,108,255,.22);
}
@media(max-width:760px){
  .show-card img{
    height:155px;
    padding:8px;
  }
}

/* FINAL special events sizing */
.event-grid{width:100%!important;max-width:460px!important;margin:0 auto!important;display:grid!important;grid-template-columns:repeat(6,1fr)!important;gap:10px!important}
.event-card{width:100%!important;max-width:70px!important;justify-self:center!important;padding:0!important;margin:0!important}
.event-card img{display:block!important;width:100%!important;max-width:70px!important;height:auto!important;margin:0!important}
@media(max-width:760px){
  .event-grid{max-width:330px!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important}
  .event-card{max-width:100px!important}
  .event-card img{max-width:100px!important}
}


/* ABOUT PORTRAIT — keep the image in its own column on desktop */
.about-layout{grid-template-columns:145px minmax(0,1fr)!important;gap:30px!important;align-items:start!important}
@media(max-width:760px){.about-layout{grid-template-columns:110px minmax(0,1fr)!important;gap:22px!important}}

/* GRAEMERZ RADIO — custom outer presentation around the Caster player */
.graemerz-radio{max-width:860px;margin:44px auto 8px;padding:0 12px}
.radio-heading{text-align:center;margin-bottom:20px}
.radio-kicker{color:#b66cff;font-size:10px;font-weight:800;letter-spacing:.32em;margin-bottom:7px;text-shadow:0 0 12px rgba(182,108,255,.5)}
.radio-heading h3{margin:0;color:#fff;font-family:"Barlow Condensed",sans-serif;font-size:clamp(30px,5vw,48px);line-height:.95;letter-spacing:.08em;font-weight:700}
.radio-status{display:inline-flex;align-items:center;gap:7px;margin-top:11px;color:#aaa3b3;font-size:9px;font-weight:800;letter-spacing:.18em}
.radio-status-dot{width:7px;height:7px;border-radius:50%;background:#ff3b6b;box-shadow:0 0 7px rgba(255,59,107,.9),0 0 16px rgba(255,59,107,.45)}
.radio-player-shell{position:relative;overflow:hidden;border:1px solid rgba(182,108,255,.45);background:radial-gradient(circle at 18% 20%,rgba(143,55,255,.16),transparent 35%),radial-gradient(circle at 85% 85%,rgba(255,47,143,.10),transparent 35%),#08060d;box-shadow:0 0 0 1px rgba(255,255,255,.025) inset,0 20px 70px rgba(0,0,0,.45),0 0 45px rgba(104,45,190,.12)}
.radio-player-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.025) 45%,transparent 55%)}
.radio-topline,.radio-bottomline{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;color:#8f8295;font-size:8px;font-weight:800;letter-spacing:.18em}
.radio-topline{border-bottom:1px solid rgba(182,108,255,.16)}
.radio-bottomline{border-top:1px solid rgba(182,108,255,.16);color:#6f6476}
.radio-main{display:grid;grid-template-columns:170px minmax(0,1fr);gap:28px;align-items:center;padding:28px}
.radio-art{aspect-ratio:1;padding:0;background:#05040a;box-shadow:0 0 28px rgba(143,76,255,.18);overflow:hidden}
.radio-logo{display:block;width:100%;height:100%;object-fit:cover}
.radio-info{min-width:0}.now-label{color:#b66cff;font-size:9px;font-weight:900;letter-spacing:.24em;margin-bottom:8px}
.now-track{color:#fff;font-family:"Barlow Condensed",sans-serif;font-size:clamp(24px,4vw,38px);font-weight:700;letter-spacing:.03em;line-height:1;text-shadow:0 0 18px rgba(182,108,255,.25)}
.now-sub{margin-top:9px;color:#817786;font-size:11px;letter-spacing:.04em}
.radio-caster-widget{margin-top:20px;min-height:62px;display:flex;align-items:center;width:100%}
.radio-caster-widget .cstrEmbed{width:100%}
.radio-caster-widget .cstrEmbed>a{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.radio-note{margin:13px 0 0;color:#77707d;text-align:center;font-size:10px;letter-spacing:.07em}
@media(max-width:700px){.graemerz-radio{margin-top:34px}.radio-main{grid-template-columns:1fr;gap:20px;padding:20px}.radio-art{width:min(170px,58vw);margin:0 auto}.radio-info{text-align:center}.radio-caster-widget{justify-content:center}.radio-topline,.radio-bottomline{padding:9px 12px;font-size:7px}.radio-bottomline span:last-child{display:none}}


/* FINAL OVERRIDES — ABOUT PORTRAIT + SPECIAL EVENT HOVER */
.about-layout{display:flex!important;align-items:flex-start!important;gap:30px!important;max-width:1100px!important;margin:0 auto!important;}
.about-layout > .about-photo-wrap{position:relative!important;display:block!important;flex:0 0 145px!important;width:145px!important;min-width:145px!important;max-width:145px!important;margin:0!important;padding:4px!important;box-sizing:border-box!important;}
.about-layout > .about-photo-wrap .about-photo{display:block!important;width:135px!important;min-width:135px!important;max-width:135px!important;height:202px!important;min-height:202px!important;max-height:202px!important;object-fit:cover!important;box-sizing:border-box!important;}
.about-layout > .about-copy{position:relative!important;display:block!important;flex:1 1 auto!important;min-width:0!important;max-width:820px!important;margin:0!important;padding:0!important;}
.about-layout > .about-copy .lead{margin-top:0!important;}
@media(max-width:760px){
  .about-layout{display:flex!important;flex-direction:column!important;gap:22px!important;align-items:center!important;}
  .about-layout > .about-photo-wrap{flex:0 0 auto!important;width:110px!important;min-width:110px!important;max-width:110px!important;margin:0!important;}
  .about-layout > .about-photo-wrap .about-photo{width:100px!important;min-width:100px!important;max-width:100px!important;height:150px!important;min-height:150px!important;max-height:150px!important;}
  .about-layout > .about-copy{width:100%!important;max-width:100%!important;text-align:left!important;}
}

/* Upcoming event cards — restore desktop hover enlargement */
@media (min-width:769px) and (hover:hover) and (pointer:fine){
  #special-events .event-grid{overflow:visible!important;}
  #special-events .event-card{position:relative!important;z-index:1!important;overflow:visible!important;}
  #special-events .event-card img{position:relative!important;z-index:1!important;transform-origin:center center!important;transition:transform 180ms ease,filter 180ms ease,box-shadow 180ms ease!important;cursor:zoom-in!important;}
  #special-events .event-card:hover{z-index:100!important;}
  #special-events .event-card:hover img{z-index:101!important;transform:scale(3)!important;filter:brightness(1.08)!important;box-shadow:0 12px 32px rgba(0,0,0,.7)!important;}
}

/* FINAL SPECIAL-EVENT HOVER / NYE */
.special-events .event-card{position:relative!important;z-index:1!important;overflow:visible!important;}
.special-events .event-card img{position:relative!important;z-index:1!important;transform-origin:center center!important;transition:transform 180ms ease,filter 180ms ease,box-shadow 180ms ease!important;cursor:zoom-in!important;}
.special-events .event-card:hover{z-index:100!important;}
.special-events .event-card:hover img{z-index:101!important;transform:scale(3)!important;filter:brightness(1.08)!important;box-shadow:0 12px 32px rgba(0,0,0,.7)!important;}
@media (max-width:700px){.special-events .event-card:hover img{transform:scale(3)!important;}}
