:root{
    /* Black base, white ink, logo blue signal (#2E8FE8) */
    --black:#000000;
    --void:#040404;
    --charcoal:#0A0A0C;
    --graphite:#111114;
    --slate:#1A1A1F;
    --blue-deep:#061220;
    --blue-mid:#0C1E36;
    --blue-slate:#122640;
    --ink:#FFFFFF;
    --ink-2:#A1A1AA;
    --ink-soft:#71717A;
    --steel:#52525B;
    --steel-line:#71717A;
    --steel-bright:#A1A1AA;
    --signal:#2E8FE8;
    --signal-bright:#5AA8FF;
    --signal-soft:rgba(46,143,232,.10);
    --signal-border:rgba(46,143,232,.45);
    --signal-glow:rgba(46,143,232,.22);
    --steel-soft-bg:rgba(255,255,255,.04);
    --steel-soft-border:rgba(255,255,255,.1);
    --line:rgba(255,255,255,.08);
    --line-mid:rgba(255,255,255,.12);
    --line-soft:rgba(255,255,255,.04);
    --line-blue:rgba(46,143,232,.16);
    --fd:'Fraunces',Georgia,serif;
    --fb:'Open Sans',sans-serif;
    --fm:'JetBrains Mono',monospace;
    --max:1280px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    background:var(--black);color:var(--ink);
    font-family:var(--fb);font-size:17px;line-height:1.62;
    -webkit-font-smoothing:antialiased;overflow-x:hidden;
  }
  body::after{
    content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.035;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--signal);color:var(--black)}
  /* Signal accent tracks logo blue via --signal tokens above */
  .wrap{max-width:var(--max);margin:0 auto;padding:0 40px;position:relative;z-index:2}

  .eyebrow{font-family:var(--fm);font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--steel);display:inline-flex;gap:12px;align-items:center}
  .eyebrow::before{content:"";width:24px;height:1px;background:var(--signal);box-shadow:0 0 8px var(--signal-glow)}

  /* ---- NAV ---- */
  header{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .35s,border-color .35s,backdrop-filter .35s;border-bottom:1px solid transparent}
  header.scrolled{background:rgba(0,0,0,.92);backdrop-filter:blur(12px) saturate(1.1);border-bottom:1px solid var(--line-mid)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:80px}
  .brand{display:flex;align-items:center;gap:13px;font-family:var(--fd);font-weight:600;font-size:23px;letter-spacing:-.015em;flex-shrink:0}
  .glyph{display:flex;flex-direction:column;gap:3.5px;width:20px}
  .glyph i{height:2px;background:var(--ink);border-radius:2px;display:block;transition:width .35s ease}
  .glyph i:nth-child(1){width:20px}
  .glyph i:nth-child(2){width:11px;background:var(--signal)}
  .glyph i:nth-child(3){width:16px}
  .brand:hover .glyph i:nth-child(2){width:20px}
  .navlinks{display:flex;align-items:center;gap:36px}
  .navlinks a:not(.cta){font-size:14px;font-weight:500;color:var(--ink-2);position:relative}
  .navlinks a:not(.cta)::after{content:"";position:absolute;left:0;bottom:-6px;height:1px;width:0;background:var(--signal);transition:width .25s}
  .navlinks a:not(.cta):hover::after{width:100%}
  .cta{font-family:var(--fm);font-size:12px;letter-spacing:.05em;text-transform:uppercase;background:var(--signal);color:var(--ink);padding:12px 22px;border-radius:2px;transition:background .25s,border-color .25s,box-shadow .25s;border:1px solid var(--signal-border);box-shadow:0 0 16px var(--signal-glow)}
  .cta:hover{background:var(--signal-bright);border-color:var(--signal-bright);color:var(--ink);box-shadow:0 0 24px var(--signal-glow)}
  .menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
  .menu-toggle span{width:24px;height:2px;background:var(--ink)}

  /* ---- HERO ---- */
  .hero{padding:168px 0 0;position:relative;overflow:hidden}
  .hero::before{
    content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
    background:
      radial-gradient(ellipse 70% 55% at 80% 0%, rgba(46,143,232,.14) 0%, transparent 58%),
      radial-gradient(ellipse 45% 35% at 10% 40%, rgba(255,255,255,.03) 0%, transparent 50%);
  }
  .hero-grid-bg{
    position:absolute;inset:0;pointer-events:none;z-index:1;
    background-image:
      linear-gradient(var(--line-soft) 1px, transparent 1px),
      linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);
    background-size:80px 80px;
    mask-image:linear-gradient(to bottom, rgba(0,0,0,.45) 0%, transparent 70%);
    -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,.45) 0%, transparent 70%);
  }
  .hero-grid{display:grid;grid-template-columns:1fr 340px;gap:64px;align-items:end;position:relative;z-index:2}
  .hero h1{font-family:var(--fd);font-weight:600;font-size:clamp(2.6rem,6vw,5.2rem);line-height:1.02;letter-spacing:-.03em;margin:30px 0 0}
  .hero h1 em{font-style:italic;font-weight:500;color:var(--signal);text-shadow:0 0 30px var(--signal-glow)}
  .hero-sub{font-size:1.08rem;color:var(--ink-soft);line-height:1.55;max-width:520px;margin-top:22px}
  .hero-right{padding-bottom:14px}
  .hero-right p{font-size:1.02rem;color:var(--ink-soft);line-height:1.58}
  .hero-right p + p{margin-top:16px}
  .hero-right .rule{height:1px;background:var(--line);margin:22px 0}
  .hero-cta{display:flex;gap:14px;margin-top:18px;flex-wrap:wrap}
  .btn{font-family:var(--fm);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;padding:13px 22px;border-radius:2px;border:1px solid var(--line);color:var(--ink-2);transition:all .25s;display:inline-block}
  .btn:hover{border-color:var(--ink);background:var(--ink);color:var(--black)}
  .btn-solid{background:transparent;color:var(--ink);border-color:var(--steel-line)}
  .btn-solid:hover{background:var(--signal);border-color:var(--signal);color:var(--black);box-shadow:0 0 18px var(--signal-glow)}
  .btn-light{background:transparent;color:var(--ink);border-color:var(--line)}
  .btn-light:hover{background:var(--signal-soft);border-color:var(--signal-border);color:var(--ink)}

  .specrow{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--signal);box-shadow:0 -1px 12px var(--signal-glow);margin-top:80px;position:relative;z-index:2}
  .specrow .s{padding:26px 26px 30px 0;border-right:1px solid var(--line)}
  .specrow .s:last-child{border-right:0}
  .specrow .k{font-family:var(--fm);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--steel)}
  .specrow .v{font-family:var(--fd);font-weight:600;font-size:1.14rem;margin-top:10px;line-height:1.28;letter-spacing:-.01em}

  .reveal{opacity:0;transform:translateY(24px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}

  /* ---- SECTION SHELL ---- */
  section.block{padding:128px 0;position:relative}
  .sec-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:34px}
  .sec-no{font-family:var(--fm);font-size:12px;color:var(--signal);letter-spacing:.05em;text-shadow:0 0 12px var(--signal-glow)}
  h2.title{font-family:var(--fd);font-weight:600;font-size:clamp(2rem,4.2vw,3.4rem);letter-spacing:-.025em;line-height:1.04;margin-top:14px}
  .sec-head .desc{color:var(--ink-soft);font-size:1.02rem;max-width:440px}

  /* ---- ABOUT ---- */
  #about{background:var(--void)}
  .about{display:grid;grid-template-columns:1fr 1fr;gap:72px;margin-top:54px;align-items:start}
  .about .lead{font-family:var(--fd);font-weight:500;font-size:clamp(1.3rem,2.1vw,1.7rem);line-height:1.4;letter-spacing:-.015em}
  .about .body p{color:var(--ink-soft);margin-bottom:20px}
  .diff-list{display:flex;flex-direction:column;margin-bottom:28px}
  .diff-row{display:flex;gap:20px;padding:16px 0;border-bottom:1px solid var(--line-soft);align-items:baseline}
  .diff-row:first-child{padding-top:0}
  .diff-row:last-child{border-bottom:0;padding-bottom:0}
  .diff-num{font-family:var(--fm);font-size:11px;color:var(--signal);flex:0 0 28px;text-shadow:0 0 10px var(--signal-glow)}
  .diff-row p{font-size:.96rem;line-height:1.55;color:var(--ink-2);margin:0}
  .diff-compact{margin-bottom:32px;border-top:1px solid var(--line);padding-top:8px}
  .about .body p strong{color:var(--ink);font-weight:600}
  .badge-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
  .badge{font-family:var(--fm);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--signal);background:var(--signal-soft);border:1px solid var(--signal-border);padding:7px 13px;border-radius:2px;display:inline-block}
  .badge-muted{color:var(--steel-bright);background:var(--steel-soft-bg);border-color:var(--steel-soft-border)}

  /* ---- PRODUCTS ---- */
  #products{background:var(--charcoal);border-top:1px solid var(--line-mid)}
  .product-card{margin-top:54px;border:1px solid var(--line-mid);background:var(--graphite)}
  .product-top{display:grid;grid-template-columns:1fr 1fr;gap:0}
  .product-intro{padding:40px 36px 44px;border-right:1px solid var(--line-soft)}
  .product-status{font-family:var(--fm);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--signal);background:var(--signal-soft);border:1px solid var(--signal-border);padding:6px 12px;border-radius:2px;display:inline-block}
  .product-name{font-family:var(--fd);font-weight:600;font-size:clamp(2.2rem,4vw,3.2rem);letter-spacing:-.03em;line-height:1.02;margin:20px 0 10px}
  .product-tagline{font-family:var(--fd);font-weight:500;font-size:1.22rem;color:var(--ink-2);letter-spacing:-.01em;line-height:1.35;margin-bottom:22px}
  .product-audience{font-size:.98rem;color:var(--ink-soft);line-height:1.58;margin-bottom:18px}
  .product-intro p{font-size:.96rem;color:var(--ink-soft);line-height:1.58;margin-bottom:16px}
  .product-intro p:last-child{margin-bottom:0}
  .product-caps{padding:40px 36px 44px}
  .product-caps-head{font-family:var(--fm);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--steel);margin-bottom:22px}
  .product-cap-list{list-style:none;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line-soft)}
  .product-cap-list li{font-size:.94rem;color:var(--ink-soft);line-height:1.58;padding:18px 0;border-bottom:1px solid var(--line-soft)}
  .product-cap-list li:last-child{border-bottom:0;padding-bottom:0}
  .product-cap-list li strong{color:var(--ink);font-weight:600;display:block;margin-bottom:6px}
  .product-standards{padding:36px 36px 40px;border-top:1px solid var(--line-soft)}
  .product-standards h4{font-family:var(--fd);font-weight:600;font-size:1.35rem;letter-spacing:-.02em;line-height:1.15;margin-bottom:16px}
  .product-standards p{font-size:.96rem;color:var(--ink-soft);line-height:1.58;max-width:880px;margin:0}
  .product-foot{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px 36px;border-top:1px solid var(--line-mid);background:var(--charcoal)}
  .product-foot p{font-size:.94rem;color:var(--ink-2);line-height:1.55;max-width:720px;margin:0}

  /* ---- MISSION AREAS ---- */
  #mission{background:var(--blue-deep);border-top:1px solid var(--line-blue);border-bottom:1px solid var(--line-blue)}
  .mission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-blue);border:1px solid var(--line-blue);margin-top:54px}
  .mission-card{background:var(--blue-mid);padding:36px 32px;transition:background .3s}
  .mission-card:hover{background:var(--blue-slate)}
  .mission-tag{font-family:var(--fm);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--signal);margin-bottom:16px}
  .mission-card h3{font-family:var(--fd);font-weight:600;font-size:1.45rem;letter-spacing:-.02em;line-height:1.1;margin-bottom:14px}
  .mission-card > p{font-size:.95rem;color:var(--ink-soft);line-height:1.55;margin-bottom:20px}
  .mission-list{list-style:none;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line-soft)}
  .mission-list li{font-size:.92rem;color:var(--ink-2);padding:11px 0;border-bottom:1px solid var(--line-soft);display:flex;align-items:baseline;gap:12px}
  .mission-list li::before{content:"";width:5px;height:5px;background:var(--steel-line);flex-shrink:0;position:relative;top:-1px}
  .mission-card:hover .mission-list li::before{background:var(--signal)}

  /* ---- APPROACH ---- */
  #approach{background:var(--charcoal)}
  .approach{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:54px}
  .ap{padding:36px 30px 36px 0;border-right:1px solid var(--line)}
  .approach .ap:last-child{border-right:0;padding-right:0}
  .ap .num{font-family:var(--fd);font-weight:600;font-size:2.6rem;color:var(--signal);line-height:1;letter-spacing:-.03em}
  .ap h4{font-family:var(--fd);font-weight:600;font-size:1.18rem;margin:20px 0 12px;letter-spacing:-.01em}
  .ap p{font-size:.94rem;color:var(--ink-soft);line-height:1.55}

  /* ---- CAPABILITIES ---- */
  #capabilities{background:var(--graphite);border-top:1px solid var(--line-mid);border-bottom:1px solid var(--line-mid)}
  .cap-list{margin-top:48px;border-top:2px solid var(--signal);box-shadow:0 -1px 10px var(--signal-glow)}
  .cap-row{display:grid;grid-template-columns:64px 1fr 1.5fr;gap:32px;padding:42px 0;border-bottom:1px solid var(--line);align-items:start;transition:padding-left .35s ease}
  .cap-row:hover{padding-left:14px}
  .cap-row .idx{font-family:var(--fm);font-size:13px;color:var(--signal);padding-top:8px}
  .cap-row h3{font-family:var(--fd);font-weight:600;font-size:1.85rem;letter-spacing:-.02em;line-height:1.05}
  .cap-row h3 + p{color:var(--ink-soft);font-size:.96rem;margin-top:12px;max-width:340px}
  .cap-row .items{display:flex;flex-direction:column}
  .cap-row .items span{padding:13px 0;border-top:1px solid var(--line-soft);font-size:1rem;font-weight:500;color:var(--ink-2);display:flex;align-items:center;gap:14px;transition:color .2s}
  .cap-row .items span:first-child{border-top:0}
  .cap-row .items span::before{content:"";width:6px;height:6px;background:var(--steel-line);transition:background .2s}
  .cap-row:hover .items span::before{background:var(--signal)}

  /* ---- SNAPSHOT ---- */
  #snapshot{background:var(--slate);border-top:1px solid var(--line-mid)}
  #snapshot .eyebrow{color:var(--steel-line)}
  #snapshot .sec-head{border-bottom-color:var(--line)}
  #snapshot h2.title{color:var(--ink)}
  #snapshot .sec-head .desc{color:var(--ink-soft)}
  .snap{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:50px}
  .snap .cellz{background:var(--charcoal);padding:28px 26px}
  .snap .cellz.span-3{grid-column:1 / -1}
  .snap .k{font-family:var(--fm);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--steel)}
  .snap .v{font-family:var(--fd);font-weight:600;font-size:1.2rem;margin-top:11px;letter-spacing:-.01em;line-height:1.25}
  .snap .v.ph{color:var(--ink-soft);opacity:.55;font-style:italic;font-weight:500}
  .snap .v.naics-mono{font-family:var(--fm);font-size:1.05rem;letter-spacing:.04em}
  .snap-diff{margin-top:1px;border:1px solid var(--line-mid);border-top:0;background:var(--graphite);padding:28px 26px}
  .snap-diff > .k{font-family:var(--fm);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--steel);margin-bottom:18px}
  .snap-diff .diff-list{margin-bottom:0}
  .snap-diff .diff-row p{color:var(--ink)}
  .snap-naics{margin-top:1px;border:1px solid var(--line-mid);border-top:0;background:var(--graphite);padding:28px 26px}
  .snap-naics > .k{font-family:var(--fm);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--steel);margin-bottom:18px}
  .naics-list{display:flex;flex-direction:column}
  .naics-row{display:flex;gap:32px;padding:14px 0;border-bottom:1px solid var(--line-soft);align-items:flex-start}
  .naics-row:last-child{border-bottom:0}
  .naics-head{padding-top:0;padding-bottom:16px;border-bottom:1px solid var(--line)}
  .naics-head .naics-code,.naics-head .naics-title{font-family:var(--fm);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--steel)}
  .naics-code{flex:0 0 132px;min-width:132px;font-family:var(--fm);font-size:.88rem;color:var(--ink-2);line-height:1.4}
  .naics-row.primary .naics-code{color:var(--signal)}
  .naics-title{flex:1;min-width:0;font-size:.94rem;line-height:1.5;color:var(--ink-2)}
  .naics-tag{display:block;margin-top:8px;font-family:var(--fm);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--signal);background:var(--signal-soft);border:1px solid var(--signal-border);padding:3px 7px;border-radius:2px;width:fit-content}
  .snap-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:32px}

  /* ---- CONTACT ---- */
  #contact{background:var(--void);border-top:1px solid var(--line-mid)}
  .contact{display:grid;grid-template-columns:.95fr 1.05fr;gap:64px;margin-top:54px;align-items:start}
  .contact-copy .lead{font-family:var(--fd);font-weight:500;font-size:1.5rem;line-height:1.35;letter-spacing:-.015em;margin-bottom:24px}
  .contact-meta{display:flex;flex-direction:column}
  .contact-meta .row{border-top:1px solid var(--line);padding:18px 0}
  .contact-meta .row .k{font-family:var(--fm);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--steel)}
  .contact-meta .row .v{font-size:1.06rem;margin-top:6px;font-weight:500}
  .contact-meta .row a.v:hover{color:var(--signal)}
  form{display:flex;flex-direction:column;gap:20px}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .field label{font-family:var(--fm);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--steel);display:block;margin-bottom:9px}
  .field input,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);font-family:var(--fb);font-size:1.05rem;padding:10px 2px;transition:border-color .25s;resize:vertical}
  .field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--signal)}
  .field input::placeholder,.field textarea::placeholder{color:var(--ink-soft);opacity:.6}
  form button{align-self:flex-start;font-family:var(--fm);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;background:var(--signal);color:var(--ink);border:1px solid var(--signal-border);padding:16px 36px;border-radius:2px;cursor:pointer;transition:background .25s,box-shadow .25s;box-shadow:0 0 16px var(--signal-glow)}
  form button:hover{background:var(--signal-bright);border-color:var(--signal-bright);box-shadow:0 0 24px var(--signal-glow)}

  /* ---- FOOTER ---- */
  footer{border-top:1px solid var(--line-mid);padding:56px 0 44px;background:var(--black)}
  .foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}
  .foot-meta{display:flex;gap:24px}
  .foot .small{font-family:var(--fm);font-size:11px;color:var(--ink-soft);letter-spacing:.03em}

  @media(max-width:980px){
    .hero-grid{grid-template-columns:1fr;gap:40px}
    .hero-right{max-width:560px;padding-bottom:0}
    .about,.contact,.product-top{grid-template-columns:1fr;gap:42px}
    .product-intro{border-right:0;border-bottom:1px solid var(--line-soft)}
    .product-foot{flex-direction:column;align-items:flex-start}
    .mission-grid{grid-template-columns:1fr}
    .approach{grid-template-columns:1fr 1fr}
    .ap{border-right:0;border-bottom:1px solid var(--line);padding-right:0}
    .ap:nth-child(odd){padding-right:30px;border-right:1px solid var(--line)}
    .snap{grid-template-columns:1fr 1fr}
    .snap .cellz.span-3{grid-column:span 1}
    .naics-row{gap:20px}
    .naics-code{flex-basis:100px;min-width:100px}
    .sec-head{grid-template-columns:1fr;gap:18px}
    .foot-meta{width:100%;order:3}
  }
  @media(max-width:720px){
    .wrap{padding:0 24px}
    .menu-toggle{display:flex}
    .navlinks{position:fixed;inset:80px 0 auto 0;background:var(--charcoal);flex-direction:column;gap:0;max-height:0;overflow:hidden;transition:max-height .35s;border-bottom:1px solid var(--line)}
    .navlinks.open{max-height:500px}
    .navlinks a{width:100%;padding:18px 24px;border-bottom:1px solid var(--line)}
    .navlinks a.cta{margin:16px 24px;text-align:center}
    .hero{padding:150px 0 0}
    .specrow{grid-template-columns:1fr 1fr}
    .specrow .s{border-right:0;border-bottom:1px solid var(--line);padding-right:0}
    .cap-row{grid-template-columns:1fr;gap:18px}
    .snap{grid-template-columns:1fr}
    .snap .cellz.span-3{grid-column:span 1}
    .naics-row{flex-direction:column;gap:6px}
    .naics-code{flex-basis:auto;min-width:0}
    .form-row{grid-template-columns:1fr}
    section.block{padding:88px 0}
    .foot{flex-direction:column;align-items:flex-start}
    .product-intro,.product-caps,.product-standards{padding:28px 24px 32px}
    .product-foot{padding:24px}
  }
