/* TMM v22 — light is prepainted; only opacity and transforms move. */
.one-footer::before{inset:-12%;background:radial-gradient(ellipse at 82% 20%,rgba(0,178,227,.32),transparent 54%),radial-gradient(ellipse at 12% 80%,rgba(231,177,66,.18),transparent 55%);animation:tmm-footer-light 18s ease-in-out infinite alternate;animation-play-state:paused}
.one-footer::after{transform-origin:70% 50%;animation:tmm-footer-mark 14s ease-in-out infinite alternate;animation-play-state:paused}
.one-footer.tmm-cinema-visible::before,.one-footer.tmm-cinema-visible::after{animation-play-state:running}
.one-footer__wrap::before{background-size:100% 100%;animation:tmm-footer-line 9s ease-in-out infinite alternate;animation-play-state:paused;transform-origin:50% 50%}
.one-footer.tmm-cinema-visible .one-footer__wrap::before{animation-play-state:running}
.one-footer__btn,.one-cta{animation:none;position:relative;isolation:isolate}
.one-footer__btn::before,.one-cta::before{content:"";position:absolute;inset:-12px;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse,rgba(255,90,54,.3),transparent 70%);animation:tmm-cinema-breathe 6s ease-in-out infinite alternate;animation-play-state:paused}
.one-footer.tmm-cinema-visible .one-footer__btn::before,.one-cta::before{animation-play-state:running}
.one-footer__col{transform-origin:50% 90%}
.regia-copy .regia-link{position:relative;gap:22px;padding:11px 16px;border:1px solid rgba(16,124,159,.38);border-radius:9px;background:var(--one-card,#fff);box-shadow:0 6px 18px -14px rgba(0,178,227,.5)}
.regia-copy .regia-link span{display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(16,124,159,.3);border-radius:50%;color:var(--one-petrol,#107c9f);transition:transform .25s ease}
.regia-copy .regia-link:focus-visible{outline:3px solid var(--one-cyan,#00b2e3);outline-offset:4px}
@media(hover:hover){.regia-copy .regia-link:hover{border-color:var(--one-cyan,#00b2e3)}.regia-copy .regia-link:hover span{transform:translate(2px,-2px)}}
@media(max-width:759px){.regia-copy .regia-link{padding:7px 11px;gap:14px}.regia-copy .regia-link span{width:23px;height:23px}}
/* Keep the actual controls anchored: only their decorative rings and auras float. */
.one-launcher::before,.one-cookiebtn::before{animation:tmm-cinema-breathe 7s ease-in-out infinite alternate!important}
.one-launcher::after,.one-cookiebtn::after{animation:tmm-orb-aura 10s ease-in-out infinite alternate}
.one-launcher__dot,.one-launcher.is-entering .one-launcher__dot,.one-cookiebtn__dot{animation:none!important}
.one-launcher__ring,.one-cookiebtn__ring{animation:tmm-orb-orbit 18s linear infinite!important}
.one-cookiebtn__ring{animation-direction:reverse!important}
.one-launcher__dot::before,.one-cookiebtn__dot::before{animation:tmm-orb-ripple 5s ease-out infinite!important}
.one-launcher.is-open::before,.one-launcher.is-open::after,.one-launcher.is-open .one-launcher__ring,.one-launcher.is-open .one-launcher__dot::before{animation-play-state:paused!important}
@keyframes tmm-footer-light{from{transform:translate(-3%,-2%) scale(.96);opacity:.65}to{transform:translate(4%,3%) scale(1.06);opacity:1}}
@keyframes tmm-footer-mark{from{transform:translateY(0) rotate(-2deg);opacity:.65}to{transform:translateY(14px) rotate(1deg);opacity:1}}
@keyframes tmm-footer-line{from{transform:scaleX(.75);opacity:.5}to{transform:scaleX(1);opacity:1}}
@keyframes tmm-cinema-breathe{from{transform:scale(.94);opacity:.4}to{transform:scale(1.08);opacity:.85}}
@keyframes tmm-orb-aura{from{transform:translate(-50%,-50%) scale(.9);opacity:.3}to{transform:translate(-50%,-50%) scale(1.15);opacity:.6}}
@keyframes tmm-orb-orbit{from{transform:rotate(-90deg)}to{transform:rotate(270deg)}}
@keyframes tmm-orb-ripple{0%{transform:scale(.97);opacity:.55}75%,100%{transform:scale(1.28);opacity:0}}
/* Controls unfold as small dimensional surfaces; the media hero stays unchanged. */
.one-popup{transform:perspective(1100px) translateY(20px) rotateX(-5deg) scale(.96);transition:opacity .34s cubic-bezier(.22,1,.36,1),transform .34s cubic-bezier(.22,1,.36,1)}
.one-popup.is-open{transform:none}
.one-navpanel{transform:perspective(900px) translateY(8px) rotateX(-6deg) scale(.98);transform-origin:50% 0%}
.one-navitem:hover>.one-navpanel,.one-navitem:focus-within>.one-navpanel,.one-navitem.is-open>.one-navpanel{transform:none}
.one-footer .one-flang__panel{transform:perspective(900px) translateY(9px) rotateX(7deg) scale(.97);transform-origin:100% 100%}
.one-footer .one-flang.is-open .one-flang__panel{transform:none}
.one-cookie-fallback__panel{transform:perspective(1000px) translateY(14px) rotateX(-4deg) scale(.98);transition:transform .16s ease-out}
.one-cookie-fallback.is-open .one-cookie-fallback__panel{transform:none}
@media(max-width:900px){.one-footer .one-flang__panel{transform:translate(-50%,9px) perspective(900px) rotateX(7deg) scale(.97)}.one-footer .one-flang.is-open .one-flang__panel{transform:translate(-50%,0)}}
html[data-tmm-motion=paused] :is(.one-popup,.one-navpanel,.one-flang__panel,.one-cookie-fallback__panel){transition:none!important}
html[data-tmm-motion=paused] :is(.one-footer,.one-launcher,.one-cookiebtn)::before,
html[data-tmm-motion=paused] :is(.one-footer,.one-launcher,.one-cookiebtn)::after,
html[data-tmm-motion=paused] :is(.one-footer__wrap,.one-footer__btn,.one-cta,.one-launcher__dot,.one-cookiebtn__dot)::before,
html[data-tmm-motion=paused] :is(.one-launcher__ring,.one-cookiebtn__ring){animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
 :is(.one-footer,.one-launcher,.one-cookiebtn)::before,:is(.one-footer,.one-launcher,.one-cookiebtn)::after,
 :is(.one-footer__wrap,.one-footer__btn,.one-cta,.one-launcher__dot,.one-cookiebtn__dot)::before,
 .one-launcher__ring,.one-cookiebtn__ring{animation:none!important}
 .regia-copy .regia-link span{transition:none}
 .one-popup,.one-navpanel,.one-footer .one-flang__panel,.one-cookie-fallback__panel{transition:none!important}
}

/* The opening and the continuation share one visual atmosphere. The original
   WebGL camera, objects and scroll sequence keep their existing ownership. */
.regia-hero>.tmm-cinema-opening{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;contain:paint;opacity:.9;mask-image:radial-gradient(ellipse 42% 80% at 68% 50%,transparent 58%,#000 90%);-webkit-mask-image:radial-gradient(ellipse 42% 80% at 68% 50%,transparent 58%,#000 90%)}
.regia-hero>.regia-copy,.regia-hero>.regia-bottom{z-index:2}
.tmm-cinema-opening svg{position:absolute;inset:-6% 0;width:100%;height:112%;overflow:visible}
.tmm-cinema-opening::before,.tmm-cinema-opening::after{content:"";position:absolute;left:5%;top:12%;width:3px;height:74px;border-radius:50%;background:linear-gradient(transparent,#63d9ef,transparent);opacity:0;animation:tmm-world-signal 18s linear infinite;pointer-events:none}
.tmm-cinema-opening::after{left:auto;right:5%;top:8%;height:52px;background:linear-gradient(transparent,#ebc172,transparent);animation-delay:-9s;animation-duration:23s}
.tmm-cinema-opening:not(.tmm-cinema-visible) *,.tmm-cinema-opening:not(.tmm-cinema-visible)::before,.tmm-cinema-opening:not(.tmm-cinema-visible)::after{animation-play-state:paused!important}
.tmm-cinema-opening.tmm-cinema-visible *,.tmm-cinema-opening.tmm-cinema-visible::before,.tmm-cinema-opening.tmm-cinema-visible::after{animation-play-state:running}
html[data-tmm-motion=paused] .tmm-cinema-opening *,html[data-tmm-motion=paused] .tmm-cinema-opening::before,html[data-tmm-motion=paused] .tmm-cinema-opening::after{animation-play-state:paused!important}
@media(max-width:1023px) and (orientation:portrait){
 .regia-hero>.tmm-cinema-opening{opacity:.8;mask-image:radial-gradient(ellipse 74% 32% at 50% 25%,transparent 55%,#000 95%);-webkit-mask-image:radial-gradient(ellipse 74% 32% at 50% 25%,transparent 55%,#000 95%)}
 .tmm-cinema-opening::before,.tmm-cinema-opening::after{width:2px}
}
@media(prefers-reduced-motion:reduce){.tmm-cinema-opening *,.tmm-cinema-opening::before,.tmm-cinema-opening::after{animation:none!important}}

/* v23.2: a distinct atmospheric palette for light and dark surfaces. Geometry,
   masking, animation timing and motion controls remain unchanged. */
:is(.tmm-cinema-opening,.tmm-cinema-world){--tmm-atmo-cool:rgba(16,124,159,.25);--tmm-atmo-warm:rgba(205,143,28,.19);--tmm-atmo-route:#107c9f;--tmm-atmo-route-warm:#b67a14;--tmm-atmo-line:rgba(16,124,159,.34);--tmm-atmo-line-warm:rgba(185,126,24,.3);--tmm-atmo-fill:rgba(16,124,159,.065)}
html[data-theme=dark] :is(.tmm-cinema-opening,.tmm-cinema-world){--tmm-atmo-cool:rgba(0,178,227,.29);--tmm-atmo-warm:rgba(231,177,66,.19);--tmm-atmo-route:#49c5df;--tmm-atmo-route-warm:#edbd58;--tmm-atmo-line:rgba(39,193,225,.32);--tmm-atmo-line-warm:rgba(231,177,66,.27);--tmm-atmo-fill:rgba(0,178,227,.06)}
.regia-hero>.tmm-cinema-opening{opacity:.98}
:is(.tmm-cinema-opening,.tmm-cinema-world) .tmm-cinema-world__light{background:radial-gradient(ellipse,var(--tmm-atmo-cool),transparent 71%)}
:is(.tmm-cinema-opening,.tmm-cinema-world) .tmm-cinema-world__light--warm{background:radial-gradient(ellipse,var(--tmm-atmo-warm),transparent 71%)}
:is(.tmm-cinema-opening,.tmm-cinema-world) .tmm-cinema-world__routes{stroke:var(--tmm-atmo-route);stroke-width:1.2;opacity:.37}
:is(.tmm-cinema-opening,.tmm-cinema-world) .tmm-cinema-world__routes path:nth-child(3){stroke:var(--tmm-atmo-route-warm);opacity:.9}
:is(.tmm-cinema-opening,.tmm-cinema-world) .tmm-cinema-world__format{border-color:var(--tmm-atmo-line);background:linear-gradient(140deg,var(--tmm-atmo-fill),transparent 64%);box-shadow:inset 1px 0 rgba(255,255,255,.12),12px 18px 0 -10px var(--tmm-atmo-fill)}
:is(.tmm-cinema-opening,.tmm-cinema-world) .tmm-cinema-world__format:nth-of-type(2){border-color:var(--tmm-atmo-line-warm)}
html[data-theme=dark] :is(.tmm-cinema-opening,.tmm-cinema-world) .tmm-cinema-world__routes{opacity:.32}
html:not([data-theme=dark]) :is(.tmm-cinema-opening,.tmm-cinema-world)::before{background:linear-gradient(transparent,#107c9f,transparent)}
html:not([data-theme=dark]) :is(.tmm-cinema-opening,.tmm-cinema-world)::after{background:linear-gradient(transparent,#b67a14,transparent)}
@media(max-width:1023px) and (orientation:portrait){.regia-hero>.tmm-cinema-opening{opacity:.92}}
