/* === AfterLux - Neocities ready === */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@600&family=Poppins:wght@300;500;700&display=swap');

:root{
  --bg1: #0b0710;     /* gradient start */
  --bg2: #0f0720;     /* gradient end */
  --neon-purple: #a855f7;
  --neon-orange: #ff6f00;
  --neon-blue: #00f5ff;
  --neon-green: #39ff14;
  --card-bg: rgba(255,255,255,0.03);
  --muted-bg: #121217;
  --text: #f2f2f8;
}

/* reset */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:'Poppins',sans-serif;
  background: radial-gradient(circle at 20% 10%, var(--bg1) 0%, var(--bg2) 60%);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* particles behind everything */
#afterlux-particles{position:fixed;inset:0;z-index:-5;pointer-events:none}

/* Hero */
.hero{padding:5.5rem 1rem 3.5rem;text-align:center}
.hero-inner{max-width:1000px;margin:0 auto}
.hero-badge{display:inline-block;padding:.35rem .9rem;border-radius:999px;background:linear-gradient(90deg,var(--neon-purple),var(--neon-orange));color:#000;font-weight:700;margin-bottom:1rem}
.hero-title{font-family:'Orbitron',sans-serif;font-size:2.6rem;letter-spacing:2px;color:var(--text);text-shadow:0 0 18px rgba(168,85,247,0.12)}
.hero-title .ghost{display:inline-block;color:var(--neon-orange);text-shadow:0 0 24px rgba(255,111,0,0.18);margin-left:.5rem}
.hero-sub{color:#ccc;margin-top:.9rem;max-width:860px;margin-left:auto;margin-right:auto}
.hero-cta,.hero-cta a{margin-top:1rem}
.hero-cta{margin-top:1.4rem;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Buttons */
.btn{display:inline-block;padding:.75rem 1.6rem;border-radius:999px;text-decoration:none;font-weight:700;transition:all .22s ease;font-size:.98rem}
.btn-primary{background:linear-gradient(90deg,var(--neon-purple),var(--neon-blue));color:#050005;box-shadow:0 0 22px rgba(0,245,255,0.08)}
.btn-outline{background:transparent;border:2px solid rgba(255,255,255,0.06);color:var(--text)}
.btn-primary:hover{transform:translateY(-4px);box-shadow:0 0 40px rgba(168,85,247,0.18)}
.btn-outline:hover{background:rgba(255,255,255,0.03);transform:translateY(-3px)}

/* Sections */
.section{padding:3.2rem 1rem}
.section-title{font-family:'Orbitron',sans-serif;font-size:1.6rem;color:var(--neon-orange);margin-bottom:1rem;text-shadow:0 0 12px rgba(255,111,0,0.09)}

/* Grid */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem;align-items:start}

/* Cards basic */
.card{background:var(--card-bg);border-radius:12px;padding:1.25rem;box-shadow:0 6px 28px rgba(0,0,0,0.55);border:1px solid rgba(255,255,255,0.03)}
.card h3{font-size:1.05rem;margin-bottom:.45rem}
.card p.lead{font-weight:700;margin-bottom:.5rem;color:#fff}

/* Muted card (no image) with neon border variants */
.card-muted{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:1rem}
.neon-purple{border:1px solid rgba(168,85,247,0.22);box-shadow:0 0 18px rgba(168,85,247,0.06)}
.neon-orange{border:1px solid rgba(255,111,0,0.18);box-shadow:0 0 18px rgba(255,111,0,0.05)}
.neon-blue{border:1px solid rgba(0,245,255,0.15);box-shadow:0 0 18px rgba(0,245,255,0.05)}
.neon-green{border:1px solid rgba(57,255,20,0.16);box-shadow:0 0 18px rgba(57,255,20,0.04)}

/* Image card */
.card-image{overflow:hidden;border-radius:12px;padding:0}
.card-image img{width:100%;height:220px;object-fit:cover;display:block}
.card-image .card-body{padding:1rem}
.features{margin-top:.5rem;list-style:none;padding-left:0}
.features li{margin:.35rem 0}

/* Reveal card specifics */
.reveal-card .hidden-text{display:none;margin-top:.8rem;color:#ddd}
.reveal-btn{display:inline-block;margin-top:.6rem;padding:.5rem .9rem;border-radius:999px;border:2px solid var(--neon-green);background:transparent;color:var(--neon-green);font-weight:700;cursor:pointer}
.reveal-btn:hover{background:var(--neon-green);color:#000;box-shadow:0 0 20px rgba(57,255,20,0.12)}

/* Contact single column */
.grid.single{grid-template-columns:1fr;max-width:720px;margin:0 auto}

/* Footer */
.footer{text-align:center;padding:1.5rem;color:#aaa;border-top:1px solid rgba(255,255,255,0.02)}

/* Small screens */
@media (max-width:760px){
  .hero-title{font-size:1.8rem}
  .card-image img{height:160px}
  .grid{gap:.9rem}
  .hero-cta{gap:10px}
}

/* Smooth fade-in on scroll (basic) */
[data-fade]{opacity:0;transform:translateY(10px);transition:opacity .6s ease, transform .6s ease}
[data-fade].is-visible{opacity:1;transform:none}
