.opening-section{background:#9b2b26;color:var(--paper);position:relative;isolation:isolate}
.opening-inner{padding-block:55px 87px}
.opening-topline{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.75rem;letter-spacing:.13em;padding-bottom:24px;border-bottom:1px solid #f5f1e744;color:#f5e5d7;margin-bottom:58px}
.opening-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;align-items:center}
.opening-poster-space{perspective:1200px;padding:15px 8px 12px}
.opening-poster{background:var(--paper);color:var(--ink);max-width:435px;width:100%;padding:29px 30px 24px;box-shadow:7px 8px 0 #74201c,14px 18px 0 #651f1c,0 33px 70px #3e13184d;transform:rotateY(6deg) rotateX(3deg) rotate(-3deg);transition:transform .35s ease;transform-style:preserve-3d;border-radius:2px}
.poster-brand{font-size:.75rem;letter-spacing:.14em;text-align:center;border-bottom:1px solid #12131230;padding-bottom:23px}
.poster-date{display:flex;flex-direction:column;align-items:center;margin-block:11px 25px}
.poster-day{font-family:var(--serif);font-size:clamp(10rem,20vw,19rem);letter-spacing:-.075em;padding-right:.075em;line-height:1.05;color:#9b2b26;font-weight:400}
.poster-month{width:100%;display:flex;align-items:center;justify-content:center;gap:22px;font-size:1.2rem;letter-spacing:.13em;line-height:1.5}
.poster-year{font-size:.875rem;letter-spacing:.09em;border-left:1px solid #12131244;padding-left:22px}
.poster-place{border-top:1px solid #12131230;padding-top:20px;display:flex;align-items:center;justify-content:center;gap:18px;font-size:.75rem;letter-spacing:.12em;color:#5b5c54}
.opening-copy{padding-bottom:7px}
.opening-kicker{font-size:.75rem;letter-spacing:.13em;color:#efd9c6;margin-bottom:25px}
.opening-copy h2{font-size:clamp(2.6rem,4.05vw,4.3rem);line-height:1.1;letter-spacing:-.045em;font-weight:500;margin:0;max-width:570px}
.opening-copy h2 em{font-family:var(--serif);font-weight:400;font-size:1.04em;letter-spacing:-.04em}
.opening-description{font-size:1rem;line-height:1.85;color:#f1ddd1;margin-top:28px;max-width:460px}
.opening-description strong{font-weight:600;color:var(--paper)}
.opening-button{margin-top:31px;box-shadow:0 9px 24px #50191533}
.opening-button .button-arrow{background:#292b24}
.opening-button:hover .button-arrow{background:#121312}
.opening-handle{display:block;margin-top:15px;font-size:.8125rem;color:#efdbcc}
.opening-section a:focus-visible{outline-color:var(--paper)}
@media(hover:hover) and (pointer:fine){.opening-poster:hover{transform:rotateY(0deg) rotateX(0deg) rotate(-1deg)}}
@media(min-width:1500px){.opening-inner{padding-block:66px 110px}.opening-layout{gap:110px}.opening-poster{max-width:480px}}
@media(max-width:1100px){.opening-layout{grid-template-columns:.95fr 1.05fr;gap:55px}.opening-poster{padding:25px 25px 20px}.poster-month{font-size:1rem;gap:17px}.poster-year{padding-left:17px}.opening-copy h2{font-size:clamp(2.4rem,4.05vw,3.5rem)}}
@media(max-width:760px){.opening-inner{padding-block:38px 57px}.opening-topline{padding-bottom:19px;margin-bottom:32px;font-size:.75rem;letter-spacing:.075em}.opening-layout{grid-template-columns:1fr;gap:43px}.opening-copy{grid-row:1;padding:0}.opening-kicker{margin-bottom:19px;font-size:.75rem}.opening-copy h2{font-size:clamp(2.5rem,8.2vw,3.8rem);line-height:1.12}.opening-description{margin-top:22px;max-width:100%;line-height:1.8}.opening-button{margin-top:26px}.opening-handle{font-size:.8125rem}.opening-poster-space{padding:8px 15px 15px;width:100%;max-width:430px;justify-self:center}.opening-poster{padding:24px 25px 21px;box-shadow:5px 6px 0 #74201c,10px 12px 0 #651f1c,0 25px 45px #3e131855;transform:rotate(-2.5deg)}.poster-brand{padding-bottom:18px;font-size:.75rem;letter-spacing:.08em}.poster-day{font-size:clamp(10rem,49vw,16rem)}.poster-date{margin-block:13px 22px}.poster-month{font-size:1.15rem}.poster-year{font-size:.875rem}.poster-place{padding-top:17px;font-size:.75rem}}
@media(max-width:370px){.opening-topline{letter-spacing:.02em}.opening-topline>span{max-width:115px;text-align:right}.opening-copy h2{font-size:2.35rem}.opening-button{gap:12px;padding-left:14px}.opening-poster-space{padding-inline:12px}.opening-poster{padding-inline:20px}.poster-brand{font-size:.75rem;letter-spacing:.04em}.poster-month{font-size:1rem;gap:13px}.poster-year{padding-left:13px}.poster-place{gap:12px;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){.opening-poster,.opening-poster:hover{transition:none;transform:none}}
