/* CyberSecPlus — futuristic dark/neon theme
   Loads AFTER each page's inline <style> block and overrides palette,
   surfaces, glow, typography, background grid. Layout stays as-is. */

:root{
  /* Base palette — dark space + neon */
  --w:#07070c;
  --w2:#0d0d16;
  --w3:#13131f;
  --ink:#eaecf3;
  --ink2:#c2c6d4;
  --red:#ff0055;            /* electric red — primary accent */
  --neon:#00f0ff;            /* electric cyan */
  --neon-soft:rgba(0,240,255,.55);
  --magenta:#ff2bd6;
  --success:#00ff9d;
  --muted:#6c7286;
  --border:rgba(0,240,255,.14);
  --border-strong:rgba(0,240,255,.32);
  --surface:rgba(255,255,255,.025);
  --surface-2:rgba(255,255,255,.05);
  --glass:rgba(10,12,22,.55);
  --glass-strong:rgba(10,12,22,.78);
  --serif:'Space Grotesk','DM Serif Display',Georgia,serif;
  --display:'Orbitron','Bebas Neue',sans-serif;
  --mono:'JetBrains Mono','DM Mono',ui-monospace,monospace;
}

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

html{scroll-behavior:smooth;background:var(--w)}
body{
  background:var(--w)!important;
  color:var(--ink)!important;
  font-family:var(--mono);
  cursor:auto!important;
  position:relative;
  min-height:100vh;
}

/* Animated grid + radial glows on every page */
body::before{
  content:'';position:fixed;inset:0;z-index:-3;pointer-events:none;
  background:
    linear-gradient(rgba(0,240,255,.05) 1px,transparent 1px) 0 0/42px 42px,
    linear-gradient(90deg,rgba(0,240,255,.05) 1px,transparent 1px) 0 0/42px 42px,
    radial-gradient(ellipse 1400px 700px at 50% -10%,rgba(255,0,85,.16),transparent 60%),
    radial-gradient(ellipse 1000px 700px at 90% 30%,rgba(0,240,255,.13),transparent 60%),
    radial-gradient(ellipse 900px 700px at 10% 80%,rgba(255,43,214,.10),transparent 60%),
    var(--w);
  animation:gridPan 28s linear infinite;
}
body::after{
  content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.012) 0 2px,transparent 2px 5px);
  mix-blend-mode:overlay;
}
@keyframes gridPan{
  from{background-position:0 0,0 0,50% -10%,90% 30%,10% 80%,0 0}
  to{background-position:42px 42px,42px 42px,50% -10%,90% 30%,10% 80%,0 0}
}

/* Hide the custom cursor on touch + keep cyan look on desktop */
.cur{mix-blend-mode:screen!important}
#cdot{background:var(--neon)!important;box-shadow:0 0 12px var(--neon),0 0 24px var(--neon-soft)}
#cring{border-color:var(--neon)!important;opacity:.6!important;box-shadow:0 0 24px rgba(0,240,255,.25)}
@media(hover:none){.cur{display:none}body{cursor:auto!important}}

/* Selection */
::selection{background:var(--neon);color:#000}

/* Scrollbar */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#0a0a14}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--neon),var(--red));border-radius:0}

/* === Navigation === */
nav{
  background:var(--glass)!important;
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  border-bottom:1px solid var(--border)!important;
}
nav.stuck{
  background:var(--glass-strong)!important;
  border-bottom-color:var(--border-strong)!important;
  box-shadow:0 12px 30px -20px rgba(0,240,255,.4);
}
.logo{
  color:var(--ink)!important;
  font-family:var(--display);font-weight:700;letter-spacing:2px;
  text-shadow:0 0 18px rgba(0,240,255,.35);
}
.logo b{color:var(--neon)!important;text-shadow:0 0 14px var(--neon)}
.nav-links a{color:var(--muted)!important;font-family:var(--mono);transition:color .2s,text-shadow .2s}
.nav-links a:hover,.nav-links a.active{color:var(--neon)!important;text-shadow:0 0 12px var(--neon-soft)}
.nav-links a.active::after{background:var(--neon)!important;box-shadow:0 0 10px var(--neon)}
.nav-cta{
  background:transparent!important;color:var(--neon)!important;
  border:1px solid var(--neon)!important;
  text-shadow:0 0 10px var(--neon-soft);
  box-shadow:0 0 0 rgba(0,240,255,0),inset 0 0 0 rgba(0,240,255,0);
  transition:background .25s,color .25s,box-shadow .25s;
}
.nav-cta:hover{background:var(--neon)!important;color:#000!important;text-shadow:none;box-shadow:0 0 24px var(--neon),inset 0 0 24px rgba(255,255,255,.2)}
.nav-mobile-btn span{background:var(--neon)!important;box-shadow:0 0 8px var(--neon-soft)}
.mobile-menu{background:var(--glass-strong)!important;backdrop-filter:blur(20px)}
.mobile-menu a{color:var(--ink)!important;border-bottom-color:var(--border)!important;font-family:var(--display);letter-spacing:2px}
.mobile-menu a b{color:var(--neon)!important}

/* === Typography === */
h1,h2,h3,h4,h5,h6{color:var(--ink)}
.page-h1,.hh1,.cl-h,.svcH,.proch2,.priceh2,.blogh2,.testi-h2,.cta-h,.svc-title,.pg-h2,.faq-h2,.form-title,.hero-h1{
  color:var(--ink)!important;
  font-family:var(--display);
  text-shadow:0 0 30px rgba(0,240,255,.18),0 0 60px rgba(255,0,85,.12);
  letter-spacing:1px;
}
.page-h1 em,.hit,.cl-h em,.cta-h em,.pg-h2 em,.faq-h2 em,.proch2 em,.priceh2 em,.blogh2 em,.testi-h2 em,.svc-title-it,.form-title em,.case-title em{
  color:var(--neon)!important;
  font-family:'Space Grotesk',serif;font-style:italic;
  text-shadow:0 0 24px var(--neon),0 0 48px var(--neon-soft);
  background:linear-gradient(90deg,var(--neon),var(--magenta));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
.sec-lbl{color:var(--neon)!important}
.sec-lbl::before{background:var(--neon)!important;box-shadow:0 0 8px var(--neon)}

/* Body text */
.page-desc,.pg-body,.hp,.cl-p,.form-sub,.svc-intro,.cta-p,.tmbio,.faq-a-inner,.priv-sec p,.priv-sec li,.case-challenge,.finding-text,.cq-text,.foottag,.proin,.pricenote{
  color:var(--ink2)!important;
}
.priv-sec strong{color:var(--neon)!important}
.priv-sec a{color:var(--neon)!important;text-decoration-color:var(--red)!important}

/* === Buttons === */
.btn-red,.submit-btn{
  background:linear-gradient(90deg,var(--red),var(--magenta))!important;
  color:#fff!important;
  border:1px solid rgba(255,0,85,.6)!important;
  box-shadow:0 8px 30px -10px rgba(255,0,85,.55),inset 0 0 20px rgba(255,255,255,.08);
  text-shadow:0 0 10px rgba(255,255,255,.4);
  font-family:var(--mono);font-weight:500;letter-spacing:.14em;
  transition:transform .2s,box-shadow .2s,filter .2s;
}
.btn-red:hover,.submit-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 36px -8px rgba(255,0,85,.75);
  filter:brightness(1.15);
}
.btn-out{
  background:rgba(0,240,255,.05)!important;
  border:1px solid var(--border-strong)!important;
  color:var(--neon)!important;
  text-shadow:0 0 10px var(--neon-soft);
  font-family:var(--mono);letter-spacing:.14em;
  transition:background .2s,color .2s,box-shadow .2s,border-color .2s;
}
.btn-out:hover{background:var(--neon)!important;color:#000!important;border-color:var(--neon)!important;box-shadow:0 0 24px var(--neon);text-shadow:none}
.btn-ink{
  background:transparent!important;
  border:1px solid var(--neon)!important;
  color:var(--neon)!important;
  text-shadow:0 0 10px var(--neon-soft);
}
.btn-ink:hover{background:var(--neon)!important;color:#000!important;box-shadow:0 0 24px var(--neon)}

/* === Surfaces / cards / sections === */
section,header,footer,.page-hero,.svc-block,.val-card,.val-grid,#stats,.stat-card,#certs-sec,.cert-card,.team-grid,.tmcard,#team,#values,#contact-sec,.contact-layout,.contact-l,.contact-r,.case-block,.case-l,.case-r,#faq,.faq-list,.filter-bar,.smap-wrap,.smap-grid,.privacy-wrap,.privacy-inner,#hero,.hl,.hr,#proc,#testi,#pricing,#blog,.svc-grid,#svc{
  background:transparent!important;
}
.page-hero,#hero,.contact-l,.contact-r,.case-l,.case-r,.svc-block,#stats,.stat-card,#certs-sec,#values,#team,.smap-wrap,.privacy-wrap,#faq,#proc,#testi,#pricing,#blog,#svc,#certs-sec,#faq,.cta-strip,.filter-bar{
  border-color:var(--border)!important;
}
.page-hero{border-bottom:1px solid var(--border)!important}
.val-card,.cert-card,.stat-card,.tmcard{
  background:var(--surface)!important;
  border:1px solid var(--border)!important;
  backdrop-filter:blur(6px);transition:transform .25s,border-color .25s,box-shadow .25s,background .25s;
}
.val-card:hover,.cert-card:hover,.stat-card:hover,.tmcard:hover{
  background:var(--surface-2)!important;
  border-color:var(--border-strong)!important;
  transform:translateY(-3px);
  box-shadow:0 18px 40px -25px rgba(0,240,255,.4);
}
.val-icon,.svc-icon-big,.ci-icon,.cert-badge{
  border-color:var(--border-strong)!important;color:var(--neon)!important;
  background:rgba(0,240,255,.04);
  box-shadow:0 0 18px rgba(0,240,255,.18) inset;
}
.cert-badge{font-family:var(--display);background:linear-gradient(135deg,var(--neon),var(--magenta));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;box-shadow:none}
.tmav{
  background:linear-gradient(135deg,var(--neon),var(--red))!important;color:#000!important;
  box-shadow:0 0 18px rgba(0,240,255,.4);
  font-family:var(--display);
}
.tmnum,.svc-num,.case-num{color:rgba(0,240,255,.15)!important;text-shadow:0 0 30px rgba(0,240,255,.25)}
.tcert,.stool,.ctag,.finding-sev,.filter-btn,.footcert{
  background:rgba(0,240,255,.04)!important;
  border:1px solid var(--border)!important;
  color:var(--neon)!important;
  text-shadow:0 0 6px var(--neon-soft);
}
.footcert{background:rgba(255,0,85,.06)!important;color:var(--red)!important;border-color:rgba(255,0,85,.3)!important;text-shadow:0 0 8px rgba(255,0,85,.5)}
.sev-crit{background:linear-gradient(90deg,var(--red),var(--magenta))!important;color:#fff!important;border:none!important;text-shadow:none!important}
.sev-high{background:rgba(255,255,255,.05)!important;color:var(--ink)!important;border-color:var(--border)!important}
.sev-med{background:rgba(108,114,134,.2)!important;color:var(--ink2)!important;border-color:var(--muted)!important}

.filter-btn{cursor:pointer}
.filter-btn:hover,.filter-btn.active{background:var(--neon)!important;color:#000!important;border-color:var(--neon)!important;text-shadow:none}

/* === Stats === */
#stats{background:linear-gradient(180deg,var(--w2),var(--w))!important;border-top:1px solid var(--border)!important;border-bottom:1px solid var(--border)!important}
.stats-grid{background:transparent!important;border:none!important;gap:1px!important}
.stat-card{background:var(--surface)!important}
.stat-big{font-family:var(--display)!important;font-weight:900;background:linear-gradient(180deg,var(--ink),var(--neon));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat-big span{color:var(--neon)!important;-webkit-text-fill-color:var(--neon)}

/* === Marquee === */
.marquee{background:var(--w2)!important;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.mitem{color:var(--muted)!important}
.mitem i{color:var(--neon)!important;text-shadow:0 0 8px var(--neon-soft)}

/* === Contact / forms === */
.contact-l{background:var(--w2)!important;border-color:var(--border)!important}
.form-input,.form-select,.form-textarea{
  background:rgba(0,0,0,.4)!important;
  border:1px solid var(--border)!important;
  color:var(--ink)!important;
  font-family:var(--mono);
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  border-color:var(--neon)!important;
  box-shadow:0 0 0 3px rgba(0,240,255,.15),0 0 20px rgba(0,240,255,.15);
  background:rgba(0,0,0,.6)!important;
}
.form-input::placeholder,.form-textarea::placeholder{color:var(--muted)!important}
.form-label{color:var(--neon)!important;letter-spacing:.22em}
.form-checkbox span,.form-assurance{color:var(--ink2)!important}
.form-checkbox input{accent-color:var(--neon)!important}
.form-success{background:var(--w2)!important;border:1px solid var(--neon)!important;box-shadow:0 0 30px rgba(0,240,255,.15)}
.fs-icon{color:var(--neon)!important;text-shadow:0 0 18px var(--neon)}
.cs-link{border-color:var(--border)!important;color:var(--muted)!important;background:var(--surface)}
.cs-link:hover{border-color:var(--neon)!important;color:var(--neon)!important;box-shadow:0 0 18px var(--neon-soft)}

/* === CTA strip === */
.cta-strip{
  background:linear-gradient(135deg,#1a0010,#0a0a18 60%,#001a1f)!important;
  border-top:1px solid var(--border-strong)!important;
  border-bottom:1px solid var(--border-strong)!important;
  position:relative;overflow:hidden;
}
.cta-strip::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 30% 50%,rgba(255,0,85,.15),transparent 50%),radial-gradient(circle at 80% 50%,rgba(0,240,255,.15),transparent 50%);
  pointer-events:none;
}
.cta-strip-bg{color:rgba(0,240,255,.04)!important;font-family:var(--display)!important}
.cta-eye{color:var(--neon)!important;text-shadow:0 0 8px var(--neon-soft)}
.cta-h{color:var(--ink)!important;text-shadow:0 0 28px rgba(0,240,255,.3)}
.cta-form input{background:rgba(0,0,0,.5)!important;border-color:var(--border)!important;color:#fff!important}
.cta-form input:focus{border-color:var(--neon)!important;box-shadow:0 0 18px var(--neon-soft)}
.cta-form button{background:var(--neon)!important;color:#000!important;font-weight:700}
.cta-form button:hover{background:#fff!important;color:var(--neon)!important;box-shadow:0 0 24px var(--neon)}

/* === Footer === */
footer{
  background:linear-gradient(180deg,#06060c,#020205)!important;
  border-top:1px solid var(--border-strong);
}
.footlogo{color:var(--ink)!important;font-family:var(--display);text-shadow:0 0 18px rgba(0,240,255,.4)}
.footlogo b{color:var(--neon)!important;text-shadow:0 0 14px var(--neon)}
.foottop{border-bottom:none}
.foottag{color:var(--muted)!important}
.footcol h5{color:var(--neon)!important;letter-spacing:.25em}
.footcol ul a,.footsoc a,.footcopy{color:var(--muted)!important}
.footcol ul a:hover,.footsoc a:hover{color:var(--neon)!important}
.footbot{border-top:1px solid var(--border)!important}
.footcopy span{color:var(--neon)!important}

/* === WhatsApp floating button === */
.wa-btn{
  background:#25D366!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.1),0 0 28px rgba(37,211,102,.45),0 6px 22px rgba(0,0,0,.5)!important;
}
.wa-btn:hover{box-shadow:0 0 0 1px rgba(255,255,255,.2),0 0 36px rgba(37,211,102,.65)!important}

/* === Process & timeline (index) === */
.proch2,.priceh2,.blogh2,.testi-h2{text-transform:uppercase}
#process,#proc,#testi,#pricing,#blog{background:transparent!important;border-bottom:1px solid var(--border)!important}

/* === FAQ === */
.faq-item{border-top-color:var(--border)!important}
.faq-item:last-child{border-bottom-color:var(--border)!important}
.faq-q-text{color:var(--ink)!important;font-family:'Space Grotesk',serif}
.faq-toggle{border-color:var(--border)!important;color:var(--neon)!important;background:var(--surface)}
.faq-item.open .faq-toggle{background:var(--neon)!important;color:#000!important;box-shadow:0 0 18px var(--neon)}

/* === Case study === */
.case-block:nth-child(even){background:rgba(255,255,255,.012)!important}
.case-l{background:transparent!important}
.case-industry{color:var(--neon)!important}
.case-title{color:var(--ink)!important}
.case-outcome{background:var(--w2)!important;border:1px solid var(--border)!important}
.co-num{color:var(--neon)!important;text-shadow:0 0 12px var(--neon-soft)}
.case-quote{border-left-color:var(--neon)!important}
.cq-author span{color:var(--neon)!important}

/* === Privacy === */
.privacy-meta span b{color:var(--neon)!important}
.priv-sec h2 em{color:var(--neon)!important}
.priv-sec code{background:rgba(0,240,255,.08);color:var(--neon);padding:1px 6px;border:1px solid var(--border);font-family:var(--mono);font-size:.9em}

/* === Sitemap page === */
.smap-col h2{color:var(--ink)!important;border-bottom-color:var(--border)!important}
.smap-col ul a{color:var(--ink2)!important}
.smap-col ul a:hover{color:var(--neon)!important;border-bottom-color:var(--neon)!important}
.smap-col ul a span{color:var(--muted)!important;font-family:var(--mono)}
.smap-xml{background:var(--w2)!important;border:1px solid var(--border)!important}

/* === Hero terminal panel (right side of index hero) === */
.hr{display:flex;align-items:center;justify-content:center}
.term-panel{
  width:100%;max-width:520px;
  background:rgba(5,5,10,.7);
  border:1px solid var(--border-strong);
  border-radius:6px;
  padding:18px 22px 22px;
  font-family:var(--mono);font-size:11px;line-height:1.7;
  color:var(--ink2);
  box-shadow:0 30px 60px -30px rgba(0,240,255,.35),inset 0 0 30px rgba(0,240,255,.04);
  position:relative;backdrop-filter:blur(8px);
}
.term-panel::before{
  content:'';position:absolute;left:14px;top:14px;width:10px;height:10px;border-radius:50%;
  background:var(--red);box-shadow:18px 0 0 #ffbf00,36px 0 0 var(--success);
}
.term-head{display:flex;justify-content:flex-end;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.term-line .pmt{color:var(--neon)}
.term-line .cmd{color:var(--ink)}
.term-line .ok{color:var(--success)}
.term-line .warn{color:var(--red)}
.term-line .com{color:var(--muted)}
.term-cursor{display:inline-block;width:8px;height:14px;background:var(--neon);vertical-align:-2px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}

/* === Hero image (index) === */
#hero{position:relative;overflow:hidden}
.hero-media{
  position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 60% 70% at 70% 50%,#000 30%,transparent 80%);
          mask-image:radial-gradient(ellipse 60% 70% at 70% 50%,#000 30%,transparent 80%);
  opacity:.28;
}
.hero-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(.5) contrast(1.1) hue-rotate(180deg) saturate(1.6) brightness(.85)}
#hero > .hl,#hero > .hr{position:relative;z-index:1}

/* Case-study thumbnails */
.case-thumb{
  width:100%;max-width:280px;height:140px;
  object-fit:cover;
  border:1px solid var(--border-strong);
  margin-top:18px;
  filter:grayscale(.65) hue-rotate(180deg) saturate(1.6) contrast(1.05) brightness(.9);
  transition:filter .35s,box-shadow .35s,transform .35s;
}
.case-block:hover .case-thumb{
  filter:grayscale(.2) hue-rotate(180deg) saturate(1.8) contrast(1.05);
  box-shadow:0 0 24px rgba(0,240,255,.2);
  transform:translateY(-2px);
}

/* Page-hero accent image (about / case-studies / services) */
.page-hero{position:relative;overflow:hidden}
.page-hero-media{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 60%,#000 100%);
          mask-image:linear-gradient(90deg,transparent 0%,#000 60%,#000 100%);
  opacity:.22;
}
.page-hero-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(.6) hue-rotate(180deg) saturate(1.6) brightness(.85)}
.page-hero > *{position:relative;z-index:1}

/* === Hexagon pulse decoration (page-hero-num) === */
.page-hero-num{
  font-family:var(--display)!important;
  color:rgba(0,240,255,.06)!important;
  text-shadow:0 0 60px rgba(0,240,255,.1);
}

/* === Tighten lines === */
hr,[class*="border"]{border-color:var(--border)!important}

/* === Cookie consent banner === */
#cookie-banner{
  position:fixed;bottom:24px;left:24px;right:24px;max-width:560px;margin-left:auto;margin-right:24px;
  z-index:800;
  background:var(--glass-strong);
  border:1px solid var(--border-strong);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  padding:20px 22px;
  box-shadow:0 28px 60px -30px rgba(0,240,255,.35),0 8px 30px rgba(0,0,0,.5);
  transform:translateY(20px);opacity:0;pointer-events:none;
  transition:transform .35s ease,opacity .35s ease;
  font-family:var(--mono);font-size:11px;line-height:1.7;color:var(--ink2);
}
#cookie-banner.show{transform:translateY(0);opacity:1;pointer-events:auto}
#cookie-banner h4{font-family:var(--display);font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--neon);margin-bottom:8px;text-shadow:0 0 12px var(--neon-soft)}
#cookie-banner p{font-size:11px;line-height:1.7;color:var(--ink2);margin-bottom:14px}
#cookie-banner a{color:var(--neon);text-decoration:underline;text-underline-offset:2px}
#cookie-banner .cb-btns{display:flex;gap:8px;flex-wrap:wrap}
#cookie-banner button{
  font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  padding:10px 16px;cursor:pointer;border:1px solid var(--border-strong);
  transition:background .2s,color .2s,box-shadow .2s;
}
#cookie-banner .cb-accept{background:var(--neon);color:#000;border-color:var(--neon);font-weight:700}
#cookie-banner .cb-accept:hover{box-shadow:0 0 24px var(--neon)}
#cookie-banner .cb-reject{background:transparent;color:var(--ink2)}
#cookie-banner .cb-reject:hover{border-color:var(--ink);color:var(--ink)}
@media(max-width:640px){
  #cookie-banner{left:12px;right:12px;margin:0;bottom:12px;padding:16px}
}
