.brand-intro-active,.brand-intro-revealing{overflow:hidden}
.brand-intro-active body>:not(#brand-intro){visibility:hidden}
#brand-intro{position:fixed;inset:0;z-index:10000;display:none;isolation:isolate;overflow:hidden;color:#173b8c}
.brand-intro-active #brand-intro,.brand-intro-revealing #brand-intro{display:block;visibility:visible}
.brand-intro-stage{position:absolute;inset:0;z-index:-1;background:#eaf3ff;clip-path:circle(var(--intro-radius,160vmax) at var(--intro-dock-x,50%) var(--intro-dock-y,50%));transition:clip-path .9s cubic-bezier(.65,0,.25,1);will-change:clip-path;overflow:hidden}
.brand-intro-halo{position:absolute;inset:-20%;background:radial-gradient(ellipse at 52% 50%,#eaf3ff 19%,#d6eaff 50%,#b8d9ff 75%,#78b4fa);opacity:0;transform:scale(1.12)}
.brand-intro-ready .brand-intro-halo{animation:brand-halo-arrive 1.4s cubic-bezier(.22,1,.36,1) both}
.brand-intro-grid{position:absolute;inset:0;background-image:linear-gradient(#3169bd06 1px,transparent 1px),linear-gradient(90deg,#3169bd06 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse at center,transparent 27%,#000 85%)}
.brand-intro-center{position:fixed;left:50%;top:50%;width:min(650px,82vw);transform:translate(-50%,-50%);transition:left .9s cubic-bezier(.65,0,.25,1),top .9s cubic-bezier(.65,0,.25,1),width .9s cubic-bezier(.65,0,.25,1);will-change:left,top,width}
.brand-intro-lockup{position:relative;width:100%;transform:translateY(20px)}
.brand-intro-logo{width:100%;height:auto;display:block;opacity:0;clip-path:inset(100% 0 0 0)}
.brand-intro-outline{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:0;pointer-events:none}
.brand-intro-stroke{stroke-dasharray:100;stroke-dashoffset:100}
.brand-intro-ready .brand-intro-stroke{animation:brand-stroke-draw var(--stroke-duration,.95s) cubic-bezier(.4,0,.2,1) var(--stroke-delay,0s) both}
.brand-intro-ready .brand-intro-outline{animation:brand-outline-finish .35s ease 2.15s both}
.brand-intro-ready .brand-intro-logo{animation:brand-color-rise .55s cubic-bezier(.22,1,.36,1) 1.8s both}
.brand-intro-ready .brand-intro-lockup{animation:brand-mark-lift .7s cubic-bezier(.22,1,.36,1) 1.6s both}
#skip-brand-intro{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));right:clamp(22px,5vw,70px);min-height:44px;padding:11px 19px;border:1px solid #8bb3ee;border-radius:50px;background:transparent;color:#204982;font-size:.875rem;line-height:1.5;cursor:pointer;transition:background .2s,opacity .2s}
#skip-brand-intro:hover{background:#d0e3ff}#skip-brand-intro:focus-visible{outline:3px solid #2455ef;outline-offset:5px}
.brand-intro-revealing .brand-intro-stage{clip-path:circle(0px at var(--intro-dock-x,50%) var(--intro-dock-y,50%))}
.brand-intro-revealing .brand-intro-center{left:var(--intro-dock-x,50%);top:var(--intro-dock-y,50%);width:var(--intro-dock-width,242px)}
.brand-intro-revealing .brand-intro-lockup{animation:none;transform:translateY(0)}
.brand-intro-revealing .brand-intro-outline{animation:none;opacity:0}
.brand-intro-revealing .brand-intro-logo{animation:none;opacity:1;clip-path:inset(0)}
.brand-intro-revealing #skip-brand-intro{opacity:0;pointer-events:none}
@keyframes brand-stroke-draw{to{stroke-dashoffset:0}}
@keyframes brand-outline-finish{from{opacity:1}to{opacity:0}}
@keyframes brand-color-rise{from{opacity:0;clip-path:inset(100% 0 0 0)}25%{opacity:1}to{opacity:1;clip-path:inset(0)}}
@keyframes brand-mark-lift{to{transform:translateY(0)}}
@keyframes brand-halo-arrive{to{opacity:1;transform:scale(1)}}
@media(max-width:550px){.brand-intro-center{width:86vw}.brand-intro-grid{background-size:48px 48px}.brand-intro-lockup{transform:translateY(14px)}}
@media(prefers-reduced-motion:reduce){.brand-intro-active,.brand-intro-revealing{overflow:visible}.brand-intro-active body>:not(#brand-intro){visibility:visible}.brand-intro-active #brand-intro,.brand-intro-revealing #brand-intro{display:none}}
