:root{
  --ink:#0b0a0a;--ink2:#141212;--panel:#1a1616;--line:rgba(201,162,74,.22);
  --gold:#c9a24a;--gold2:#e7c77a;--cream:#f3e9d2;--cream2:#cfc3a9;--wine:#6b1d2e;--wine2:#8d2a3f;
  --max:1180px;--r:14px;
  --display:'Limelight',serif;--deco:'Poiret One',sans-serif;--serif:'Cormorant Garamond',serif;--sans:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;display:block}
a{color:var(--gold2)}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#000;padding:.5rem 1rem;z-index:99}.skip:focus{left:1rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.ribbon{background:var(--wine);color:var(--cream);font-size:13px;text-align:center;padding:.5rem 1rem;letter-spacing:.01em}
.ribbon b{color:#fff}

/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(11,10,10,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{display:flex;flex-direction:column;text-decoration:none;color:var(--cream);line-height:1}
.logo b{font-family:var(--display);font-weight:400;font-size:22px;letter-spacing:.06em;color:var(--gold2)}
.logo small{font-family:var(--deco);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--cream2);margin-top:4px}
.primary ul{display:flex;gap:26px;list-style:none;margin:0;padding:0;align-items:center}
.primary a{color:var(--cream);text-decoration:none;font-size:14px;letter-spacing:.08em;text-transform:uppercase;font-family:var(--deco);font-weight:700}
.primary a:hover{color:var(--gold2)}
.burger{display:none;background:none;border:1px solid var(--line);color:var(--cream);font-size:20px;padding:.3rem .6rem;border-radius:8px}
#mnav{display:none;border-top:1px solid var(--line);background:var(--ink2)}
#mnav ul{list-style:none;margin:0;padding:.5rem 20px 1rem}#mnav a{display:block;padding:.6rem 0;color:var(--cream);text-decoration:none;font-family:var(--deco);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
#mnav.open{display:block}
@media(max-width:860px){.primary{display:none}.burger{display:block}}

.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.35rem;border:1px solid var(--gold);color:var(--gold2);text-decoration:none;border-radius:999px;font-family:var(--deco);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:13px;transition:.2s;background:transparent}
.btn:hover{background:rgba(201,162,74,.12)}
.btn-solid{background:var(--gold);color:#120e06;border-color:var(--gold)}.btn-solid:hover{background:var(--gold2)}
.btn-sm{padding:.55rem 1rem;font-size:12px}

/* deco rule */
.rule{display:flex;align-items:center;gap:14px;color:var(--gold);margin:0 0 1rem}
.rule::before,.rule::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.rule span{font-family:var(--deco);font-weight:700;letter-spacing:.35em;text-transform:uppercase;font-size:12px}
.eyebrow{font-family:var(--deco);font-weight:700;letter-spacing:.32em;text-transform:uppercase;font-size:12px;color:var(--gold)}
h2{font-family:var(--display);font-weight:400;font-size:clamp(30px,4.2vw,50px);letter-spacing:.03em;margin:.2rem 0 1rem;color:var(--cream)}
h3{font-family:var(--deco);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:15px;color:var(--gold2);margin:0 0 .5rem}
.lede{font-family:var(--serif);font-size:clamp(20px,2.3vw,25px);line-height:1.45;color:var(--cream);font-style:italic}
section{padding:84px 0;position:relative}
section+section{border-top:1px solid var(--line)}
.muted{color:var(--cream2)}
.sm{font-size:14px}

/* hero */
.hero{padding:40px 0 70px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1{font-family:var(--display);font-weight:400;line-height:.95;letter-spacing:.02em;margin:.4rem 0 .8rem;font-size:clamp(54px,8.5vw,118px);color:var(--cream)}
.hero h1 span{display:block}.hero h1 .c1{color:var(--gold2)}
.hero .tag{font-family:var(--deco);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:13px;color:var(--cream2);margin:0 0 1rem}
.hero .lede{margin:0 0 1.6rem;max-width:36ch}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:1.4rem}
.hint{font-size:14px;color:var(--cream2);max-width:46ch}.hint b{color:var(--gold2)}

/* the spotlight frame */
.frame{position:relative;aspect-ratio:3/4;border-radius:18px;overflow:hidden;border:1px solid rgba(201,162,74,.45);box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 6px #0b0a0a,0 0 0 7px rgba(201,162,74,.35);background:#111;cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none}
.frame .poster,.frame .real{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.frame .real{--x:50%;--y:40%;--r:160px;
  -webkit-mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),#000 0 62%,transparent 100%);mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),#000 0 62%,transparent 100%);
  transition:--r .4s}
.frame.full .real{-webkit-mask-image:none;mask-image:none}
.frame .ring{position:absolute;left:var(--x,50%);top:var(--y,40%);width:calc(var(--r,160px)*2);height:calc(var(--r,160px)*2);transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(231,199,122,.55);box-shadow:0 0 40px rgba(231,199,122,.25),inset 0 0 30px rgba(231,199,122,.12);pointer-events:none;mix-blend-mode:screen}
.frame.full .ring{opacity:0}
.frame .corner{position:absolute;width:34px;height:34px;border:2px solid var(--gold);pointer-events:none;opacity:.9}
.frame .c1{left:14px;top:14px;border-right:0;border-bottom:0}.frame .c2{right:14px;top:14px;border-left:0;border-bottom:0}.frame .c3{left:14px;bottom:14px;border-right:0;border-top:0}.frame .c4{right:14px;bottom:14px;border-left:0;border-top:0}
.frame .cap{position:absolute;left:0;right:0;bottom:0;padding:14px 18px;background:linear-gradient(transparent,rgba(0,0,0,.75));display:flex;justify-content:space-between;align-items:end;gap:10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-family:var(--deco);font-weight:700;color:var(--cream)}
.frame .cap b{color:var(--gold2)}
.frame .toggle{position:absolute;top:14px;right:14px;z-index:3;background:rgba(11,10,10,.7);border:1px solid var(--gold);color:var(--gold2);border-radius:999px;padding:.45rem .9rem;font-family:var(--deco);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:11px;cursor:pointer;backdrop-filter:blur(6px)}
.frame-wrap{position:relative}
.frame-wrap .sun{position:absolute;inset:-18% -30%;background:conic-gradient(from 180deg at 50% 100%,transparent 0 6deg,rgba(201,162,74,.09) 6deg 12deg,transparent 12deg 18deg,rgba(201,162,74,.09) 18deg 24deg,transparent 24deg 30deg,rgba(201,162,74,.09) 30deg 36deg,transparent 36deg 42deg,rgba(201,162,74,.09) 42deg 48deg,transparent 48deg 54deg,rgba(201,162,74,.09) 54deg 60deg,transparent 60deg 66deg,rgba(201,162,74,.09) 66deg 72deg,transparent 72deg 78deg,rgba(201,162,74,.09) 78deg 84deg,transparent 84deg 90deg,rgba(201,162,74,.09) 90deg 96deg,transparent 96deg 102deg,rgba(201,162,74,.09) 102deg 108deg,transparent 108deg 114deg,rgba(201,162,74,.09) 114deg 120deg,transparent 120deg 126deg,rgba(201,162,74,.09) 126deg 132deg,transparent 132deg 138deg,rgba(201,162,74,.09) 138deg 144deg,transparent 144deg 150deg,rgba(201,162,74,.09) 150deg 156deg,transparent 156deg 162deg,rgba(201,162,74,.09) 162deg 168deg,transparent 168deg 174deg,rgba(201,162,74,.09) 174deg 180deg,transparent 180deg);-webkit-mask-image:radial-gradient(ellipse at 50% 100%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 100%,#000 30%,transparent 75%);pointer-events:none;z-index:0}
.frame{z-index:1}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:34px}.hero h1{font-size:clamp(52px,15vw,92px)}.frame{max-width:460px;margin:0 auto}}

/* marquee */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink2);overflow:hidden;padding:14px 0}
.marquee .track{display:flex;gap:48px;white-space:nowrap;animation:mq 38s linear infinite;width:max-content}
.marquee span{font-family:var(--deco);font-weight:700;letter-spacing:.3em;text-transform:uppercase;font-size:13px;color:var(--cream2)}
.marquee span::after{content:"✦";color:var(--gold);margin-left:48px}
@keyframes mq{to{transform:translateX(-50%)}}

/* listen */
.listen .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.now{position:sticky;top:90px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center}
.now img{width:120px;height:120px;border-radius:10px;object-fit:cover;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.now .t{font-family:var(--serif);font-size:24px;line-height:1.1;color:var(--cream)}
.now .a{font-size:13px;color:var(--cream2);margin:.2rem 0 .6rem}
.now .bar{height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden;margin:.4rem 0}.now .bar i{display:block;height:100%;width:0;background:var(--gold)}
.now .ctl{display:flex;gap:10px;align-items:center}
.now button{background:var(--gold);color:#120e06;border:0;width:40px;height:40px;border-radius:50%;font-size:16px;cursor:pointer}
.now .time{font-family:var(--deco);font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--cream2)}
.tracks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.tracks li{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;padding:12px 6px;border-bottom:1px solid var(--line);cursor:pointer;transition:.15s}
.tracks li:hover,.tracks li.on{background:rgba(201,162,74,.07)}
.tracks img{width:52px;height:52px;border-radius:6px;object-fit:cover}
.tracks .ph{width:52px;height:52px;border-radius:6px;background:rgba(201,162,74,.12)}
.tracks .t{font-weight:600;color:var(--cream)}.tracks .a{font-size:13px;color:var(--cream2)}
.tracks .y{font-family:var(--deco);font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--gold)}
.tracks li.on .t{color:var(--gold2)}
.links{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.2rem}
@media(max-width:900px){.listen .wrap{grid-template-columns:1fr}.now{position:static}}

/* live */
.live .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.live video{width:100%;border-radius:var(--r);border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.6);background:#000;aspect-ratio:3/4;object-fit:cover}
.live .vid{max-width:420px;margin:0 auto}
blockquote{margin:0;padding:0 0 0 20px;border-left:2px solid var(--gold);font-family:var(--serif);font-size:clamp(21px,2.4vw,27px);font-style:italic;line-height:1.4;color:var(--cream)}
blockquote cite{display:block;font-style:normal;font-family:var(--deco);font-weight:700;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:.8rem}
@media(max-width:900px){.live .wrap{grid-template-columns:1fr}}

/* pearl */
.pearl{background:radial-gradient(ellipse at 50% 110%,rgba(107,29,46,.55),transparent 60%),var(--ink2)}
.pearl .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.pearl .art{position:relative;display:grid;gap:14px}
.pearl .rays{position:absolute;inset:-10% -20%;background:repeating-conic-gradient(from 0deg at 50% 45%,rgba(201,162,74,.12) 0 5deg,transparent 5deg 12deg);-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 15%,transparent 62%);mask-image:radial-gradient(circle at 50% 45%,#000 15%,transparent 62%);animation:spin 80s linear infinite;pointer-events:none}
@keyframes spin{to{transform:rotate(360deg)}}
.pearl .portrait{position:relative;margin:0;border:1px solid rgba(201,162,74,.5);border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 6px #141212,0 0 0 7px rgba(201,162,74,.3);background:#111}
.pearl .portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.pearl .portrait figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px 16px;background:linear-gradient(transparent,rgba(0,0,0,.8));font-family:var(--deco);font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2)}
.pearl .duo{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pearl .duo img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;border:1px solid rgba(201,162,74,.35);filter:grayscale(1) contrast(1.05);display:block}
.timeline{list-style:none;margin:1.4rem 0 0;padding:0;border-left:1px solid var(--line)}
.timeline li{padding:0 0 1.1rem 20px;position:relative}
.timeline li::before{content:"";position:absolute;left:-5px;top:9px;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.timeline b{font-family:var(--deco);font-weight:700;letter-spacing:.14em;color:var(--gold2);display:block;font-size:12px;text-transform:uppercase}
@media(max-width:900px){.pearl .wrap{grid-template-columns:1fr}}

/* stage grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:1.5rem}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.card ul{list-style:none;margin:0;padding:0}.card li{padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.06);display:grid;grid-template-columns:1fr auto;gap:12px;font-size:15px;align-items:baseline}
.card li:last-child{border:0}.card li span{color:var(--cream2);font-size:12px;text-align:right;max-width:9em;font-family:var(--deco);font-weight:700;letter-spacing:.06em}
.card li em{font-style:normal;color:var(--gold2)}
.awards{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.4rem}
.award{border:1px solid var(--gold);border-radius:999px;padding:.5rem 1rem;font-family:var(--deco);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:var(--gold2)}
@media(max-width:900px){.grid{grid-template-columns:1fr}}

/* press */
.press .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:900px){.press .wrap{grid-template-columns:1fr}}

/* book */
.book .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
form{display:grid;gap:12px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{display:block;font-family:var(--deco);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--cream2);margin-bottom:4px}
input,select,textarea{width:100%;padding:.75rem .9rem;border-radius:10px;border:1px solid var(--line);background:#0f0d0d;color:var(--cream);font:inherit;font-size:15px}
textarea{min-height:120px;resize:vertical}
.contact a{display:block;margin:.3rem 0;text-decoration:none}
.contact a:hover{text-decoration:underline}
@media(max-width:900px){.book .wrap{grid-template-columns:1fr}.row{grid-template-columns:1fr}}

footer{border-top:1px solid var(--line);padding:34px 0;color:var(--cream2);font-size:13px}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center}
footer a{color:var(--cream2);text-decoration:none}footer a:hover{color:var(--gold2)}

@media(prefers-reduced-motion:reduce){.marquee .track,.pearl .rays{animation:none}}
