:root{color-scheme:dark;--bg:#0e0e17;--panel:#0c0c14;--text:#f4f4f6;--muted:#a6a6b0;--line:#23232d;--accent:#dd3333}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Vazirmatn","Vazir",Tahoma,"Segoe UI",Arial,sans-serif;line-height:1.9;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}
.sidebar{position:fixed;inset:0 0 0 auto;width:250px;background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:30;box-shadow:-12px 0 45px rgba(0,0,0,.12)}
.brand{padding:24px 18px 18px;text-align:center;display:grid;gap:14px}.brand-image{display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:#151520;border:1px solid #1f1f2b;position:relative}.brand-image:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 55%,rgba(221,51,51,.23));pointer-events:none}.brand-image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s cubic-bezier(.2,.8,.2,1)}.brand-image:hover img{transform:scale(1.055)}.brand-copy{display:grid;gap:6px}.brand h1{font-size:18px;margin:0;line-height:1.5}.sidebar nav{display:grid}.sidebar nav a{padding:12px 28px;color:#b7b7c2;border-right:3px solid transparent;position:relative;transition:color .22s ease,background .22s ease,padding .22s ease}.sidebar nav a:after{content:"";position:absolute;right:0;top:50%;width:3px;height:0;background:var(--accent);transform:translateY(-50%);transition:height .28s ease}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#12121c;padding-right:34px}.sidebar nav a.active:after,.sidebar nav a:hover:after{height:62%}.sidebar-footer{margin-top:auto;padding:22px;text-align:center;color:#888;font-size:12px;display:grid;gap:9px;border-top:1px solid rgba(255,255,255,.035)}.sidebar-footer>a:first-child{color:var(--accent)}.rzweb-credit{color:#777;line-height:1.7;transition:color .2s ease}.rzweb-credit strong{color:#aaa;letter-spacing:.06em;transition:color .2s ease}.rzweb-credit:hover,.rzweb-credit:hover strong{color:#fff}
.main-shell{margin-right:250px;min-height:100vh;will-change:transform,opacity,filter}.mobile-menu{display:none}
.hero{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative;overflow:hidden;background:#0d0d15}.hero:before{content:"";position:absolute;inset:0;background-image:var(--hero-bg);background-size:cover;background-position:center;opacity:.13;filter:grayscale(1)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#0e0e17 10%,rgba(14,14,23,.75) 55%,rgba(14,14,23,.95))}.hero-content,.hero-photo{position:relative;z-index:2}.hero-content{padding:8vw 7vw}.eyebrow{color:var(--accent);font-size:14px;letter-spacing:.02em}.hero h2,.page-section h2{font-size:clamp(36px,6vw,82px);line-height:1.2;margin:.15em 0;font-weight:800}.rotating{font-size:clamp(20px,2.2vw,34px)}.rotating span{color:var(--accent);font-weight:700}.lead{max-width:640px;color:#c5c5cc;margin:24px 0}.hero-photo{padding:6vw}.hero-photo img{max-height:78vh;width:100%;object-fit:cover;box-shadow:-24px 24px 0 var(--accent)}.btn{display:inline-block;background:var(--accent);color:#fff;padding:10px 24px;border:1px solid var(--accent);cursor:pointer;box-shadow:-4px 4px #fff;transition:all .22s ease}.btn:hover{background:#fff;color:var(--accent);box-shadow:-4px 4px var(--accent)}
.page-section{min-height:100vh;padding:70px clamp(28px,7vw,110px);display:grid;align-items:center}.about-page{grid-template-columns:.9fr 1.1fr;gap:70px}.section-image img{max-height:72vh;width:100%;object-fit:cover}.section-copy h2{font-size:clamp(38px,5vw,72px)}.section-copy h3{font-weight:400;color:#bbb}.section-copy>p{color:#bcbcc6}.stats{display:flex;gap:28px;margin:28px 0}.stats div{display:grid}.stats strong{font-size:32px;color:var(--accent)}.stats span{color:#aaa}.stacked{display:block}.section-header{margin-bottom:34px}.section-header h2{font-size:clamp(40px,5vw,70px)}.concert-card{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:42px;background:#12121b;border:1px solid var(--line);padding:28px;max-width:1050px}.concert-card img{width:100%;height:100%;max-height:420px;object-fit:cover}.concert-card h3{font-size:30px;margin:0 0 12px}.chip{display:inline-block;border:1px solid #333;padding:4px 10px;margin:4px;color:#ccc}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.filters button{background:#161620;border:1px solid #292934;color:#bbb;padding:8px 16px;cursor:pointer;transition:all .22s ease}.filters button.active,.filters button:hover{background:var(--accent);border-color:var(--accent);color:white}.gallery-grid{columns:3 280px;column-gap:18px}.gallery-item{break-inside:avoid;margin:0 0 18px;background:#13131c;border:1px solid var(--line);transform:translateY(0);transition:transform .25s ease,opacity .25s ease,box-shadow .25s ease}.gallery-item[hidden]{display:none}.gallery-item:hover{transform:translateY(-4px);box-shadow:0 20px 35px rgba(0,0,0,.22)}.gallery-media{display:block;width:100%;border:0;padding:0;background:none;cursor:zoom-in;position:relative}.gallery-media img{width:100%;height:auto}.gallery-media.video span{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.65);font-size:28px}.gallery-item figcaption{padding:12px 14px;display:flex;justify-content:space-between;gap:15px}.gallery-item figcaption span{color:#999}.contact-page{grid-template-columns:1fr 1fr;gap:60px;align-items:start}.contact-info ul{list-style:none;padding:0}.contact-info li{padding:8px 0;border-bottom:1px solid var(--line)}.contact-info iframe{width:100%;height:280px;border:0;margin-top:28px;filter:grayscale(.5)}.contact-form form{display:grid;gap:15px}.contact-form label,.admin-form label{display:grid;gap:6px;color:#aaa}.contact-form input,.contact-form textarea{width:100%;background:#12121b;color:#fff;border:1px solid #2c2c38;padding:12px 14px}.alert{padding:10px 14px;margin-bottom:15px}.alert.success{background:#14381e}.alert.error{background:#421b1b}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:100;display:grid;place-items:center;padding:4vw}.lightbox[hidden]{display:none}.lightbox img,.lightbox video{max-width:92vw;max-height:88vh}.lightbox button{position:absolute;top:20px;left:24px;background:none;border:0;color:white;font-size:46px;cursor:pointer}.lightbox video{display:none}.lightbox.is-video img{display:none}.lightbox.is-video video{display:block}
/* AJAX navigation */
.ajax-progress{position:fixed;top:0;right:250px;left:0;height:2px;background:var(--accent);z-index:130;transform:scaleX(0);transform-origin:right;opacity:0;box-shadow:0 0 18px var(--accent);transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .2s}.ajax-progress.loading{opacity:1;transform:scaleX(.78)}.ajax-progress.done{opacity:0;transform:scaleX(1);transition:transform .18s ease,opacity .25s .12s}
.page-wipe{position:fixed;inset:0 250px 0 0;z-index:120;pointer-events:none;display:grid;grid-template-columns:repeat(3,1fr);visibility:hidden}.page-wipe span{background:#11111a;transform:scaleY(0);transform-origin:bottom}.page-wipe span:nth-child(2){background:#15151f}.page-wipe span:nth-child(3){background:var(--accent)}
body.ajax-leaving .page-wipe{visibility:visible}body.ajax-leaving .page-wipe span{animation:wipeIn .48s cubic-bezier(.77,0,.18,1) forwards}body.ajax-leaving .page-wipe span:nth-child(2){animation-delay:.055s}body.ajax-leaving .page-wipe span:nth-child(3){animation-delay:.11s}
body.ajax-entering .page-wipe{visibility:visible}body.ajax-entering .page-wipe span{transform:scaleY(1);transform-origin:top;animation:wipeOut .58s cubic-bezier(.77,0,.18,1) forwards}body.ajax-entering .page-wipe span:nth-child(2){animation-delay:.06s}body.ajax-entering .page-wipe span:nth-child(3){animation-delay:.12s}
body.ajax-leaving .page-transition-target{animation:contentOut .28s ease forwards}body.ajax-entering .page-transition-target{animation:contentIn .7s cubic-bezier(.16,1,.3,1) both}
body.ajax-entering .section-header,body.ajax-entering .hero-content,body.ajax-entering .section-copy{animation:revealUp .7s .12s cubic-bezier(.16,1,.3,1) both}body.ajax-entering .gallery-item,body.ajax-entering .concert-card,body.ajax-entering .section-image,body.ajax-entering .hero-photo{animation:revealUp .72s .18s cubic-bezier(.16,1,.3,1) both}
@keyframes wipeIn{to{transform:scaleY(1)}}@keyframes wipeOut{to{transform:scaleY(0)}}@keyframes contentOut{to{opacity:.12;transform:scale(.985);filter:blur(7px)}}@keyframes contentIn{from{opacity:0;transform:translateY(20px) scale(.99);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes revealUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page-wipe,.ajax-progress{display:none!important}body.ajax-leaving .page-transition-target,body.ajax-entering .page-transition-target,body.ajax-entering .section-header,body.ajax-entering .hero-content,body.ajax-entering .section-copy,body.ajax-entering .gallery-item,body.ajax-entering .concert-card,body.ajax-entering .section-image,body.ajax-entering .hero-photo{animation:none!important}}
@media(max-width:900px){.sidebar{transform:translateX(100%);transition:.25s}.sidebar.open{transform:none}.mobile-menu{display:block;position:fixed;top:16px;right:16px;z-index:50;border:0;background:var(--accent);color:white;width:48px;height:48px;font-size:25px}.main-shell{margin-right:0}.hero{grid-template-columns:1fr;min-height:auto;padding-top:60px}.hero-content{padding:70px 28px 20px}.hero-photo{padding:25px 38px 80px}.about-page,.contact-page{grid-template-columns:1fr}.page-section{padding:82px 25px}.concert-card{grid-template-columns:1fr}.gallery-grid{columns:2 220px}.brand{padding:58px 18px 18px}.page-wipe{right:0}.ajax-progress{right:0}}
@media(max-width:560px){.gallery-grid{columns:1}.hero h2{font-size:46px}.stats{flex-direction:column}}
