/* Edition 23: the director's invitation, vocal artwork and evening hotels. */
.invitation {background:#090606}
.invitation::before {background:radial-gradient(ellipse at 90% 44%,#490b0c33,transparent 65%);opacity:1}
.invitation-message {max-width:560px;font-size:clamp(23px,6.15vw,28px);line-height:1.42;color:#e7dac6}
.invitation .display {font-size:clamp(40px,11vw,62px);line-height:1.08}
.invitation-signature {font-size:clamp(36px,10vw,46px);margin-top:24px}
.invitation-performance {position:relative;height:clamp(300px,96vw,440px);margin:25px calc(-1 * var(--page)) -20px;overflow:hidden;mask-image:linear-gradient(transparent,#000 14%,#000 83%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 14%,#000 83%,transparent)}
.invitation-performance img {display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.invitation-date-lockup {margin-top:28px}
.invitation-time {font-size:18px;letter-spacing:.025em;color:#f0d5a4}
.event-ticker-group .ticker-act {font-family:Manrope,Arial,sans-serif;font-size:inherit;font-weight:500;letter-spacing:.08em}
.dresscode {background:#0b0806}
.cabaret-art.dress-musicians {height:auto;min-height:0;aspect-ratio:4/5;width:100%;max-width:620px;margin:auto;background:#0b0806}
.dress-musicians.video-scene>.scene-video,.dress-musicians.video-scene>.scene-poster {top:0;bottom:auto;width:100%;height:100%;object-fit:cover;object-position:50% 24%;transform:none}
.cabaret-art.dress-musicians::after {background:linear-gradient(180deg,transparent 77%,#0b0806)}
.cabaret-art.dress-musicians .stage-atmosphere {opacity:.18;mask-image:linear-gradient(transparent 72%,#000 91%,transparent);-webkit-mask-image:linear-gradient(transparent 72%,#000 91%,transparent)}
.dress-content {padding-top:26px}
.hotels .hotel-image-link {aspect-ratio:4/3}
.hotels .hotel-image-link>img,.hotels .hotel-image-link:hover>img {filter:none}
.hotels .hotel-image-link::before,.hotels .hotel-image-link::after {display:none}
.hotels .hotel-card:first-child .hotel-image-link>img {object-position:38% 50%}
.hotels .hotel-card:nth-child(2) .hotel-image-link>img {object-position:56% 50%}
.hotels .hotel-card:nth-child(3) .hotel-image-link>img {object-position:58% 50%}
.women-looks-pair {display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;min-height:0;min-width:0;height:100%}
.women-look-photo {position:relative;width:100%;aspect-ratio:429/714;overflow:hidden;background:#100c09}
.women-look-photo img {position:absolute;display:block;width:307.6923%;max-width:none;height:auto;top:-2.381%;left:-.6993%}
.women-look-black {aspect-ratio:445/714}
.women-look-black img {width:296.6292%;left:-194.8315%;top:-2.241%}
.farewell {margin-bottom:60px}
.farewell h2 {font-size:clamp(42px,11.7vw,64px);line-height:1.08}
.farewell>p {font-size:clamp(52px,14vw,72px);font-weight:500;line-height:1.15;margin-top:26px}
.footer .contact-name {font-size:26px;font-weight:400;line-height:1.25}
.footer {background:radial-gradient(ellipse at 0% 8%,#aa642014,transparent 38%),radial-gradient(ellipse at 100% 12%,#aa642014,transparent 36%),#080605}
.footer-chandeliers {opacity:1}
.footer-chandeliers .concept-chandelier::before {content:'';position:absolute;inset:35% -40% -3%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 60%,#ffd27b45 0%,#c67c2626 32%,transparent 69%);mix-blend-mode:screen;animation:chandelier-halo 6.2s ease-in-out infinite alternate}
.footer-chandeliers .concept-chandelier img {animation:chandelier-lamplight 6.2s ease-in-out infinite alternate}
.footer-chandeliers .chandelier-right::before,.footer-chandeliers .chandelier-right img {animation-delay:-3.1s}
@keyframes chandelier-halo {from{opacity:.45;transform:scale(.96)}to{opacity:1;transform:scale(1.06)}}
@keyframes chandelier-lamplight {from{filter:brightness(1.13) drop-shadow(0 0 4px #ffcf7880)}to{filter:brightness(1.42) drop-shadow(0 0 9px #ffd78da6) drop-shadow(0 0 22px #e5a64940)}}
.footer:not(.motion-active) .concept-chandelier::before,.footer:not(.motion-active) .concept-chandelier img,body.page-is-hidden .footer-chandeliers .concept-chandelier::before,body.page-is-hidden .footer-chandeliers .concept-chandelier img {animation-play-state:paused}
@media(min-width:650px) {
 .invitation .section-inner {max-width:700px}
 .invitation-performance {height:430px;margin:25px -100px -10px}
 .invitation-performance img {object-fit:contain;object-position:center}
 .dress-content {padding-top:75px;padding-bottom:75px;align-self:center}
 .cabaret-art.dress-musicians {align-self:center}
}
@media(max-width:359px) {
 .invitation .display {font-size:38px}
 .invitation-message {font-size:23px}
 .farewell h2 {font-size:39px}
 .farewell>p {font-size:48px}
 .women-looks-pair {gap:8px}
}
@media(prefers-reduced-motion:reduce) {
 .footer-chandeliers .concept-chandelier::before {animation:none;opacity:.7;transform:none}
 .footer-chandeliers .concept-chandelier img {animation:none;filter:brightness(1.2) drop-shadow(0 0 8px #ffd78d80)}
}

/* Edition 25: identical media geometry and caption space for both tabs. */
.looks-panel {grid-template-rows:minmax(0,1fr) 4em}
.looks-media-slot {container-type:size;display:grid;place-items:center;min-width:0;min-height:0;overflow:hidden}
.looks-frame {width:min(100%,calc(100cqh * 1122 / 1402));height:auto;aspect-ratio:1122/1402;overflow:hidden;background:#100c09}
.looks-frame>img {display:block;width:100%;height:100%;object-fit:contain}
.looks-frame.women-looks-pair {display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}
.women-look-photo,.women-look-black {container-type:size;width:100%;height:100%;aspect-ratio:auto;overflow:hidden}
.women-look-photo img {width:auto;max-width:none;height:208.12325%;top:-2.38095%;left:calc(50% - 30.462185cqh)}
.women-look-black img {width:auto;height:208.12325%;top:-2.2409%;left:calc(50% - 152.59104cqh)}
.looks-panel>p {align-self:center}
