/* ══ HOME PAGE ══ */

/* HERO */
.hero {
  min-height: 100vh; display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center; gap: 3rem;
  padding: 0 3.5rem; padding-top: var(--nav-h);
  position: relative; overflow: hidden;
}

.hero-plasma { position:absolute; inset:0; pointer-events:none; }
.plasma-blob {
  position: absolute; border-radius: 50%;
  filter: blur(100px); animation: blobFloat 15s ease-in-out infinite alternate;
}
.pb1 { width:700px;height:700px; background:rgba(0,245,255,0.07); top:-200px; right:-200px; animation-delay:0s; }
.pb2 { width:500px;height:500px; background:rgba(255,45,120,0.08); bottom:-100px; left:-100px; animation-delay:-5s; }
.pb3 { width:400px;height:400px; background:rgba(123,47,255,0.07); top:40%; left:40%; animation-delay:-10s; }
@keyframes blobFloat { 0%{transform:translate(0,0) scale(1);} 100%{transform:translate(40px,30px) scale(1.08);} }

.hero-grid-overlay {
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(0,245,255,0.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,245,255,0.03) 1px,transparent 1px);
  background-size:60px 60px;
}

.hero-content { position:relative; z-index:2; }
.hero-badge { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.8rem; }

.hero-h1 {
  font-family: var(--font-display); font-weight:800;
  font-size: clamp(3.5rem, 7vw, 6rem);
  line-height: 0.92; letter-spacing: -0.04em;
  color: var(--white); margin: 1rem 0;
}
.hero-gradient-text {
  background: linear-gradient(90deg, var(--cyan) 0%, var(--violet) 50%, var(--magenta) 100%);
  background-size: 200%;
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  animation: gradShift 4s ease-in-out infinite alternate;
}
@keyframes gradShift { 0%{background-position:0%} 100%{background-position:100%} }

.hero-sub {
  font-size: 1.08rem; color: var(--muted); max-width: 480px;
  line-height: 1.72; margin-bottom: 2.5rem;
}
.hero-sub em { font-style: normal; color: var(--magenta); }

.hero-actions { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.5rem; }

.hero-stats { display:flex; align-items:center; gap:2rem; }
.hs { display:flex; flex-direction:column; }
.hs-num {
  font-family:var(--font-display); font-size:1.8rem; font-weight:800;
  letter-spacing:-0.03em; line-height:1;
  background:linear-gradient(135deg,var(--cyan),var(--violet));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hs-lbl { font-family:var(--font-mono); font-size:0.6rem; color:var(--muted); letter-spacing:0.15em; text-transform:uppercase; margin-top:.2rem; }
.hs-sep { width:1px; height:36px; background:rgba(0,245,255,0.2); }

/* Hero Visual */
.hero-visual { position:relative; z-index:2; }
.hv-card { position:relative; }
.hv-main { padding:1.8rem; background:rgba(7,10,26,0.8) !important; }
.hv-header { display:flex; align-items:center; gap:.5rem; margin-bottom:1.8rem; }
.dot { width:10px; height:10px; border-radius:50%; }
.d1{background:var(--magenta);} .d2{background:var(--lime);} .d3{background:var(--cyan);}
.hv-title { font-family:var(--font-mono); font-size:0.62rem; color:var(--muted); margin-left:.3rem; letter-spacing:.1em; }
.hv-metric { margin-bottom:1.6rem; }
.hv-num { font-family:var(--font-display); font-size:3.8rem; font-weight:800; letter-spacing:-0.04em; line-height:1;
  background:linear-gradient(90deg,var(--cyan),var(--magenta));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; display:block; }
.hv-lbl { font-family:var(--font-mono); font-size:.62rem; color:var(--muted); letter-spacing:.2em; text-transform:uppercase; }
.hv-bars { display:flex; flex-direction:column; gap:.9rem; margin-bottom:1.5rem; }
.hv-bar-row { display:grid; grid-template-columns:55px 1fr 45px; align-items:center; gap:.8rem;
  font-family:var(--font-mono); font-size:.6rem; color:var(--muted); }
.hv-bar { height:6px; background:rgba(255,255,255,.07); border-radius:0; overflow:hidden; }
.hv-fill { height:100%; border-radius:0; animation:fillBar 1.5s var(--ease) forwards; transform:scaleX(0); transform-origin:left; }
@keyframes fillBar { to{transform:scaleX(1);} }
.hv-footer { margin-top:.5rem; }

.hv-float1,.hv-float2,.hv-float3 {
  position:absolute; padding:.7rem 1rem;
  display:flex; align-items:center; gap:.6rem;
  font-family:var(--font-mono); font-size:.65rem; color:var(--white);
  background:rgba(7,10,26,0.85) !important;
  white-space:nowrap;
}
.hv-float1 { top:-20px; right:-20px; }
.hv-float1 i { color:var(--cyan); font-size:.9rem; }
.hv-float2 { bottom:80px; right:-30px; }
.hv-float2 i { color:var(--magenta); font-size:.9rem; }
.hv-float3 { bottom:-15px; left:20px; }

.hv-pulse {
  width:8px; height:8px; background:var(--lime); border-radius:50%;
  display:inline-block; margin-right:2px;
  box-shadow:0 0 0 0 rgba(184,255,87,.5);
  animation:pulse 2s ease-in-out infinite;
}
@keyframes pulse { 0%,100%{box-shadow:0 0 0 0 rgba(184,255,87,.5);} 50%{box-shadow:0 0 0 8px rgba(184,255,87,0);} }

.hero-scroll { position:absolute; bottom:2.5rem; left:3.5rem; display:flex; flex-direction:column; align-items:center; gap:.6rem; z-index:2; }
.scroll-line { width:1px; height:50px; background:linear-gradient(to bottom,var(--cyan),transparent); animation:scrollDown 1.8s ease-in-out infinite; }
@keyframes scrollDown { 0%,100%{opacity:.3;transform:scaleY(0.5);transform-origin:top;} 50%{opacity:1;transform:scaleY(1);} }
.hero-scroll span { font-family:var(--font-mono); font-size:.52rem; letter-spacing:.25em; color:var(--muted); writing-mode:vertical-rl; }

/* MARQUEE */
.marquee-section {
  overflow:hidden; padding:1.2rem 0;
  border-top:1px solid rgba(0,245,255,.08);
  border-bottom:1px solid rgba(0,245,255,.08);
  background:rgba(0,245,255,.02);
}
.marquee-inner {
  display:flex; gap:2.5rem; white-space:nowrap;
  animation:marqueeRun 28s linear infinite;
  font-family:var(--font-display); font-size:.8rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2);
}
.marquee-inner .sep { color:var(--cyan); opacity:.5; }
@keyframes marqueeRun { from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* SERVICES GRID */
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(0,245,255,.06); }
.service-card { padding:2.5rem 2rem; position:relative; overflow:hidden; }
.sc-icon {
  width:52px; height:52px; display:flex; align-items:center; justify-content:center;
  border:1.5px solid var(--ic,var(--cyan)); color:var(--ic,var(--cyan)); font-size:1.2rem;
  margin-bottom:1.4rem; position:relative; z-index:1; transition:.3s;
  clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);
}
.service-card:hover .sc-icon { background:var(--ic,var(--cyan)); color:var(--navy); box-shadow:0 0 20px var(--ic,var(--cyan)); }
.sc-num {
  position:absolute; top:-0.3rem; right:1.2rem;
  font-family:var(--font-display); font-size:4.5rem; font-weight:800;
  color:rgba(0,245,255,.04); letter-spacing:-.04em; pointer-events:none;
}
.service-card h3 { font-family:var(--font-display); font-size:1.2rem; font-weight:700; color:var(--white); margin-bottom:.7rem; }
.service-card p { font-size:.87rem; color:var(--muted); line-height:1.7; margin-bottom:1.2rem; }
.sc-link { font-family:var(--font-mono); font-size:.7rem; color:var(--cyan); text-decoration:none; letter-spacing:.1em; text-transform:uppercase; display:inline-flex; align-items:center; gap:.4rem; transition:gap .3s; }
.sc-link:hover { gap:.7rem; }

/* TESTIMONIALS */
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(0,245,255,.06); margin-top:2.5rem; }
.testi-card { padding:2.2rem; }
.testi-stars { color:var(--cyan); font-size:.95rem; letter-spacing:2px; margin-bottom:1rem; text-shadow:var(--neon-cyan); }
.testi-card p { font-size:.9rem; color:var(--muted); line-height:1.75; font-style:italic; margin-bottom:1.4rem; }
.testi-author { display:flex; align-items:center; gap:.9rem; }
.testi-av { width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.75rem; font-weight:700; color:var(--white); flex-shrink:0; }
.testi-author strong { display:block; font-family:var(--font-display); font-size:1rem; font-weight:700; color:var(--white); }
.testi-author small { font-family:var(--font-mono); font-size:.62rem; color:var(--muted); }

/* CTA SECTION */
.cta-section {
  position:relative; overflow:hidden;
  padding:7rem 3.5rem; text-align:center;
  border-top:1px solid rgba(0,245,255,.08);
  border-bottom:1px solid rgba(0,245,255,.08);
}
.cta-plasma {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 80% at 50% 50%,rgba(123,47,255,.1) 0%,transparent 70%),
    radial-gradient(ellipse 40% 40% at 20% 80%,rgba(0,245,255,.07) 0%,transparent 60%),
    radial-gradient(ellipse 40% 40% at 80% 20%,rgba(255,45,120,.07) 0%,transparent 60%);
}
.cta-inner { position:relative; max-width:640px; margin:0 auto; }
.cta-inner h2 { font-family:var(--font-display); font-size:clamp(2.2rem,5vw,3.8rem); font-weight:800; letter-spacing:-.03em; color:var(--white); margin:1rem 0; }
.cta-inner p { color:var(--muted); font-size:1.05rem; margin-bottom:2.2rem; }
.cta-actions { display:flex; justify-content:center; gap:1rem; flex-wrap:wrap; }

/* RESPONSIVE */
@media(max-width:1024px) {
  .hero { grid-template-columns:1fr; padding:0 2rem; padding-top:calc(var(--nav-h) + 2rem); }
  .hero-visual { display:none; }
  .hero-scroll { display:none; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .testi-grid { grid-template-columns:1fr; }
}
@media(max-width:768px) {
  .services-grid { grid-template-columns:1fr; }
  .cta-section { padding:5rem 1.5rem; }
  .hero { padding:0 1.5rem; padding-top:calc(var(--nav-h)+2rem); }
}
