/* A single theatre stage: the film extends behind navigation, type, facts and CTA. */
.hero-stage{position:relative;isolation:isolate;overflow:hidden;background:#111d31;color:#fff8f0}
.stage-atmosphere{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#101a2d}
.stage-atmosphere .hero-poster,.stage-atmosphere>.hero-film{position:absolute;inset:-1%;width:102%;height:102%;object-fit:cover;object-position:50% 58%;filter:blur(1px) saturate(.9);pointer-events:none;transition:opacity 1.3s ease}
.stage-atmosphere>.hero-film{opacity:0}
.hero-stage.has-film .hero-film{opacity:1}
.hero-stage.has-film .hero-poster{opacity:0}
.stage-atmosphere:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101b2cba 0%,#142a417a 55%,#54322066 100%),linear-gradient(180deg,#102337a6 0%,#152a4329 40%,#101f37ad 100%),radial-gradient(ellipse at 88% 9%,#d987414d,transparent 62%),radial-gradient(ellipse at 95% 90%,#ed994e45,transparent 50%)}
.hero-stage .site-header{border-color:#d5e6f333;color:#fff8f0}
.hero-stage .site-header nav>a:not(.nav-ticket):hover{border-color:#f4b8cf}
.hero-stage .nav-ticket{background:transparent;border:1px solid #d5e6f366;color:#fff8f0}
.hero-stage .nav-ticket:hover{background:#fff7f214;border-color:#fff8f0}
.hero-stage a:focus-visible,.hero-stage button:focus-visible{outline-color:var(--blush)}
.stage-content{padding-top:42px}
.stage-topline{display:flex;justify-content:space-between;gap:20px;font:10px/1.5 var(--sans);letter-spacing:2.1px;color:#e1edf6}
.stage-topline>p:before{content:'';display:inline-block;width:24px;height:1px;background:var(--sky);vertical-align:middle;margin-right:16px}
.stage-topline>span{font-size:9px;letter-spacing:1.5px;color:var(--sky)}
.stage-composition{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:55px;margin:34px 0 38px}
.stage-composition h1{font:400 clamp(68px,8.7vw,128px)/.95 var(--serif);letter-spacing:-5px;margin:0}
.stage-composition h1>span,.stage-composition h1>em{display:block}
.stage-composition h1>span:nth-child(2){padding-left:clamp(20px,5.6vw,90px)}
.stage-composition h1>em{padding-left:clamp(54px,11vw,170px);font-weight:400;color:var(--apricot)}
.stage-date{padding:0 0 4px 0;text-align:right}
.stage-date time{display:flex;flex-direction:column;align-items:flex-end}
.stage-day{font:400 clamp(60px,7.6vw,112px)/1 var(--serif);letter-spacing:-7px;white-space:nowrap}
.stage-day>span{color:var(--apricot)}
.stage-year{display:flex;gap:13px;justify-content:space-between;width:100%;padding-top:15px;font-size:11px;letter-spacing:2px}
.stage-year i{font-style:normal;color:#b5cee4}
.stage-hour{font:400 33px/1 var(--serif);letter-spacing:-.7px;margin-top:30px}
.stage-bottom{display:grid;grid-template-columns:1.15fr 1fr auto;align-items:center;gap:45px;border-top:1px solid #d5e6f34d;padding-top:30px}
.stage-intro{font:400 24px/1.3 var(--serif);letter-spacing:-.3px}
.stage-intro>span{display:block;margin-top:6px;font:12px/1.5 var(--sans);letter-spacing:0;color:#dce6ee}
.stage-venue strong{display:block;font-size:18px;font-weight:500;line-height:1.4}
.stage-venue>span{display:block;font-size:12px;margin-top:7px;color:#dce6ee}
.stage-booking{width:290px}
.stage-cta{display:flex;align-items:center;justify-content:space-between;gap:35px;width:100%;min-height:60px;padding:17px 24px;background:var(--apricot);color:var(--ink);border:1px solid var(--apricot);font-size:15px;transition:background .2s ease,transform .2s ease}
.stage-cta>span{font-size:23px;line-height:1}
.stage-cta:hover{background:#ffd2b4;transform:translateY(-2px)}
.stage-booking>span{display:block;text-align:center;font-size:10px;line-height:1.5;letter-spacing:.1px;color:#dce6ee;margin-top:8px}
.stage-footline{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:27px;padding-bottom:15px;color:#dce6ee}
.stage-footline>a{display:inline-flex;align-items:center;gap:28px;font-size:11px;min-height:44px}
.stage-footline>a:hover{color:white}
.stage-footline>span{font-size:8px;letter-spacing:1.4px;padding-left:4px}
@media(min-width:1600px){.stage-content{padding-top:56px}.stage-composition{margin-block:42px 55px}.stage-bottom{padding-top:36px}.stage-footline{margin-top:34px;padding-bottom:22px}}
@media(max-width:1100px){.stage-composition{gap:30px}.stage-composition h1{font-size:8.8vw;letter-spacing:-3.6px}.stage-day{font-size:8vw;letter-spacing:-4px}.stage-year{font-size:9px;letter-spacing:1px}.stage-bottom{gap:25px}.stage-intro{font-size:21px}.stage-intro>span{font-size:11px;max-width:225px}.stage-venue strong{font-size:17px}.stage-venue>span{font-size:11px}.stage-booking{width:240px}.stage-cta{padding-inline:20px}.stage-booking>span{font-size:9px}.stage-composition{margin-bottom:32px}}
@media(max-width:760px){
  .stage-content{padding-top:28px}
  .stage-topline{font-size:8px;letter-spacing:1.6px}
  .stage-topline>p:before{width:16px;margin-right:10px}
  .stage-topline>span{display:none}
  .stage-composition{grid-template-columns:1fr;gap:26px;margin:30px 0 22px}
  .stage-composition h1{font-size:clamp(44px,12.8vw,88px);letter-spacing:-2.4px;line-height:.98}
  .stage-composition h1>span:nth-child(2){padding-left:5vw}
  .stage-composition h1>em{padding-left:13vw}
  .stage-date{padding:0;text-align:left}
  .stage-date time{display:flex;flex-direction:row;align-items:center;gap:13px}
  .stage-day{font:400 36px/1 var(--serif);letter-spacing:-1.7px}
  .stage-year{display:flex;flex-direction:column;gap:2px;width:auto;padding:0;font-size:8px;letter-spacing:1px;line-height:1.6}
  .stage-year i{display:none}
  .stage-hour{margin:0 0 0 auto;padding-left:18px;font:400 29px/1 var(--serif);letter-spacing:-.5px;border-left:1px solid #d5e6f34d}
  .stage-bottom{grid-template-columns:1fr;gap:17px;padding-top:19px}
  .stage-intro{font-size:21px;line-height:1.3}
  .stage-intro>span{font-size:11px;max-width:none;margin-top:3px}
  .stage-venue strong{font-size:15px}
  .stage-venue>span{font-size:11px;margin-top:2px}
  .stage-booking{width:100%;margin-top:3px}
  .stage-cta{min-height:54px;padding:14px 20px;font-size:14px}
  .stage-booking>span{font-size:9px;margin-top:7px}
  .stage-footline{margin-top:9px;padding-bottom:12px;gap:15px}
  .stage-footline>a{font-size:10px;gap:17px}
  .stage-footline>span{font-size:7px;letter-spacing:1px;max-width:136px;text-align:center;padding:0}
  .stage-atmosphere .hero-poster,.stage-atmosphere>.hero-film{object-position:50% 50%;filter:blur(1px) saturate(.9)}
  .stage-atmosphere:after{background:linear-gradient(180deg,#102b43c2 0%,#142d4377 45%,#10263ace 100%),linear-gradient(125deg,#357ca33d,transparent 60%,#e58a4847)}
  body:has(.hero-stage.is-in-view) .mobile-ticket{display:none}
}
@media(max-width:370px){.hero-stage .brand{font-size:36px}.hero-stage .brand-star{font-size:24px}.hero-stage .site-header nav{gap:12px}.hero-stage .site-header nav>a{white-space:nowrap}.hero-stage .nav-ticket{gap:12px;padding-inline:12px}.stage-composition h1{font-size:12.8vw;letter-spacing:-2px}.stage-composition{margin-top:25px;gap:23px}.stage-content{padding-top:24px}.stage-intro{font-size:20px}.stage-bottom{gap:15px}.stage-booking>span{font-size:8px}.stage-footline>span{max-width:113px;font-size:6px}.stage-footline{gap:8px}}
@media(prefers-reduced-motion:reduce){.stage-atmosphere .hero-poster,.stage-atmosphere>.hero-film,.stage-cta{transition:none}.stage-cta:hover{transform:none}}
