:root{--acc:#ff5b2e;--bs-body-font-family:Manrope,system-ui,sans-serif}
h1,h2,h3,.logo{font-family:Sora,Manrope,sans-serif;letter-spacing:-.02em}
.glass{backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bs-body-bg) 82%,transparent);border-bottom:1px solid var(--bs-border-color)}
.logo{font-weight:800;display:flex;align-items:center;gap:8px}.logo i{width:22px;height:22px;border-radius:6px;background:var(--acc);transform:rotate(12deg);transition:.4s}.logo:hover i{transform:rotate(90deg) scale(1.1)}
.btn-accent{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:700;transition:.25s}.btn-accent:hover{color:#fff;transform:translateY(-2px);box-shadow:0 10px 30px -8px var(--acc)}
.hero{position:relative;overflow:hidden;padding:90px 0 70px}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(90px);opacity:.28;animation:fl 12s ease-in-out infinite alternate}
.hero::before{width:420px;height:420px;background:var(--acc);top:-120px;right:-80px}.hero::after{width:360px;height:360px;background:#2f6bff;bottom:-140px;left:-100px;animation-delay:-5s}
@keyframes fl{to{transform:translate(-50px,60px) scale(1.15)}}
.hero .container{position:relative;z-index:1}.hero h1{font-size:clamp(2.4rem,6vw,4.5rem);font-weight:800}.hero h1 em{font-style:normal;color:var(--acc)}
.pill{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--bs-border-color);background:var(--bs-body-bg);padding:6px 14px;border-radius:99px;font-size:.85rem;font-weight:700}
.pill b{width:8px;height:8px;border-radius:50%;background:#1fbf75;animation:pu 1.6s infinite}@keyframes pu{50%{opacity:.4;box-shadow:0 0 0 7px transparent}}
.stack{position:relative;height:400px}.stack div{position:absolute;width:60%;aspect-ratio:4/5;border-radius:18px;box-shadow:0 30px 60px -20px #0007;animation:bob 6s ease-in-out infinite}
.stack div::after{content:"© FOLIO";position:absolute;inset:0;display:grid;place-items:center;color:#fff4;font:800 26px Sora;transform:rotate(-24deg)}
.s1{left:0;top:30px;background:linear-gradient(150deg,#ff5b2e,#7a1f0c);--r:-6deg}.s2{right:0;top:0;background:linear-gradient(150deg,#2f6bff,#0c1f55);--r:5deg;animation-delay:-2s!important}.s3{left:20%;bottom:0;background:linear-gradient(150deg,#16c79a,#07372d);--r:-1deg;animation-delay:-4s!important}
@keyframes bob{0%,100%{transform:translateY(0) rotate(var(--r))}50%{transform:translateY(-14px) rotate(var(--r))}}
.mq{border-block:1px solid var(--bs-border-color);overflow:hidden;white-space:nowrap;padding:14px 0;font:700 .9rem Sora;color:var(--bs-secondary-color)}.mq div{display:inline-block;animation:mq 30s linear infinite}.mq span{margin:0 26px}@keyframes mq{to{transform:translateX(-50%)}}
.feat,.pcard{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:16px;transition:.3s}
.feat{padding:24px;height:100%}.feat:hover,.pcard:hover{transform:translateY(-6px);border-color:var(--acc);box-shadow:0 24px 40px -26px #0008}
.feat i{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:var(--bs-tertiary-bg);font-style:normal;font-size:20px;margin-bottom:14px;transition:.3s}.feat:hover i{background:var(--acc);transform:rotate(-8deg)}
.pcard{overflow:hidden}.pcard img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:.5s}.pcard:hover img{transform:scale(1.05)}.pcard .im{overflow:hidden}
.kpi{border:1px solid var(--bs-border-color);border-radius:14px;padding:18px;background:var(--bs-body-bg)}.kpi small{color:var(--bs-secondary-color);font-weight:600}.kpi b{display:block;font:800 1.7rem Sora}
.cta{background:var(--bs-emphasis-color);color:var(--bs-body-bg);border-radius:24px;padding:56px 24px;text-align:center}
.rv{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s}.rv.in{opacity:1;transform:none}
.nav-link.active{font-weight:700}canvas#cv{max-width:100%;border-radius:12px;background:var(--bs-tertiary-bg)}
@media(max-width:991px){.stack{height:320px;margin-top:30px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
