/* ── SHARED STYLES ── sentinelarc */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;600;700;900&family=Share+Tech+Mono&family=Courier+Prime:ital,wght@0,400;0,700;1,400&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

:root{
  --bg:       #030508;
  --surface:  #080d12;
  --panel:    #0d1520;
  --red:      #FF1F1F;
  --cyan:     #00E5FF;
  --green:    #7FFF00;
  --amber:    #FFB300;
  --white:    #E8F4F8;
  --dim:      #4a6070;
  --border-r: rgba(255,31,31,0.25);
  --border-c: rgba(0,229,255,0.2);
  --border-g: rgba(127,255,0,0.2);
  --glow-r:   0 0 8px #FF1F1F, 0 0 20px rgba(255,31,31,0.35);
  --glow-c:   0 0 8px #00E5FF, 0 0 20px rgba(0,229,255,0.35);
  --glow-g:   0 0 8px #7FFF00, 0 0 20px rgba(127,255,0,0.35);
}

body{
  background:var(--bg);
  color:var(--white);
  font-family:'Share Tech Mono',monospace;
  overflow-x:hidden;
  cursor:none;
}

/* CRT */
body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,0.65) 100%);pointer-events:none;z-index:9990;}
body::after{content:'';position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,5,10,0.3) 3px,rgba(0,5,10,0.3) 4px);pointer-events:none;z-index:9989;}

/* CURSOR */
#cursor{position:fixed;width:18px;height:18px;border:1px solid var(--red);pointer-events:none;z-index:99997;transform:translate(-50%,-50%);box-shadow:var(--glow-r);transition:width .15s,height .15s,border-color .15s;}
#cursor-h,#cursor-v{position:absolute;background:var(--red);}
#cursor-h{width:7px;height:1px;top:50%;left:50%;transform:translate(-50%,-50%);}
#cursor-v{width:1px;height:7px;top:50%;left:50%;transform:translate(-50%,-50%);}
#cursor.hover{width:32px;height:32px;border-color:var(--cyan);box-shadow:var(--glow-c);}
#cursor.hover #cursor-h,#cursor.hover #cursor-v{background:var(--cyan);}
@media(pointer:coarse){#cursor{display:none;}body{cursor:auto;}}

/* THREAT TICKER */
#ticker{position:fixed;top:0;left:0;right:0;z-index:9980;height:24px;background:rgba(255,31,31,0.08);border-bottom:1px solid var(--border-r);overflow:hidden;display:flex;align-items:center;}
.ticker-inner{display:flex;gap:3rem;animation:tickerMove 30s linear infinite;white-space:nowrap;font-size:0.55rem;letter-spacing:0.12em;color:var(--red);}
.ticker-item{display:flex;align-items:center;gap:0.5rem;flex-shrink:0;}
.ticker-dot{width:5px;height:5px;border-radius:50%;background:var(--red);box-shadow:var(--glow-r);animation:blink .8s step-end infinite;}
.ticker-ok{color:var(--green);}
.ticker-ok .ticker-dot{background:var(--green);box-shadow:var(--glow-g);}
@keyframes tickerMove{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* NAV */
nav{position:fixed;top:24px;left:0;right:0;z-index:900;padding:0 3rem;height:56px;display:flex;justify-content:space-between;align-items:center;background:rgba(3,5,8,0.96);border-bottom:1px solid var(--border-c);}
.nav-logo{font-family:'Orbitron',monospace;font-size:1.1rem;font-weight:700;color:var(--red);text-shadow:var(--glow-r);text-decoration:none;letter-spacing:0.1em;}
.nav-logo span{color:var(--cyan);text-shadow:var(--glow-c);}
.nav-links{display:flex;gap:0;list-style:none;}
.nav-links a{font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--dim);text-decoration:none;padding:0.5rem 1.2rem;border-right:1px solid var(--border-c);transition:color .2s,background .2s;position:relative;}
.nav-links a:first-child{border-left:1px solid var(--border-c);}
.nav-links a:hover{color:var(--cyan);background:rgba(0,229,255,0.04);}
.nav-links a.active{color:var(--cyan);text-shadow:var(--glow-c);background:rgba(0,229,255,0.06);}
.nav-links a.active::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--cyan);box-shadow:var(--glow-c);}
.nav-cta{font-family:'Share Tech Mono',monospace;font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--red);border:1px solid var(--red);padding:0.45rem 1.2rem;text-decoration:none;box-shadow:var(--glow-r);animation:borderBlink 2s steps(1) infinite;transition:background .2s;}
.nav-cta:hover{background:rgba(255,31,31,0.1);}
.nav-toggle{display:none;background:none;border:1px solid var(--red);color:var(--red);font-family:'Share Tech Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;padding:0.4rem 0.8rem;cursor:pointer;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:0.5rem;text-decoration:none;font-family:'Share Tech Mono',monospace;font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;padding:0.85rem 2rem;cursor:pointer;border:none;position:relative;transition:all .2s;background:transparent;}
.btn-red{color:var(--red);border:1px solid var(--red);box-shadow:var(--glow-r);animation:borderBlink 2s steps(1) infinite;}
.btn-red::before{content:'';position:absolute;inset:-3px;border:1px solid var(--red);opacity:0;animation:outerPulse 2s ease-in-out infinite;}
.btn-red:hover{background:rgba(255,31,31,0.1);box-shadow:0 0 24px #FF1F1F,0 0 48px rgba(255,31,31,0.3);color:#fff;}
.btn-cyan{color:var(--cyan);border:1px solid var(--cyan);box-shadow:var(--glow-c);animation:borderBlinkC 2.5s steps(1) infinite;}
.btn-cyan::before{content:'';position:absolute;inset:-3px;border:1px solid var(--cyan);opacity:0;animation:outerPulseC 2.5s ease-in-out infinite;}
.btn-cyan:hover{background:rgba(0,229,255,0.08);box-shadow:0 0 24px #00E5FF,0 0 48px rgba(0,229,255,0.3);color:#fff;}

@keyframes borderBlink{0%,90%,100%{border-color:var(--red);}92%,98%{border-color:transparent;}}
@keyframes borderBlinkC{0%,88%,100%{border-color:var(--cyan);}90%,96%{border-color:transparent;}}
@keyframes outerPulse{0%,100%{opacity:0;transform:scale(1);}50%{opacity:0.3;transform:scale(1.04);}}
@keyframes outerPulseC{0%,100%{opacity:0;transform:scale(1);}50%{opacity:0.25;transform:scale(1.04);}}
@keyframes borderBlink2{0%,90%,100%{border-color:var(--red);}92%,98%{border-color:transparent;}}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0;}}
@keyframes textFlicker{0%,93%,95%,100%{opacity:1;}94%{opacity:0.6;}}
@keyframes riseIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
@keyframes slideUp{from{opacity:0;transform:translateY(50px);}to{opacity:1;transform:translateY(0);}}

/* DIVIDER */
.divider{border:none;height:1px;background:linear-gradient(to right,transparent,var(--red),var(--cyan),transparent);box-shadow:0 0 6px rgba(255,31,31,0.2);margin:0;}

/* SECTION */
.section{padding:7rem 3rem;max-width:1200px;margin:0 auto;}
.section-full{padding:7rem 3rem;}
.section-inner{max-width:1200px;margin:0 auto;}
.eyebrow{font-size:0.58rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--cyan);text-shadow:var(--glow-c);margin-bottom:1rem;display:flex;align-items:center;gap:0.8rem;}
.eyebrow::before{content:'//';color:var(--red);margin-right:0.3rem;}
.section-h{font-family:'Orbitron',monospace;font-size:clamp(1.8rem,4vw,3.2rem);font-weight:700;line-height:1.15;margin-bottom:3.5rem;letter-spacing:0.02em;}
.accent-r{color:var(--red);text-shadow:var(--glow-r);}
.accent-c{color:var(--cyan);text-shadow:var(--glow-c);}
.accent-g{color:var(--green);text-shadow:var(--glow-g);}

/* PANEL / CARDS */
.panel{background:var(--surface);border:1px solid var(--border-c);padding:2rem;position:relative;transition:border-color .3s,background .3s;}
.panel:hover{border-color:rgba(0,229,255,0.4);background:rgba(8,13,18,0.9);}
.panel::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--red),var(--cyan));transform:scaleX(0);transition:transform .4s;box-shadow:0 0 8px var(--red);}
.panel:hover::before{transform:scaleX(1);}

/* STATUS BADGE */
.status-badge{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.58rem;letter-spacing:0.2em;text-transform:uppercase;padding:0.3rem 0.8rem;border:1px solid var(--border-g);color:var(--green);text-shadow:var(--glow-g);}
.status-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:var(--glow-g);animation:blink 1s step-end infinite;}

/* REVEAL */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(0.16,1,0.3,1),transform .7s cubic-bezier(0.16,1,0.3,1);}
.reveal.visible{opacity:1;transform:translateY(0);}

/* FOOTER */
footer{border-top:1px solid var(--border-r);padding:3rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;align-items:start;}
.footer-brand{font-family:'Orbitron',monospace;font-size:1.1rem;font-weight:700;color:var(--red);text-shadow:var(--glow-r);margin-bottom:0.8rem;}
.footer-brand span{color:var(--cyan);text-shadow:var(--glow-c);}
.footer-tagline{font-size:0.68rem;line-height:1.7;color:var(--dim);}
.footer-col-title{font-size:0.6rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--cyan);margin-bottom:1rem;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:0.6rem;}
.footer-links a{font-size:0.7rem;color:var(--dim);text-decoration:none;transition:color .2s;}
.footer-links a:hover{color:var(--red);text-shadow:var(--glow-r);}
.footer-bottom{border-top:1px solid var(--border-c);padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:center;}
.footer-bottom p{font-size:0.58rem;letter-spacing:0.12em;color:var(--dim);}
.footer-bottom a{font-size:0.58rem;color:var(--dim);text-decoration:none;transition:color .2s;}
.footer-bottom a:hover{color:var(--cyan);}

/* GLITCH */
.glitch-char{color:var(--red);opacity:0.7;text-shadow:var(--glow-r);}

/* PAGE WRAPPER */
.page-wrap{padding-top:80px;}

/* MOBILE */
@media(max-width:900px){
  nav{padding:0 1.5rem;}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--border-r);flex-direction:column;padding:1rem;}
  .nav-links.open{display:flex;}
  .nav-links a{border:none;border-bottom:1px solid var(--border-c);padding:0.8rem 1rem;}
  .nav-links a:first-child{border-left:none;}
  .nav-toggle{display:block;}
  .nav-cta{display:none;}
  .section,.section-full{padding:4rem 1.5rem;}
  footer{grid-template-columns:1fr;gap:2rem;}
  .footer-bottom{flex-direction:column;gap:0.5rem;text-align:center;padding:1.5rem;}
}