*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0}
img{max-width:100%;height:auto;display:block}a{color:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ico{width:1em;height:1em;vertical-align:-.12em;fill:currentColor}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:2px}

.op{--velvet:#123b4a;--deep:#0b2530;--gold:#c99b45;--goldtx:#ecd29a;--lining:#f1e7d3;--soft:#bccbc8;background:var(--deep);color:var(--lining);font:300 16px/1.6 'Jost',sans-serif;min-height:100vh;display:flex;flex-direction:column}
.op ::selection{background:var(--gold);color:var(--deep)}
.op main{flex:1}
.op .stage{position:relative;overflow:hidden;min-height:500px;display:grid;place-items:center;padding:100px 16px 76px;background:radial-gradient(ellipse at 50% 85%,#3a6670 0%,#16404b 40%,var(--deep) 75%)}
.op .stage.low{min-height:300px;padding:96px 16px 64px}
.op .side{position:absolute;top:0;bottom:0;width:36%;height:100%;z-index:0}
.op .cur-l{left:0}.op .cur-r{right:0;transform:scaleX(-1)}
.op .valance{position:absolute;left:0;right:0;top:0;width:100%;height:110px;z-index:1}
@media (max-width:640px){.op .side{width:15%}.op .valance{height:80px}}
@media (prefers-reduced-motion:no-preference){.op .cur-l{animation:openL 1.9s cubic-bezier(.16,1,.3,1) .15s both}.op .cur-r{animation:openR 1.9s cubic-bezier(.16,1,.3,1) .15s both}}
@keyframes openL{from{transform:translateX(22%)}to{transform:translateX(0)}}
@keyframes openR{from{transform:translateX(-22%) scaleX(-1)}to{transform:scaleX(-1)}}
.op .stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46px;background:linear-gradient(#3b2a1c,#24180f);box-shadow:0 -12px 30px 6px rgba(240,200,120,.18)}
.op .bill{position:relative;z-index:2;text-align:center;max-width:480px}
.op .bill h1{font:400 clamp(42px,7vw,64px)/1.05 'Prata',serif;margin:0 0 4px;color:#fff;text-wrap:balance}
.op .bill .genre{display:block;font:400 14px 'Jost',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--goldtx);margin-bottom:12px}
.op .bill p{margin:0 0 18px;color:var(--lining)}
.op .dates{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.op .dates button{font:400 13px 'Jost',sans-serif;background:rgba(11,37,48,.55);color:var(--lining);border:1px solid var(--gold);padding:8px 14px;cursor:pointer;line-height:1.25;min-width:84px;transition:background .2s}
.op .dates button b{display:block;font:400 24px 'Prata',serif}
.op .dates button:hover{background:rgba(201,155,69,.18)}
.op .dates button[aria-pressed="true"]{background:var(--gold);color:var(--deep)}
.op .dates button:disabled{opacity:.55;cursor:not-allowed;text-decoration:line-through}
.op .buy{margin-top:16px;font:500 13px 'Jost',sans-serif;letter-spacing:.16em;text-transform:uppercase;background:var(--lining);color:var(--deep);border:0;padding:12px 24px;cursor:pointer;text-decoration:none;display:inline-block}
.op .buy:hover{background:#fff}
.op .note{margin:12px 0 0;font-size:14px;color:var(--goldtx);min-height:1.6em}
.op .name{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:14px max(16px,4%);border-top:1px solid #2a4c57;border-bottom:1px solid #2a4c57}
.op .name a.nm{display:flex;align-items:center;gap:12px;font:400 17px 'Prata',serif;color:var(--lining);text-decoration:none}
.op .name a.nm svg{width:40px;height:40px}
.op .name nav{display:flex;flex-wrap:wrap;gap:4px 16px;font:400 12px 'Jost',sans-serif;letter-spacing:.14em;text-transform:uppercase}
.op .name nav a{color:var(--soft);text-decoration:none;padding:3px 0;border-bottom:1px solid transparent}
.op .name nav a:hover{color:var(--lining)}.op .name nav a[aria-current]{color:var(--goldtx);border-color:var(--gold)}
.op .season{padding:0 max(16px,4%);display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:#1e4250}
.op .season a{background:var(--deep);padding:16px 14px;color:var(--lining);text-decoration:none;display:block}
.op .season a:hover{background:#0f2f3c}
.op .season .d{font:400 32px/1 'Prata',serif;color:var(--gold);font-variant-numeric:lining-nums}
.op .season b{display:block;font:400 18px 'Prata',serif;margin-top:8px}
.op .season span{font-size:13px;color:var(--soft)}
.op .col{max-width:860px;margin:0 auto;padding:34px max(16px,4%) 40px}
.op .col h2{font:400 26px/1.2 'Prata',serif;color:#fff;margin:34px 0 8px}
.op .col h3{font:400 20px/1.25 'Prata',serif;color:#fff;margin:0 0 2px}
.op .col p{margin:0 0 14px}
.op .col a{color:var(--goldtx)}
.op .lede{font-size:19px;line-height:1.55}
.op .month{font:400 13px 'Jost',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--goldtx);margin:30px 0 6px;border-bottom:1px solid var(--gold);padding-bottom:6px}
.op .row{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #1e4250}
.op .row .d{font:400 30px/1 'Prata',serif;color:var(--gold)}
.op .row .d small{display:block;font:400 12px 'Jost',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);margin-top:4px}
.op .row b{display:block;font:400 19px 'Prata',serif;color:#fff}
.op .row span{font-size:14px;color:var(--soft)}
.op .row .st{font:500 12px 'Jost',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--goldtx);white-space:nowrap}
.op .row .st.out{color:#9fb0ad;text-decoration:line-through}
@media (max-width:560px){.op .row{grid-template-columns:60px minmax(0,1fr)}.op .row .st{grid-column:2}}
.op .works{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px 28px}
.op .works p{font-size:15px;color:var(--soft);margin:4px 0 0}
.op .works .k{font:400 12px 'Jost',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--goldtx)}
.op dl.k{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 20px;margin:12px 0}
.op dl.k dt{font:400 12px/1.9 'Jost',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--goldtx)}
.op dl.k dd{margin:0}
.op footer{border-top:1px solid #2a4c57;padding:22px max(16px,4%);font-size:14px;color:var(--soft);display:grid;gap:4px}
.op footer a{color:var(--lining)}
