:root{--nav-h:72px}
*{scrollbar-width:thin;scrollbar-color:#c4b5fd transparent}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:'Plus Jakarta Sans',sans-serif;color:#1a1420;background:#faf8fc;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.font-display{font-family:'Fraunces',serif}
.grad-text{background:linear-gradient(100deg,#7c3aed,#c026d3 55%,#e0a94a);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-brand{background:linear-gradient(135deg,#6d28d9,#9333ea 55%,#c026d3)}

.mesh{background:
   radial-gradient(50% 55% at 12% 8%,rgba(167,139,250,.28),transparent 60%),
   radial-gradient(45% 50% at 92% 4%,rgba(232,121,249,.22),transparent 58%),
   radial-gradient(45% 45% at 72% 88%,rgba(245,200,119,.18),transparent 60%)}

#progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:60;background:linear-gradient(90deg,#7c3aed,#c026d3,#e0a94a);transition:width .1s linear}

.btn-shine{position:relative;overflow:hidden}
.btn-shine::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transition:left .6s}
.btn-shine:hover::after{left:140%}

.glow-card{position:relative;background:#fff;border-radius:20px;border:1px solid #ede9fe;transition:transform .3s,box-shadow .3s,border-color .3s}
.glow-card:hover{transform:translateY(-6px);border-color:#c4b5fd;box-shadow:0 24px 50px -20px rgba(124,58,237,.4)}

.frame{background:#fff;border:1px solid #eee;border-radius:16px;overflow:hidden;box-shadow:0 30px 70px -25px rgba(76,29,149,.35)}
.tilt{transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.tilt:hover{transform:perspective(1200px) rotateY(-4deg) rotateX(2deg) scale(1.01)}

.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

#nav.nav-shrink{height:60px}
.nav-link{position:relative}
.nav-link::after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:#7c3aed;transition:width .25s}
.nav-link:hover::after,.nav-link.active::after{width:100%}

details>summary{list-style:none;cursor:pointer}
details>summary::-webkit-details-marker{display:none}
details[open] .faq-plus{transform:rotate(45deg)}
.faq-plus{transition:transform .25s}
details[open]{background:#fff;box-shadow:0 10px 30px -14px rgba(76,29,149,.25)}
