:root{
  --paper:#F0EDE6; --paper2:#E6E2D8; --ink:#141110; --ink2:#1D1917;
  --mut:#565149; --dim:#867F72; --red:#DD3A1E; --red2:#F14C2E;
  --line:#D6D1C6; --line-d:rgba(240,237,230,.16);
  --fd:'Syne',system-ui,sans-serif; --ft:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--ft);font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
.wrap{max-width:1220px;margin:0 auto;padding:0 46px}
@media(max-width:800px){.wrap{padding:0 22px}}
.fd{font-family:var(--fd)}
.ey{font-family:var(--ft);font-weight:600;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--red)}

/* nav */
nav{position:sticky;top:0;z-index:100;background:rgba(240,237,230,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:18px 46px}
.logo{font-family:var(--fd);font-weight:800;font-size:24px;letter-spacing:-.01em}
.logo span{color:var(--red)}
.nlinks{display:flex;gap:32px}
.nlinks a{font-family:var(--ft);font-weight:500;font-size:13px;color:var(--mut);text-decoration:none;transition:.2s}
.nlinks a:hover{color:var(--ink)}
.nbtn{font-family:var(--ft);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:var(--paper);padding:11px 20px;text-decoration:none;transition:.25s}
.nbtn:hover{background:var(--red)}
@media(max-width:860px){.nlinks{display:none}nav{padding:14px 22px}}

/* hero split */
.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:90vh}
.hero-l{display:flex;flex-direction:column;justify-content:center;padding:60px 5vw 60px 46px}
.hero-l .ey{margin-bottom:26px}
.hero h1{font-family:var(--fd);font-weight:800;font-size:clamp(3rem,7vw,6.6rem);line-height:.92;letter-spacing:-.02em;margin-bottom:28px}
.hero h1 em{font-style:normal;color:var(--red)}
.hero p{font-size:1.12rem;color:var(--mut);max-width:40ch;margin-bottom:34px}
.hero .cta{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.hero .lnk{font-family:var(--ft);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:6px}
.hero .lnk.plain{border-bottom:2px solid transparent;color:var(--mut)}.hero .lnk.plain:hover{color:var(--ink)}
.hero-r{position:relative;background:#1a1a1a center/cover;filter:grayscale(1) contrast(1.05)}
.hero-r::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper),transparent 20%)}
@media(max-width:860px){.hero{grid-template-columns:1fr;min-height:auto}.hero-l{order:2;padding:48px 22px}.hero-r{order:1;min-height:56vh}.hero-r::after{background:linear-gradient(0deg,var(--paper),transparent 40%)}}

section{position:relative}
/* manifesto */
.mani{padding:120px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mani h2{font-family:var(--fd);font-weight:700;font-size:clamp(1.9rem,4.6vw,3.6rem);line-height:1.08;letter-spacing:-.01em;max-width:24ch}
.mani h2 em{font-style:normal;color:var(--red)}
.mani .row{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:end;margin-top:6px}
.mani p{color:var(--mut);font-size:1.06rem;max-width:44ch}
@media(max-width:800px){.mani .row{grid-template-columns:1fr;gap:20px}}

/* SIGNATURE scroll performance */
.perf{position:relative;height:360vh;background:var(--ink)}
.perf-sticky{position:sticky;top:0;height:100vh;overflow:hidden;color:#fff}
.act{position:absolute;inset:0;opacity:0;transition:opacity .9s ease}
.act.on{opacity:1}
.act .aimg{position:absolute;inset:0;background:#111 center/cover;filter:grayscale(1) brightness(.46) contrast(1.08);transform:scale(1.05);transition:transform 1.2s ease}
.act.on .aimg{transform:scale(1)}
.act .aimg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,13,12,.8),rgba(15,13,12,.2) 55%,rgba(15,13,12,.55))}
.act .actxt{position:absolute;left:0;bottom:12vh;z-index:2;padding:0 46px;max-width:760px}
.act .anum{font-family:var(--fd);font-weight:800;font-size:clamp(4rem,11vw,10rem);line-height:.8;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.5);letter-spacing:-.02em;margin-bottom:8px}
.act .atitle{font-family:var(--fd);font-weight:800;font-size:clamp(2.2rem,5vw,4rem);line-height:1;letter-spacing:-.01em;margin-bottom:14px}
.act .atitle b{color:var(--red2)}
.act .adesc{font-size:1.08rem;color:rgba(255,255,255,.85);max-width:42ch;font-weight:300}
.act .ameta{font-family:var(--ft);font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--red2);margin-top:18px}
.perf-hd{position:absolute;top:8vh;left:46px;z-index:3}
.perf-hd .ey{color:var(--red2)}
.perf-hd h2{font-family:var(--fd);font-weight:700;font-size:clamp(1.4rem,2.4vw,2rem);color:#fff;margin-top:8px}
.perf-prog{position:absolute;top:8vh;right:46px;z-index:3;display:flex;gap:10px;align-items:center}
.perf-prog .pd{font-family:var(--fd);font-weight:700;font-size:13px;color:rgba(255,255,255,.4);transition:color .3s}
.perf-prog .pd.on{color:#fff}
.perf-bar{position:absolute;left:46px;right:46px;bottom:6vh;z-index:3;height:2px;background:rgba(255,255,255,.18)}
.perf-bar i{display:block;height:100%;width:0;background:var(--red);transition:width .2s linear}
@media(max-width:800px){.act .actxt,.perf-hd{padding:0 22px;left:0}.perf-hd{left:22px}.perf-prog{right:22px}.perf-bar{left:22px;right:22px}}

/* repertoire */
.rep{padding:120px 0}
.rep .head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:46px}
.rep h2{font-family:var(--fd);font-weight:700;font-size:clamp(2rem,4.4vw,3.4rem);line-height:1;letter-spacing:-.01em}
.rlist{border-top:1px solid var(--ink)}
.rrow{display:grid;grid-template-columns:auto 1fr auto auto;gap:30px;align-items:center;padding:26px 6px;border-bottom:1px solid var(--line);transition:padding-left .3s,background .2s}
.rrow:hover{background:var(--paper2);padding-left:16px}
.rrow .rn{font-family:var(--fd);font-weight:800;font-size:1.1rem;color:var(--red)}
.rrow .rt{font-family:var(--fd);font-weight:700;font-size:clamp(1.3rem,2.4vw,1.9rem)}
.rrow .rt small{display:block;font-family:var(--ft);font-weight:400;font-size:13px;color:var(--mut);margin-top:3px}
.rrow .rd{font-family:var(--ft);font-weight:500;font-size:13px;color:var(--mut);letter-spacing:.02em}
.rrow .rgo{font-family:var(--ft);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border-bottom:2px solid var(--red);padding-bottom:4px;white-space:nowrap}
@media(max-width:760px){.rrow{grid-template-columns:auto 1fr;gap:6px 16px}.rrow .rd{grid-column:2}.rrow .rgo{grid-column:2;justify-self:start}}

/* ensemble */
.ens{padding:0 0 120px}
.ens .row{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.ens .pic{aspect-ratio:4/5;overflow:hidden;background:#1a1a1a center/cover;filter:grayscale(1) contrast(1.05)}
.ens h2{font-family:var(--fd);font-weight:700;font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.06;margin-bottom:18px}
.ens h2 em{font-style:normal;color:var(--red)}
.ens p{color:var(--mut);font-size:1.06rem;margin-bottom:16px;max-width:46ch}
.ens .stats{display:flex;gap:44px;margin-top:26px;border-top:1px solid var(--line);padding-top:24px}
.ens .stats .s .v{font-family:var(--fd);font-weight:800;font-size:2rem;line-height:1}
.ens .stats .s .k{font-family:var(--ft);font-weight:500;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin-top:6px}
@media(max-width:800px){.ens .row{grid-template-columns:1fr;gap:30px}.ens .pic{aspect-ratio:3/2;order:-1}}

/* tickets CTA */
.tix{padding:110px 0;background:var(--ink);color:var(--paper);text-align:center}
.tix .ey{color:var(--red2)}
.tix h2{font-family:var(--fd);font-weight:800;font-size:clamp(2.2rem,5.4vw,4.4rem);line-height:.98;letter-spacing:-.015em;margin:16px 0 14px}
.tix h2 em{font-style:normal;color:var(--red2)}
.tix p{color:rgba(240,237,230,.7);max-width:44ch;margin:0 auto 32px}
.tix form{display:flex;gap:0;max-width:480px;margin:0 auto;border-bottom:1px solid rgba(255,255,255,.3)}
.tix input{flex:1;background:transparent;border:none;color:var(--paper);font-family:var(--ft);font-size:16px;padding:15px 4px}
.tix input:focus{outline:none}.tix input::placeholder{color:rgba(240,237,230,.5)}
.tix button{background:transparent;border:none;color:var(--red2);font-family:var(--ft);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:0 8px}

footer{background:var(--ink2);color:#C9C3B7;padding:56px 46px 40px}
.foot{max-width:1220px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:28px}
.foot .logo{color:var(--paper)}.foot .logo span{color:var(--red2)}
.foot .fc{font-family:var(--ft);font-size:13.5px;line-height:1.9}
.foot .fc b{color:var(--paper);font-weight:500}
.foot-bot{max-width:1220px;margin:34px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#8E8779;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

.rv{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}
