:root{--bg:#05050a;--bg-card:#0d0d18;--border:#1e1e30;--border-glow:#8b5cf640;--purple:#8b5cf6;--purple-dim:#7c3aed;--cyan:#06b6d4;--pink:#ec4899;--green:#10b981;--text:#e2e2f0;--text-muted:#6b6b8a;--text-dim:#9999b8;--font-display:"Orbitron",sans-serif;--font-body:"Space Grotesk",sans-serif;--font-mono:"DM Mono",monospace;--radius:8px;--radius-lg:16px;--shadow:0 4px 24px rgba(0,0,0,.6);--shadow-glow:0 0 32px #8b5cf620;--transition:.3s cubic-bezier(.4,0,.2,1);--max-w:1280px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.65;overflow-x:hidden;cursor:none}
img{max-width:100%;height:auto;display:block}
a{color:var(--purple);text-decoration:none;transition:color var(--transition)}
a:hover{color:#a78bfa}
button{cursor:none;border:none;background:none;font-family:inherit}
ul{list-style:none}
::selection{background:var(--purple-dim);color:#fff}
:focus-visible{outline:2px solid var(--purple);outline-offset:3px}

/* Cursor */
#cursor{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;will-change:transform}
#cursor-dot{width:40px;height:40px;border:1px solid var(--purple);border-radius:50%;transform:translate(-50%,-50%);transition:transform .12s ease,width .3s,height .3s,border-color .3s;opacity:.8}
body.cursor-hover #cursor-dot{width:60px;height:60px;border-color:var(--cyan);background:rgba(6,182,212,.08)}

/* Three.js canvas */
#three-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.7}

/* Container */
.container{max-width:var(--max-w);margin:0 auto;padding:0 40px}
@media(max-width:768px){.container{padding:0 20px}}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 0;transition:background var(--transition),padding var(--transition),border-color var(--transition);border-bottom:1px solid transparent}
.site-header.scrolled{background:rgba(5,5,10,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-color:var(--border);padding:12px 0}
.header-inner{max-width:var(--max-w);margin:0 auto;padding:0 40px;display:flex;align-items:center;gap:32px}
@media(max-width:768px){.header-inner{padding:0 20px}}

/* Logo */
.site-logo{display:flex;align-items:center;gap:10px;color:var(--text);font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:2px;flex-shrink:0}
.logo-mark{color:var(--purple);font-size:22px;filter:drop-shadow(0 0 8px var(--purple))}
.logo-accent{color:var(--purple)}

/* Nav */
.primary-nav{flex:1}
.nav-list{display:flex;align-items:center;gap:4px}
.nav-list li a{padding:8px 14px;font-size:11px;font-weight:500;letter-spacing:.5px;color:var(--text-dim);border-radius:var(--radius);transition:all var(--transition);text-transform:uppercase;font-family:var(--font-display)}
.nav-list li a:hover,.nav-list li.current-menu-item a{color:var(--text);background:rgba(139,92,246,.1)}

/* Header actions */
.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.btn-nav-login{display:flex;align-items:center;gap:6px;padding:8px 18px;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);font-size:11px;font-weight:500;transition:all var(--transition);font-family:var(--font-display);letter-spacing:1px}
.btn-nav-login:hover{border-color:var(--purple);color:var(--purple);background:rgba(139,92,246,.08)}
.user-pill{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border:1px solid var(--border);border-radius:40px;transition:all var(--transition)}
.user-pill:hover{border-color:var(--purple);background:rgba(139,92,246,.08)}
.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}
.user-name{font-size:13px;color:var(--text-dim)}
.cart-btn{position:relative;color:var(--text-dim);transition:color var(--transition);padding:6px}
.cart-btn:hover{color:var(--purple)}
.cart-count{position:absolute;top:-2px;right:-4px;background:var(--purple);color:#fff;font-size:10px;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.nav-toggle{display:none;flex-direction:column;gap:5px;padding:8px}
.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--text-dim);transition:all var(--transition)}
@media(max-width:900px){
  .primary-nav{display:none}
  .nav-toggle{display:flex}
  .primary-nav.open{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(5,5,10,.98);padding:100px 40px 40px;backdrop-filter:blur(40px);z-index:99}
  .primary-nav.open .nav-list{flex-direction:column;align-items:flex-start;gap:8px}
  .primary-nav.open .nav-list li a{font-size:24px;padding:12px 0}
}

/* Buttons */
.btn-primary,.btn-ghost,.btn-enroll,.btn-download,.btn-continue,.btn-read-more{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:var(--radius);font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;transition:all var(--transition);cursor:none}
.btn-primary{background:var(--purple);color:#fff;border:1px solid var(--purple)}
.btn-primary:hover{background:var(--purple-dim);color:#fff;box-shadow:0 0 24px rgba(139,92,246,.4);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}
.btn-ghost:hover{border-color:var(--purple);color:var(--purple);background:rgba(139,92,246,.06)}
.btn-enroll,.btn-continue{background:transparent;color:var(--purple);border:1px solid var(--border);padding:8px 18px;font-size:11px}
.btn-enroll:hover,.btn-continue:hover{border-color:var(--purple);background:rgba(139,92,246,.1)}
.btn-download{background:var(--green);color:#fff;border:1px solid var(--green);padding:8px 18px;font-size:11px}
.btn-download:hover{background:#059669;box-shadow:0 0 16px rgba(16,185,129,.3)}
.btn-read-more{padding:8px 0;border:none;color:var(--purple);font-size:12px}
.btn-view{padding:10px 24px;background:var(--purple);color:#fff;border-radius:var(--radius);font-family:var(--font-display);font-size:11px;letter-spacing:1px;font-weight:600;text-transform:uppercase}

/* Google login */
.btn-google-login,.nsl-container a{display:inline-flex!important;align-items:center!important;gap:10px!important;padding:10px 20px!important;background:rgba(255,255,255,.05)!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;color:var(--text)!important;font-size:13px!important;transition:all var(--transition)!important}
.btn-google-login:hover,.nsl-container a:hover{border-color:var(--purple)!important;background:rgba(139,92,246,.08)!important}
.innsaei-google-login{margin:16px 0}

/* Hero */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:140px 40px 80px;position:relative;max-width:var(--max-w);margin:0 auto}
.hero-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:4px;color:var(--purple);text-transform:uppercase;margin-bottom:20px;opacity:0;transform:translateY(20px)}
.hero-title{font-family:var(--font-display);font-size:clamp(48px,8vw,110px);font-weight:900;line-height:1;letter-spacing:-1px;color:var(--text);margin-bottom:24px;opacity:0;transform:translateY(20px)}
.hero-title .line-glow{display:block;-webkit-text-stroke:1px var(--purple);color:transparent;filter:drop-shadow(0 0 20px var(--purple))}
.hero-sub{font-size:18px;color:var(--text-muted);max-width:520px;margin-bottom:40px;opacity:0;transform:translateY(20px)}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap;opacity:0;transform:translateY(20px)}
.hero-stats{display:flex;gap:48px;margin-top:80px;padding-top:40px;border-top:1px solid var(--border);opacity:0;transform:translateY(20px)}
.stat{display:flex;flex-direction:column;gap:4px}
.stat-num{font-family:var(--font-display);font-size:36px;font-weight:700;color:var(--text)}
.stat-label{font-size:12px;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase}
.hero-scroll-hint{position:absolute;bottom:40px;left:40px;display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--text-muted)}
.scroll-line{width:40px;height:1px;background:var(--text-muted);transform-origin:left}
@media(max-width:768px){.hero{padding:100px 20px 60px}.hero-stats{gap:24px;flex-wrap:wrap}.hero-scroll-hint{display:none}}

/* Marquee */
.marquee-strip{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0;background:rgba(139,92,246,.03)}
.marquee-track{display:flex;align-items:center;gap:32px;white-space:nowrap;animation:marquee 25s linear infinite}
.marquee-track span{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:3px;color:var(--text-muted);text-transform:uppercase}
.marquee-track .dot{color:var(--purple);font-size:14px}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Sections */
.section{padding:100px 0}
@media(max-width:768px){.section{padding:60px 0}}
.section-header{text-align:center;margin-bottom:60px}
.section-tag{display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:4px;color:var(--purple);text-transform:uppercase;margin-bottom:16px;padding:4px 12px;border:1px solid var(--border-glow);border-radius:40px;background:rgba(139,92,246,.06)}
.section-title{font-family:var(--font-display);font-size:clamp(28px,4vw,52px);font-weight:700;letter-spacing:-.5px;margin-bottom:16px}
.section-sub{font-size:17px;color:var(--text-muted);max-width:500px;margin:0 auto}
.section-cta{text-align:center;margin-top:48px}

/* Shop categories */
.shop-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:60px}
@media(max-width:900px){.shop-categories{grid-template-columns:1fr}}
.cat-card{position:relative;overflow:hidden;padding:40px 32px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);transition:all var(--transition);display:flex;flex-direction:column;gap:12px}
.cat-card:hover{border-color:var(--purple);transform:translateY(-4px)}
.cat-card:hover .cat-glow{opacity:1}
.cat-glow{position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;opacity:0;transition:opacity var(--transition);pointer-events:none}
.cat-vj .cat-glow{background:radial-gradient(circle,rgba(139,92,246,.3),transparent)}
.cat-plugins .cat-glow{background:radial-gradient(circle,rgba(6,182,212,.3),transparent)}
.cat-courses .cat-glow{background:radial-gradient(circle,rgba(236,72,153,.3),transparent)}
.cat-icon{margin-bottom:8px}
.cat-vj .cat-icon{color:var(--purple)}.cat-plugins .cat-icon{color:var(--cyan)}.cat-courses .cat-icon{color:var(--pink)}
.cat-card h3{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text)}
.cat-card p{font-size:14px;color:var(--text-muted);line-height:1.5}
.cat-arrow{margin-top:auto;font-size:18px;color:var(--purple);transition:transform var(--transition)}
.cat-card:hover .cat-arrow{transform:translateX(6px)}

/* Products grid */
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:1024px){.products-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.products-grid{grid-template-columns:1fr}}
.product-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition)}
.product-card:hover{border-color:var(--border-glow);transform:translateY(-4px);box-shadow:var(--shadow-glow)}
.product-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0a0a15}
.product-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.product-card:hover .product-thumb img{transform:scale(1.06)}
.product-thumb-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#0d0d20,#1a1a30)}
.product-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(5,5,10,.7);opacity:0;transition:opacity var(--transition)}
.product-card:hover .product-overlay{opacity:1}
.product-info{padding:16px 20px}
.product-cat{font-family:var(--font-mono);font-size:10px;letter-spacing:2px;color:var(--purple);text-transform:uppercase}
.product-info h4{font-size:15px;font-weight:600;margin:6px 0;color:var(--text)}
.product-info h4 a{color:inherit}.product-info h4 a:hover{color:var(--purple)}
.product-price{font-family:var(--font-display);font-size:16px;color:var(--purple);font-weight:700}
.product-price .woocommerce-Price-amount{color:var(--purple)}
.product-badge{font-family:var(--font-mono);font-size:10px;letter-spacing:2px;color:var(--purple);text-transform:uppercase;display:block;margin-bottom:6px}

/* Portfolio */
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.portfolio-grid{grid-template-columns:1fr}}
.portfolio-item{position:relative;overflow:hidden;border-radius:var(--radius-lg);aspect-ratio:4/3;background:var(--bg-card);border:1px solid var(--border);transition:transform var(--transition)}
.portfolio-item:hover{transform:scale(1.02)}
.portfolio-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.portfolio-item:hover .portfolio-img{transform:scale(1.08)}
.portfolio-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,5,10,.9),transparent);padding:24px;display:flex;flex-direction:column;justify-content:flex-end;opacity:0;transition:opacity var(--transition)}
.portfolio-item:hover .portfolio-overlay{opacity:1}
.portfolio-overlay h3{font-family:var(--font-display);font-size:16px;color:#fff;margin-bottom:4px}
.portfolio-overlay p{font-size:13px;color:rgba(255,255,255,.7)}
.placeholder-text{color:var(--text-muted);font-size:14px;text-align:center;padding:40px;grid-column:1/-1}

/* Courses */
.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:900px){.courses-grid{grid-template-columns:1fr}}
.course-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition)}
.course-card:hover{border-color:var(--pink);transform:translateY(-4px)}
.course-thumb{width:100%;aspect-ratio:16/9;object-fit:cover}
.course-info{padding:20px}
.course-info h3{font-family:var(--font-display);font-size:15px;font-weight:700;margin-bottom:8px;color:var(--text)}
.course-info h3 a{color:inherit}.course-info p{font-size:13px;color:var(--text-muted);margin-bottom:16px;line-height:1.5}
.course-card.placeholder{opacity:.65}

/* CTA band */
.cta-band{padding:100px 0;text-align:center;background:linear-gradient(135deg,rgba(139,92,246,.08),rgba(6,182,212,.04));border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.cta-band h2{font-family:var(--font-display);font-size:clamp(24px,3vw,42px);font-weight:700;margin-bottom:16px}
.cta-band p{font-size:17px;color:var(--text-muted);margin-bottom:32px}
.cta-actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}

/* Footer */
.site-footer{background:var(--bg);border-top:1px solid var(--border);padding:60px 0 0}
.footer-inner{max-width:var(--max-w);margin:0 auto;padding:0 40px 40px;display:grid;grid-template-columns:1fr 2fr auto;gap:60px;align-items:start}
@media(max-width:900px){.footer-inner{grid-template-columns:1fr;gap:40px}}
.footer-tagline{font-size:13px;color:var(--text-muted);margin-top:12px}
.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
@media(max-width:600px){.footer-links{grid-template-columns:1fr 1fr}}
.footer-col h4{font-family:var(--font-display);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:16px}
.footer-col ul{display:flex;flex-direction:column;gap:8px}
.footer-col a{font-size:14px;color:var(--text-muted);transition:color var(--transition)}
.footer-col a:hover{color:var(--purple)}
.footer-social{display:flex;align-items:flex-start;gap:12px;padding-top:4px}
.footer-social a{color:var(--text-muted);transition:color var(--transition);padding:6px}
.footer-social a:hover{color:var(--purple)}
.footer-bottom{border-top:1px solid var(--border);padding:20px 40px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-muted)}
@media(max-width:600px){.footer-bottom{flex-direction:column;gap:8px;text-align:center;padding:20px}}

/* Inner pages */
.main-content{padding-top:80px}
.page-content{padding:80px 0 120px}
.page-header{margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.page-title{font-family:var(--font-display);font-size:clamp(28px,4vw,52px);font-weight:700}
.entry-content{max-width:780px;color:var(--text-dim);line-height:1.75}
.entry-content p{margin-bottom:20px}
.entry-content h2,.entry-content h3{font-family:var(--font-display);color:var(--text);margin:32px 0 12px}

/* Blog/Archive */
.archive-page{padding:80px 0 120px}
.post-card{display:grid;grid-template-columns:280px 1fr;gap:32px;margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--border)}
@media(max-width:768px){.post-card{grid-template-columns:1fr}}
.post-thumb img{border-radius:var(--radius-lg);width:100%;aspect-ratio:16/9;object-fit:cover}
.post-body h2{font-family:var(--font-display);font-size:22px;font-weight:700;margin-bottom:8px}
.post-meta{font-size:12px;color:var(--text-muted);letter-spacing:1px;margin-bottom:12px;font-family:var(--font-mono)}
.post-excerpt{color:var(--text-dim);font-size:15px;line-height:1.6;margin-bottom:16px}
.pagination{display:flex;gap:8px;justify-content:center;margin-top:48px}
.pagination .page-numbers{padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-display);font-size:12px;color:var(--text-dim);transition:all var(--transition)}
.pagination .page-numbers.current,.pagination .page-numbers:hover{background:var(--purple);border-color:var(--purple);color:#fff}
.no-content{color:var(--text-muted);text-align:center;padding:60px 0;font-size:16px}

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb{display:none!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea{background:var(--bg-card)!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;color:var(--text)!important;padding:12px 16px!important;font-family:var(--font-body)!important;font-size:14px!important}
.woocommerce form .form-row input.input-text:focus{border-color:var(--purple)!important;outline:none!important;box-shadow:0 0 0 2px rgba(139,92,246,.15)!important}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce #payment #place_order{background:var(--purple)!important;color:#fff!important;border-radius:var(--radius)!important;font-family:var(--font-display)!important;font-size:12px!important;font-weight:600!important;letter-spacing:1px!important;text-transform:uppercase!important;padding:12px 28px!important;border:1px solid var(--purple)!important;transition:all var(--transition)!important}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--purple-dim)!important;box-shadow:0 0 20px rgba(139,92,246,.3)!important}
.woocommerce table.shop_table{border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important;background:var(--bg-card)!important}
.woocommerce table.shop_table th{background:rgba(139,92,246,.06)!important;color:var(--text-dim)!important;font-family:var(--font-display)!important;font-size:11px!important;letter-spacing:1px!important}
.woocommerce table.shop_table td{border-color:var(--border)!important;color:var(--text)!important}

/* GSAP initial states */
[data-gsap="fade-up"]{opacity:0;transform:translateY(30px)}
[data-gsap="stagger"]>*{opacity:0;transform:translateY(20px)}

/* Utility */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}

/* Admin bar offset */
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
