:root{--bg:#F5F6FB;--bg2:#E9ECF7;--card:#FFFFFF;--ink:#13183A;--mut:#565D80;--soft:#9AA0BF;--ac:#4F46E5;--ac2:#7C74F0;--deep:#3A32C0;--line:rgba(19,24,58,.10);}
*{margin:0;box-sizing:border-box;font-family:'Inter',sans-serif;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);overflow-x:hidden;}
.dsp{font-family:'Sora',sans-serif;}
.ac{color:var(--ac);}
.acgrad{background:linear-gradient(120deg,var(--ac),var(--ac2));-webkit-background-clip:text;background-clip:text;color:transparent;}
.glow{position:absolute;border-radius:50%;filter:blur(95px);pointer-events:none;background:rgba(79,70,229,.20);}
.btn{background:linear-gradient(135deg,var(--ac),var(--deep));color:#fff;box-shadow:0 16px 40px -14px rgba(79,70,229,.55);transition:transform .3s,box-shadow .3s;}
.btn:hover{transform:translateY(-2px);box-shadow:0 24px 56px -14px rgba(79,70,229,.7);}
.btn-ghost{border:1px solid rgba(19,24,58,.16);color:var(--ink);transition:border-color .3s,background .3s,color .3s;}
.btn-ghost:hover{border-color:var(--ac);color:var(--ac);background:rgba(79,70,229,.05);}
.card{background:var(--card);border:1px solid var(--line);box-shadow:0 24px 60px -40px rgba(19,24,58,.4);transition:transform .4s,border-color .4s,box-shadow .4s;}
.card:hover{transform:translateY(-6px);border-color:rgba(79,70,229,.4);box-shadow:0 44px 80px -38px rgba(79,70,229,.32);}
.zoom{transition:transform 1.2s cubic-bezier(.2,.7,.2,1);} .zoomwrap:hover .zoom{transform:scale(1.07);}
.kicker{font-family:'Sora';font-weight:600;letter-spacing:.24em;text-transform:uppercase;font-size:12px;color:var(--ac);}
.marquee{overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink);}
.marquee-track{display:inline-flex;align-items:center;animation:scroll 34s linear infinite;}
@keyframes scroll{to{transform:translateX(-50%)}}
.mq-item{font-family:'Sora';font-weight:700;font-size:34px;letter-spacing:-.5px;padding:18px 30px;color:#EDEEFB;}
.mq-dot{width:9px;height:9px;border-radius:50%;background:var(--ac2);flex:none;}
.navwrap{background:rgba(245,246,251,.84);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.nav-link{color:var(--mut);transition:color .3s;position:relative;}
.nav-link:hover{color:var(--ink);}
.nav-link.active{color:var(--ink);}
.nav-link.active::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--ac);border-radius:2px;}
.brandmark{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ac),var(--ac2));color:#fff;flex:none;font-family:'Sora';font-weight:800;}
.reveal{will-change:transform,opacity;}
.numbg{font-family:'Sora';font-weight:800;font-size:120px;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(19,24,58,.13);}
.ic-ac{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(79,70,229,.10);border:1px solid rgba(79,70,229,.24);flex:none;}
@media (max-width:640px){.mq-item{font-size:26px;padding:13px 18px}.numbg{font-size:72px}}
html.shot *{animation:none!important;}
.kenburns{animation:kb 24s ease-in-out infinite alternate;transform-origin:center;will-change:transform;}
@keyframes kb{from{transform:scale(1.03)}to{transform:scale(1.12)}}
@media (prefers-reduced-motion: reduce){.kenburns{animation:none}}
img{max-width:100%;}
.scoutc{color:var(--soft);transition:color .25s;letter-spacing:.02em;}
.scoutc span{color:var(--mut);transition:color .25s;}
.scoutc:hover,.scoutc:hover span{color:var(--ac);}
.step{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:'Sora';font-weight:800;background:linear-gradient(135deg,var(--ac),var(--ac2));color:#fff;flex:none;}
.mobile-menu{position:fixed;inset:0;z-index:60;background:rgba(245,246,251,.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .3s,transform .3s;}
.mobile-menu.open{opacity:1;pointer-events:auto;transform:none;}
.mm-link{font-family:'Sora';font-weight:600;font-size:30px;letter-spacing:-.5px;color:var(--ink);padding:14px 0;border-bottom:1px solid var(--line);transition:color .2s;}
.mm-link:hover,.mm-link:active{color:var(--ac);}
#scrollcue{color:var(--mut);}
