:root{--ob:#0c0a08;--st:#1a1713;--st2:#26211a;--gold:#c9a24a;--gold2:#e7c873;--br:#8c6a3b;--iv:#efe6d2;--grey:#9b9385;--cr:#8e1f26}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;background:var(--ob);color:var(--iv);font:18px/1.6 "Cormorant Garamond","Vazirmatn",Georgia,serif}
h1,h2,h3,.brand,.btn,.chip,nav a{font-family:Cinzel,Georgia,serif}
h2{font-size:clamp(1.8rem,4vw,2.8rem);margin:0;text-align:center;background:linear-gradient(#f3dc94,#b38a36);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.06em}
.sub{text-align:center;color:var(--grey);margin:.3rem 0 2.2rem}
section{padding:5rem 1.25rem}.alt{background:var(--st)}.wrap{max-width:1150px;margin:auto}.narrow{max-width:760px}
a{color:var(--gold2)}:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--gold);color:#000;padding:.5rem;z-index:99}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:.6rem 1.25rem;background:rgba(12,10,8,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--br)}
.brand{display:flex;gap:.5rem;align-items:center;color:var(--gold2);text-decoration:none;font-weight:700;letter-spacing:.15em}
.brand svg{width:30px;height:30px;color:var(--gold)}
nav{display:flex;gap:1.4rem}nav a{color:var(--iv);text-decoration:none;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}nav a:hover{color:var(--gold2)}
.burger{display:none;background:none;border:1px solid var(--br);width:44px;height:40px;cursor:pointer}
.burger span,.burger span:before,.burger span:after{display:block;height:2px;width:20px;background:var(--gold);margin:auto;position:relative;content:""}
.burger span:before{top:-6px;position:absolute}.burger span:after{top:6px;position:absolute}
h1{font-size:clamp(3.5rem,13vw,8rem);margin:.2rem 0;letter-spacing:.14em;background:linear-gradient(#f6e3a2,#a9812f);-webkit-background-clip:text;background-clip:text;color:transparent;animation:rise 1.4s ease-out both}
.lede{max-width:34rem;margin:1.2rem auto 2rem;color:#d8cdb4;font-size:1.25rem}
@keyframes rise{from{opacity:0;transform:translateY(20px);letter-spacing:.3em}to{opacity:1;transform:none}}
.cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:.85rem 1.6rem;border:1px solid var(--gold);color:var(--gold2);text-decoration:none;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;background:none;cursor:pointer;transition:.25s}
.btn:hover{background:rgba(201,162,74,.15)}.btn.gold{background:linear-gradient(#d9b45a,#a07a2c);color:#150f05;font-weight:700}
.frieze{height:22px;background:var(--ob) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='22'%3E%3Cpath d='M0 22V16h6v-6h6V4h8v6h6v6h6v6z' fill='%23c9a24a'/%3E%3Cpath d='M22 22V16h6v-6h6V4h8v6h-2v6h-6v6z' fill='%238c6a3b'/%3E%3C/svg%3E") repeat-x center/44px 22px;opacity:.7}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.6rem}
.card{background:var(--st2);border:1px solid var(--br);outline:1px solid rgba(201,162,74,.35);outline-offset:-7px;padding:.9rem;text-align:left;color:inherit;font:inherit;display:block;width:100%}
.card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;display:block;filter:saturate(.9)}
.card h3{margin:.8rem 0 .1rem;color:var(--gold2);font-size:1.05rem;letter-spacing:.08em}
.card p{margin:.1rem 0;color:var(--grey)}.ph{font-style:italic;opacity:.75}
.tag{display:inline-block;border:1px solid var(--br);padding:0 .5rem;margin:.2rem .25rem 0 0;font-size:.85rem;color:var(--iv)}
.roster{display:grid;gap:.8rem}.row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1rem;align-items:center;padding:.6rem 1rem;border:1px solid var(--st2);background:var(--ob)}
.empty{grid-column:1/-1;text-align:center;border:1px dashed var(--br);padding:2.5rem;color:var(--grey)}
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-top:2rem}.pillars h3{color:var(--gold2);margin:0;font-size:1rem;letter-spacing:.1em}.pillars p{margin:0;color:var(--grey)}
.gal{padding:0;cursor:zoom-in;background:none}.gal img{aspect-ratio:1;}
#contactBox{text-align:center}#contactBox a{margin:.3rem}
footer{text-align:center;padding:3rem 1rem;border-top:1px solid var(--br);background:linear-gradient(var(--st),var(--ob))}footer svg{width:44px;height:44px;color:var(--gold)}footer p{margin:.2rem}.fine{color:var(--grey);font-size:.85rem}
dialog{background:var(--st);color:var(--iv);border:1px solid var(--gold);max-width:min(92vw,720px);max-height:90vh;padding:1.2rem;overflow:auto}dialog::backdrop{background:rgba(0,0,0,.85)}
dialog img{max-width:100%;max-height:75vh;display:block;margin:auto}.x{position:absolute;right:.5rem;top:.3rem;background:none;border:0;color:var(--gold2);font-size:2rem;cursor:pointer}
[dir=rtl]{font-family:Vazirmatn,sans-serif}
@media(max-width:820px){.burger{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--ob);padding:1rem 1.25rem;border-bottom:1px solid var(--br)}nav.open{display:flex}.row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

h1{background-size:100% 200%;animation:rise 1.4s ease-out both,shine 7s linear 1.5s infinite}
@keyframes shine{0%,100%{filter:brightness(1)}50%{filter:brightness(1.35) drop-shadow(0 0 14px rgba(231,200,115,.5))}}
.person{position:relative;overflow:hidden;transition:transform .35s,border-color .35s}
.person:hover{transform:translateY(-4px);border-color:var(--gold2)}.person:hover img{transform:scale(1.05)}


.stage{padding:0;background:var(--ob);border-bottom:1px solid var(--br)}
.stage-img{position:relative;overflow:hidden;background:#120d06}
.stage-img img{display:block;width:100%;height:auto;max-height:calc(100vh - 56px);object-fit:cover;object-position:center;transform-origin:50% 40%;animation:reveal 1.6s ease-out both,drift 26s ease-in-out 1.6s infinite alternate}
.stage-img:after{content:"";position:absolute;inset:auto 0 0;height:14%;background:linear-gradient(transparent,var(--ob));pointer-events:none}
@keyframes reveal{from{opacity:0;filter:brightness(.4)}to{opacity:1;filter:none}}
@keyframes drift{to{transform:scale(1.045)}}
.stage-cta{text-align:center;padding:1.2rem 1.25rem 3rem;margin-top:-1rem;position:relative}
.stage-cta .lede{margin:0 auto 1.4rem}
@media(prefers-reduced-motion:reduce){.stage-img img{animation:none}}

.crest{display:block;width:54px;height:54px;color:var(--gold);margin:.5rem auto .6rem}.person{text-align:center}.person .tag{margin:.2rem .15rem 0}

.music{position:fixed;left:16px;bottom:16px;z-index:30;width:46px;height:46px;border-radius:50%;border:1px solid var(--gold);background:rgba(12,10,8,.9);color:var(--gold2);cursor:pointer;display:grid;place-items:center;transition:.25s}
.music svg{width:22px;height:22px}.music:hover{background:rgba(201,162,74,.2)}
.music .m{display:inline}.music .w{display:none}.music[aria-pressed=true] .m{display:none}.music[aria-pressed=true] .w{display:inline}
.music[aria-pressed=true]{box-shadow:0 0 0 0 rgba(201,162,74,.5);animation:pulse 2.6s ease-out infinite}
@keyframes pulse{to{box-shadow:0 0 0 14px rgba(201,162,74,0)}}
@media(prefers-reduced-motion:reduce){.music{animation:none!important}}
