@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Inter:wght@400;500;600;700;800;900&display=swap');

:root{
  --bg:#05070a;
  --panel:#0a0e13;
  --panel2:#0d1218;
  --line:rgba(255,255,255,.11);
  --line2:rgba(255,255,255,.05);
  --text:#eef5f7;
  --muted:#89949d;
  --accent:#70e6ff;
  --accent2:#b8f4ff;
  --danger:#ff775f;
  --max:1400px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,Arial,sans-serif;
  overflow-x:hidden;
  cursor:none;
}
a,button,input{font:inherit}
a{color:inherit;text-decoration:none}
button{color:inherit}
::selection{background:var(--accent);color:#001014}
#field{position:fixed;inset:0;width:100%;height:100%;z-index:-4}
.noise{
  position:fixed;inset:0;pointer-events:none;z-index:40;opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
}
.scanlines{
  position:fixed;inset:0;pointer-events:none;z-index:39;opacity:.05;
  background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#fff 4px);
}
.topbar{
  position:fixed;z-index:30;top:0;left:0;right:0;height:84px;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:0 clamp(22px,4vw,64px);
  border-bottom:1px solid var(--line);
  background:rgba(5,7,10,.72);
  backdrop-filter:blur(18px);
}
.brand{display:flex;align-items:center;gap:12px;width:max-content}
.brand-mark{
  width:38px;height:38px;border:1px solid rgba(112,230,255,.6);
  display:grid;place-items:center;font-weight:900;color:var(--accent);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
}
.brand-copy{display:flex;flex-direction:column;line-height:.9;gap:5px}
.brand-copy strong{letter-spacing:.17em;font-size:14px}
.brand-copy small{font:500 8px DM Mono,monospace;letter-spacing:.32em;color:var(--muted)}
.desktop-nav{display:flex;gap:36px;font:500 11px DM Mono,monospace;letter-spacing:.15em;color:#b7c1c8}
.desktop-nav a{position:relative;padding:10px 0}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--accent);transition:.3s}
.desktop-nav a:hover:after{right:0}
.status-pill{
  justify-self:end;font:500 9px DM Mono,monospace;letter-spacing:.12em;
  display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:9px 12px;
}
.status-dot{width:6px;height:6px;border-radius:99px;background:var(--accent);box-shadow:0 0 14px var(--accent);animation:pulse 1.5s infinite}
.menu-btn{display:none;background:none;border:0;width:40px;height:40px;padding:8px}
.menu-btn span{display:block;height:1px;background:white;margin:8px 0}
.mobile-menu{display:none}

.hero{
  min-height:100vh;max-width:var(--max);margin:auto;
  padding:150px clamp(22px,4vw,64px) 90px;
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);
  align-items:center;gap:7vw;position:relative;
}
.eyebrow{
  font:500 10px DM Mono,monospace;letter-spacing:.24em;color:var(--accent);text-transform:uppercase;
}
.hero h1,.section h2{
  font-size:clamp(54px,8vw,124px);line-height:.82;letter-spacing:-.065em;
  margin:24px 0 30px;font-weight:800;text-transform:uppercase;
}
.outline-word,.section h2 span{
  display:block;color:transparent;-webkit-text-stroke:1px rgba(238,245,247,.5);
}
.hero-sub{
  max-width:650px;color:#a7b0b8;font-size:clamp(15px,1.4vw,19px);line-height:1.7;
}
.hero-actions{display:flex;gap:12px;margin-top:38px;flex-wrap:wrap}
.primary-btn,.ghost-btn,.text-link{
  min-height:52px;padding:0 20px;border:1px solid var(--line);background:transparent;
  display:inline-flex;align-items:center;justify-content:center;gap:26px;
  font:600 10px DM Mono,monospace;letter-spacing:.12em;cursor:none;
  position:relative;overflow:hidden;transition:.25s;
}
.primary-btn{background:var(--accent);border-color:var(--accent);color:#001014}
.primary-btn:before{
  content:"";position:absolute;inset:0;background:white;transform:translateX(-105%);transition:.35s;
}
.primary-btn:hover:before{transform:translateX(0)}
.primary-btn span,.primary-btn b{position:relative;z-index:1}
.ghost-btn:hover,.text-link:hover{border-color:var(--accent);color:var(--accent)}
.hero-metrics{
  display:flex;margin-top:58px;border-top:1px solid var(--line);max-width:720px;
}
.hero-metrics div{padding:20px 35px 0 0;margin-right:35px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.hero-metrics div:last-child{border-right:0}
.hero-metrics strong{font:500 23px DM Mono,monospace;color:var(--text)}
.hero-metrics span{font:400 8px DM Mono,monospace;color:var(--muted);letter-spacing:.11em;margin-top:7px}

.reactor-wrap{height:530px;display:grid;place-items:center;position:relative;isolation:isolate}
.reactor{
  width:250px;height:250px;border-radius:50%;position:relative;border:0;background:transparent;
  display:grid;place-items:center;cursor:none;filter:drop-shadow(0 0 24px rgba(112,230,255,.12));
}
.reactor:before{
  content:"";position:absolute;width:72%;height:72%;border-radius:50%;
  background:radial-gradient(circle,rgba(184,244,255,.96) 0 7%,rgba(112,230,255,.28) 8% 18%,rgba(112,230,255,.05) 35%,transparent 68%);
  box-shadow:inset 0 0 34px rgba(112,230,255,.45),0 0 70px rgba(112,230,255,.16);
}
.reactor-ring{position:absolute;border-radius:50%;border:1px solid rgba(112,230,255,.35)}
.ring-1{inset:8%;border-style:dashed;animation:spin 12s linear infinite}
.ring-2{inset:22%;border-width:2px;border-color:rgba(112,230,255,.5);animation:spinReverse 8s linear infinite}
.ring-3{inset:34%;border-style:dotted;animation:spin 4s linear infinite}
.reactor-core{
  z-index:2;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;
  color:#001014;background:var(--accent);font:800 13px DM Mono,monospace;letter-spacing:.1em;
  box-shadow:0 0 40px rgba(112,230,255,.75);
}
.reactor-orbit{position:absolute;border:1px solid rgba(255,255,255,.09);border-radius:50%;pointer-events:none}
.orbit-a{width:410px;height:410px;animation:spin 28s linear infinite}
.orbit-b{width:325px;height:325px;animation:spinReverse 19s linear infinite}
.reactor-orbit i{position:absolute;width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px var(--accent)}
.orbit-a i:nth-child(1){top:15%;left:17%}.orbit-a i:nth-child(2){right:-3px;top:49%}.orbit-a i:nth-child(3){bottom:11%;left:23%}
.orbit-b i:nth-child(1){top:0;left:50%}.orbit-b i:nth-child(2){bottom:19%;right:10%}
.reactor-label{
  position:absolute;bottom:15px;width:310px;display:flex;justify-content:space-between;
  padding-top:12px;border-top:1px solid var(--line);font:400 8px DM Mono,monospace;color:var(--muted);letter-spacing:.12em;
}
.scroll-indicator{
  position:absolute;left:clamp(22px,4vw,64px);bottom:25px;font:400 8px DM Mono,monospace;
  letter-spacing:.15em;color:#66717a;display:flex;gap:13px;align-items:center;
}
.scroll-indicator span{color:var(--accent);animation:down 1.6s infinite}

.ticker{overflow:hidden;border-block:1px solid var(--line);padding:15px 0;background:rgba(255,255,255,.015)}
.ticker-track{width:max-content;display:flex;gap:26px;align-items:center;animation:ticker 28s linear infinite}
.ticker span{font:500 10px DM Mono,monospace;letter-spacing:.16em;color:#83909a}
.ticker i{font-style:normal;color:var(--accent);font-size:8px}

.section{max-width:var(--max);margin:auto;padding:130px clamp(22px,4vw,64px)}
.section-heading{margin-bottom:70px}
.section h2{font-size:clamp(45px,6vw,86px);margin-bottom:0}
.section-heading.split{display:flex;justify-content:space-between;align-items:end;gap:30px}
.section-heading.split>p{max-width:330px;color:var(--muted);font-size:13px;line-height:1.7}

.systems-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.system-card{
  min-height:410px;padding:30px;position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  background:linear-gradient(145deg,rgba(255,255,255,.025),transparent);transform-style:preserve-3d;transition:border-color .25s;
}
.system-card:hover{border-color:rgba(112,230,255,.35)}
.card-index{font:400 9px DM Mono,monospace;color:#56616a}
.card-icon{
  margin-top:45px;width:64px;height:64px;border:1px solid rgba(112,230,255,.35);display:grid;place-items:center;
  font:500 14px DM Mono,monospace;color:var(--accent);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
}
.system-card h3{font-size:23px;margin:25px 0 12px;letter-spacing:-.035em}
.system-card p{color:var(--muted);font-size:13px;line-height:1.7;max-width:350px}
.card-data{
  position:absolute;left:30px;right:30px;bottom:25px;border-top:1px solid var(--line);padding-top:13px;
  display:flex;justify-content:space-between;font:400 8px DM Mono,monospace;letter-spacing:.1em;color:#64717b;
}
.card-data b{color:var(--accent);font-weight:500}

.project-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.project-card{
  border:1px solid var(--line);min-height:420px;display:flex;flex-direction:column;background:rgba(255,255,255,.012);
  position:relative;overflow:hidden;transition:.35s;
}
.project-card.large{grid-row:span 2;min-height:858px}
.project-card:hover{border-color:rgba(112,230,255,.42);transform:translateY(-3px)}
.project-visual{flex:1;display:grid;place-items:center;position:relative;overflow:hidden}
.project-visual:before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);
  background-size:30px 30px;
}
.project-info{
  min-height:94px;border-top:1px solid var(--line);padding:20px 22px;
  display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2;background:rgba(5,7,10,.86);
}
.project-info small{font:400 8px DM Mono,monospace;color:#60707c;letter-spacing:.14em}
.project-info h3{font-size:19px;margin:6px 0 0}
.tag{font:500 8px DM Mono,monospace;border:1px solid var(--line);padding:8px 9px;color:var(--accent);letter-spacing:.09em}
.radar{width:min(410px,70%);aspect-ratio:1;border-radius:50%;border:1px solid rgba(112,230,255,.22);position:relative}
.radar:before,.radar:after{content:"";position:absolute;inset:18%;border:1px solid rgba(112,230,255,.15);border-radius:50%}
.radar:after{inset:37%}
.radar span{position:absolute;background:rgba(112,230,255,.13)}
.radar span:nth-child(1){left:50%;top:0;width:1px;height:100%}
.radar span:nth-child(2){top:50%;left:0;height:1px;width:100%}
.radar span:nth-child(3){width:8px;height:8px;border-radius:50%;left:28%;top:34%;background:var(--accent);box-shadow:0 0 15px var(--accent)}
.radar span:nth-child(4){width:5px;height:5px;border-radius:50%;right:22%;bottom:28%;background:var(--accent);box-shadow:0 0 12px var(--accent)}
.radar i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(112,230,255,.21),transparent 15%);animation:spin 4s linear infinite}
.floating-code{
  position:absolute;left:35px;bottom:30px;font:400 8px DM Mono,monospace;color:rgba(112,230,255,.55);
  display:flex;flex-direction:column;gap:8px;
}
.browser-mini{
  width:65%;height:55%;border:1px solid rgba(112,230,255,.28);background:#080c11;position:relative;
}
.browser-dots{height:27px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:5px;padding:0 9px}
.browser-dots i{width:4px;height:4px;border:1px solid #64717b;border-radius:50%}
.mini-screen{padding:18px}
.mini-screen span{display:block;height:7px;margin-bottom:11px;background:rgba(112,230,255,.16)}
.mini-screen span:nth-child(1){width:60%}.mini-screen span:nth-child(2){width:90%}.mini-screen span:nth-child(3){width:45%}
.mini-core{width:130px;height:130px;border:1px dashed rgba(112,230,255,.35);border-radius:50%;display:grid;place-items:center;animation:spin 15s linear infinite}
.mini-core b{position:absolute;width:92px;height:92px;border:1px solid rgba(112,230,255,.25);border-radius:50%}
.mini-core i{width:58px;height:58px;border:2px dotted rgba(112,230,255,.5);border-radius:50%}
.mini-core span{position:absolute;width:18px;height:18px;background:var(--accent);border-radius:50%;box-shadow:0 0 30px var(--accent)}

.terminal-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.terminal-copy h2{font-size:clamp(40px,5vw,70px)}
.terminal-copy>p:not(.eyebrow){color:var(--muted);max-width:570px;line-height:1.8;font-size:14px}
.text-link{margin-top:20px;padding-left:0;border-width:0 0 1px;min-height:42px}
.terminal{border:1px solid rgba(112,230,255,.25);background:#05090d;min-height:430px;box-shadow:inset 0 0 60px rgba(112,230,255,.025)}
.terminal-head{
  height:42px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 14px;
  font:400 8px DM Mono,monospace;color:#72808a;letter-spacing:.12em;
}
.terminal-head div{display:flex;gap:6px}.terminal-head i{width:5px;height:5px;border:1px solid #5d6972;border-radius:50%}
.terminal-body{height:325px;overflow:hidden;padding:18px;font:400 11px/1.75 DM Mono,monospace;color:#8da0ab}
.terminal-body p{margin:0 0 5px}.terminal-body em{font-style:normal;color:var(--accent)}.terminal-body b{color:var(--accent);font-weight:400}
.terminal-input-row{
  border-top:1px solid var(--line);height:56px;padding:0 16px;display:flex;align-items:center;gap:8px;
  font:400 11px DM Mono,monospace;color:var(--accent);
}
.terminal-input-row input{flex:1;background:transparent;border:0;outline:none;color:#d9faff;font-family:DM Mono,monospace;min-width:0}

.contact{display:grid;grid-template-columns:1.35fr .65fr;gap:8vw;align-items:end;border-top:1px solid var(--line)}
.contact-panel h2{font-size:clamp(45px,6vw,82px)}
.contact-mail{font:400 9px DM Mono,monospace;color:#64717b;letter-spacing:.1em;margin-top:16px}
.system-readout{border-top:1px solid var(--line)}
.readout-line{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font:400 9px DM Mono,monospace;letter-spacing:.1em}
.readout-line span{color:#687681}.readout-line b{color:var(--accent);font-weight:400}

footer{
  min-height:120px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  gap:20px;padding:25px clamp(22px,4vw,64px);font:400 8px DM Mono,monospace;letter-spacing:.1em;color:#56636c;
}
footer div{display:flex;flex-direction:column;gap:6px}footer strong{color:#d4dce0;font-weight:500}
footer button{justify-self:end;border:1px solid var(--line);background:none;padding:10px 12px;color:#66737c;font:inherit;cursor:none}

.modal,.classified{
  position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.82);backdrop-filter:blur(12px);
  display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:.3s;
}
.modal.open,.classified.open{opacity:1;pointer-events:auto}
.modal-panel{width:min(650px,100%);border:1px solid rgba(112,230,255,.35);background:#05090d}
.modal-top{height:50px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font:500 9px DM Mono,monospace;letter-spacing:.12em}
.modal-top button,.classified button{background:none;border:0;color:var(--muted);font-size:25px;cursor:pointer}
.diag-screen{padding:30px;display:grid;grid-template-columns:180px 1fr;gap:30px;align-items:center}
.diag-ring{width:160px;height:160px;border-radius:50%;border:1px solid rgba(112,230,255,.3);display:grid;place-items:center;position:relative}
.diag-ring:before{content:"";position:absolute;inset:13px;border:5px dotted rgba(112,230,255,.2);border-radius:50%;animation:spin 8s linear infinite}
.diag-ring span{font:500 26px DM Mono,monospace;color:var(--accent)}
.diag-list p{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px 0;margin:0;font:400 9px DM Mono,monospace;color:#7b8993}
.diag-list b{font-weight:400;color:#5b6870}.diag-list p.done b{color:var(--accent)}
.diag-result{border-top:1px solid var(--line);padding:15px 20px;font:400 9px DM Mono,monospace;color:var(--accent);letter-spacing:.08em}
.classified-inner{text-align:center;position:relative;border:1px solid rgba(112,230,255,.4);padding:65px;width:min(680px,100%);background:#05090d}
.classified-inner button{position:absolute;right:12px;top:8px}
.classified p,.classified span,.classified small{display:block;font:400 9px DM Mono,monospace;letter-spacing:.15em;color:var(--accent)}
.classified h2{font-size:clamp(55px,11vw,120px);line-height:.75;letter-spacing:-.07em;margin:34px 0}
.classified small{color:#72808a;margin-top:15px}

.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:100;transform:translate(-50%,-50%)}
.cursor-dot{width:5px;height:5px;background:var(--accent);box-shadow:0 0 10px var(--accent)}
.cursor-ring{width:34px;height:34px;border:1px solid rgba(112,230,255,.45);transition:width .2s,height .2s,border-color .2s}
body.cursor-hover .cursor-ring{width:52px;height:52px;border-color:rgba(112,230,255,.8)}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}

body.overdrive .reactor{filter:drop-shadow(0 0 50px rgba(112,230,255,.5))}
body.overdrive .scanlines{opacity:.11}
body.overdrive .topbar{border-bottom-color:rgba(112,230,255,.35)}

@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinReverse{to{transform:rotate(-360deg)}}
@keyframes pulse{50%{opacity:.25}}
@keyframes ticker{to{transform:translateX(-50%)}}
@keyframes down{50%{transform:translateY(5px);opacity:.3}}

@media(max-width:900px){
  body{cursor:auto}.cursor-dot,.cursor-ring{display:none}
  .desktop-nav,.status-pill{display:none}.menu-btn{display:block;justify-self:end}
  .topbar{grid-template-columns:1fr auto}
  .mobile-menu{
    position:fixed;z-index:29;top:84px;left:0;right:0;background:#070a0e;border-bottom:1px solid var(--line);
    padding:25px;flex-direction:column;gap:0;
  }
  .mobile-menu.open{display:flex}
  .mobile-menu a{padding:17px 0;border-bottom:1px solid var(--line);font:500 12px DM Mono,monospace;letter-spacing:.13em}
  .hero{grid-template-columns:1fr;padding-top:135px}
  .hero h1{font-size:clamp(54px,14vw,92px)}
  .reactor-wrap{height:430px}
  .systems-grid{grid-template-columns:1fr}
  .project-grid{grid-template-columns:1fr}.project-card.large{grid-row:auto;min-height:620px}
  .terminal-section,.contact{grid-template-columns:1fr}
  footer{grid-template-columns:1fr;text-align:left}footer button{justify-self:start}
}
@media(max-width:560px){
  .hero{padding-bottom:70px}
  .hero-metrics{display:grid;grid-template-columns:1fr 1fr}
  .hero-metrics div{margin:0 16px 16px 0}
  .reactor-wrap{height:360px}.reactor{width:190px;height:190px}.orbit-a{width:300px;height:300px}.orbit-b{width:245px;height:245px}
  .reactor-label{width:260px}
  .section{padding-top:90px;padding-bottom:90px}
  .section-heading.split{align-items:start;flex-direction:column}
  .system-card{min-height:360px}
  .project-card,.project-card.large{min-height:500px}
  .diag-screen{grid-template-columns:1fr}.diag-ring{margin:auto}
  .classified-inner{padding:50px 20px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
