:root{
  --ink:#050a10;
  --abyss:#0a1620;
  --panel:#0d1e2c;
  --panel-line:#1a3244;
  --cyan:#5fd9ff;
  --cyan-soft:#8fe4ff;
  --cyan-dim:#1d4a5c;
  --amber:#ff8a42;
  --amber-soft:#ffb27a;
  --amber-dim:#7a4420;
  --foam:#e9f2f6;
  --steel:#7e97a8;
  --steel-dim:#455a68;
  --font-display:'Space Grotesk', sans-serif;
  --font-mono:'Space Mono', monospace;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--ink);
  color:var(--foam);
  font-family:var(--font-display);
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
}
::selection{background:var(--amber); color:var(--ink);}

a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%;}

.wrap{max-width:1240px; margin:0 auto; padding:0 32px;}
@media (max-width:720px){.wrap{padding:0 20px;}}

/* ---------- depth backdrop that deepens on scroll ---------- */
#depth-bg{
  position:fixed; inset:0; z-index:-2;
  background:linear-gradient(180deg, #050a10 0%, #061019 40%, #030509 100%);
  transition:background 0.4s linear;
}
.grain{
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  opacity:0.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.scanline{
  position:fixed; left:0; right:0; height:2px; z-index:40; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(95,217,255,0.55), transparent);
  animation:scanmove 7s linear infinite;
  opacity:0.5;
}
@keyframes scanmove{0%{top:0%;}100%{top:100%;}}

/* ---------- nav ---------- */
header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 32px;
  backdrop-filter:blur(10px);
  background:linear-gradient(180deg, rgba(5,10,16,0.75), rgba(5,10,16,0));
  transition:padding 0.3s ease;
}
.logo{
  font-family:var(--font-mono); font-weight:700; font-size:15px;
  letter-spacing:0.14em;
  display:flex; align-items:center; gap:10px;
}
.logo .dot{width:7px; height:7px; border-radius:50%; background:var(--amber); box-shadow:0 0 8px var(--amber); animation:blink 2.6s ease-in-out infinite;}
.logo-sub{font-size:10px; color:var(--steel-dim); letter-spacing:0.1em; margin-left:6px; font-weight:400;}
@media (max-width:560px){.logo-sub{display:none;}}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.25;}}
nav ul{list-style:none; display:flex; gap:22px;}
nav a{
  font-family:var(--font-mono); font-size:11px; letter-spacing:0.06em;
  color:var(--steel); position:relative; padding-bottom:4px; white-space:nowrap;
}
nav a::after{
  content:''; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--cyan); transition:width 0.3s ease;
}
nav a:hover{color:var(--foam);}
nav a:hover::after{width:100%;}
@media (max-width:1080px){nav{display:none;}}

/* ---------- hero ---------- */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:flex-end;
  overflow:hidden;
}
.hero-media{
  position:absolute; inset:0; z-index:-1;
}
.hero-media img, .hero-media video{
  width:100%; height:100%; object-fit:cover;
  filter:saturate(1.05) brightness(0.72);
  transform:scale(1.06);
  animation:driftin 2.4s ease-out forwards;
}
@keyframes driftin{from{transform:scale(1.14);}to{transform:scale(1.06);}}
.hero-media::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(5,10,16,0.15) 0%, rgba(5,10,16,0.15) 40%, rgba(5,10,16,0.96) 96%),
             linear-gradient(90deg, rgba(5,10,16,0.55) 0%, rgba(5,10,16,0) 40%);
}

/* HUD corner frame */
.hud-frame{position:absolute; inset:100px 32px 32px 32px; pointer-events:none; z-index:5;}
.hud-corner{
  position:absolute; width:34px; height:34px;
  border-color:var(--cyan-soft); opacity:0;
  animation:frame-in 0.7s ease forwards;
}
.hud-corner.tl{top:0; left:0; border-top:1.5px solid; border-left:1.5px solid; animation-delay:0.15s;}
.hud-corner.tr{top:0; right:0; border-top:1.5px solid; border-right:1.5px solid; animation-delay:0.3s;}
.hud-corner.bl{bottom:0; left:0; border-bottom:1.5px solid; border-left:1.5px solid; animation-delay:0.3s;}
.hud-corner.br{bottom:0; right:0; border-bottom:1.5px solid; border-right:1.5px solid; animation-delay:0.45s;}
@keyframes frame-in{from{opacity:0; transform:scale(0.6);}to{opacity:0.8; transform:scale(1);}}

.hud-readout{
  position:absolute; top:6px; right:6px;
  font-family:var(--font-mono); font-size:11px; color:var(--cyan-soft);
  text-align:right; opacity:0; animation:fadein 0.6s ease forwards 1s;
  line-height:1.9;
}
.hud-readout span{color:var(--steel); margin-right:8px;}
.hud-readout b{color:var(--amber-soft); font-weight:400;}
@keyframes fadein{to{opacity:0.85;}}

.hero-content{
  position:relative; z-index:6; padding:0 0 72px 0; width:100%;
}
.hero-eyebrow{
  font-family:var(--font-mono); font-size:12px; letter-spacing:0.12em; color:var(--cyan-soft);
  display:flex; align-items:center; gap:10px; margin-bottom:22px;
  opacity:0; animation:fadeup 0.7s ease forwards 0.5s;
}
.hero-eyebrow .bar{width:26px; height:1px; background:var(--cyan-soft);}
.hero h1{
  font-size:clamp(3.4rem, 10vw, 8.5rem);
  font-weight:700; letter-spacing:-0.02em; line-height:0.92;
  color:var(--foam);
  opacity:0; animation:fadeup 0.9s cubic-bezier(.2,.7,.2,1) forwards 0.65s;
}
.hero-sub{
  max-width:560px; margin-top:26px; font-size:1.08rem; color:var(--steel);
  opacity:0; animation:fadeup 0.8s ease forwards 1.05s;
}
.hero-sub em{color:var(--foam); font-style:normal;}
.hero-cta{
  margin-top:38px; display:flex; gap:18px; align-items:center; flex-wrap:wrap;
  opacity:0; animation:fadeup 0.8s ease forwards 1.3s;
}
@keyframes fadeup{from{opacity:0; transform:translateY(18px);}to{opacity:1; transform:translateY(0);}}

.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-mono); font-size:12.5px; letter-spacing:0.06em;
  padding:14px 24px; border:1px solid var(--amber); color:var(--ink);
  background:var(--amber);
  transition:transform 0.25s ease, box-shadow 0.25s ease;
}
.btn:hover{transform:translateY(-2px); box-shadow:0 10px 26px -10px rgba(255,138,66,0.55);}
.btn-ghost{
  background:transparent; color:var(--foam); border:1px solid var(--panel-line);
}
.btn-ghost:hover{border-color:var(--cyan-soft); color:var(--cyan-soft); box-shadow:none;}

.scroll-cue{
  position:absolute; bottom:26px; left:32px; z-index:6;
  font-family:var(--font-mono); font-size:10.5px; color:var(--steel);
  display:flex; align-items:center; gap:10px;
}
.scroll-cue .line{width:1px; height:34px; background:linear-gradient(var(--cyan-soft), transparent); position:relative; overflow:hidden;}
.scroll-cue .line::after{content:''; position:absolute; top:-34px; left:0; width:100%; height:34px; background:linear-gradient(var(--cyan-soft), transparent); animation:sweep 2.2s linear infinite;}
@keyframes sweep{to{top:34px;}}

/* ---------- stat strip ---------- */
.stat-strip{
  border-top:1px solid var(--panel-line); border-bottom:1px solid var(--panel-line);
  background:var(--abyss);
}
.stat-strip .wrap{
  display:grid; grid-template-columns:repeat(4,1fr);
}
.stat{
  padding:38px 26px; border-right:1px solid var(--panel-line);
}
.stat:last-child{border-right:none;}
.stat .num{
  font-family:var(--font-mono); font-size:clamp(1.7rem,3.4vw,2.6rem); color:var(--cyan-soft);
  font-weight:700; display:flex; align-items:baseline; gap:4px;
}
.stat .num .unit{font-size:0.42em; color:var(--steel); margin-left:2px;}
.stat .label{margin-top:8px; font-size:0.82rem; color:var(--steel);}
@media (max-width:820px){
  .stat-strip .wrap{grid-template-columns:repeat(2,1fr);}
  .stat{border-bottom:1px solid var(--panel-line);}
}

/* ---------- generic section scaffolding ---------- */
section{position:relative; padding:130px 0;}
.section-head{max-width:640px; margin-bottom:64px;}
.kicker{
  font-family:var(--font-mono); font-size:12px; letter-spacing:0.1em; color:var(--amber-soft);
  display:flex; align-items:center; gap:10px; margin-bottom:18px;
}
.kicker .bar{width:22px; height:1px; background:var(--amber-soft);}
h2{
  font-size:clamp(2rem, 4vw, 3.1rem); font-weight:600; letter-spacing:-0.01em;
  color:var(--foam); line-height:1.1;
}
.section-head p{margin-top:20px; color:var(--steel); font-size:1.02rem; max-width:560px;}

.reveal{opacity:0; transform:translateY(24px); transition:opacity 0.8s ease, transform 0.8s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* ---------- concept section ---------- */
.concept-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
@media (max-width:900px){.concept-grid{grid-template-columns:1fr; gap:50px;}}
.concept-text p{color:var(--steel); margin-bottom:18px; font-size:0.98rem;}
.concept-text strong{color:var(--foam); font-weight:500;}
.req-list{margin-top:30px; display:flex; flex-direction:column; gap:22px;}
.req-item{display:flex; gap:18px; align-items:flex-start;}
.req-item .glyph{
  flex:none; width:38px; height:38px; border:1px solid var(--cyan-dim); border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--cyan-soft);
}
.req-item h4{font-size:0.98rem; font-weight:500; color:var(--foam); margin-bottom:4px;}
.req-item p{color:var(--steel); font-size:0.9rem;}

.diagram-box{
  border:1px solid var(--panel-line); background:var(--panel); padding:28px;
  position:relative;
}
.diagram-box svg{width:100%; height:auto; display:block;}
.diagram-caption{
  margin-top:16px; font-family:var(--font-mono); font-size:10.5px; color:var(--steel-dim);
  display:flex; justify-content:space-between; letter-spacing:0.04em;
}

/* hull path draw animation */
.hull-line{stroke-dasharray:900; stroke-dashoffset:900; transition:stroke-dashoffset 1.8s cubic-bezier(.2,.7,.2,1);}
.diagram-box.in .hull-line{stroke-dashoffset:0;}
.hull-fill{opacity:0; transition:opacity 1s ease 0.6s;}
.diagram-box.in .hull-fill{opacity:1;}

/* ---------- navigation / kalman diagram ---------- */
.nav-grid{display:grid; grid-template-columns:1.3fr 0.9fr; gap:60px; align-items:center;}
@media (max-width:900px){.nav-grid{grid-template-columns:1fr;}}
.nav-figs{display:flex; flex-direction:column; gap:22px;}
.flow-line{animation:flowmove 1.4s linear infinite;}
.flow-line.out{animation-duration:0.9s;}
.flow-line.loop{animation-duration:2.6s; animation-direction:reverse;}
@keyframes flowmove{to{stroke-dashoffset:-18;}}

/* ---------- mission timeline ---------- */
.mission-timeline{margin-top:50px;}
.timeline-track{height:2px; background:var(--panel-line); position:relative; margin-bottom:36px;}
.timeline-fill{position:absolute; top:0; left:0; height:100%; width:0%; background:linear-gradient(90deg, var(--cyan-soft), var(--amber)); transition:width 2.2s cubic-bezier(.2,.7,.2,1);}
.timeline-steps{display:grid; grid-template-columns:repeat(5,1fr); gap:22px;}
@media (max-width:900px){.timeline-steps{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.timeline-steps{grid-template-columns:1fr;}}
.tstep{position:relative; padding-top:20px;}
.tstep::before{content:''; position:absolute; top:-41px; left:0; width:9px; height:9px; border-radius:50%; background:var(--ink); border:2px solid var(--cyan-dim); transition:border-color 0.4s ease, background 0.4s ease;}
.tstep.hit::before{border-color:var(--amber); background:var(--amber);}
.tstep .tn{font-family:var(--font-mono); font-size:10.5px; color:var(--steel-dim);}
.tstep h5{font-size:0.94rem; font-weight:500; color:var(--foam); margin:6px 0 6px;}
.tstep p{font-size:0.82rem; color:var(--steel);}

/* ---------- missions ---------- */
.mission-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--panel-line); border:1px solid var(--panel-line);}
@media (max-width:820px){.mission-grid{grid-template-columns:1fr;}}
.mission-video-wrap{margin-top:2px;}
.mission-video{position:relative; border:1px solid var(--panel-line); overflow:hidden;}
.mission-video video{width:100%; display:block; filter:saturate(1.05);}
.mission-video-caption{
  position:absolute; left:0; right:0; bottom:0; padding:16px 22px;
  background:linear-gradient(0deg, rgba(5,10,16,0.9), transparent);
  font-family:var(--font-mono); font-size:11px; color:var(--cyan-soft); letter-spacing:0.04em;
}
.mission-card{
  background:var(--ink); padding:42px 38px; transition:background 0.3s ease;
}
.mission-card:hover{background:var(--abyss);}
.mission-card .glyph{width:44px; height:44px; margin-bottom:22px;}
.mission-card h3{font-size:1.2rem; font-weight:500; margin-bottom:12px; color:var(--foam);}
.mission-card p{color:var(--steel); font-size:0.92rem;}

/* ---------- architecture / propulsion ---------- */
.arch-media{position:relative; border:1px solid var(--panel-line);}
.arch-media img, .arch-media video{width:100%; filter:saturate(1.05); display:block;}
.tabs{display:flex; gap:0; border-bottom:1px solid var(--panel-line); margin-bottom:0;}
.tab-btn{
  font-family:var(--font-mono); font-size:11.5px; letter-spacing:0.06em; color:var(--steel);
  padding:14px 22px; background:transparent; border:none; cursor:pointer;
  border-bottom:2px solid transparent; transition:color 0.25s ease, border-color 0.25s ease;
}
.tab-btn.active{color:var(--amber-soft); border-color:var(--amber);}
.regime-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:60px; align-items:center;}
@media (max-width:900px){.regime-grid{grid-template-columns:1fr;}}
.regime-panel{display:none;}
.regime-panel.active{display:block; animation:fadein2 0.5s ease;}
@keyframes fadein2{from{opacity:0; transform:translateY(8px);}to{opacity:1; transform:translateY(0);}}
.regime-panel h3{font-size:1.4rem; font-weight:500; margin-bottom:14px; color:var(--foam);}
.regime-panel p{color:var(--steel); margin-bottom:14px; font-size:0.96rem;}
.regime-figures{display:flex; gap:36px; margin-top:24px;}
.regime-figures div{font-family:var(--font-mono);}
.regime-figures .n{font-size:1.5rem; color:var(--cyan-soft); font-weight:700;}
.regime-figures .l{font-size:0.75rem; color:var(--steel-dim); margin-top:4px;}

.screw-viz{display:flex; align-items:center; justify-content:center; padding:30px 0;}
.screw{width:220px; height:220px;}
.screw .thread{animation:spin 3.2s linear infinite; transform-origin:110px 110px;}
@keyframes spin{to{transform:rotate(360deg);}}

.energy-bar{margin-top:36px;}
.energy-row{display:flex; align-items:center; gap:16px; margin-bottom:14px;}
.energy-label{font-family:var(--font-mono); font-size:11px; color:var(--steel); width:160px; flex:none;}
.energy-track{flex:1; height:6px; background:var(--panel); border:1px solid var(--panel-line); position:relative; overflow:hidden;}
.energy-fill{position:absolute; inset:0; width:0%; background:linear-gradient(90deg, var(--cyan-dim), var(--cyan-soft)); transition:width 1.4s cubic-bezier(.2,.7,.2,1);}
.energy-pct{font-family:var(--font-mono); font-size:11px; color:var(--cyan-soft); width:42px; text-align:right; flex:none;}

/* ---------- autonomy / neutrino ---------- */
.autonomy-wrap{display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px; align-items:center;}
@media (max-width:900px){.autonomy-wrap{grid-template-columns:1fr;}}
.radar{position:relative; width:100%; max-width:400px; aspect-ratio:1; margin:0 auto;}
.radar svg{width:100%; height:100%;}
.radar-sweep{
  transform-origin:200px 200px;
  animation:radarspin 4s linear infinite;
}
@keyframes radarspin{to{transform:rotate(360deg);}}
.radar-blip{opacity:0; animation:blip 4s ease-in-out infinite;}
.radar-blip.b2{animation-delay:1.2s;}
.radar-blip.b3{animation-delay:2.4s;}
@keyframes blip{0%,100%{opacity:0;}8%{opacity:1;}20%{opacity:0;}}

.log-panel{
  background:var(--panel); border:1px solid var(--panel-line); padding:24px 26px;
  font-family:var(--font-mono); font-size:12px; color:var(--steel);
  height:210px; overflow:hidden; position:relative;
}
.log-panel .line{opacity:0; white-space:nowrap; margin-bottom:9px; transition:opacity 0.4s ease;}
.log-panel .line.in{opacity:1;}
.log-panel .line .t{color:var(--cyan-soft); margin-right:10px;}
.log-panel .line .amber{color:var(--amber-soft);}

.autonomy-text p{color:var(--steel); margin-bottom:16px; font-size:0.97rem;}
.autonomy-text strong{color:var(--foam); font-weight:500;}

/* ---------- configurations (depth gauge) ---------- */
.config-wrap{display:grid; grid-template-columns:0.7fr 1.3fr; gap:70px; align-items:start;}
@media (max-width:900px){.config-wrap{grid-template-columns:1fr;}}
.gauge{position:relative; height:460px; display:flex; justify-content:center;}
.gauge-track{width:2px; height:100%; background:var(--panel-line); position:relative;}
.gauge-fill{position:absolute; top:0; left:-1px; width:4px; background:linear-gradient(180deg, var(--cyan-soft), var(--amber)); height:0%; transition:height 1.6s cubic-bezier(.2,.7,.2,1);}
.gauge-mark{position:absolute; left:50%; transform:translateX(-50%); font-family:var(--font-mono); font-size:10.5px; color:var(--steel-dim); display:flex; align-items:center; gap:8px;}
.gauge-mark::before{content:''; width:10px; height:1px; background:var(--steel-dim);}
.gauge-mark.hit{color:var(--cyan-soft);}
.gauge-mark.hit::before{background:var(--cyan-soft);}

.config-toggle{display:flex; gap:0; margin-bottom:34px; border:1px solid var(--panel-line); width:fit-content;}
.config-btn{
  font-family:var(--font-mono); font-size:12px; padding:12px 22px; background:transparent; color:var(--steel);
  border:none; cursor:pointer; border-right:1px solid var(--panel-line); transition:all 0.25s ease;
}
.config-btn:last-child{border-right:none;}
.config-btn.active{background:var(--panel); color:var(--amber-soft);}
.config-detail{display:none;}
.config-detail.active{display:grid; grid-template-columns:1fr 1fr; gap:22px; animation:fadein2 0.5s ease;}
@media (max-width:560px){.config-detail.active{grid-template-columns:1fr;}}
.spec-row{border-top:1px solid var(--panel-line); padding:14px 0; display:flex; justify-content:space-between; gap:12px;}
.spec-row .k{color:var(--steel); font-size:0.86rem;}
.spec-row .v{font-family:var(--font-mono); color:var(--foam); font-size:0.86rem; text-align:right;}

/* ---------- safety ---------- */
.safety-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:24px;}
@media (max-width:980px){.safety-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.safety-grid{grid-template-columns:1fr;}}
.safety-item{border-top:1px solid var(--amber-dim); padding-top:16px;}
.safety-item p{color:var(--steel); font-size:0.85rem; margin-top:8px;}
.safety-item h4{font-size:0.92rem; color:var(--foam); font-weight:500;}

/* ---------- recruitment ---------- */
.job-list{display:flex; flex-direction:column; border-top:1px solid var(--panel-line);}
.job-item{border-bottom:1px solid var(--panel-line);}
.job-head{
  width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px;
  background:transparent; border:none; cursor:pointer; padding:26px 4px; text-align:left;
}
.job-tag{font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.08em; color:var(--amber-soft);}
.job-head h3{font-size:1.15rem; font-weight:500; color:var(--foam); margin-top:6px;}
.job-meta{display:flex; align-items:center; gap:22px; flex:none;}
.job-meta span:first-child{font-family:var(--font-mono); font-size:11.5px; color:var(--steel);}
.chev{
  font-family:var(--font-mono); font-size:18px; color:var(--cyan-soft); width:28px; height:28px;
  border:1px solid var(--panel-line); border-radius:50%; display:flex; align-items:center; justify-content:center;
  transition:transform 0.35s ease, background 0.3s ease;
}
.job-item.open .chev{transform:rotate(135deg); background:var(--panel);}
.job-body{max-height:0; overflow:hidden; transition:max-height 0.5s cubic-bezier(.2,.7,.2,1);}
.job-item.open .job-body{max-height:620px;}
.job-body p{color:var(--steel); font-size:0.92rem; padding:0 4px 18px; max-width:640px;}
.job-cols{display:grid; grid-template-columns:1fr 1fr; gap:34px; padding:0 4px 34px;}
@media (max-width:640px){.job-cols{grid-template-columns:1fr;}}
.job-cols h5{font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.06em; color:var(--steel-dim); margin-bottom:10px;}
.job-cols ul{list-style:none; display:flex; flex-direction:column; gap:9px;}
.job-cols li{color:var(--steel); font-size:0.87rem; padding-left:16px; position:relative;}
.job-cols li::before{content:''; position:absolute; left:0; top:7px; width:5px; height:1px; background:var(--cyan-soft);}
.job-outro{margin-top:36px; color:var(--steel); font-size:0.92rem;}

/* ---------- investors ---------- */
.invest-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--panel-line); border:1px solid var(--panel-line);}
@media (max-width:820px){.invest-stats{grid-template-columns:repeat(2,1fr);}}

/* ---------- market / TAM ---------- */
.tam-banner{
  border:1px solid var(--cyan-dim); padding:36px 40px; text-align:center;
  background:linear-gradient(180deg, var(--panel), var(--ink));
}
.tam-num{
  font-family:var(--font-mono); font-weight:700; color:var(--cyan-soft);
  font-size:clamp(2.2rem, 5vw, 3.4rem); display:flex; align-items:baseline; justify-content:center; gap:10px;
}
.tam-num .arrow{color:var(--amber-soft); font-size:0.7em;}
.tam-num .unit{font-size:0.45em; color:var(--steel); margin-left:4px;}
.tam-label{margin-top:12px; color:var(--steel); font-size:0.9rem;}

.market-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--panel-line); border:1px solid var(--panel-line); margin-top:2px;}
@media (max-width:820px){.market-grid{grid-template-columns:1fr;}}
.market-card{background:var(--ink); padding:30px 26px;}
.market-fig{
  font-family:var(--font-mono); font-weight:700; color:var(--amber-soft);
  font-size:1.5rem; display:flex; align-items:baseline; gap:8px; margin-bottom:14px;
}
.market-fig .arrow{color:var(--cyan-soft); font-size:0.75em;}
.market-fig .unit{font-size:0.55em; color:var(--steel); margin-left:2px;}
.market-card h4{font-size:0.98rem; color:var(--foam); font-weight:500; margin-bottom:6px;}
.market-card p{color:var(--steel); font-size:0.85rem;}
.sources-line{margin-top:16px; color:var(--steel-dim); font-size:0.76rem; font-family:var(--font-mono);}

.invest-media{margin-top:44px; border:1px solid var(--panel-line);}
.invest-media img{width:100%; display:block;}

/* ---------- licensing block ---------- */
.license-block{
  display:grid; grid-template-columns:1.4fr 1fr; gap:50px; align-items:center;
  border:1px solid var(--panel-line); padding:36px 40px; margin-top:56px; background:var(--panel);
}
@media (max-width:820px){.license-block{grid-template-columns:1fr; gap:26px;}}
.license-text h4{font-size:1.1rem; color:var(--foam); font-weight:500; margin-bottom:12px;}
.license-text p{color:var(--steel); font-size:0.92rem;}
.license-fig{border-left:1px solid var(--panel-line); padding-left:34px;}
@media (max-width:820px){.license-fig{border-left:none; padding-left:0; border-top:1px solid var(--panel-line); padding-top:22px;}}

/* ---------- funding ---------- */
.funding-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--panel-line); border:1px solid var(--panel-line);}
@media (max-width:820px){.funding-grid{grid-template-columns:1fr;}}
.funding-card{background:var(--ink); padding:36px 34px;}
.funding-card.highlight{background:var(--panel);}
.funding-tag{font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; color:var(--amber-soft); margin-bottom:14px;}
.funding-amount{font-family:var(--font-mono); font-weight:700; color:var(--foam); font-size:2.4rem; margin-bottom:16px;}
.funding-card > p{color:var(--steel); font-size:0.9rem; margin-bottom:22px;}
.funding-use{list-style:none; display:flex; flex-direction:column; gap:10px; border-top:1px solid var(--panel-line); padding-top:18px;}
.funding-use li{color:var(--steel); font-size:0.85rem; padding-left:16px; position:relative;}
.funding-use li::before{content:''; position:absolute; left:0; top:7px; width:5px; height:1px; background:var(--cyan-soft);}

/* ---------- deployment photo ---------- */
.deploy-photo{position:relative; overflow:hidden; max-height:560px;}
.deploy-photo img{width:100%; display:block; object-fit:cover; max-height:560px;}
.deploy-photo figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:20px 32px;
  background:linear-gradient(0deg, rgba(5,10,16,0.9), transparent);
  font-family:var(--font-mono); font-size:11px; color:var(--cyan-soft); letter-spacing:0.04em;
}
.istat{background:var(--ink); padding:32px 26px;}
.inum{font-family:var(--font-mono); font-size:2.4rem; font-weight:700; color:var(--amber-soft);}
.ilabel{margin-top:10px; color:var(--steel); font-size:0.84rem;}

.gantt{margin-top:44px;}
.gantt-row{display:grid; grid-template-columns:220px 1fr 70px; align-items:center; gap:18px; margin-bottom:18px;}
@media (max-width:700px){.gantt-row{grid-template-columns:1fr; gap:6px; margin-bottom:26px;}}
.gantt-label{font-size:0.85rem; color:var(--steel);}
.gantt-months{font-family:var(--font-mono); font-size:10.5px; color:var(--steel-dim); text-align:right;}
.gantt-track{height:10px; background:var(--panel); border:1px solid var(--panel-line); position:relative;}
.gantt-bar{
  height:100%; width:0; background:linear-gradient(90deg, var(--cyan-dim), var(--cyan-soft));
  transition:width 1.1s cubic-bezier(.2,.7,.2,1) var(--d, 0s);
}
.gantt.in .gantt-bar{width:var(--w);}
.gantt-milestones{position:relative; height:26px; margin-left:220px;}
@media (max-width:700px){.gantt-milestones{margin-left:0;}}
.gantt-milestones span{
  position:absolute; top:0; transform:translateX(-50%); font-family:var(--font-mono); font-size:10px; color:var(--amber-soft);
  opacity:0; transition:opacity 0.5s ease;
}
.gantt.in .gantt-milestones span{opacity:1; transition-delay:1.2s;}

.ip-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--panel-line); border:1px solid var(--panel-line); margin-top:56px;}
@media (max-width:900px){.ip-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.ip-grid{grid-template-columns:1fr;}}
.ip-card{background:var(--ink); padding:28px 24px;}
.ip-card.highlight{background:var(--panel);}
.ip-card h4{font-size:0.95rem; color:var(--foam); font-weight:500; margin-bottom:10px;}
.ip-card p{color:var(--steel); font-size:0.84rem;}
.ip-card.highlight p{color:var(--cyan-soft);}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--panel-line); padding:80px 0 40px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:50px;}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr; gap:36px;}}
footer h3{font-size:1.8rem; font-weight:600; margin-bottom:18px;}
footer p{color:var(--steel); font-size:0.92rem; max-width:380px; margin-bottom:24px;}
.footer-col h5{font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; color:var(--steel-dim); margin-bottom:16px;}
.footer-col p, .footer-col a{display:block; color:var(--steel); font-size:0.9rem; margin-bottom:8px;}
.footer-col a:hover{color:var(--cyan-soft);}
.legal{margin-top:70px; padding-top:24px; border-top:1px solid var(--panel-line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
.legal p{color:var(--steel-dim); font-size:0.78rem;}

/* ---------- i18n ---------- */
html[data-lang="fr"] .en{display:none !important;}
html[data-lang="en"] .fr{display:none !important;}

.lang-switch{
  display:flex; align-items:center; gap:2px; margin-left:28px;
  border:1px solid var(--panel-line); border-radius:2px; overflow:hidden;
}
.lang-btn{
  font-family:var(--font-mono); font-size:11px; letter-spacing:0.05em;
  padding:6px 10px; background:transparent; color:var(--steel); border:none; cursor:pointer;
  transition:background 0.25s ease, color 0.25s ease;
}
.lang-btn.active{background:var(--panel); color:var(--amber-soft);}
.lang-btn:hover{color:var(--foam);}
@media (max-width:1080px){.lang-switch{margin-left:0;}}
