/* Four-second branded entry: video supplies movement, the source SVG keeps the mark sharp. */
.site-intro{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;overflow:hidden;background:#092b4d;color:#fff;isolation:isolate}
.intro-video{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;opacity:.88}
.site-intro::before,.site-intro::after{position:absolute;z-index:-2;inset:0;content:"";pointer-events:none}
.site-intro::before{background:radial-gradient(circle at 50% 48%,rgba(54,145,206,.18),transparent 28%),linear-gradient(90deg,rgba(4,28,54,.28),transparent 40%,rgba(4,28,54,.3))}
.site-intro::after{background:linear-gradient(180deg,rgba(4,33,61,.06),rgba(4,33,61,.45))}
.intro-content{position:relative;display:flex;flex-direction:column;align-items:center;width:min(92vw,560px);text-align:center}
.intro-rails{position:absolute;top:50%;left:50%;width:min(64vw,390px);height:166px;transform:translate(-50%,-58%);pointer-events:none}
.intro-rails::before,.intro-rails::after{position:absolute;top:0;bottom:0;width:8px;content:"";transform:scaleY(0);transform-origin:center;animation:intro-rail-in .7s cubic-bezier(.16,1,.3,1) .18s both}
.intro-rails::before{left:0;background:#ca3037}.intro-rails::after{right:0;background:#176cb7;animation-delay:.31s}
.intro-logo{position:relative;width:clamp(108px,11vw,158px);height:clamp(108px,11vw,158px);padding:9px;border-radius:25%;background:rgba(255,255,255,.08);box-shadow:0 0 0 1px rgba(170,218,250,.24),0 24px 55px rgba(0,15,35,.36);opacity:0;transform:scale(.78) translateY(12px);animation:intro-logo-in .82s cubic-bezier(.16,1,.3,1) .58s both}
.intro-logo img{display:block;width:100%;height:100%;filter:drop-shadow(0 12px 17px rgba(0,0,0,.2))}
.intro-title{margin:25px 0 0;font-size:clamp(1.15rem,2vw,1.65rem);font-weight:800;letter-spacing:.18em;opacity:0;transform:translateY(12px);animation:intro-copy-in .55s ease 1.22s both}
.intro-subtitle{margin:7px 0 0;color:#a9d9f8;font-size:clamp(.62rem,.85vw,.78rem);font-weight:700;letter-spacing:.2em;opacity:0;animation:intro-copy-in .55s ease 1.42s both}
.intro-loader{width:min(62vw,260px);height:2px;margin-top:28px;overflow:hidden;background:rgba(203,231,249,.24);opacity:0;animation:intro-copy-in .35s ease 1.55s both}
.intro-loader::after{display:block;width:100%;height:100%;content:"";background:linear-gradient(90deg,#ca3037,#f1fbff,#176cb7);transform:scaleX(0);transform-origin:left;animation:intro-load 2.3s cubic-bezier(.33,1,.68,1) 1.62s both}
.intro-skip{position:absolute;right:clamp(18px,3vw,42px);bottom:clamp(18px,3vw,38px);border:1px solid rgba(193,227,248,.42);padding:9px 14px;background:rgba(5,37,67,.4);color:#d7efff;font:inherit;font-size:.76rem;letter-spacing:.08em;cursor:pointer;opacity:0;animation:intro-copy-in .4s ease 1.7s both;transition:background .2s ease,color .2s ease}
.intro-skip:hover,.intro-skip:focus-visible{outline:0;background:#fff;color:#11395f}
body.intro-active{overflow:hidden}
.site-intro.is-leaving{pointer-events:none;animation:intro-exit .62s cubic-bezier(.65,0,1,1) both}
.site-intro.is-leaving .intro-content{animation:intro-content-exit .46s ease both}
body.intro-complete main,body.intro-complete .site-header{animation:site-arrive .7s cubic-bezier(.16,1,.3,1) both}
@keyframes intro-rail-in{to{transform:scaleY(1)}}
@keyframes intro-logo-in{to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes intro-copy-in{to{opacity:1;transform:translateY(0)}}
@keyframes intro-load{to{transform:scaleX(1)}}
@keyframes intro-exit{to{opacity:0;transform:scale(1.025)}}
@keyframes intro-content-exit{to{opacity:0;transform:translateY(-18px) scale(.98)}}
@keyframes site-arrive{from{opacity:.3;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:560px){.intro-rails{width:72vw;height:138px}.intro-title{margin-top:20px}.intro-loader{margin-top:23px}.intro-skip{right:16px;bottom:18px}}
@media(prefers-reduced-motion:reduce){
 html.itg-motion-force .intro-rails::before{animation:intro-rail-in .7s cubic-bezier(.16,1,.3,1) .18s both!important}
 html.itg-motion-force .intro-rails::after{animation:intro-rail-in .7s cubic-bezier(.16,1,.3,1) .31s both!important}
 html.itg-motion-force .intro-logo{animation:intro-logo-in .82s cubic-bezier(.16,1,.3,1) .58s both!important}
 html.itg-motion-force .intro-title{animation:intro-copy-in .55s ease 1.22s both!important}
 html.itg-motion-force .intro-subtitle{animation:intro-copy-in .55s ease 1.42s both!important}
 html.itg-motion-force .intro-loader{animation:intro-copy-in .35s ease 1.55s both!important}
 html.itg-motion-force .intro-loader::after{animation:intro-load 2.3s cubic-bezier(.33,1,.68,1) 1.62s both!important}
 html.itg-motion-force .intro-skip{animation:intro-copy-in .4s ease 1.7s both!important}
 html.itg-motion-force .site-intro.is-leaving{animation:intro-exit .62s cubic-bezier(.65,0,1,1) both!important}
 html.itg-motion-force .site-intro.is-leaving .intro-content{animation:intro-content-exit .46s ease both!important}
 html.itg-motion-force body.intro-complete main,html.itg-motion-force body.intro-complete .site-header{animation:site-arrive .7s cubic-bezier(.16,1,.3,1) both!important}
}
