/* Original welcome and layered-wipe choreography, shared across document routes. */
.site-transition{--edge:clamp(80px,11vw,176px);--overscan:calc(var(--edge) + 4px);--mark-size:clamp(62px,6vw,88px);position:fixed;inset:0;z-index:1000;overflow:hidden;visibility:hidden;pointer-events:none;contain:layout paint}
.site-transition__plane{--travel:108%;position:absolute;inset:calc(-1 * var(--overscan));overflow:hidden;clip-path:polygon(var(--edge) 0,100% 0,calc(100% - var(--edge)) 100%,0 100%);background:#0b2026;transform:translate3d(calc(-1 * var(--travel)),0,0)}
.site-transition__plane--lead{z-index:1}
.site-transition__plane--active{--travel:114%;z-index:2;background:#007a76}
.site-transition__plane--close{--travel:120%;z-index:3}
.site-transition__plane--close:after{content:'';position:absolute;inset:0;background:#c7f63b;clip-path:polygon(calc(100% - 2px) 0,100% 0,calc(100% - var(--edge)) 100%,calc(100% - var(--edge) - 2px) 100%)}
.site-transition__identity{position:absolute;z-index:4;inset:50% auto auto 50%;display:grid;justify-items:center;gap:20px;transform:translate3d(-50%,-50%,0);pointer-events:none}
.site-transition__mark{position:relative;display:block;width:var(--mark-size);height:var(--mark-size);opacity:0;transform:scale(.96)}
/* The supplied SVG includes 44 units of clear space around its 237-unit symbol.
   Keep the visible symbol at the original size without altering the brand asset. */
.site-transition__mark img{position:absolute;top:50%;left:50%;display:block;width:calc(100% * 325 / 237);height:auto;max-width:none;transform:translate3d(-50%,-50%,0)}
.site-transition__signal{display:none;width:48px;height:2px;background:#c7f63b;opacity:0;transform:scaleX(0);transform-origin:left center}
.site-welcome-skip{display:none;position:fixed;z-index:1001;right:24px;bottom:24px;align-items:center;gap:20px;border:1px solid #6b8f90;border-radius:0;background:#0b2026;color:#fff;min-height:44px;padding:10px 16px;font:600 .875rem/1.4 'PFT Shell Sans',Arial,sans-serif;cursor:pointer}
.site-welcome-skip:focus-visible{outline:3px solid #c7f63b;outline-offset:4px}

html[data-site-motion] .site-transition{visibility:visible;animation:pft-overlay-end 5s step-end forwards}
html[data-site-motion=welcome] .site-transition{--edge:clamp(84px,10vw,168px);--overscan:calc(var(--edge) + 5px);--mark-size:clamp(68px,6.4vw,94px);animation-duration:2500ms;pointer-events:auto}
html[data-site-motion=welcome] .site-transition__plane{transform:translate3d(0,0,0);animation:pft-uncover cubic-bezier(.76,0,.24,1) both}
html[data-site-motion=welcome] .site-transition__plane--close{animation-duration:1750ms;animation-delay:750ms}
html[data-site-motion=welcome] .site-transition__plane--active{animation-duration:1500ms;animation-delay:1000ms}
html[data-site-motion=welcome] .site-transition__plane--lead{animation-duration:1250ms;animation-delay:1250ms}
html[data-site-motion=welcome] .site-transition__plane--close:after{display:none}
html[data-site-motion=welcome] .site-transition__mark{animation:pft-welcome-mark 2500ms cubic-bezier(.22,1,.36,1) both}
html[data-site-motion=welcome] .site-transition__signal{display:block;animation:pft-welcome-signal 2500ms cubic-bezier(.22,1,.36,1) both}
html[data-site-motion=welcome] .site-welcome-skip{display:flex;animation:pft-overlay-end 2500ms step-end forwards}

html[data-site-motion=cover] .site-transition{pointer-events:auto}
html[data-site-motion=cover] .site-transition__plane{animation:pft-cover cubic-bezier(.76,0,.24,1) both}
html[data-site-motion=cover] .site-transition__plane--lead{animation-duration:900ms}
html[data-site-motion=cover] .site-transition__plane--active{animation-duration:750ms;animation-delay:150ms}
html[data-site-motion=cover] .site-transition__plane--close{animation-duration:600ms;animation-delay:300ms}
html[data-site-motion=cover] .site-transition__mark{animation:pft-cover-mark 900ms cubic-bezier(.22,1,.36,1) both}
html[data-site-motion=arrive] .site-transition{animation-duration:900ms}
html[data-site-motion=arrive] .site-transition__plane{animation:pft-uncover cubic-bezier(.76,0,.24,1) both}
html[data-site-motion=arrive] .site-transition__plane--close{animation-duration:900ms}
html[data-site-motion=arrive] .site-transition__plane--active{animation-duration:750ms;animation-delay:150ms}
html[data-site-motion=arrive] .site-transition__plane--lead{animation-duration:600ms;animation-delay:300ms}
html[data-site-motion=arrive] .site-transition__mark{animation:pft-arrival-mark 900ms ease-out both}

@keyframes pft-cover{from{transform:translate3d(calc(-1 * var(--travel)),0,0)}to{transform:translate3d(0,0,0)}}
@keyframes pft-uncover{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--travel),0,0)}}
@keyframes pft-welcome-mark{0%{opacity:0;transform:scale(.94)}16%,34%{opacity:1;transform:scale(1)}48%,100%{opacity:0;transform:scale(.985)}}
@keyframes pft-welcome-signal{0%,9%{opacity:0;transform:scaleX(0)}20%{opacity:1;transform:scaleX(1)}35%{opacity:1;transform:scaleX(1);transform-origin:right center}47%,100%{opacity:0;transform:scaleX(0);transform-origin:right center}}
@keyframes pft-cover-mark{0%,76%{opacity:0;transform:scale(.96)}92%,100%{opacity:1;transform:scale(1)}}
@keyframes pft-arrival-mark{0%,12%{opacity:1;transform:scale(1)}34%,100%{opacity:0;transform:scale(.98)}}
@keyframes pft-overlay-end{100%{visibility:hidden;pointer-events:none}}
@media(max-width:640px){.site-transition{--edge:72px;--mark-size:64px}html[data-site-motion=welcome] .site-transition{--edge:68px;--mark-size:68px}html[data-site-motion=welcome] .site-transition__identity{gap:17px}.site-transition__signal{width:38px}}
@media(max-height:640px){.site-transition{--mark-size:60px}html[data-site-motion=welcome] .site-transition{--mark-size:62px}}
@media(prefers-reduced-motion:reduce){.site-transition,.site-welcome-skip{display:none!important}}
@media print{.site-transition,.site-welcome-skip{display:none!important}}
