:root{--bg:#09090B;--violet:#8b7cf6;--emerald:#34d399;--line:rgba(255,255,255,.08)}
html{background:var(--bg)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--bg);color:#f4f4f5;overflow-x:hidden}
::selection{background:rgba(139,124,246,.35)}
:focus-visible{outline:2px solid var(--emerald);outline-offset:3px}

/* ambient glows */
.glow{position:fixed;z-index:-1;width:640px;height:640px;border-radius:50%;filter:blur(140px);opacity:.16;pointer-events:none}
.glow-v{background:var(--violet);top:-220px;left:-160px}
.glow-e{background:var(--emerald);bottom:-260px;right:-180px;opacity:.1}

/* type helpers */
.grad{background:linear-gradient(100deg,#a99cff 0%,#7ee2b8 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-glow{filter:drop-shadow(0 0 28px rgba(139,124,246,.35))}
.h2{font-size:clamp(2rem,5vw,3.25rem);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.muted{color:#a1a1aa;font-size:.95rem;line-height:1.6}

/* glass */
.glass{background:rgba(255,255,255,.03);border:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:20px;transition:border-color .3s,background .3s,box-shadow .3s}
.glass:hover{border-color:rgba(139,124,246,.35);background:rgba(255,255,255,.05);box-shadow:0 0 50px -18px rgba(139,124,246,.45)}
.dot{width:6px;height:6px;border-radius:50%;background:var(--emerald);box-shadow:0 0 10px var(--emerald)}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(9,9,11,.6);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.mobile-menu{display:none;flex-direction:column;padding:0 20px 16px}
.mobile-menu.open{display:flex}
.mobile-menu a{padding:12px 0;color:#d4d4d8;border-top:1px solid var(--line)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:999px;font-weight:600;font-size:.95rem;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s}
.btn-solid{background:linear-gradient(100deg,#7c6cf0,#34c58f);color:#06060a;box-shadow:0 8px 30px -10px rgba(124,108,240,.6)}
.btn-solid:hover{transform:translateY(-2px);box-shadow:0 12px 40px -8px rgba(52,211,153,.5)}
.btn-ghost{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03)}
.btn-ghost:hover{border-color:var(--emerald);background:rgba(52,211,153,.07)}

/* bento */
.bento{padding:32px}
.bento h3,.step h3{font-size:1.15rem;font-weight:700;margin:6px 0 8px}
.num{font-family:'JetBrains Mono',monospace;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:600;letter-spacing:-.03em;background:linear-gradient(100deg,#a99cff,#7ee2b8);-webkit-background-clip:text;background-clip:text;color:transparent}

/* tabs */
.tabs{display:flex;gap:8px;overflow-x:auto;padding:4px;scrollbar-width:none;justify-content:flex-start}
.tabs::-webkit-scrollbar{display:none}
@media(min-width:768px){.tabs{justify-content:center}}
.tab{flex:none;padding:10px 20px;border-radius:999px;border:1px solid var(--line);color:#a1a1aa;font-size:.9rem;font-weight:600;transition:all .25s;white-space:nowrap}
.tab:hover{color:#fff;border-color:rgba(255,255,255,.2)}
.tab.active{background:rgba(139,124,246,.14);border-color:rgba(139,124,246,.55);color:#fff;box-shadow:0 0 28px -8px rgba(139,124,246,.6)}

/* rate rows */
.group{padding:8px 20px 12px}
.group-title{padding:14px 0 6px;font-weight:700;color:#d4d4d8;font-size:.85rem}
.row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.row-label{font-weight:500}
.row-note{display:block;color:#71717a;font-size:.8rem;margin-top:2px}
.price{font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--emerald)}
.order-btn{padding:8px 16px;border-radius:999px;font-size:.8rem;font-weight:600;border:1px solid rgba(139,124,246,.45);color:#c4bbff;transition:all .25s;white-space:nowrap}
.order-btn:hover{background:var(--violet);color:#09090b;border-color:var(--violet)}
.also{margin-top:16px;text-align:center;color:#71717a;font-size:.85rem}
@media(max-width:520px){.row{grid-template-columns:1fr auto}.row .order-btn{grid-column:1/-1;text-align:center}}

/* combos */
.combo{position:relative;padding:28px;display:flex;flex-direction:column}
.combo.pop{border-color:rgba(52,211,153,.4);box-shadow:0 0 60px -22px rgba(52,211,153,.5)}
.badge{position:absolute;top:-11px;right:20px;background:var(--emerald);color:#04110b;font-size:.7rem;font-weight:700;padding:3px 12px;border-radius:999px}
.combo ul{margin:16px 0 22px;display:grid;gap:8px;color:#a1a1aa;font-size:.92rem;flex:1}
.combo li:before{content:"✓";color:var(--emerald);margin-right:10px}

/* steps */
.step{padding:32px}
.stepno{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;margin-bottom:16px;font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--emerald);border:1px solid rgba(52,211,153,.35);background:rgba(52,211,153,.07)}

/* faq */
.faq{border-radius:16px}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;text-align:left;font-weight:600}
.faq-q i{flex:none;width:10px;height:10px;border-right:2px solid #a1a1aa;border-bottom:2px solid #a1a1aa;transform:rotate(45deg);transition:transform .35s}
.faq.open .faq-q i{transform:rotate(-135deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1)}
.faq-a>p{overflow:hidden;padding:0 24px;color:#a1a1aa;line-height:1.7;font-size:.95rem}
.faq.open .faq-a{grid-template-rows:1fr}
.faq.open .faq-a>p{padding-bottom:22px}

/* cta */
.cta{padding:clamp(32px,6vw,64px);background:radial-gradient(ellipse at 50% 0%,rgba(139,124,246,.14),transparent 65%),rgba(255,255,255,.03)}
.chan{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);font-weight:600;font-size:.92rem;transition:all .25s}
.chan:hover{border-color:var(--emerald);background:rgba(52,211,153,.08);transform:translateY(-2px)}

/* custom cursor */
.cursor-ring,.cursor-dot{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;display:none}
.has-cursor .cursor-ring,.has-cursor .cursor-dot{display:block}
.has-cursor,.has-cursor *{cursor:none!important}
.cursor-ring{width:40px;height:40px;margin:-20px 0 0 -20px}
.cursor-ring i{display:block;width:100%;height:100%;border-radius:50%;border:1px solid rgba(169,156,255,.7);transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,background .3s,box-shadow .3s}
.cursor-ring.hover i{transform:scale(1.7);border-color:var(--emerald);background:rgba(52,211,153,.1);box-shadow:0 0 34px rgba(52,211,153,.35)}
.cursor-ring.down i{transform:scale(.8)}
.cursor-ring.hover.down i{transform:scale(1.4)}
.cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#fff;box-shadow:0 0 12px rgba(255,255,255,.7)}

@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}
