/* Keep the approved composition, image crops, palette and logo geometry. */
.language-choice{position:absolute;z-index:11;right:32px;top:37px;padding:7px 9px;font:12px/1.4 var(--font-ui);color:#f6eedf;text-underline-offset:4px}
.language-choice:hover{text-decoration:underline}
.door-number{transition:transform 850ms var(--ease)}
@media(hover:hover) and (pointer:fine){.entrance:hover .door-number,.entrance:focus-visible .door-number{transform:translateX(5px)}}
/* Transform-based opposed shutters preserve the approved curtain reveal. */
.history .image-reveal{animation-name:opening-left}
.culture .image-reveal{animation-name:opening-right}
.history .image-reveal picture{animation:opening-right 700ms var(--ease) both}
.culture .image-reveal picture{animation:opening-left 700ms 60ms var(--ease) both}
@keyframes opening-left{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes opening-right{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@media(max-width:700px){.language-choice{top:28px;right:17px;font-size:11px}.opening{height:100svh;min-height:640px}}
@media(max-width:380px){.door-number{font-size:8px;letter-spacing:.12em}.portal-description{max-width:270px}.portal-action{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.opening .entrance{transition:none!important;flex:1!important}.image-reveal,.image-reveal picture{animation:none!important;transform:none!important}.opening .entrance *{transition:none!important}}
.no-motion .image-reveal,.no-motion .image-reveal picture{animation:none!important;transform:none!important}
@media(max-width:700px){.opening .entrance{flex:0 0 50%;height:50%}.opening .entrance.history{padding-top:80px}}
@media(max-width:380px) and (max-height:700px){.history .door-number{top:94px}}
