@import url('https://fonts.googleapis.com/css2?family=Silkscreen:wght@400;700&family=Space+Mono:ital,wght@0,400;0,700;1,400&display=swap');

:root{
  --void:#0a0a0b;
  --panel:#131418;
  --panel-edge:#232530;
  --gold:#c9a227;
  --green:#3ddc84;
  --bone:#ece7da;
  --red:#ff3b4e;
  --dim:#726f66;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--void);
  color:var(--bone);
  font-family:'Space Mono', monospace;
  overflow-x:hidden;
}
::selection{background:var(--gold);color:var(--void);}

#bg-canvas{position:fixed;inset:0;z-index:-1;background:var(--void);opacity:0.5;}

.scanlines{
  pointer-events:none;position:fixed;inset:0;z-index:9998;
  background:repeating-linear-gradient(to bottom, rgba(255,255,255,0.025) 0px, rgba(255,255,255,0.025) 1px, transparent 1px, transparent 3px);
  mix-blend-mode:overlay;opacity:0.6;
}
.vignette{pointer-events:none;position:fixed;inset:0;z-index:9997;box-shadow:inset 0 0 200px rgba(0,0,0,0.75);}

/* ===== GLITCH SKULL (replaces the old ascii art) ===== */
.glitch-skull{position:relative;width:min(200px,42vw);margin:0 auto;}
.glitch-skull .layer{display:block;width:100%;}
.glitch-skull .ghost-r,.glitch-skull .ghost-g{position:absolute;inset:0;opacity:0;mix-blend-mode:screen;}
.glitch-skull .base{position:relative;filter:drop-shadow(0 0 16px rgba(201,162,39,0.4));animation:laugh 4.5s ease-in-out infinite;}
.glitch-skull .ghost-r{filter:brightness(0) saturate(100%) invert(20%) sepia(90%) saturate(6000%) hue-rotate(340deg);}
.glitch-skull .ghost-g{filter:brightness(0) saturate(100%) invert(60%) sepia(90%) saturate(2000%) hue-rotate(90deg);}
.glitch-skull.glitch-active .ghost-r{animation:ghostR 2.8s infinite;}
.glitch-skull.glitch-active .ghost-g{animation:ghostG 3.4s infinite;}
@keyframes laugh{
  0%,100%{transform:rotate(0deg) translateY(0);}
  2%{transform:rotate(-6deg) translateY(-4px);}
  4%{transform:rotate(6deg) translateY(0);}
  6%{transform:rotate(-5deg) translateY(-3px);}
  8%{transform:rotate(5deg) translateY(0);}
  10%{transform:rotate(-3deg) translateY(-2px);}
  12%{transform:rotate(3deg) translateY(0);}
  14%,100%{transform:rotate(0deg) translateY(0);}
}
@keyframes ghostR{0%,90%,100%{opacity:0;transform:translate(0,0);}92%{opacity:0.55;transform:translate(4px,-2px);}95%{opacity:0.35;transform:translate(-3px,1px);}}
@keyframes ghostG{0%,88%,100%{opacity:0;transform:translate(0,0);}90%{opacity:0.5;transform:translate(-4px,2px);}94%{opacity:0.3;transform:translate(3px,-1px);}}

/* ===== BOOT SEQUENCE ===== */
#boot{
  position:fixed;inset:0;z-index:10000;background:#000;color:var(--green);
  font-family:'Space Mono',monospace;padding:6vh 6vw;font-size:14px;line-height:1.6;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2rem;
  transition:opacity 0.6s ease, visibility 0.6s ease;
}
#boot.hide{opacity:0;visibility:hidden;pointer-events:none;}
#boot-lines{max-width:520px;}
#boot .line{opacity:0;animation:fadein 0.15s forwards;}
#boot .skip{position:absolute;bottom:6vh;right:6vw;color:var(--dim);font-size:12px;border:1px solid var(--dim);padding:6px 14px;cursor:pointer;}
#boot .skip:hover{color:var(--green);border-color:var(--green);}
@keyframes fadein{to{opacity:1;}}
.cursor-blink{display:inline-block;width:8px;height:14px;background:var(--green);animation:blink 1s step-end infinite;vertical-align:middle;margin-left:2px;}
@keyframes blink{50%{opacity:0;}}

/* ===== NAV ===== */
nav{
  position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;
  padding:14px clamp(16px,4vw,48px);background:rgba(10,10,11,0.85);backdrop-filter:blur(6px);
  border-bottom:1px solid var(--panel-edge);
}
.nav-brand{display:flex;align-items:center;gap:2px;text-decoration:none;}
.nav-brand img{height:34px;width:34px;object-fit:contain;filter:drop-shadow(0 0 6px rgba(201,162,39,0.35));}
@media(max-width:600px){.nav-brand img{height:28px;width:28px;}}
.nav-links{display:flex;gap:clamp(10px,2vw,28px);align-items:center;font-size:12px;}
.nav-links a{color:var(--bone);text-decoration:none;letter-spacing:0.05em;position:relative;padding:2px 0;}
.nav-links a.current{color:var(--gold);}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--gold);transition:width 0.2s;}
.nav-links a:hover::after{width:100%;}
.nav-links a:hover{color:var(--gold);}
.live-pill{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--green);border:1px solid var(--panel-edge);padding:4px 10px;border-radius:2px;}
.dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);animation:pulse 1.6s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.35;}}
.hide-mobile{display:none;}
@media(min-width:820px){.hide-mobile{display:flex;}}

/* ===== SECTIONS ===== */
main{padding-top:80px;}
section{padding:80px clamp(20px,6vw,80px);position:relative;max-width:1400px;margin:0 auto;overflow-x:hidden;}
section.first{padding-top:120px;}
.eyebrow{font-family:'Silkscreen',monospace;font-size:11px;letter-spacing:0.2em;color:var(--green);margin-bottom:18px;}
.eyebrow::before{content:'// ';color:var(--dim);}
h1,h2,h3{font-family:'Silkscreen',monospace;font-weight:700;line-height:1.15;overflow-wrap:anywhere;word-break:break-word;}
.section-title{font-size:clamp(1.6rem,3.5vw,2.4rem);color:var(--bone);}

/* ===== HERO ===== */
#hero{min-height:92vh;display:flex;align-items:center;}
.hero-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center;width:100%;}
@media(min-width:960px){.hero-grid{grid-template-columns:1.3fr 0.9fr;}}
.hero-headline{font-size:clamp(2.4rem,7vw,5.2rem);color:var(--bone);letter-spacing:-0.01em;}
.hero-headline .glitch{position:relative;display:inline-block;color:var(--gold);}
.hero-headline .glitch::before,.hero-headline .glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;overflow:hidden;}
.hero-headline .glitch::before{color:var(--red);clip-path:inset(0 0 55% 0);animation:glitchTop 3.4s infinite linear;}
.hero-headline .glitch::after{color:var(--green);clip-path:inset(55% 0 0 0);animation:glitchBot 2.6s infinite linear;}
@keyframes glitchTop{0%,92%,100%{transform:translate(0,0);}93%{transform:translate(-3px,-1px);}95%{transform:translate(3px,1px);}97%{transform:translate(-2px,0);}}
@keyframes glitchBot{0%,90%,100%{transform:translate(0,0);}91%{transform:translate(3px,1px);}94%{transform:translate(-3px,-1px);}96%{transform:translate(2px,0);}}
.hero-sub{margin-top:26px;font-size:clamp(0.95rem,1.4vw,1.1rem);color:var(--dim);max-width:52ch;line-height:1.7;}
.hero-sub b{color:var(--bone);font-weight:700;}
.cta-row{margin-top:38px;display:flex;flex-wrap:wrap;gap:16px;}
.btn{
  font-family:'Space Mono',monospace;font-size:13px;letter-spacing:0.05em;background:transparent;color:var(--gold);
  border:1px solid var(--gold);padding:14px 26px;cursor:pointer;text-decoration:none;position:relative;overflow:hidden;
  transition:color 0.25s;display:inline-block;
}
.btn::before{content:'';position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.25s;z-index:-1;}
.btn:hover{color:var(--void);}
.btn:hover::before{transform:scaleX(1);}
.btn.ghost{color:var(--bone);border-color:var(--panel-edge);}
.btn.ghost:hover{color:var(--void);}
.btn.ghost::before{background:var(--bone);}
.hero-logo-wrap{display:flex;justify-content:center;}
.hero-logo-wrap .hero-skull{width:min(320px,75%);animation:float 6s ease-in-out infinite;}
.hero-logo-wrap .hero-skull .base{filter:drop-shadow(0 0 40px rgba(201,162,39,0.25));}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}

/* ===== LIVE NETWORK / SCANNER ===== */
#network{background:var(--panel);border-top:1px solid var(--panel-edge);border-bottom:1px solid var(--panel-edge);}
.network-panel{border:1px solid var(--panel-edge);background:#0d0e11;padding:28px;display:grid;grid-template-columns:1fr;gap:24px;}
@media(min-width:860px){.network-panel{grid-template-columns:260px 1fr;}}
.radar{width:100%;aspect-ratio:1/1;max-width:260px;margin:0 auto;border-radius:50%;position:relative;
  background:radial-gradient(circle, rgba(61,220,132,0.06) 0%, transparent 70%);border:1px solid rgba(61,220,132,0.35);}
.radar::before,.radar::after{content:'';position:absolute;border:1px solid rgba(61,220,132,0.18);border-radius:50%;}
.radar::before{inset:20%;}
.radar::after{inset:40%;}
.radar-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg, rgba(61,220,132,0.45), transparent 35%);animation:sweep 3.2s linear infinite;}
@keyframes sweep{to{transform:rotate(360deg);}}
.blip{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);transform:translate(-50%,-50%);}
.network-info h3{font-size:18px;color:var(--bone);margin-bottom:10px;}
.network-info p{color:var(--dim);font-size:13px;line-height:1.7;max-width:60ch;margin-bottom:16px;}
.visitor-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;}
.visitor-list li{font-size:11px;color:var(--green);border:1px solid rgba(61,220,132,0.3);padding:4px 10px;border-radius:2px;background:rgba(61,220,132,0.05);}
.visitor-list li.you{color:var(--gold);border-color:rgba(201,162,39,0.4);background:rgba(201,162,39,0.06);}
.scanner-note{margin-top:16px;font-size:11px;color:var(--dim);}

/* ===== SERVICES ===== */
.file-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--panel-edge);border:1px solid var(--panel-edge);margin-top:36px;}
@media(min-width:640px){.file-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1040px){.file-grid{grid-template-columns:1fr 1fr 1fr;}}
.file-item{background:var(--void);padding:26px 24px;transition:background 0.2s;}
.file-item:hover{background:#101115;}
.file-item .fname{font-family:'Space Mono',monospace;color:var(--green);font-size:14px;margin-bottom:10px;display:block;}
.file-item .fname::before{content:'> ';color:var(--dim);}
.file-item p{color:var(--dim);font-size:13px;line-height:1.6;}

/* ===== CLIENTS / CASE FILES ===== */
.case-list{margin-top:36px;display:flex;flex-direction:column;gap:1px;background:var(--panel-edge);border:1px solid var(--panel-edge);}
.case{background:var(--void);padding:22px 26px;display:grid;grid-template-columns:1fr;gap:6px;position:relative;
  color:inherit;text-decoration:none;}
.case-linked{cursor:pointer;}
@media(min-width:760px){.case{grid-template-columns:96px 160px 1fr 90px;align-items:center;gap:20px;}}
@media(min-width:760px){.case:not(.case-linked){grid-template-columns:200px 1fr 90px;}}
@media(max-width:759px){.case-linked .case-thumb{margin-bottom:10px;}}
.case-thumb{width:100%;height:72px;object-fit:cover;border:1px solid var(--panel-edge);filter:grayscale(0.15) contrast(1.05);transition:filter 0.25s;}
.case-linked:hover .case-thumb{filter:grayscale(0) contrast(1.1);}
.case .tag{font-family:'Silkscreen',monospace;font-size:13px;color:var(--gold);letter-spacing:0.03em;display:flex;align-items:center;gap:8px;}
.case .tag .visit{font-family:'Space Mono',monospace;font-size:9px;color:var(--green);border:1px solid rgba(61,220,132,0.35);padding:2px 6px;letter-spacing:0.03em;white-space:nowrap;}
.case .desc{color:var(--dim);font-size:13px;line-height:1.6;}
.case .status{font-size:10px;letter-spacing:0.08em;color:var(--green);text-align:left;}
@media(min-width:760px){.case .status{text-align:right;}}
.case .status.classified{color:var(--red);}
.case:hover{background:#101115;}

/* ===== MANIFESTO ===== */
#manifesto{background:var(--panel);border-top:1px solid var(--panel-edge);border-bottom:1px solid var(--panel-edge);}
.manifesto-text{font-family:'Space Mono',monospace;font-style:italic;font-size:clamp(1.1rem,2.4vw,1.6rem);line-height:1.75;color:var(--bone);max-width:44ch;}
.manifesto-text .hl{color:var(--gold);font-style:normal;font-weight:700;}
.sig{margin-top:34px;color:var(--dim);font-size:13px;}
.sig b{color:var(--green);}

/* ===== CONTACT ===== */
.terminal{border:1px solid var(--panel-edge);background:#0d0e11;padding:0;margin-top:36px;max-width:720px;}
.terminal-bar{display:flex;gap:6px;padding:10px 14px;border-bottom:1px solid var(--panel-edge);background:#101116;}
.terminal-bar span{width:9px;height:9px;border-radius:50%;background:var(--panel-edge);}
.terminal-body{padding:26px;font-size:13px;}
.terminal-body .prompt{color:var(--green);margin-bottom:14px;}
.field{margin-bottom:16px;}
.field label{display:block;color:var(--dim);font-size:11px;margin-bottom:6px;}
.field label::before{content:'$ ';color:var(--green);}
.field input,.field textarea{
  width:100%;background:transparent;border:none;border-bottom:1px solid var(--panel-edge);
  color:var(--bone);font-family:'Space Mono',monospace;font-size:14px;padding:8px 2px;
}
.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--gold);}
.field textarea{resize:vertical;min-height:80px;}
.terminal-body .btn{margin-top:8px;}
.contact-meta{margin-top:20px;color:var(--dim);font-size:12px;line-height:1.8;}
.contact-meta b{color:var(--bone);}

/* ===== FOOTER ===== */
footer{padding:60px clamp(20px,6vw,80px) 40px;text-align:center;color:var(--dim);font-size:11px;}
footer .glitch-skull{margin-bottom:18px;width:min(120px,30vw);}
footer .tagline{font-family:'Silkscreen',monospace;color:var(--bone);font-size:13px;margin-bottom:10px;letter-spacing:0.05em;}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;}
}
