:root {
  --ink: #07100e;
  --ink-2: #0c1815;
  --paper: #f2f4ef;
  --muted: #8d9a95;
  --line: rgba(184, 255, 46, 0.16);
  --acid: #b8ff2e;
  --mint: #79ffd2;
  --red: #ff5b4d;
  --mono: "IBM Plex Mono", monospace;
  --sans: "Noto Sans SC", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--paper); background: var(--ink); font-family: var(--sans); letter-spacing: 0; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }

.site-header { position: fixed; z-index: 30; top: 16px; left: 24px; right: 24px; height: 58px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 10px 0 18px; color: var(--ink); background: rgba(242,244,239,.94); border: 1px solid rgba(255,255,255,.75); backdrop-filter: blur(18px); box-shadow: 0 8px 40px rgba(0,0,0,.18); }
.brand { display: flex; align-items: center; font-weight: 900; }
.brand-mark { position:relative; display:inline-flex; align-items:center; height:38px; padding:0 14px; color:var(--paper); background:var(--ink); font:900 18px var(--sans); }
.brand-mark::after { content:""; position:absolute; right:-5px; bottom:-5px; width:100%; height:100%; z-index:-1; background:var(--acid); }
.desktop-nav { display: flex; align-items: center; gap: 32px; font: 500 12px var(--mono); }
.desktop-nav a { opacity: .64; transition: .2s ease; }
.desktop-nav a:hover { opacity: 1; }
.header-cta { justify-self: end; display: flex; align-items: center; gap: 16px; padding: 10px 14px; color: var(--paper); background: var(--ink); font: 500 11px var(--mono); }
.menu-toggle,.mobile-nav { display: none; }

.hero { position: relative; min-height: 920px; height: 100svh; max-height: 1080px; overflow: hidden; border-bottom: 1px solid var(--line); }
#attack-canvas,.hero-grid { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-grid { opacity: .22; background-image: linear-gradient(rgba(184,255,46,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(184,255,46,.09) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to bottom, black 15%, transparent 92%); }
.hero::before { content:""; position:absolute; inset:0; z-index:1; background: radial-gradient(circle at 72% 42%, transparent 0, rgba(7,16,14,.12) 25%, rgba(7,16,14,.86) 74%); pointer-events:none; }
.hero-content { position: absolute; z-index: 3; top: 20%; left: max(6vw, 40px); width: min(720px, 52vw); padding-left:24px; border-left:4px solid var(--acid); }
.eyebrow,.section-index { margin: 0 0 24px; color: var(--acid); font: 500 11px var(--mono); letter-spacing: 0; }
.live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 16px var(--acid); animation: blink 1.3s infinite; }
h1,h2,h3,p { margin-top: 0; }
.hero h1 { position:relative; width:max-content; margin:0 0 16px; font-size:clamp(78px,8.5vw,132px); line-height:.92; letter-spacing:0; font-weight:900; color:var(--paper); text-shadow:7px 7px 0 rgba(184,255,46,.12); }
.hero h1::after { content:"AUTONOMOUS PENTEST"; position:absolute; right:-8px; bottom:8px; padding:5px 8px; color:var(--ink); background:var(--acid); font:600 8px var(--mono); }
.hero-statement { margin:0 0 24px; font-size:clamp(29px,3vw,48px); line-height:1.14; font-weight:900; }
.hero-statement span { display:block; color:var(--acid); }
.hero-copy { width: min(650px, 90%); color: #b9c2be; font-size: 16px; line-height: 1.85; }
.hero-actions { display: flex; gap: 28px; align-items: center; margin-top: 36px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 28px; min-height: 48px; padding: 0 20px; border: 1px solid transparent; font: 500 12px var(--mono); transition: transform .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--ink); background: var(--acid); }
.text-link { display: inline-flex; gap: 12px; align-items: center; padding: 8px 0; border-bottom: 1px solid rgba(242,244,239,.28); font: 500 12px var(--mono); }

.mission-panel { position: absolute; z-index: 3; right: 5vw; top: 21%; width: min(410px, 35vw); background: rgba(7,16,14,.86); border: 2px solid rgba(121,255,210,.3); backdrop-filter: blur(14px); font-family: var(--mono); box-shadow: 14px 14px 0 rgba(184,255,46,.06),0 28px 90px rgba(0,0,0,.42); }
.mission-head,.mission-foot { display: flex; justify-content: space-between; align-items: center; padding: 13px 16px; border-bottom: 1px solid rgba(121,255,210,.14); color: #94a39e; font-size: 10px; }
.status { color: var(--acid); }.status i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--acid); }
.mission-target { padding: 18px 16px; border-bottom: 1px solid rgba(121,255,210,.14); }
.mission-target span { display:block; margin-bottom: 8px; color:#75847f; font-size:9px; }
.mission-target strong { color: var(--mint); font-size: 13px; font-weight:500; }
.mission-route { padding: 6px 0; }
.mission-route div { position:relative; display:grid; grid-template-columns: 32px 1fr auto; gap:10px; align-items:center; min-height:53px; padding:0 16px; color:#81908b; font-size:11px; }
.mission-route div::before { content:""; position:absolute; left:31px; top:0; bottom:0; width:1px; background:rgba(121,255,210,.15); }
.mission-route b { position:relative; z-index:1; display:grid; place-items:center; width:30px; height:30px; border:1px solid rgba(121,255,210,.18); border-radius:50%; background:var(--ink); font-size:9px; }
.mission-route em { font-size:8px; font-style:normal; }
.mission-route .active { color: var(--paper); background: rgba(184,255,46,.045); }
.mission-route .active b { color:var(--ink); background:var(--acid); border-color:var(--acid); box-shadow:0 0 20px rgba(184,255,46,.25); }
.mission-route .active em { color:var(--acid); }
.mission-foot { border-top:1px solid rgba(121,255,210,.14); border-bottom:0; }
.mission-foot span { display:grid; gap:5px; }.mission-foot strong { color:var(--paper); font-size:11px; }.mission-foot .critical { color:var(--red); }
.hero-metrics { position:absolute; z-index:3; left:6vw; right:6vw; bottom:36px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(242,244,239,.16); }
.hero-metrics div { display:flex; align-items:baseline; gap:16px; padding:20px 28px 0 0; }
.hero-metrics strong { font:500 26px var(--mono); color:var(--acid); }.hero-metrics span { color:#87938f; font-size:12px; }

.signal-strip { overflow:hidden; color:var(--ink); background:var(--acid); border-top:3px solid var(--paper); border-bottom:3px solid var(--ink); }
.ticker { display:flex; align-items:center; gap:38px; width:max-content; padding:13px 0; animation:ticker 24s linear infinite; font:600 10px var(--mono); }
.ticker i { width:5px; height:5px; background:var(--ink); transform:rotate(45deg); }
.section { padding: 140px 6vw; border-bottom: 2px solid rgba(121,255,210,.16); }
.section-intro { display:grid; grid-template-columns: 160px minmax(360px, 1.1fr) minmax(280px, .7fr); gap:4vw; align-items:start; }
.section-intro h2,.pipeline h2 { margin:0; font-size:clamp(40px,4.6vw,72px); line-height:1.08; letter-spacing:0; font-weight:900; }
.section-intro > p:last-child,.pipeline-copy > p { color:#91a09b; font-size:15px; line-height:1.9; }

.agent-system { display:grid; grid-template-columns:minmax(320px,.8fr) 1.2fr; min-height:620px; margin-top:100px; border:2px solid rgba(121,255,210,.2); box-shadow:18px 18px 0 rgba(184,255,46,.035); }
.agent-core { position:relative; display:grid; place-items:center; overflow:hidden; background-image:linear-gradient(rgba(121,255,210,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(121,255,210,.055) 1px,transparent 1px); background-size:44px 44px; }
.core-pulse { position:relative; z-index:2; display:grid; place-items:center; width:150px; height:150px; border:1px solid var(--acid); border-radius:50%; background:rgba(7,16,14,.86); box-shadow:0 0 70px rgba(184,255,46,.14); }
.core-pulse b { font:500 42px var(--mono); }.core-pulse small { color:var(--acid); font:500 8px var(--mono); }
.orbit { position:absolute; border:1px solid rgba(121,255,210,.16); border-radius:50%; animation:spin 18s linear infinite; }
.orbit::after { content:""; position:absolute; top:50%; left:-4px; width:7px; height:7px; border-radius:50%; background:var(--mint); box-shadow:0 0 14px var(--mint); }
.orbit-one { width:290px; height:290px; }.orbit-two { width:430px; height:430px; animation-direction:reverse; animation-duration:28s; }
.agent-list { border-left:1px solid rgba(121,255,210,.14); }
.agent-list article { display:grid; grid-template-columns:72px 1fr auto; gap:20px; align-items:start; min-height:155px; padding:34px; border-bottom:1px solid rgba(121,255,210,.14); }
.agent-list article:last-child { border-bottom:0; }.agent-number { color:var(--acid); font:500 10px var(--mono); }
.agent-list h3 { margin-bottom:10px; font-size:20px; }.agent-list p { margin:0; color:#7f8d88; font-size:13px; line-height:1.7; }
.agent-state { color:var(--mint); font:500 8px var(--mono); }.agent-state.hot { color:var(--red); }

.evidence { background:#0a1412; }
.section-intro.compact { grid-template-columns:160px 1.1fr .7fr; }
.evidence-console { display:grid; grid-template-columns:310px 1fr; min-height:600px; margin-top:90px; border:2px solid rgba(121,255,210,.24); background:#07100e; box-shadow:18px 18px 0 rgba(184,255,46,.05),0 50px 100px rgba(0,0,0,.22); }
.finding-list { padding:12px; border-right:1px solid rgba(121,255,210,.15); }
.finding { display:block; width:100%; min-height:145px; padding:22px 18px; text-align:left; border:0; border-bottom:1px solid rgba(121,255,210,.11); background:transparent; cursor:pointer; transition:.2s; }
.finding.active { background:rgba(184,255,46,.06); outline:1px solid rgba(184,255,46,.28); }
.severity { display:inline-block; margin-bottom:18px; font:600 8px var(--mono); }.critical-label{color:var(--red)}.high-label{color:#ffb454}.medium-label{color:#f7df72}
.finding strong,.finding small { display:block; }.finding strong { margin-bottom:9px; font-size:14px; }.finding small { color:#6f7f79; font:400 9px var(--mono); }
.trace-view { min-width:0; }
.trace-toolbar { display:flex; justify-content:space-between; align-items:center; height:56px; padding:0 20px; border-bottom:1px solid rgba(121,255,210,.15); color:#7c8c86; font:500 9px var(--mono); }
.trace-toolbar span i { display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:var(--acid); box-shadow:0 0 12px var(--acid); }
.trace-toolbar button { padding:7px 11px; border:1px solid rgba(121,255,210,.12); background:transparent; color:#687872; font:500 8px var(--mono); cursor:pointer; }.trace-toolbar button.active { color:var(--ink); background:var(--acid); }
.trace-content { padding:34px 42px; font-family:var(--mono); }
.trace-title { display:flex; gap:16px; align-items:center; padding-bottom:24px; border-bottom:1px solid rgba(121,255,210,.12); }
.trace-title b { font-size:12px; }.trace-title span { padding:5px 7px; border:1px solid rgba(255,91,77,.35); color:var(--red); font-size:8px; }
.trace-step { position:relative; display:grid; grid-template-columns:34px 1fr; gap:16px; padding:24px 0 4px; }
.trace-step:not(:last-child)::before { content:""; position:absolute; left:15px; top:48px; bottom:-18px; width:1px; background:rgba(121,255,210,.18); }
.trace-step > b { position:relative; z-index:1; display:grid; place-items:center; width:31px; height:31px; border:1px solid rgba(121,255,210,.24); border-radius:50%; color:var(--acid); font-size:9px; background:#07100e; }
.trace-step h4 { margin:2px 0 9px; color:#dce4df; font:500 12px var(--mono); }.trace-step p { margin:0; color:#75847f; font-size:10px; line-height:1.7; }
.code-block { margin-top:14px; padding:15px; overflow:auto; color:#9de8cf; background:#0b1a16; border-left:2px solid var(--acid); font-size:10px; line-height:1.7; white-space:pre-wrap; }

.pipeline { display:grid; grid-template-columns:minmax(300px,.72fr) 1.28fr; gap:8vw; align-items:center; background:var(--paper); color:var(--ink); }
.pipeline .section-index { color:#557600; }.pipeline-copy > p { color:#52605b; margin:28px 0; }.pipeline .text-link { border-color:rgba(7,16,14,.3); }
.pipeline-flow { display:flex; align-items:center; justify-content:space-between; }
.pipeline-flow > b { color:#9ca7a1; font:400 18px var(--mono); }
.flow-node { width:132px; aspect-ratio:1; display:flex; flex-direction:column; justify-content:space-between; padding:15px; border:1px solid rgba(7,16,14,.2); font-family:var(--mono); }
.flow-node.active { color:var(--paper); background:var(--ink); box-shadow:12px 12px 0 var(--acid); }
.flow-node span { font-size:9px; opacity:.6; }.flow-node strong { font-size:14px; }.flow-node small { font-size:8px; opacity:.55; }

.control-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:90px; border-top:2px solid rgba(121,255,210,.2); border-left:2px solid rgba(121,255,210,.2); }
.control-grid article { min-height:310px; padding:34px 28px; border-right:1px solid rgba(121,255,210,.15); border-bottom:1px solid rgba(121,255,210,.15); }
.control-grid article > span { display:grid; place-items:center; width:34px; height:34px; margin-bottom:84px; color:var(--acid); border:1px solid rgba(184,255,46,.35); font:500 17px var(--mono); }
.control-grid h3 { font-size:18px; }.control-grid p { color:#7c8a85; font-size:13px; line-height:1.7; }
.compliance { display:flex; justify-content:space-between; align-items:center; margin-top:70px; font:500 10px var(--mono); color:#708079; }
.compliance div { display:flex; gap:8px; }.compliance b { padding:12px 16px; border:1px solid rgba(121,255,210,.15); color:#a4b2ad; font-weight:400; }

.contact { position:relative; min-height:700px; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; padding:100px 24px; text-align:center; color:var(--ink); background:var(--acid); }
.contact h2 { position:relative; z-index:2; margin-bottom:26px; font-size:clamp(42px,5vw,76px); line-height:1.16; }.contact h2 span { color:#405900; }.contact > p:not(.section-index) { position:relative;z-index:2;color:#476000; }.button-dark { position:relative;z-index:2;margin-top:18px;color:var(--paper);background:var(--ink); }
.contact .section-index { position:relative;z-index:2;color:#3a5000; }
.contact-visual { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:70px; opacity:.14; }
.contact-visual span { width:130px; height:1px; background:var(--ink); }.contact-visual i { display:grid;place-items:center;width:220px;height:220px;border:1px solid var(--ink);border-radius:50%;font:500 50px var(--mono);font-style:normal; }

footer { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:80px 6vw 30px; color:#9aa7a2; background:#050b09; font-family:var(--mono); }
.footer-brand { display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:center; }.footer-brand .brand-mark { width:max-content; font-size:24px; }.footer-brand p { grid-column:1/-1; margin-top:18px; font-size:11px; line-height:1.7; }
.footer-links { display:grid; grid-template-columns:1fr 1fr; gap:40px; }.footer-links div { display:grid; gap:13px; align-content:start; }.footer-links b { margin-bottom:8px;color:var(--paper);font-size:9px; }.footer-links a { font-size:10px; }.footer-meta { grid-column:1/-1; display:flex; justify-content:space-between; padding-top:24px; border-top:1px solid rgba(121,255,210,.1); font-size:9px; }

.reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease,transform .7s ease; }.reveal.visible { opacity:1; transform:none; }
@keyframes blink { 50% { opacity:.25; } }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes ticker { to { transform:translateX(-50%); } }

@media (max-width: 980px) {
  .desktop-nav,.header-cta { display:none; }.site-header { grid-template-columns:1fr auto; }.menu-toggle { justify-self:end; display:grid;gap:6px;width:40px;height:40px;padding:12px;border:0;background:transparent; }.menu-toggle span { display:block;width:100%;height:1px;background:var(--ink); }.mobile-nav { position:absolute;top:64px;left:0;right:0;padding:16px;background:var(--paper);border:1px solid rgba(7,16,14,.16); }.mobile-nav.open { display:grid; }.mobile-nav a { padding:14px;border-bottom:1px solid rgba(7,16,14,.1);font:500 12px var(--mono); }
  .hero { min-height:980px;height:auto; }.hero-content { top:130px;left:6vw;width:88vw; }.mission-panel { top:590px;left:6vw;right:auto;width:88vw;max-width:540px; }.hero-metrics { display:none; }
  .section-intro,.section-intro.compact { grid-template-columns:1fr; }.section-intro .section-index { margin-bottom:0; }.section-intro > p:last-child { max-width:620px; }
  .agent-system { grid-template-columns:1fr; }.agent-core { min-height:430px; }.agent-list { border-left:0;border-top:1px solid rgba(121,255,210,.14); }
  .evidence-console { grid-template-columns:250px 1fr; }.pipeline { grid-template-columns:1fr; }.control-grid { grid-template-columns:repeat(2,1fr); }.compliance { align-items:flex-start;gap:24px; }.compliance div { flex-wrap:wrap;justify-content:flex-end; }
}

@media (max-width: 640px) {
  .site-header { top:8px;left:8px;right:8px;height:52px;padding-left:14px; }.brand-mark { height:34px;padding:0 11px;font-size:16px; }.hero { min-height:940px; }.hero-content { top:110px;padding-left:14px; }.eyebrow { font-size:8px; }.hero h1 { font-size:72px; }.hero h1::after { right:-12px;bottom:3px;font-size:7px; }.hero-statement { font-size:31px; }.hero-copy { width:100%;font-size:13px;line-height:1.7; }.hero-actions { align-items:flex-start;flex-direction:column;gap:10px;margin-top:22px; }.mission-panel { top:545px;width:calc(100% - 12vw); }.mission-foot span:nth-child(2) { display:none; }
  .section { padding:90px 20px; }.section-intro h2,.pipeline h2 { font-size:39px; }.section-intro > p:last-child { font-size:14px; }
  .agent-system { margin-top:60px; }.agent-core { min-height:350px; }.orbit-two { width:340px;height:340px; }.orbit-one { width:240px;height:240px; }.agent-list article { grid-template-columns:45px 1fr;padding:26px 18px; }.agent-state { grid-column:2; }
  .evidence-console { grid-template-columns:1fr;margin-top:55px; }.finding-list { display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid rgba(121,255,210,.15); }.finding { flex:0 0 235px;min-height:125px; }.trace-toolbar { align-items:flex-start;height:auto;gap:14px;padding:14px;flex-direction:column; }.trace-content { padding:24px 16px; }.trace-title { align-items:flex-start;flex-direction:column;gap:8px; }
  .pipeline-flow { display:grid;grid-template-columns:1fr 26px 1fr;gap:18px; }.pipeline-flow > b:nth-of-type(2) { display:none; }.flow-node { width:100%; }.control-grid { grid-template-columns:1fr; }.control-grid article { min-height:250px; }.control-grid article > span { margin-bottom:48px; }.compliance { flex-direction:column; }.compliance div { justify-content:flex-start; }.contact { min-height:620px; }.contact h2 { font-size:39px; }.contact h2 br { display:none; }.contact-visual { gap:10px; }.contact-visual span { width:50px; }.contact-visual i { width:160px;height:160px; }
  footer { grid-template-columns:1fr;gap:46px;padding:60px 20px 24px; }.footer-meta { grid-column:auto;flex-direction:column;gap:10px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; } }
