/* ================================================================
   CODESCRIPTUM — CYBERSECURITY LANDING PAGE
   Theme: Dark cyber / neon green + cyan
   ================================================================ */

/* ── VARIABLES ─────────────────────────────────────────────── */
:root {
  --cyber-green: #00FF88;
  --cyber-cyan: #00D4FF;
  --cyber-purple: #A855F7;
  --cyber-red: #FF3B3B;
  --cyber-orange: #FF8C00;
  --cyber-yellow: #FFD600;
  --dark-bg: #0A0E17;
  --dark-card: #111827;
  --dark-card-2: #1A2332;
  --dark-border: rgba(0,255,136,.12);
  --gray-300: #CBD5E1;
  --gray-400: #94A3B8;
  --gray-500: #64748B;
  --radius: 16px;
  --font-body: 'Inter', -apple-system, sans-serif;
  --font-heading: 'Space Grotesk', 'Inter', sans-serif;
}

/* ── PAGE OVERRIDES (cyber theme needs dark body) ─────────── */
body {
  background: var(--dark-bg);
  color: var(--gray-300);
  -webkit-font-smoothing: antialiased;
  line-height: 1.7;
  overflow-x: hidden;
}
h1,h2,h3,h4 { font-family: var(--font-heading); color:#fff; line-height:1.2; }
a { color: inherit; text-decoration:none; }
ul, li { list-style: none; }
.container { max-width:1200px; margin:0 auto; padding:0 24px; }
.section { padding:120px 0; position:relative; }

.section--dark { background:var(--dark-bg); }
.section--cyber {
  background: linear-gradient(180deg, #0D1321 0%, #0A0E17 100%);
  position:relative;
}
.section--cyber::before {
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--cyber-green),transparent);
}
.section--contact {
  background: linear-gradient(135deg, #0D1321 0%, #111827 100%);
  padding:120px 0;
}

.section__title {
  font-size:clamp(1.8rem,4vw,2.8rem);text-align:center;margin-bottom:16px;
}
.section__title--left { text-align:left; }
.section__subtitle {
  text-align:center;color:var(--gray-400);font-size:1.05rem;margin-bottom:64px;max-width:600px;margin-left:auto;margin-right:auto;
}

.gradient-text {
  background:linear-gradient(135deg,var(--cyber-green),var(--cyber-cyan));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

/* ── BUTTONS ───────────────────────────────────────────────── */
.btn {
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 28px;border-radius:12px;font-weight:600;font-size:.95rem;
  transition:all .3s ease;cursor:pointer;border:none;
  font-family:var(--font-body);
}
.btn--cyber {
  background:linear-gradient(135deg,var(--cyber-green),#00CC6A);
  color:#0A0E17;
}
.btn--cyber:hover { transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,255,136,.35); }
.btn--glow { box-shadow:0 0 20px rgba(0,255,136,.2); }
.btn--ghost {
  background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;
}
.btn--ghost:hover { border-color:var(--cyber-green);color:var(--cyber-green); }
.btn--outline {
  background:transparent;border:2px solid var(--cyber-green);color:var(--cyber-green);
}
.btn--outline:hover { background:var(--cyber-green);color:#0A0E17; }
.btn--primary {
  background:var(--cyber-green);color:#0A0E17;
}
.btn--sm { padding:10px 18px;font-size:.85rem; }
.btn--full { width:100%;justify-content:center; }

/* ── HEADER / NAV ──────────────────────────────────────────── */
.header {
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(10,14,23,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(0,255,136,.06);
  transition:all .3s ease;
}
.header--scrolled { box-shadow:0 4px 30px rgba(0,0,0,.4); }
.nav {
  display:flex;align-items:center;justify-content:space-between;
  height:72px;
}
.nav__logo img { height:36px; }
.nav__menu {
  display:flex;align-items:center;gap:8px;
}
.nav__link {
  padding:8px 14px;font-size:.9rem;font-weight:500;
  color:rgba(255,255,255,.7);transition:color .25s ease;border-radius:8px;
}
.nav__link:hover { color:var(--cyber-green); }
.nav__link--cta {
  background:var(--cyber-green);color:#0A0E17 !important;
  font-weight:700;padding:10px 20px;border-radius:10px;
}
.nav__link--cta:hover { box-shadow:0 4px 16px rgba(0,255,136,.3); }
.nav__toggle { display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px; }
.nav__toggle-bar {
  width:24px;height:2px;background:#fff;border-radius:2px;
  transition:all .3s ease;transform-origin:center;
}
.nav__toggle--active .nav__toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__toggle--active .nav__toggle-bar:nth-child(2){opacity:0;transform:scaleX(0)}
.nav__toggle--active .nav__toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── HERO ──────────────────────────────────────────────────── */
.hero {
  min-height:100vh;display:flex;align-items:center;
  position:relative;overflow:hidden;
  padding:120px 0 80px;
  background: radial-gradient(ellipse at 30% 50%, rgba(0,255,136,.06) 0%, transparent 60%),
              radial-gradient(ellipse at 70% 30%, rgba(0,212,255,.04) 0%, transparent 50%),
              var(--dark-bg);
}
.hero__canvas {
  position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;
}
.hero__scan-line {
  position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--cyber-green),transparent);
  opacity:.4;z-index:1;
  animation:scanLine 4s linear infinite;
}
@keyframes scanLine {
  0%{top:0}100%{top:100%}
}
.hero__grid-overlay {
  position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;
  background-image:
    linear-gradient(rgba(0,255,136,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,255,136,.03) 1px, transparent 1px);
  background-size:60px 60px;
}
.hero__inner {
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
}
.hero__badge {
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(0,255,136,.08);border:1px solid rgba(0,255,136,.2);
  padding:6px 16px;border-radius:100px;font-size:.82rem;color:var(--cyber-green);
  margin-bottom:20px;font-weight:600;
  animation:fadeInUp .8s ease both;
}
.hero__badge-dot {
  width:8px;height:8px;border-radius:50%;background:var(--cyber-green);
  animation:pulse 2s ease infinite;
}
@keyframes pulse {
  0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}
}
.hero__title {
  font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;margin-bottom:20px;
  animation:fadeInUp .8s ease .1s both;
}
.hero__cursor {
  color:var(--cyber-green);font-weight:300;
  animation:blink 1s step-end infinite;
}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

/* Glitch text effect */
.glitch-text {
  position:relative;display:inline-block;
  color:var(--cyber-green);
}
.glitch-text::before,
.glitch-text::after {
  content:attr(data-text);position:absolute;top:0;left:0;
  width:100%;height:100%;overflow:hidden;
}
.glitch-text::before {
  color:var(--cyber-cyan);z-index:-1;
  animation:glitch1 3s infinite linear alternate-reverse;
}
.glitch-text::after {
  color:var(--cyber-red);z-index:-2;
  animation:glitch2 2s infinite linear alternate-reverse;
}
@keyframes glitch1 {
  0%,95%{clip-path:inset(0)}
  96%{clip-path:inset(20% 0 60% 0);transform:translate(-3px,0)}
  97%{clip-path:inset(60% 0 10% 0);transform:translate(3px,0)}
  98%{clip-path:inset(40% 0 30% 0);transform:translate(-2px,0)}
  99%{clip-path:inset(0);transform:translate(0)}
}
@keyframes glitch2 {
  0%,93%{clip-path:inset(0)}
  94%{clip-path:inset(50% 0 20% 0);transform:translate(3px,0)}
  95%{clip-path:inset(10% 0 70% 0);transform:translate(-3px,0)}
  96%{clip-path:inset(70% 0 5% 0);transform:translate(2px,0)}
  97%{clip-path:inset(0);transform:translate(0)}
}

.hero__subtitle {
  font-size:1.1rem;color:var(--gray-400);margin-bottom:32px;max-width:540px;
  animation:fadeInUp .8s ease .2s both;
}
.hero__actions {
  display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px;
  animation:fadeInUp .8s ease .3s both;
}
.hero__stats {
  display:flex;gap:40px;
  animation:fadeInUp .8s ease .4s both;
}
.hero__stat { text-align:center; }
.hero__stat-number {
  font-family:var(--font-heading);font-size:2rem;font-weight:800;
  color:var(--cyber-green);display:inline;
}
.hero__stat-suffix { font-size:1rem;color:var(--cyber-green);font-weight:600; }
.hero__stat-label { display:block;font-size:.78rem;color:var(--gray-500);margin-top:2px; }

/* ── SHIELD ANIMATION ──────────────────────────────────────── */
.hero__visual {
  display:flex;align-items:center;justify-content:center;
  animation:fadeInUp .8s ease .2s both;
  position:relative;
}
/* Background glow behind the whole shield */
.hero__visual::before {
  content:'';position:absolute;
  width:500px;height:500px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,255,136,.08) 0%,rgba(0,212,255,.04) 40%,transparent 70%);
  animation:heroGlow 4s ease-in-out infinite alternate;
  pointer-events:none;
}
@keyframes heroGlow {
  0%{transform:scale(1);opacity:.6}
  100%{transform:scale(1.15);opacity:1}
}
.shield-anim {
  position:relative;width:500px;height:500px;
}
.shield-anim__ring {
  position:absolute;border-radius:50%;
  border:1px solid;
  top:50%;left:50%;transform:translate(-50%,-50%);
}
.shield-anim__ring--1 {
  width:240px;height:240px;
  border-color:rgba(0,255,136,.2);
  animation:ringPulse 3s ease infinite;
  box-shadow:0 0 20px rgba(0,255,136,.05);
}
.shield-anim__ring--2 {
  width:340px;height:340px;
  border-color:rgba(0,212,255,.15);
  border-style:dashed;
  animation:ringPulse 3s ease .5s infinite, ringRotate 20s linear infinite;
  box-shadow:0 0 30px rgba(0,212,255,.04);
}
.shield-anim__ring--3 {
  width:440px;height:440px;
  border-color:rgba(168,85,247,.1);
  animation:ringPulse 3s ease 1s infinite, ringRotate 30s linear infinite reverse;
  box-shadow:0 0 40px rgba(168,85,247,.03);
}
@keyframes ringPulse {
  0%,100%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  50%{opacity:.5;transform:translate(-50%,-50%) scale(1.03)}
}
@keyframes ringRotate {
  from{transform:translate(-50%,-50%) rotate(0deg)}
  to{transform:translate(-50%,-50%) rotate(360deg)}
}

.shield-anim__core {
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:120px;height:120px;border-radius:50%;
  background:linear-gradient(135deg,rgba(0,255,136,.18),rgba(0,212,255,.12));
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 50px rgba(0,255,136,.25), 0 0 100px rgba(0,255,136,.08), inset 0 0 40px rgba(0,255,136,.06);
  animation:corePulse 2s ease infinite;
  border:1px solid rgba(0,255,136,.2);
}
.shield-anim__core i {
  font-size:3.2rem;color:var(--cyber-green);
  filter:drop-shadow(0 0 15px rgba(0,255,136,.6));
  animation:coreIconPulse 3s ease infinite;
}
@keyframes corePulse {
  0%,100%{box-shadow:0 0 50px rgba(0,255,136,.25), 0 0 100px rgba(0,255,136,.08)}
  50%{box-shadow:0 0 70px rgba(0,255,136,.4), 0 0 140px rgba(0,255,136,.12)}
}
@keyframes coreIconPulse {
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 15px rgba(0,255,136,.6))}
  50%{transform:scale(1.08);filter:drop-shadow(0 0 25px rgba(0,255,136,.9))}
}

/* Orbiting particles */
.shield-anim__orbit {
  position:absolute;top:50%;left:50%;
  width:0;height:0;
}
.shield-anim__orbit--1 { animation:orbit 8s linear infinite; }
.shield-anim__orbit--2 { animation:orbit 12s linear infinite reverse; }
.shield-anim__orbit--3 { animation:orbit 10s linear infinite; animation-delay:-3s; }
.shield-anim__orbit--4 { animation:orbit 14s linear infinite reverse; animation-delay:-5s; }

.shield-anim__orbit--1 .shield-anim__particle { transform:translate(120px,-50%); }
.shield-anim__orbit--2 .shield-anim__particle { transform:translate(170px,-50%); }
.shield-anim__orbit--3 .shield-anim__particle { transform:translate(145px,-50%); }
.shield-anim__orbit--4 .shield-anim__particle { transform:translate(200px,-50%); }

@keyframes orbit {
  from{transform:rotate(0deg)}to{transform:rotate(360deg)}
}

.shield-anim__particle {
  width:46px;height:46px;border-radius:50%;
  background:rgba(0,255,136,.1);border:1px solid rgba(0,255,136,.25);
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(4px);
  box-shadow:0 0 16px rgba(0,255,136,.12);
}
.shield-anim__particle i {
  font-size:1rem;color:var(--cyber-green);
  animation:counterRotate 8s linear infinite;
}
.shield-anim__orbit--2 .shield-anim__particle i { animation:counterRotate 12s linear infinite reverse; }
.shield-anim__orbit--3 .shield-anim__particle i { animation-duration:10s; }
.shield-anim__orbit--4 .shield-anim__particle i { animation:counterRotate 14s linear infinite reverse; }

@keyframes counterRotate {
  from{transform:rotate(0deg)}to{transform:rotate(-360deg)}
}

/* Floating threats */
.shield-anim__threat {
  position:absolute;width:38px;height:38px;border-radius:50%;
  background:rgba(255,59,59,.12);border:1px solid rgba(255,59,59,.25);
  display:flex;align-items:center;justify-content:center;
  animation:threatFloat 5s ease infinite;
  box-shadow:0 0 12px rgba(255,59,59,.1);
}
.shield-anim__threat i { font-size:.85rem;color:var(--cyber-red); }
.shield-anim__threat--1 { top:5%;left:10%;animation-delay:0s; }
.shield-anim__threat--2 { top:15%;right:5%;animation-delay:1.2s; }
.shield-anim__threat--3 { bottom:10%;left:5%;animation-delay:2.5s; }
.shield-anim__threat--4 { bottom:20%;right:10%;animation-delay:3.8s; }

@keyframes threatFloat {
  0%,100%{transform:translateY(0) scale(1);opacity:.7}
  30%{transform:translateY(-15px) scale(1.1);opacity:1}
  60%{transform:translateY(5px) scale(.95);opacity:.5}
}

/* ── ALERT BAR ─────────────────────────────────────────────── */
.alert-bar {
  background:var(--cyber-red);padding:14px 0;overflow:hidden;
  position:relative;
}
.alert-bar::before, .alert-bar::after {
  content:'';position:absolute;top:0;width:80px;height:100%;z-index:2;
}
.alert-bar::before{left:0;background:linear-gradient(90deg,var(--cyber-red),transparent)}
.alert-bar::after{right:0;background:linear-gradient(-90deg,var(--cyber-red),transparent)}
.alert-bar__track {
  display:flex;gap:48px;white-space:nowrap;
  animation:marqueeScroll 25s linear infinite;
}
.alert-bar__item {
  font-size:.82rem;font-weight:700;color:#fff;letter-spacing:1px;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:8px;
}
.alert-bar__item i { font-size:.7rem; }
@keyframes marqueeScroll {
  0%{transform:translateX(0)}100%{transform:translateX(-50%)}
}

/* ── THREAT CARDS ──────────────────────────────────────────── */
.threats__grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
}
.threat-card {
  background:var(--dark-card);border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius);padding:36px 30px;
  transition:all .4s ease;position:relative;overflow:hidden;
}
.threat-card::before {
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--cyber-red),transparent);
  opacity:0;transition:opacity .3s ease;
}
.threat-card:hover::before { opacity:1; }
.threat-card:hover {
  transform:translateY(-4px);border-color:rgba(255,59,59,.15);
  box-shadow:0 12px 40px rgba(0,0,0,.3);
}
.threat-card h3 { font-size:1.15rem;margin:16px 0 8px;color:#fff; }
.threat-card p { font-size:.9rem;color:var(--gray-400);margin-bottom:16px; }

.threat-card__icon {
  width:52px;height:52px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;
  position:relative;
}
.threat-card__icon--red { background:rgba(255,59,59,.1);color:var(--cyber-red); }
.threat-card__icon--orange { background:rgba(255,140,0,.1);color:var(--cyber-orange); }
.threat-card__icon--purple { background:rgba(168,85,247,.1);color:var(--cyber-purple); }
.threat-card__icon--cyan { background:rgba(0,212,255,.1);color:var(--cyber-cyan); }
.threat-card__icon--green { background:rgba(0,255,136,.1);color:var(--cyber-green); }
.threat-card__icon--yellow { background:rgba(255,214,0,.1);color:var(--cyber-yellow); }

.threat-card__pulse {
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:100%;height:100%;border-radius:14px;
  animation:cardPulse 2s ease infinite;
}
.threat-card__icon--red .threat-card__pulse { box-shadow:0 0 0 0 rgba(255,59,59,.3); }
.threat-card__icon--orange .threat-card__pulse { box-shadow:0 0 0 0 rgba(255,140,0,.3); }
.threat-card__icon--purple .threat-card__pulse { box-shadow:0 0 0 0 rgba(168,85,247,.3); }
.threat-card__icon--cyan .threat-card__pulse { box-shadow:0 0 0 0 rgba(0,212,255,.3); }
.threat-card__icon--green .threat-card__pulse { box-shadow:0 0 0 0 rgba(0,255,136,.3); }
.threat-card__icon--yellow .threat-card__pulse { box-shadow:0 0 0 0 rgba(255,214,0,.3); }
@keyframes cardPulse {
  0%{box-shadow:0 0 0 0 rgba(255,59,59,.4)}
  70%{box-shadow:0 0 0 12px rgba(255,59,59,0)}
  100%{box-shadow:0 0 0 0 rgba(255,59,59,0)}
}

.threat-card__stat {
  padding-top:14px;border-top:1px solid rgba(255,255,255,.06);
  display:flex;align-items:baseline;gap:8px;
}
.threat-card__stat-number {
  font-family:var(--font-heading);font-size:1.3rem;font-weight:800;
  color:var(--cyber-red);
}
.threat-card__stat span:last-child { font-size:.8rem;color:var(--gray-500); }

/* ── AUDIT ITEMS ───────────────────────────────────────────── */
.audit__grid {
  display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
}
.audit-item {
  display:flex;align-items:center;gap:20px;
  background:var(--dark-card);border:1px solid rgba(0,255,136,.06);
  border-radius:var(--radius);padding:28px 30px;
  transition:all .35s ease;position:relative;overflow:hidden;
}
.audit-item::after {
  content:'';position:absolute;top:0;left:0;bottom:0;width:3px;
  background:var(--cyber-green);opacity:0;transition:opacity .3s ease;
}
.audit-item:hover::after { opacity:1; }
.audit-item:hover {
  border-color:rgba(0,255,136,.15);
  transform:translateX(4px);
  box-shadow:0 8px 30px rgba(0,0,0,.2);
}
.audit-item__number {
  font-family:var(--font-heading);font-size:2rem;font-weight:800;
  color:rgba(0,255,136,.15);min-width:48px;
}
.audit-item__content { flex:1; }
.audit-item__content h3 { font-size:1.05rem;margin-bottom:4px; }
.audit-item__content p { font-size:.88rem;color:var(--gray-400); }
.audit-item__icon {
  font-size:1.4rem;color:var(--cyber-green);opacity:.4;
  transition:opacity .3s ease;
}
.audit-item:hover .audit-item__icon { opacity:1; }

/* ── SERVICE CARDS ─────────────────────────────────────────── */
.services__grid {
  display:grid;grid-template-columns:repeat(2,1fr);gap:28px;
}
.service-card {
  background:var(--dark-card);border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius);padding:40px 34px;
  position:relative;overflow:hidden;transition:all .4s ease;
}
.service-card:hover {
  border-color:rgba(0,255,136,.15);transform:translateY(-4px);
  box-shadow:0 16px 48px rgba(0,0,0,.3);
}
.service-card__glow {
  position:absolute;top:-50%;right:-50%;width:200px;height:200px;
  border-radius:50%;background:radial-gradient(circle,rgba(0,255,136,.06),transparent 70%);
  pointer-events:none;transition:all .5s ease;
}
.service-card:hover .service-card__glow {
  transform:scale(1.5);opacity:1;
}
.service-card__icon {
  width:52px;height:52px;border-radius:14px;
  background:rgba(0,255,136,.08);color:var(--cyber-green);
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;
  margin-bottom:16px;
}
.service-card h3 { font-size:1.15rem;margin-bottom:8px; }
.service-card p { font-size:.9rem;color:var(--gray-400);margin-bottom:16px; }
.service-card ul { display:flex;flex-direction:column;gap:6px; }
.service-card li {
  font-size:.85rem;color:var(--gray-400);padding-left:20px;position:relative;
}
.service-card li::before {
  content:'';position:absolute;left:0;top:8px;width:8px;height:8px;
  border-radius:50%;background:var(--cyber-green);opacity:.5;
}

/* ── PROCESS TIMELINE ──────────────────────────────────────── */
.process__timeline {
  max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:0;
  position:relative;
}
.process-step {
  display:flex;gap:28px;position:relative;padding-bottom:56px;
}
.process-step:last-child { padding-bottom:0; }
.process-step__line {
  position:absolute;left:23px;top:48px;bottom:0;width:2px;
  background:linear-gradient(180deg,var(--cyber-green),transparent);
}
.process-step:last-child .process-step__line { display:none; }
.process-step__dot {
  width:48px;height:48px;border-radius:50%;flex-shrink:0;
  background:rgba(0,255,136,.1);border:2px solid var(--cyber-green);
  display:flex;align-items:center;justify-content:center;
  color:var(--cyber-green);font-size:1rem;
  box-shadow:0 0 20px rgba(0,255,136,.15);
  transition:all .3s ease;
}
.process-step:hover .process-step__dot {
  background:var(--cyber-green);color:#0A0E17;
  box-shadow:0 0 30px rgba(0,255,136,.4);
}
.process-step__content { flex:1;padding-top:6px; }
.process-step__label {
  font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;
  color:var(--cyber-green);margin-bottom:4px;display:block;
}
.process-step__content h3 { font-size:1.2rem;margin-bottom:6px; }
.process-step__content p { font-size:.9rem;color:var(--gray-400); }

/* ── PRICING ───────────────────────────────────────────────── */
.pricing__grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start;
}
.pricing-card {
  background:var(--dark-card);border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius);padding:40px 30px;text-align:center;
  transition:all .4s ease;position:relative;
}
.pricing-card:hover {
  transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,.3);
}
.pricing-card--featured {
  border-color:var(--cyber-green);
  background:linear-gradient(180deg,rgba(0,255,136,.04),var(--dark-card));
  box-shadow:0 0 40px rgba(0,255,136,.08);
  transform:scale(1.04);
}
.pricing-card--featured:hover { transform:scale(1.04) translateY(-6px); }
.pricing-card__badge {
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--cyber-green);color:#0A0E17;
  font-size:.75rem;font-weight:700;padding:4px 16px;border-radius:100px;
}
.pricing-card__header { margin-bottom:20px; }
.pricing-card__name {
  font-family:var(--font-heading);font-size:1.4rem;font-weight:700;
  color:#fff;display:block;
}
.pricing-card__desc { font-size:.85rem;color:var(--gray-500); }
.pricing-card__price { margin-bottom:28px; }
.pricing-card__amount {
  font-family:var(--font-heading);font-size:2.8rem;font-weight:800;
  color:var(--cyber-green);
}
.pricing-card__currency { font-size:.9rem;color:var(--gray-500);display:block; }
.pricing-card__features {
  text-align:left;margin-bottom:28px;display:flex;flex-direction:column;gap:10px;
}
.pricing-card__features li {
  font-size:.88rem;display:flex;align-items:center;gap:10px;
}
.pricing-card__features li i { color:var(--cyber-green);font-size:.75rem;width:16px;text-align:center; }
.pricing-card__feature--disabled { opacity:.4; }
.pricing-card__feature--disabled i { color:var(--gray-500) !important; }

/* ── TESTIMONIALS ──────────────────────────────────────────── */
.testimonials__grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
  margin-top:40px;
}
.testimonial-card {
  background:var(--dark-card);border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius);padding:36px 30px;
  transition:all .35s ease;
}
.testimonial-card:hover {
  border-color:rgba(0,255,136,.12);transform:translateY(-3px);
  box-shadow:0 12px 40px rgba(0,0,0,.2);
}
.testimonial-card__stars { margin-bottom:16px;color:var(--cyber-yellow); }
.testimonial-card__stars i { font-size:.85rem; }
.testimonial-card p { font-size:.9rem;color:var(--gray-400);margin-bottom:16px;font-style:italic; }
.testimonial-card__author strong { display:block;color:#fff;font-size:.9rem; }
.testimonial-card__author span { font-size:.8rem;color:var(--gray-500); }

/* ── FAQ ───────────────────────────────────────────────────── */
.faq__list { max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:16px; }
.faq-item {
  background:var(--dark-card);border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius);overflow:hidden;transition:border-color .3s ease;
}
.faq-item[open] { border-color:rgba(0,255,136,.15); }
.faq-item__q {
  padding:20px 24px;cursor:pointer;display:flex;align-items:center;
  justify-content:space-between;gap:16px;
  font-size:.95rem;font-weight:600;color:#fff;
  list-style:none;
}
.faq-item__q::-webkit-details-marker { display:none; }
.faq-item__q i {
  color:var(--cyber-green);transition:transform .3s ease;font-size:.8rem;
}
.faq-item[open] .faq-item__q i { transform:rotate(180deg); }
.faq-item__a {
  padding:0 24px 20px;
}
.faq-item__a p { font-size:.9rem;color:var(--gray-400); }

/* ── CONTACT ───────────────────────────────────────────────── */
.contact__grid {
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;
}
.contact__info p { font-size:1rem;color:var(--gray-400);margin:16px 0 32px; }
.contact__benefits { display:flex;flex-direction:column;gap:16px; }
.contact__benefit {
  display:flex;align-items:center;gap:12px;font-size:.9rem;color:var(--gray-300);
}
.contact__benefit i { color:var(--cyber-green);font-size:1.1rem;width:24px;text-align:center; }

.contact-form {
  background:var(--dark-card);border:1px solid rgba(0,255,136,.1);
  border-radius:var(--radius);padding:40px 36px;
}
.contact-form__row {
  display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;
}
.contact-form__field { margin-bottom:16px; }
.contact-form__field label {
  display:block;font-size:.85rem;font-weight:600;color:#fff;margin-bottom:6px;
}
.contact-form__field input,
.contact-form__field select,
.contact-form__field textarea {
  width:100%;padding:12px 16px;border-radius:10px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  color:#fff;font-size:.9rem;font-family:var(--font-body);
  transition:border-color .3s ease;
}
.contact-form__field input:focus,
.contact-form__field select:focus,
.contact-form__field textarea:focus {
  outline:none;border-color:var(--cyber-green);
  box-shadow:0 0 0 3px rgba(0,255,136,.1);
}
.contact-form__field select { cursor:pointer; }
.contact-form__field select option { background:var(--dark-card);color:#fff; }

/* RODO + error spans (WP form pattern) */
.contact-form__rodo { margin:20px 0; }
.contact-form__checkbox {
  display:flex;align-items:flex-start;gap:10px;cursor:pointer;
  font-size:.82rem;color:var(--gray-400);line-height:1.5;
}
.contact-form__checkbox input { margin-top:3px;accent-color:var(--cyber-green); }
.contact-form__checkbox a { color:var(--cyber-green); }
.contact-form__error {
  display:block;font-size:.78rem;color:var(--cyber-red);margin-top:4px;min-height:18px;
}

/* ── RODO CHECKBOX ────────────────────────────────────────── */
.contact-form__checkbox {
  display:flex;align-items:flex-start;gap:10px;cursor:pointer;
}
.contact-form__checkbox input { position:absolute;opacity:0;width:0;height:0; }
.contact-form__checkmark {
  width:20px;height:20px;min-width:20px;border-radius:4px;
  border:2px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  transition:all .25s ease;margin-top:2px;
}
.contact-form__checkbox input:checked ~ .contact-form__checkmark {
  background:var(--cyber-green);border-color:var(--cyber-green);
}
.contact-form__checkbox input:checked ~ .contact-form__checkmark::after {
  content:'\f00c';font-family:'Font Awesome 6 Free';font-weight:900;
  font-size:.65rem;color:#0A0E17;
}
.contact-form__checkbox input:focus-visible ~ .contact-form__checkmark {
  box-shadow:0 0 0 3px rgba(0,255,136,.3);
}
.contact-form__checkbox-text {
  font-size:.82rem;color:var(--gray-400);line-height:1.5;
}
.contact-form__checkbox-text a { color:var(--cyber-green);text-decoration:underline; }

.contact-form__disclaimer {
  font-size:.78rem;color:var(--gray-500);text-align:center;margin-top:12px;
}
.contact-form__disclaimer a { color:var(--cyber-green); }

/* ── FORM TOAST ───────────────────────────────────────────── */
.form-toast {
  display:none;
  position:fixed;bottom:32px;right:32px;z-index:9999;
  background:var(--dark-card);border:1px solid var(--cyber-green);
  border-radius:var(--radius);padding:20px 24px;
  box-shadow:0 12px 48px rgba(0,255,136,.15);
  align-items:center;gap:14px;max-width:420px;
  animation:toastSlideIn .4s ease forwards;
}
.form-toast.show,
.form-toast--visible { display:flex; }
.form-toast__icon { font-size:1.6rem;color:var(--cyber-green); }
.form-toast__content strong { display:block;color:#fff;margin-bottom:2px; }
.form-toast__content p { font-size:.85rem;color:var(--gray-400);margin:0; }
.form-toast__close {
  background:none;border:none;color:var(--gray-500);cursor:pointer;
  font-size:1rem;padding:4px;margin-left:auto;transition:color .3s ease;
}
.form-toast__close:hover { color:#fff; }

@keyframes toastSlideIn {
  from { transform:translateY(20px);opacity:0; }
  to { transform:translateY(0);opacity:1; }
}

/* ── FORM TOAST — ERROR VARIANT ──────────────────────────── */
.form-toast--error { border-color:var(--cyber-red); }
.form-toast--error .form-toast__icon { color:var(--cyber-red); }

/* ── BUTTON LOADING STATE ────────────────────────────────── */
.btn--loading {
  position:relative;pointer-events:none;opacity:.7;
}
.btn--loading span { visibility:hidden; }
.btn--loading i { visibility:hidden; }
.btn--loading::after {
  content:'';position:absolute;
  top:50%;left:50%;
  width:20px;height:20px;
  margin:-10px 0 0 -10px;
  border:2px solid rgba(255,255,255,.3);
  border-top-color:#fff;
  border-radius:50%;
  animation:btnSpin .6s linear infinite;
}
@keyframes btnSpin {
  to { transform:rotate(360deg); }
}

/* ── FOOTER ────────────────────────────────────────────────── */
.footer {
  background:var(--dark-card);border-top:1px solid rgba(0,255,136,.06);
  padding:48px 0 32px;
}
.footer__top {
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;
  padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.06);
  margin-bottom:24px;
}
.footer__brand p,
.footer__seo { font-size:.88rem;color:var(--gray-500);margin-top:12px;line-height:1.6; }
.footer__social { display:flex;gap:12px;margin-top:16px; }
.footer__social a {
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;
  color:var(--gray-400);transition:all .3s ease;font-size:.9rem;
}
.footer__social a:hover { background:var(--cyber-green);color:#0A0E17; }
.footer__col { display:flex;flex-direction:column;gap:10px; }
.footer__col h4 { font-size:.9rem;font-weight:700;margin-bottom:4px; }
.footer__col a { font-size:.85rem;color:var(--gray-400);transition:color .3s ease; }
.footer__col a:hover { color:var(--cyber-green); }
.footer__col p { font-size:.85rem;color:var(--gray-400); }
.footer__bottom {
  display:flex;align-items:center;justify-content:space-between;
}
.footer__bottom p { font-size:.8rem;color:var(--gray-500); }
.footer__bottom-links { display:flex;gap:20px; }
.footer__bottom-links a { font-size:.8rem;color:var(--gray-500);transition:color .3s ease; }
.footer__bottom-links a:hover { color:var(--cyber-green); }

/* ── SCROLL ANIMATIONS ─────────────────────────────────────── */
[data-animate] {
  opacity:0;transform:translateY(30px);
  transition:opacity .6s ease, transform .6s ease;
}
[data-animate].visible {
  opacity:1;transform:translateY(0);
}

@keyframes fadeInUp {
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:translateY(0)}
}

/* ── RESPONSIVE ────────────────────────────────────────────── */
@media(max-width:1024px) {
  .section { padding:100px 0; }
  .threats__grid { grid-template-columns:repeat(2,1fr); }
  .pricing__grid { grid-template-columns:repeat(2,1fr); }
  .pricing-card--featured { transform:scale(1); }
  .pricing-card--featured:hover { transform:translateY(-6px); }
  .footer__top { grid-template-columns:1fr 1fr;gap:32px; }
}

@media(max-width:768px) {
  .nav__menu {
    position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;
    background:rgba(10,14,23,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    flex-direction:column;align-items:center;justify-content:center;
    gap:28px;z-index:999;
    opacity:0;pointer-events:none;transition:opacity .35s ease;
  }
  .nav__menu--open { opacity:1;pointer-events:auto; }
  .nav__toggle { display:flex;z-index:1002;position:relative; }
  .nav__link { color:rgba(255,255,255,.9);font-size:1.25rem;padding:12px 0;text-align:center; }
  .nav__link--cta { margin-top:12px;font-size:1.05rem; }

  .hero__inner { grid-template-columns:1fr;text-align:center; }
  .hero__subtitle { margin-left:auto;margin-right:auto; }
  .hero__actions { justify-content:center; }
  .hero__stats { justify-content:center;gap:24px; }
  .hero__visual { display:none; }

  .threats__grid { grid-template-columns:1fr; }
  .audit__grid { grid-template-columns:1fr; }
  .services__grid { grid-template-columns:1fr; }
  .pricing__grid { grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto; }
  .testimonials__grid { grid-template-columns:1fr; }
  .contact__grid { grid-template-columns:1fr; }
  .contact-form__row { grid-template-columns:1fr; }
  .footer__top { grid-template-columns:1fr;gap:32px; }
  .footer__bottom { flex-direction:column;gap:12px;text-align:center; }

  .shield-anim { width:320px;height:320px; }
}

@media(max-width:480px) {
  .hero__stats { flex-direction:column;gap:16px; }
  .hero__title { font-size:clamp(1.8rem,7vw,2.4rem); }
  .hero__actions { flex-direction:column; }
  .btn { width:100%;justify-content:center; }
}
