@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=Space+Grotesk:wght@400;500;600&family=Share+Tech+Mono&display=swap');

:root{
  --bg:#0B0619;
  --surface:#170F30;
  --surface-2:#1F1440;
  --line:#3A2A63;
  --sun-orange:#FF7A3D;
  --sun-pink:#FF3D9A;
  --chrome-cyan:#3DECD9;
  --text:#F3EEFB;
  --muted:#9A8FC0;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg); color:var(--text);
  font-family:'Space Grotesk',sans-serif;
  overflow-x:hidden;
}
.led{font-family:'Share Tech Mono',monospace;}
h1,h2,h3,.display{font-family:'Orbitron',sans-serif;}

.scanlines{
  position:fixed; inset:0; z-index:40; pointer-events:none; opacity:0.5;
  background:repeating-linear-gradient(
    to bottom, rgba(0,0,0,0) 0px, rgba(0,0,0,0) 2px,
    rgba(255,255,255,0.025) 3px, rgba(0,0,0,0) 4px
  );
}
.vignette{
  position:fixed; inset:0; z-index:39; pointer-events:none;
  background:radial-gradient(ellipse at center, transparent 55%, rgba(0,0,0,0.55) 100%);
}

nav{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 6vw;
  background:rgba(11,6,25,0.8);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.logo{
  font-family:'Orbitron',sans-serif; font-weight:900; font-size:1.2rem; letter-spacing:0.08em;
  background:linear-gradient(90deg,#fff,#c9c3e0 40%,#fff 60%,#c9c3e0);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  text-shadow:0 0 24px rgba(61,236,217,0.35);
  text-decoration:none;
}
.navlinks{display:flex; gap:32px; font-size:0.85rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.08em;}
.navlinks a{color:var(--muted); text-decoration:none; transition:color .2s;}
.navlinks a:hover, .navlinks a.active{color:var(--chrome-cyan); text-shadow:0 0 8px rgba(61,236,217,0.6);}
.navcart .badge{
  border:1px solid var(--line); border-radius:4px; padding:7px 14px;
  color:var(--sun-orange); font-family:'Share Tech Mono',monospace; font-size:0.8rem;
  box-shadow:inset 0 0 12px rgba(255,122,61,0.08);
}
@media(max-width:800px){.navlinks{display:none;}}

/* page hero (smaller than homepage) */
.page-hero{
  position:relative; z-index:1; padding:80px 6vw 40px;
  text-align:center;
}
.eyebrow{
  font-family:'Share Tech Mono',monospace; font-size:0.8rem;
  color:var(--chrome-cyan); letter-spacing:0.25em; text-transform:uppercase;
  margin-bottom:18px; text-shadow:0 0 10px rgba(61,236,217,0.6);
}
.page-hero h1{
  font-size:clamp(2rem,5vw,3.2rem); font-weight:900; letter-spacing:0.01em;
  line-height:1.1;
  background:linear-gradient(180deg,#fff 30%,#c9c3e0);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.page-hero p{
  margin:18px auto 0; color:var(--muted); max-width:52ch; font-size:1rem; line-height:1.6;
}

.btn{
  font-family:'Orbitron',sans-serif; font-weight:700; font-size:0.85rem;
  letter-spacing:0.06em; text-transform:uppercase;
  padding:16px 30px; border-radius:6px; cursor:pointer; border:1px solid transparent;
  transition:transform .2s, box-shadow .2s; text-decoration:none; display:inline-block;
}
.btn-primary{
  background:linear-gradient(90deg, var(--sun-orange), var(--sun-pink));
  color:#0B0619;
}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 0 30px rgba(255,90,120,0.5);}
.btn-ghost{background:transparent; color:var(--chrome-cyan); border-color:var(--chrome-cyan);}
.btn-ghost:hover{box-shadow:0 0 18px rgba(61,236,217,0.4);}

section{position:relative; z-index:1; padding:60px 6vw;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:48px; flex-wrap:wrap; gap:20px;}
.section-head h2{font-size:clamp(1.6rem,3vw,2.1rem); letter-spacing:0.03em;}
.section-head p{color:var(--muted); max-width:38ch; font-size:0.92rem;}

.grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.grid{grid-template-columns:1fr;}}

.card{
  background:linear-gradient(180deg, var(--surface), var(--surface-2));
  border:1px solid var(--line); border-radius:10px;
  padding:22px; display:flex; flex-direction:column; gap:16px;
  position:relative; transition:border-color .25s, transform .25s;
}
.card::before{
  content:''; position:absolute; top:0; left:16px; right:16px; height:1px;
  background:linear-gradient(90deg, transparent, var(--chrome-cyan), transparent);
  opacity:0; transition:opacity .25s;
}
.card:hover{border-color:rgba(61,236,217,0.5); transform:translateY(-4px);}
.card:hover::before{opacity:1;}
.card-top{display:flex; justify-content:space-between; align-items:flex-start;}
.card-img{
  width:100%; height:170px; border-radius:8px; overflow:hidden;
  border:1px solid var(--line); background:#0F0824; position:relative;
}
.card-img img{width:100%; height:100%; object-fit:cover; display:block; filter:saturate(1.05) contrast(1.05);}
.card-img::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,6,25,0) 55%, rgba(11,6,25,0.55) 100%);
  pointer-events:none;
}
.card-img::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(120deg, rgba(61,236,217,0.12), transparent 40%, rgba(255,61,154,0.10));
  pointer-events:none;
}
.stat-tag{
  font-family:'Share Tech Mono',monospace; font-size:0.68rem;
  color:var(--sun-orange); background:rgba(255,122,61,0.08);
  border:1px solid rgba(255,122,61,0.35); border-radius:4px;
  padding:4px 9px;
}
.card h3{font-size:1.05rem; font-weight:600; letter-spacing:0.01em;}
.card .desc{color:var(--muted); font-size:0.85rem; line-height:1.5;}
.card-bottom{display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:12px; border-top:1px solid var(--line);}
.price{font-family:'Share Tech Mono',monospace; font-size:1rem; color:var(--text);}
.add{
  font-size:0.75rem; letter-spacing:0.05em; text-transform:uppercase;
  color:var(--chrome-cyan); background:transparent; border:1px solid rgba(61,236,217,0.4);
  padding:8px 14px; border-radius:5px; cursor:pointer; font-family:'Orbitron',sans-serif; font-weight:700;
}
.add:hover{background:rgba(61,236,217,0.1); box-shadow:0 0 14px rgba(61,236,217,0.3);}

/* protocol steps */
.steps{list-style:none; counter-reset:step; display:flex; flex-direction:column; gap:10px;}
.steps li{
  counter-increment:step; padding-left:34px; position:relative; color:var(--muted); font-size:0.88rem; line-height:1.5;
}
.steps li::before{
  content:counter(step); position:absolute; left:0; top:0;
  width:22px; height:22px; border-radius:5px; background:#0F0824; border:1px solid var(--chrome-cyan);
  color:var(--chrome-cyan); font-family:'Share Tech Mono',monospace; font-size:0.75rem;
  display:flex; align-items:center; justify-content:center;
}

/* article page */
.article-body{max-width:70ch; margin:0 auto; color:var(--muted); font-size:0.98rem; line-height:1.8;}
.article-body h2{color:var(--text); font-size:1.3rem; margin:36px 0 14px;}
.article-body p{margin-bottom:18px;}
.article-meta{
  font-family:'Share Tech Mono',monospace; font-size:0.75rem; color:var(--chrome-cyan);
  text-align:center; margin-bottom:10px; letter-spacing:0.1em; text-transform:uppercase;
}

/* FAQ */
.faq-item{
  border:1px solid var(--line); border-radius:10px; padding:22px;
  background:linear-gradient(180deg, var(--surface), var(--surface-2));
}
.faq-item h3{font-size:1rem; margin-bottom:10px; color:var(--chrome-cyan);}
.faq-item p{color:var(--muted); font-size:0.9rem; line-height:1.6;}
.faq-list{display:flex; flex-direction:column; gap:16px; max-width:70ch; margin:0 auto;}

/* contact */
.contact-box{
  max-width:60ch; margin:0 auto; text-align:center;
  border:1px solid var(--line); border-radius:12px; padding:44px 30px;
  background:linear-gradient(180deg, var(--surface), var(--surface-2));
}
.contact-box .icon{font-size:2rem; margin-bottom:14px;}
.contact-box a{color:var(--chrome-cyan); font-family:'Share Tech Mono',monospace; text-decoration:none; font-size:1.05rem;}
.contact-box .hours{color:var(--muted); font-size:0.85rem; margin-top:14px;}

footer{
  border-top:1px solid var(--line); padding:50px 6vw; position:relative; z-index:1;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px;
  color:var(--muted); font-size:0.82rem;
}

@media (prefers-reduced-motion: reduce){ * {animation:none !important;} }
