:root{--color-black: #07090c;--color-surface: #0e1015;--color-panel: #111318;--color-border: rgba(255, 255, 255, .08);--color-gold: #d4af37;--color-red: #e8142e;--color-accent: #00d4c8;--color-teal: #0d7b7b;--color-text: #f0f0f0;--color-text-muted: #8a8a9a;--font-display: "Bebas Neue", sans-serif;--font-heading: "Oswald", sans-serif;--font-body: "Roboto", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:linear-gradient(160deg,#0a5858,#072840 40%,#07090c) fixed;color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}h1,h2{text-transform:uppercase}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.section{padding:5rem 0}.section__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2.5rem;border-bottom:1px solid var(--color-border);padding-bottom:1rem}.section__title{font-family:var(--font-heading);font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--color-gold)}.section__link{font-size:.8rem;font-weight:700;color:var(--color-text-muted);text-decoration:none;text-transform:uppercase;letter-spacing:.06em;transition:color .2s}.section__link:hover{color:var(--color-gold)}.page-hero{position:relative;min-height:40vh;background-size:cover;background-position:center;display:flex;align-items:flex-end;background-color:var(--color-surface);background-image:repeating-linear-gradient(-45deg,transparent 0px,transparent 20px,rgba(255,255,255,.015) 20px,rgba(255,255,255,.015) 21px)}.page-hero--news{background-image:linear-gradient(135deg,#1a0a0a,#0d0d14)}.page-hero--roster{background-image:linear-gradient(135deg,#0a0a1a,#0d0d14)}.page-hero--shows{background-image:linear-gradient(135deg,#0a1a0a,#0d0d14)}.page-hero__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 30%,rgba(8,8,10,.95) 100%)}.page-hero__content{position:relative;z-index:1;padding:5rem 0 3rem}.page-hero__title{font-family:var(--font-display);font-size:clamp(3rem,8vw,5rem);color:#fff;line-height:1;text-transform:uppercase}.page-hero__subtitle{font-size:1rem;color:var(--color-text-muted);margin-top:.5rem;text-transform:uppercase;letter-spacing:.1em}.btn{display:inline-block;font-family:var(--font-heading);font-size:.85rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:.75rem 1.75rem;border:2px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.btn--primary{background:var(--color-gold);color:var(--color-black);border-color:var(--color-gold)}.btn--primary:hover{background:transparent;color:var(--color-gold)}.btn--secondary{background:var(--color-red);color:#fff;border-color:var(--color-red)}.btn--secondary:hover{background:transparent;color:var(--color-red)}.btn--accent{background:var(--color-accent);color:var(--color-black);border-color:var(--color-accent)}.btn--accent:hover{background:transparent;color:var(--color-accent)}.btn--outline{background:transparent;color:var(--color-text-muted);border-color:var(--color-border)}.btn--outline:hover:not(:disabled){border-color:var(--color-gold);color:var(--color-gold)}.btn--outline:disabled{opacity:.35;cursor:not-allowed}.btn--large{padding:1rem 2.5rem;font-size:1rem}.loading-state{display:flex;justify-content:center;align-items:center;padding:6rem 0}.spinner{width:44px;height:44px;border:3px solid rgba(212,175,55,.2);border-top-color:var(--color-gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.not-found{text-align:center;padding:8rem 2rem}.not-found h2{font-family:var(--font-display);font-size:2.5rem;color:var(--color-text-muted);margin-bottom:2rem}.back-link{display:inline-block;font-size:.82rem;font-weight:700;color:var(--color-gold);text-decoration:none;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2rem}.back-link:hover{color:var(--color-text)}@media (prefers-reduced-motion: no-preference){::view-transition-old(root){animation:.18s ease both fade-out}::view-transition-new(root){animation:.22s ease both fade-in}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}
