:root{--blue:#1855d8;--yellow:#f4d84c;--plum:#401d4f;--milk:#f8f4ed;--ink:#25213b;--serif:'Playfair Display',serif;--sans:'DM Sans',sans-serif;--mono:'JetBrains Mono',monospace}*{box-sizing:border-box}body{margin:0;background:var(--milk);color:var(--ink);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}header{height:74px;position:absolute;z-index:3;top:0;width:100%;padding:0 6%;display:flex;align-items:center;justify-content:space-between;color:var(--ink)}.brand{display:flex;gap:9px;align-items:center;font-weight:700}.brand img{height:37px;width:37px}.brand small{display:block;font:9px var(--mono);text-transform:uppercase}header nav,footer nav{display:flex;gap:21px;font:14px var(--mono);text-transform:uppercase}.overture{min-height:760px;display:grid;grid-template-columns:.87fr 1.13fr;position:relative;background:var(--milk)}.overture>img{width:100%;height:100%;object-fit:cover}.overture>div{padding:150px 8% 80px;align-self:center}.overture p,.pulse p:first-child,.cast p:first-child,.phrase p:first-child,.arc p:first-child,.orchestra p:first-child,.rooms p:first-child,.cues p:first-child,.notes p:first-child,.booking p:first-child,.curtain p{font:11px var(--mono);letter-spacing:.09em;color:var(--blue)}.overture h1{font:clamp(4.3rem,7.5vw,8rem)/.82 var(--serif);letter-spacing:-.08em;margin:0 0 27px}.overture h1 em,.pulse h2 em,.cast h2 em,.phrase h2 em,.arc h2 em,.orchestra h2 em,.rooms h2 em,.cues h2 em,.notes h2 em,.booking h2 em,.curtain h2 em{color:var(--blue)}.overture>div>p:not(:first-child){max-width:500px;font-size:18px;line-height:1.7}.overture a{display:block;width:max-content;margin-top:28px;min-height:48px;padding:13px 16px;background:var(--blue);color:#fff;font-weight:700}.pulse{padding:110px 8%;background:var(--yellow);display:grid;grid-template-columns:.65fr .75fr 1fr;gap:35px}.pulse h2,.cast h2,.phrase h2,.arc h2,.orchestra h2,.rooms h2,.cues h2,.notes h2,.booking h2,.curtain h2{font:clamp(3.2rem,5.5vw,6.5rem)/.86 var(--serif);letter-spacing:-.07em;margin:0}.pulse>img{height:370px;width:100%;object-fit:cover}.beats{align-self:end}.beats button{min-height:45px;padding:9px 12px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-weight:700}.beats .active{background:var(--plum);color:#fff}.beats output{display:block;margin-top:20px;background:var(--milk);padding:20px;border-left:7px solid var(--blue)}.beats output b,#arcOutput b{font:12px var(--mono);color:var(--blue)}.beats output p,#arcOutput p{line-height:1.7;margin:10px 0 0}.cast{padding:110px 8%;display:grid;grid-template-columns:1fr .72fr .72fr .72fr;gap:20px;background:#fff}.cast>div{padding-right:28px}.cast>div>p:not(:first-child){line-height:1.75}.cast article{padding:12px;background:var(--milk);border-bottom:8px solid var(--yellow)}.cast article img{height:250px;width:100%;object-fit:cover}.cast article span{display:block;margin-top:14px;font:10px var(--mono);color:var(--blue)}.cast article h3{font:31px/1 var(--serif);margin:15px 0}.cast article p{line-height:1.65}.phrase{padding:110px 8%;background:var(--blue);color:#fff;display:grid;grid-template-columns:.8fr 1.05fr .58fr;gap:40px}.phrase p:first-child{color:var(--yellow)}.phrase h2 em{color:var(--yellow)}.phrase>div>p:not(:first-child){line-height:1.75}.phrase ol{list-style:none;border-top:1px solid #fff;margin:0;padding:0}.phrase li{display:grid;grid-template-columns:48px 1fr 1fr;gap:14px;padding:18px 0;border-bottom:1px solid #fff}.phrase li span{font:12px var(--mono);color:var(--yellow)}.phrase li b{font:25px/1 var(--serif)}.phrase li p{margin:0;line-height:1.6}.phrase>img{height:390px;width:100%;object-fit:cover}.arc{padding:115px 8%;display:grid;grid-template-columns:.8fr 1.1fr;gap:10vw;background:var(--milk)}.arc>img{height:500px;width:100%;object-fit:cover}.arc>div{align-self:center}.arc>div>p:not(:first-child){line-height:1.75}.arc input{width:100%;accent-color:var(--blue);margin:20px 0}.arc #arcOutput{padding:20px;background:#fff;border-left:7px solid var(--yellow)}.orchestra{padding:110px 8%;display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;background:var(--plum);color:#fff}.orchestra p:first-child{color:var(--yellow)}.orchestra h2 em{color:var(--yellow)}.orchestra-lines{align-self:end}.orchestra-lines p{margin:0;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.7);font-size:18px}.orchestra-lines span{display:block;color:var(--yellow);font:11px var(--mono);margin-bottom:5px}.rooms{padding:110px 8%;background:#fff}.rooms>div:first-child{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.room-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.room-grid article{min-height:390px;padding:15px;display:flex;flex-direction:column;justify-content:end;background:var(--milk);border-top:7px solid var(--blue)}.room-grid article img{height:220px;width:100%;object-fit:cover;margin-bottom:auto}.room-grid article b{font:34px var(--serif);margin-top:20px}.room-grid article p{line-height:1.7}.room-grid article span{font:10px var(--mono);color:var(--blue);margin-top:7px}.cues{padding:115px 8%;display:grid;grid-template-columns:.7fr 1.3fr;gap:10vw;background:var(--yellow)}.cue-list{border-top:1px solid var(--ink)}.cue-list p{display:grid;grid-template-columns:60px 1fr 1.2fr;gap:15px;margin:0;padding:20px 0;border-bottom:1px solid var(--ink);line-height:1.6}.cue-list span{font:12px var(--mono);color:var(--blue)}.cue-list b{font:26px/1 var(--serif)}.notes{padding:110px 8%;display:grid;grid-template-columns:.72fr 1.28fr;gap:10vw;background:var(--ink);color:#fff}.notes p:first-child{color:var(--yellow)}.notes h2 em{color:var(--yellow)}.accordion-item{border:0;border-radius:0!important;border-bottom:1px solid rgba(255,255,255,.6);background:transparent}.accordion-button{background:transparent!important;color:#fff!important;box-shadow:none!important;padding:22px 0;font:600 18px var(--sans)}.accordion-button:after{filter:invert(1)}.accordion-body{padding:0 0 22px;line-height:1.75;color:#ebeaf1}.booking{padding:115px 8%;display:grid;grid-template-columns:.75fr .75fr 1fr;gap:35px;background:var(--milk)}.booking>img{height:500px;width:100%;object-fit:cover}.booking>div{align-self:center}.booking>div>p:not(:first-child){line-height:1.75}.booking form{align-self:center;padding:28px;background:var(--blue);color:#fff;display:grid;gap:12px}.form-control,.form-select{font-size:16px;border-radius:0;padding:13px}.booking textarea{min-height:115px}.booking label{font-size:14px}.booking button{min-height:48px;padding:13px;border:0;background:var(--yellow);color:var(--ink);font-weight:700}.booking #result{margin:0;font-weight:700}.curtain{padding:110px 8%;background:var(--plum);color:#fff;display:flex;justify-content:space-between;align-items:end;min-height:390px}.curtain p{color:var(--yellow)}.curtain h2 em{color:var(--yellow)}.dots{display:flex;gap:15px}.dots i{height:35px;width:35px;border-radius:50%;background:var(--yellow)}.dots i:nth-child(2),.dots i:nth-child(4){background:var(--blue)}footer{padding:55px 8%;background:#fff;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}footer p{margin:0;max-width:315px;line-height:1.7}@media(max-width:760px){header{height:64px;padding:0 5%}header nav{display:none}.overture{grid-template-columns:1fr;padding-top:64px}.overture>img{height:390px;order:2}.overture>div{padding:82px 8% 55px}.pulse,.cast,.phrase,.arc,.orchestra,.cues,.notes,.booking{grid-template-columns:1fr;gap:34px;padding:75px 7%}.pulse>img{height:320px}.cast>div{padding:0}.cast article img{height:290px}.phrase li{grid-template-columns:38px 1fr}.phrase li p{grid-column:2}.phrase>img{height:320px}.arc>img{height:340px}.rooms{padding:75px 7%}.rooms>div:first-child{display:block}.room-grid{grid-template-columns:1fr}.room-grid article{min-height:0}.cue-list p{grid-template-columns:42px 1fr}.cue-list p:not(:last-child){padding-bottom:15px}.cue-list p{font-size:15px}.cue-list p b{font-size:24px}.booking>img{height:340px}.booking form{padding:22px}.curtain{padding:75px 7%;display:block}.dots{margin-top:35px}footer{padding:45px 7%;display:grid;grid-template-columns:1fr 1fr}footer p{grid-column:1/-1}}
