:root{--purple:#511961;--blue:#1b7da5;--ink:#fff;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--purple)}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #ffb42b;outline-offset:6px}
.portal{min-height:100svh;display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden;padding:30px 5vw 24px}
.backdrop{position:absolute;left:50%;top:50%;width:200vmax;height:200vmax;z-index:-1;display:flex;transform:translate(-50%,-50%)}.backdrop>div{width:50%;height:100%}.purple{background:var(--purple)}.blue{background:var(--blue)}
.brand{display:flex;align-items:center;gap:18px}.brand-name{font-size:48px;font-weight:750;letter-spacing:-5px;line-height:1;color:#fff}.brand-dot{color:#ffb42b}.brand-caption{font-size:13px;border-left:1px solid #ffffff50;padding-left:18px;color:#ffffffc9}
.intro{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;padding:80px 20px;visibility:hidden}.scene{width:min(720px,90vw)}.scene svg{display:block;width:100%;overflow:visible}.city,.people,.people path{stroke:#fff}.city .shield{fill:none}.people path,.people circle{fill:none}.draw{stroke-dasharray:1400;stroke-dashoffset:1400}.people,.spark{opacity:0}.intro-line{font-size:clamp(22px,3vw,34px);font-weight:300;letter-spacing:-.7px;margin:10px 0 30px;opacity:0}.intro-line strong{font-weight:650;color:#fff}.progress{width:110px;height:2px;background:#ffffff30;overflow:hidden;opacity:0}.progress span{display:block;width:100%;height:100%;background:#fff;transform-origin:left;transform:scaleX(0)}
.destinations{width:100%;margin:auto;padding:38px 0}.welcome{text-align:center;margin-bottom:34px}.welcome>p{font-size:14px;color:#ffffffb8;margin:0 0 10px}h1{font-size:clamp(27px,3.2vw,40px);font-weight:400;letter-spacing:-1.3px;margin:0}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.choice{--accent:var(--purple);text-decoration:none;width:min(350px,100%);justify-self:center;background:#fff;color:var(--accent);border-radius:18px;padding:26px 28px 28px;box-shadow:0 20px 60px #00000015;display:flex;flex-direction:column;align-items:center;transition:transform .25s,box-shadow .25s}.insurance{--accent:var(--blue)}.choice:hover{transform:translateY(-6px);box-shadow:0 28px 70px #00000025}.logo-wrap{height:178px;display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden}.logo-wrap img{width:180px;height:auto;display:block}.choice-copy{text-align:center;margin:18px 0 25px}.choice-type{font-size:23px;font-weight:650;letter-spacing:-.5px;color:var(--accent)}.choice-copy p{font-size:13px;color:#716878;line-height:1.5;margin:9px 0 0}.access{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;background:var(--accent);color:white;font-size:14px;font-weight:650;padding:17px 18px;border-radius:8px}.access svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}footer{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;color:#ffffffb8;min-height:32px}footer button{background:none;border:0;color:white;padding:8px 0;cursor:pointer;font-size:12px}footer button span{margin-left:8px}
.is-playing .backdrop{animation:unite 1.9s cubic-bezier(.65,0,.2,1) both}.is-playing .intro{visibility:visible}.is-playing .destinations{opacity:0;visibility:hidden}.is-playing .ground{animation:draw 1.4s 1.7s ease forwards}.is-playing .building{animation:draw 2s 1.9s ease forwards}.is-playing .tower{animation:draw 2s 2s ease forwards}.is-playing .home{animation:draw 1.8s 2.1s ease forwards}.is-playing .shield{animation:draw 1.8s 2.4s ease forwards}.is-playing .check{animation:draw 1.4s 2.8s ease forwards}.is-playing .people{animation:appear .8s 2.7s both}.is-playing .spark{animation:appear .7s 3s both}.is-playing .second{animation-delay:3.2s}.is-playing .intro-line{animation:appear .8s 2.8s both}.is-playing .progress{animation:appear .5s 1.8s both}.is-playing .progress span{animation:progress 3.8s 1.8s linear both}
.is-ready .intro{opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s}.is-ready .welcome{animation:reveal .8s .15s both}.is-ready .services{animation:open-left .9s .25s both}.is-ready .insurance{animation:open-right .9s .25s both}
@keyframes unite{0%{transform:translate(-50%,-50%) rotate(-180deg)}60%{transform:translate(-50%,-50%) rotate(12deg)}100%{transform:translate(-50%,-50%) rotate(0)}}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes appear{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes open-left{from{opacity:0;transform:translateX(35px) scale(.96)}to{opacity:1;transform:none}}@keyframes open-right{from{opacity:0;transform:translateX(-35px) scale(.96)}to{opacity:1;transform:none}}@keyframes progress{to{transform:scaleX(1)}}
@media(max-width:600px){.portal{padding:22px 22px 16px}.backdrop{top:56.5%;transform:translate(-50%,-50%) rotate(90deg)}.brand-name{font-size:40px}.brand-caption{font-size:12px}.destinations{padding:32px 0 26px}.welcome{margin-bottom:24px}h1{font-size:26px;letter-spacing:-1px}.choices{grid-template-columns:1fr;gap:24px}.choice{display:grid;grid-template-columns:82px 1fr;gap:12px;padding:20px;border-radius:14px;width:100%}.logo-wrap{height:86px}.logo-wrap img{width:86px}.choice-copy{text-align:left;margin:0}.choice-type{font-size:19px}.choice-copy p{font-size:12px;margin-top:6px}.access{grid-column:1/-1;padding:14px 16px;font-size:14px}.scene{width:115%;max-width:560px}.intro-line{font-size:24px}footer{font-size:10px}footer button{font-size:11px}.is-playing .backdrop{animation-name:unite-mobile}@keyframes unite-mobile{0%{transform:translate(-50%,-50%) rotate(-90deg)}60%{transform:translate(-50%,-50%) rotate(102deg)}100%{transform:translate(-50%,-50%) rotate(90deg)}}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.intro{display:none}.destinations{opacity:1!important;visibility:visible!important}}

