  :root{
    --bg:#0d0f0e; --panel:#151816; --panel2:#1b1f1c;
    --ink:#e8e6df; --muted:#9aa096; --line:#2a2f2a;
    --accent:#b8a06a; --accent2:#7d8f6f;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--bg);color:var(--ink);
    font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    -webkit-font-smoothing:antialiased}
  .wrap{max-width:1080px;margin:0 auto;padding:0 24px}
  a{color:var(--accent);text-decoration:none}
  a:hover{text-decoration:underline}

  /* header */
  header{position:sticky;top:0;z-index:10;background:rgba(13,15,14,.92);
    backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:56px}
  .brand{font-weight:700;letter-spacing:.14em;font-size:.82rem;text-transform:uppercase;color:var(--ink)}
  .brand span{color:var(--accent)}
  nav.links{display:flex;gap:22px;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
  nav.links a{color:var(--muted)}
  nav.links a:hover{color:var(--ink);text-decoration:none}
  @media(max-width:720px){nav.links{display:none}}

  /* hero */
  .hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
  .hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    filter:saturate(.75) brightness(.55)}
  .hero-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,15,14,.5),rgba(13,15,14,.92))}
  .hero-inner{position:relative;padding:110px 0 80px}
  .kicker{color:var(--accent);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px}
  h1{font-size:clamp(1.9rem,4.6vw,3.1rem);line-height:1.15;font-weight:800;max-width:820px}
  .sub{color:var(--muted);max-width:660px;margin-top:18px;font-size:1.05rem}
  .cta-row{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}
  .btn{display:inline-block;padding:11px 22px;border:1px solid var(--accent);color:var(--accent);
    font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}
  .btn.solid{background:var(--accent);color:#14130f;font-weight:700}
  .btn:hover{text-decoration:none;filter:brightness(1.1)}

  /* stats */
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
    border:1px solid var(--line);margin:-1px 0 0}
  .stat{background:var(--panel);padding:18px 18px 20px}
  .stat i{display:block;font-style:normal;color:var(--accent);font-size:.68rem;
    letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
  .stat b{display:block;font-size:1.35rem;color:var(--ink)}
  .stat span{color:var(--muted);font-size:.8rem;letter-spacing:.04em}
  @media(max-width:720px){.stats{grid-template-columns:repeat(2,1fr)}}

  /* sections */
  section{padding:72px 0 8px}
  .sec-head{display:flex;align-items:baseline;gap:16px;margin-bottom:34px}
  .sec-head h2{font-size:1.5rem;font-weight:800;letter-spacing:.02em}
  .sec-head .rule{flex:1;height:1px;background:var(--line)}
  .sec-num{color:var(--accent);font-size:.85rem;letter-spacing:.15em}

  /* project blocks */
  .proj{display:grid;grid-template-columns:5fr 7fr;gap:34px;padding:34px 0;border-top:1px solid var(--line)}
  .proj:last-of-type{border-bottom:1px solid var(--line);margin-bottom:40px}
  .proj h3{font-size:1.15rem;font-weight:700;margin-bottom:6px}
  .badge{display:inline-block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
    color:var(--accent2);border:1px solid var(--accent2);padding:3px 9px;margin-bottom:14px}
  .proj p{color:var(--muted);font-size:.95rem;margin-bottom:12px}
  .proj ul{list-style:none;margin-top:4px}
  .proj li{color:var(--muted);font-size:.9rem;padding-left:18px;position:relative;margin-bottom:7px}
  .proj li::before{content:"—";position:absolute;left:0;color:var(--accent)}
  .shots{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-content:start}
  .shots.single{grid-template-columns:1fr}
  .shots a{display:block;overflow:hidden;border:1px solid var(--line);background:var(--panel)}
  .shots img{width:100%;height:220px;object-fit:cover;display:block;
    filter:saturate(.85);transition:transform .35s}
  .shots.single img{height:340px}
  .shots a:hover img{transform:scale(1.04)}
  .shots .span2{grid-column:span 2}
  .shots video{width:100%;display:block;border:1px solid var(--line);background:#000}
  .shots video.clip{height:440px;object-fit:cover;object-position:50% 30%}
  .shots video.clip.sm{height:300px}
  @media(max-width:860px){.shots video.clip{height:340px}.shots video.clip.sm{height:260px}}
  .shots .cap{font-size:.8rem;color:var(--muted);margin-top:8px}
  .proj.solo{grid-template-columns:1fr}
  .proj.solo>div{max-width:640px}
  @media(max-width:860px){.proj{grid-template-columns:1fr}.shots img{height:200px}}

  /* spec table (UGV TTX) */
  .spec{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:14px}
  .spec td{padding:8px 10px;border:1px solid var(--line);background:var(--panel)}
  .spec td:first-child{color:var(--muted);white-space:nowrap;width:38%}

  /* roadmap */
  .road{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:40px}
  .road .cell b{color:var(--accent);display:block;margin-bottom:8px;font-size:1.05rem}
  .road .cell.next{border-color:var(--accent2)}
  .road .cell.next b{color:var(--accent2)}
  @media(max-width:860px){.road{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.road{grid-template-columns:1fr}}

  /* capability grid */
  .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:40px}
  .cell{background:var(--panel);border:1px solid var(--line);padding:22px}
  .cell h4{font-size:.95rem;margin-bottom:10px;color:var(--ink)}
  .cell p{color:var(--muted);font-size:.86rem}
  @media(max-width:860px){.grid{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.grid{grid-template-columns:1fr}}

  /* maturity table */
  table.mat{width:100%;border-collapse:collapse;margin-bottom:40px;font-size:.92rem}
  .mat th,.mat td{text-align:left;padding:13px 16px;border:1px solid var(--line)}
  .mat th{background:var(--panel2);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
  .mat td{background:var(--panel);color:var(--ink)}
  .mat td.stage{color:var(--accent);white-space:nowrap}
  .mat td.next{color:var(--accent2);font-size:.85rem}
  .table-scroll{overflow-x:auto}

  /* footer */
  footer{border-top:1px solid var(--line);margin-top:40px;padding:56px 0 64px}
  footer h2{font-size:1.4rem;margin-bottom:10px}
  footer p{color:var(--muted);max-width:560px}
  .mail{display:inline-block;margin-top:18px;font-size:1.1rem}
  .fineprint{margin-top:34px;font-size:.75rem;color:#5f665c}

  /* lightbox */
  dialog{border:none;background:rgba(10,12,10,.95);max-width:100vw;max-height:100vh;
    width:100vw;height:100vh;display:none;align-items:center;justify-content:center;padding:4vh 4vw}
  dialog[open]{display:flex}
  dialog img{max-width:100%;max-height:100%;object-fit:contain}
  dialog::backdrop{background:transparent}
/* project tab strip */
.ptabs-wrap{border-bottom:1px solid var(--line);background:var(--panel)}
.ptabs{display:flex;gap:1px;overflow-x:auto;background:var(--line);border-left:1px solid var(--line);border-right:1px solid var(--line);scrollbar-width:none}
.ptabs::-webkit-scrollbar{display:none}
.pt{flex:1 1 0;min-width:150px;background:var(--panel);padding:14px 16px;color:var(--ink);white-space:nowrap}
.pt:hover{background:var(--panel2);text-decoration:none}
.pt b{display:block;font-size:.88rem;font-weight:700}
.pt span{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.03em;margin-top:2px}
.pt.main b{color:var(--accent)}
.pt.main{border-top:2px solid var(--accent);margin-top:-2px}

/* compact spec chips (main page UGV teaser) */
.specrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.specrow span{border:1px solid var(--line);background:var(--panel);padding:6px 12px;
  font-size:.8rem;color:var(--muted);white-space:nowrap}
.specrow b{color:var(--ink);font-weight:700}
