:root{--blue:#2563ff;--indigo:#5b3df5;--violet:#8b2fe6;--coral:#ff5d73;--amber:#ffb020;--lime:#27e0a6;--ink:#101426;--ink-soft:#3a4060;--muted:#6b7191;--line:#e7e9f5;--bg:#f6f7ff;--card:#fff;--white:#fff;--grad-hero:linear-gradient(135deg,#2563ff,#6b2ff0 45%,#b32fd6);--grad-cta:linear-gradient(120deg,#ff5d73,#ffb020);--grad-mint:linear-gradient(120deg,#27e0a6,#2563ff);--grad-soft:linear-gradient(180deg,#f6f7ff,#fff);--grad-violet:linear-gradient(135deg,#7b3ff2,#b32fd6);--radius:20px;--radius-sm:14px;--shadow:0 24px 60px -28px rgba(43,40,120,.45);--shadow-soft:0 12px 32px -16px rgba(43,40,120,.28);--maxw:1180px;--font-display:"Be Vietnam Pro",system-ui,sans-serif;--font-body:"Plus Jakarta Sans","Be Vietnam Pro",system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}.display,h1,h2,h3,h4{font-family:var(--font-display);line-height:1.1;letter-spacing:-.02em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-display);font-weight:700;font-size:1rem;padding:15px 28px;border-radius:999px;border:0;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,filter .2s;position:relative;overflow:hidden}.btn-cta{background:var(--grad-cta);color:#fff;box-shadow:0 14px 30px -10px rgba(255,93,115,.6)}.btn-cta:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 20px 40px -10px rgba(255,93,115,.7)}.btn-blue{background:var(--grad-hero);color:#fff;box-shadow:0 14px 30px -12px rgba(91,61,245,.6)}.btn-blue:hover{transform:translateY(-3px) scale(1.02)}.btn-ghost{background:hsla(0,0%,100%,.14);color:#fff;border:1.5px solid hsla(0,0%,100%,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn-ghost:hover{background:hsla(0,0%,100%,.24)}.btn-light{background:#fff;color:var(--indigo);box-shadow:var(--shadow-soft)}.btn-light:hover{transform:translateY(-3px)}.btn-blue:after,.btn-cta:after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(120deg,transparent,hsla(0,0%,100%,.45),transparent);transform:skewX(-20deg);transition:left .6s}.btn-blue:hover:after,.btn-cta:hover:after{left:140%}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;padding:7px 15px;border-radius:999px;background:rgba(91,61,245,.1);color:var(--indigo)}.eyebrow.on-dark{background:hsla(0,0%,100%,.16);color:#fff}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes floaty2{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-22px) rotate(6deg)}}@keyframes blobMove{0%,to{border-radius:42% 58% 63% 37%/42% 38% 62% 58%}50%{border-radius:58% 42% 37% 63%/58% 62% 38% 42%}}@keyframes shimmer{0%{background-position:0 50%}to{background-position:200% 50%}}@keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(255,93,115,.5)}70%{box-shadow:0 0 0 18px rgba(255,93,115,0)}to{box-shadow:0 0 0 0 rgba(255,93,115,0)}}@keyframes spin360{to{transform:rotate(1turn)}}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:none}.grad-text{background:var(--grad-cta);-webkit-background-clip:text;background-clip:text;color:transparent}.grad-text-blue{background:linear-gradient(120deg,#7df,#a78bff);-webkit-background-clip:text;background-clip:text;color:transparent}@media(prefers-reduced-motion:reduce){*{animation:none!important}.reveal{opacity:1;transform:none;transition:none}}