:root{
    --navy:#1A2B4A; --navy-deep:#0E1B33; --orange:#E87722; --orange-d:#cf6716;
    --lblue:#CCDDEE; --charcoal:#4A5568; --gray:#F2F4F7; --border:#D0D5DD;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--charcoal);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none;cursor:pointer}
  .wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}
  h1,h2,h3{color:var(--navy);letter-spacing:-.01em;line-height:1.12}
  .eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:var(--orange)}

  /* ---------- nav ---------- */
  .nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
  .brand{font-weight:700;font-size:1.08rem;color:var(--navy);letter-spacing:-.01em}
  .brand .mark{display:inline-block;background:var(--navy);color:var(--orange);font-weight:800;border-radius:6px;padding:1px 6px;margin-right:3px;letter-spacing:-.02em}
  .nav-links{display:flex;align-items:center;gap:4px}
  .nav-links>li{list-style:none;position:relative}
  .nav-links a,.nav-links .toplabel{display:block;padding:.55rem .85rem;font-size:.92rem;font-weight:600;color:var(--navy);border-radius:8px}
  .nav-links a:hover,.nav-links .toplabel:hover{color:var(--orange)}
  .nav-links a.active{color:var(--orange)}
  .nav-cta{background:var(--orange);color:#fff !important;padding:.55rem 1.1rem !important;border-radius:8px}
  .nav-cta:hover{background:var(--orange-d)}
  .has-drop .drop{position:absolute;top:100%;left:0;min-width:280px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 40px -16px rgba(14,27,51,.35);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s}
  .has-drop:hover .drop,.has-drop:focus-within .drop{opacity:1;visibility:visible;transform:translateY(0)}
  .drop a{padding:.6rem .7rem;border-radius:8px}
  .drop a:hover{background:var(--gray)}
  .drop a span{display:block;font-size:.78rem;font-weight:500;color:var(--charcoal)}
  .hamburger{display:none;background:none;border:0;cursor:pointer;padding:8px}
  .hamburger span{display:block;width:22px;height:2px;background:var(--navy);margin:4px 0;border-radius:2px}
  .mobile-menu{display:none;border-top:1px solid var(--border);background:#fff}
  .mobile-menu a{display:block;padding:.85rem 24px;font-weight:600;color:var(--navy);border-bottom:1px solid var(--gray)}
  .mobile-menu a.sub{padding-left:40px;font-weight:500;font-size:.92rem}

  /* ---------- pages ---------- */
  .page{display:none}
  .page.active{display:block}

  /* ---------- hero ---------- */
  .hero{background:linear-gradient(165deg,#0E1B33 0%,#1A2B4A 62%,#16294a 100%);color:#fff;padding:64px 0 40px;position:relative;overflow:hidden}
  .hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(204,221,238,.03) 0,rgba(204,221,238,.03) 1px,transparent 1px,transparent 4px);opacity:.5;pointer-events:none}
  .hero .eyebrow{color:var(--orange)}
  .hero h1{color:#fff;font-size:clamp(2rem,4.6vw,3.4rem);margin:.7rem 0;max-width:18ch}
  .hero h1 em{color:var(--orange);font-style:normal}
  .hero-sub{color:#c9d6e6;font-size:clamp(1rem,1.5vw,1.18rem);max-width:62ch;margin-bottom:1.6rem}
  .hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:2.4rem}
  .btn{display:inline-block;font-weight:700;font-size:.95rem;padding:.8rem 1.5rem;border-radius:10px;transition:.15s;border:1.5px solid transparent}
  .btn-primary{background:var(--orange);color:#fff}
  .btn-primary:hover{background:var(--orange-d)}
  .btn-ghost{border-color:rgba(204,221,238,.4);color:#fff}
  .btn-ghost:hover{border-color:var(--orange);color:var(--orange)}

  /* ---------- animation stage ---------- */
  .stage{position:relative;width:100%;background:linear-gradient(160deg,#0E1B33 0%,#1A2B4A 60%,#16294a 100%);border-radius:16px;box-shadow:0 24px 60px -20px rgba(0,0,0,.5),inset 0 1px 0 rgba(204,221,238,.08);padding:14px}
  .stage::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(204,221,238,.035) 0,rgba(204,221,238,.035) 1px,transparent 1px,transparent 3px);mix-blend-mode:overlay;opacity:.5;border-radius:16px}
  canvas{display:block;width:100%;height:auto;border-radius:10px}
  .viz-note{display:flex;align-items:center;gap:.6rem;margin-top:.9rem;font-size:.76rem;color:#8595ab}
  .viz-note .dot{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px rgba(232,119,34,.18);flex:none}

  /* ---------- trust strip ---------- */
  .trust{border-top:1px solid rgba(204,221,238,.14);margin-top:2.2rem;padding-top:1.5rem;display:flex;flex-wrap:wrap;gap:.7rem 1.6rem;align-items:center}
  .trust .chip{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:#c9d6e6}
  .trust .chip b{width:6px;height:6px;border-radius:50%;background:var(--orange)}

  /* ---------- sections ---------- */
  .section{padding:72px 0}
  .section-gray{background:var(--gray)}
  .section-navy{background:var(--navy);color:#fff}
  .section-navy h2{color:#fff}
  .sec-head{max-width:64ch;margin-bottom:2.4rem}
  .sec-head h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:.5rem 0 .6rem}
  .sec-head p{font-size:1.05rem;color:var(--charcoal)}
  .section-navy .sec-head p{color:#c9d6e6}

  /* ---------- capability cards ---------- */
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px;display:flex;flex-direction:column;transition:.18s}
  .card:hover{border-color:var(--orange);box-shadow:0 18px 40px -22px rgba(26,43,74,.4);transform:translateY(-3px)}
  .card-ico{width:54px;height:54px;border-radius:12px;background:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}
  .card-ico svg{width:30px;height:30px}
  .card h3{font-size:1.18rem;margin-bottom:.5rem}
  .card>p{font-size:.95rem;color:var(--charcoal);margin-bottom:1rem}
  .card ul{list-style:none;margin-bottom:1.3rem}
  .card li{font-size:.9rem;padding:.32rem 0 .32rem 1.3rem;position:relative;color:var(--charcoal)}
  .card li::before{content:"";position:absolute;left:0;top:.82rem;width:7px;height:7px;border-radius:50%;background:var(--orange)}
  .card .more{margin-top:auto;font-weight:700;color:var(--orange);font-size:.92rem}
  .card .more:hover{color:var(--orange-d)}

  /* ---------- fit columns ---------- */
  .fit{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .fit-col h3{font-size:1.1rem;margin-bottom:.5rem;color:#fff}
  .fit-col .tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--orange);font-weight:700;margin-bottom:.4rem}
  .fit-col p{font-size:.95rem;color:#c9d6e6}

  /* ---------- gov band ---------- */
  .gov{background:linear-gradient(135deg,#1A2B4A,#24395f);border:1px solid rgba(204,221,238,.16);border-radius:18px;padding:40px;display:flex;gap:30px;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .gov h2{color:#fff;font-size:1.7rem;margin-bottom:.5rem}
  .gov p{color:#c9d6e6;max-width:62ch}
  .gov .codes{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
  .gov .codes span{font-size:.74rem;font-weight:600;color:#c9d6e6;border:1px solid rgba(204,221,238,.25);border-radius:999px;padding:.32rem .7rem}

  /* ---------- final cta ---------- */
  .cta-final{text-align:center;padding:80px 0}
  .cta-final h2{font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:.6rem}
  .cta-final p{font-size:1.1rem;margin-bottom:1.6rem}

  /* ---------- sub-page hero ---------- */
  .subhero{background:linear-gradient(165deg,#0E1B33,#1A2B4A);color:#fff;padding:60px 0}
  .subhero h1{color:#fff;font-size:clamp(1.8rem,3.6vw,2.7rem);margin:.6rem 0;max-width:20ch}
  .subhero p{color:#c9d6e6;font-size:1.1rem;max-width:60ch}
  .stub{padding:60px 0}
  .stub .grid2{display:grid;grid-template-columns:1.3fr .9fr;gap:40px}
  .stub h2{font-size:1.4rem;margin-bottom:1rem}
  .stub ul{list-style:none}
  .stub li{padding:.45rem 0 .45rem 1.4rem;position:relative;border-bottom:1px solid var(--gray)}
  .stub li::before{content:"";position:absolute;left:0;top:1rem;width:7px;height:7px;border-radius:50%;background:var(--orange)}
  .stub .aside{background:var(--gray);border:1px solid var(--border);border-radius:16px;padding:28px;height:fit-content}
  .stub .aside h3{font-size:1.05rem;margin-bottom:.6rem}
  .stub .aside a{display:block;color:var(--orange);font-weight:700;margin-top:.4rem}
  .note-inprog{display:inline-block;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--orange);background:rgba(232,119,34,.1);border:1px solid rgba(232,119,34,.3);border-radius:999px;padding:.3rem .8rem;margin-bottom:1rem}

  /* ---------- footer ---------- */
  .footer{background:var(--navy-deep);color:#9fb0c6;padding:54px 0 30px}
  .footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;margin-bottom:30px}
  .footer h4{color:#fff;font-size:.95rem;margin-bottom:.9rem}
  .footer a{display:block;color:#9fb0c6;font-size:.92rem;padding:.18rem 0}
  .footer a:hover{color:var(--orange)}
  .footer .sig{font-size:.92rem;line-height:1.7}
  .footer .sig b{color:#fff}
  .footer .legal{border-top:1px solid rgba(204,221,238,.12);padding-top:20px;font-size:.8rem;color:#6b7d96;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

  /* ---------- sub-page content ---------- */
  .cs{padding:60px 0}
  .cs.alt{background:var(--gray)}
  .cs .lead{font-size:1.18rem;color:var(--charcoal);max-width:66ch;margin-bottom:1.2rem}
  .cs h2{font-size:clamp(1.4rem,2.4vw,2rem);margin:.2rem 0 .8rem}
  .cs .eyebrow{margin-bottom:.35rem}
  .cs p{max-width:68ch;margin-bottom:1rem;color:var(--charcoal)}
  .feat{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:1.5rem 0}
  .feat .f{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px}
  .feat .f h3{margin:0 0 .55rem;font-size:1.06rem}
  .feat .f ul{list-style:none}
  .feat .f li{font-size:.92rem;padding:.3rem 0 .3rem 1.25rem;position:relative}
  .feat .f li::before{content:"";position:absolute;left:0;top:.78rem;width:6px;height:6px;border-radius:50%;background:var(--orange)}
  .callout{background:linear-gradient(135deg,#1A2B4A,#24395f);color:#fff;border-radius:16px;padding:28px 32px;margin:1.8rem 0;border:1px solid rgba(204,221,238,.16)}
  .callout h3{color:#fff;margin-bottom:.4rem}
  .callout p{color:#c9d6e6;max-width:66ch;margin:0}
  .pillrow{display:flex;gap:.5rem;flex-wrap:wrap;margin:.6rem 0}
  .pillrow span{font-size:.8rem;font-weight:600;color:var(--navy);background:#fff;border:1px solid var(--border);border-radius:999px;padding:.36rem .8rem}
  .twocol{display:grid;grid-template-columns:1.45fr .9fr;gap:40px;align-items:start}
  .sidecard{background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px}
  .sidecard h3{font-size:1.05rem;margin-bottom:.7rem}
  .sidecard .line{display:block;padding:.18rem 0;font-weight:600;color:var(--navy)}
  .sidecard a.line:hover{color:var(--orange)}
  .sidecard a.b{display:inline-block;margin-top:.9rem;color:#fff !important;background:var(--orange);padding:.6rem 1.05rem;border-radius:8px;font-weight:700;font-size:.9rem}
  .sidecard a.b:hover{background:var(--orange-d)}
  .form{display:grid;gap:15px}
  .frow{display:grid;grid-template-columns:1fr 1fr;gap:15px}
  .fg{display:flex;flex-direction:column;gap:.3rem}
  .fg label{font-size:.82rem;font-weight:700;color:var(--navy)}
  .fg input,.fg select,.fg textarea{font:inherit;font-size:.95rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--navy);width:100%}
  .fg textarea{min-height:128px;resize:vertical}
  .fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,119,34,.15)}
  .form button{align-self:flex-start;border:0;cursor:pointer}
  .form-note{font-size:.8rem;color:#6b7d96;margin:0}
  .quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:1.4rem 0}
  .quote{background:#fff;border:1px solid var(--border);border-left:3px solid var(--orange);border-radius:12px;padding:22px}
  .quote p{font-size:1rem;color:var(--navy);font-style:italic;margin:0 0 .8rem;max-width:none}
  .quote .src{font-size:.82rem;font-weight:700;color:var(--charcoal)}
  .quote .src a{color:var(--orange)}
  .credit{font-size:.78rem;color:#6b7d96;margin-top:1rem;max-width:86ch}
  .media{width:100%;max-height:520px;object-fit:cover;height:auto;border-radius:14px;border:1px solid var(--border);display:block}
  figure{margin:1.6rem 0}
  figcaption{font-size:.82rem;color:#6b7d96;margin-top:.5rem}
  .headshot{width:100%;height:auto;border-radius:14px;display:block;margin-bottom:1rem;border:1px solid var(--border)}
  .form-success{display:none;background:#0f3d24;color:#a0e8b8;border:1px solid #1c6b3f;border-radius:10px;padding:1rem;font-weight:600}

  @media(max-width:860px){
    .nav-links{display:none}
    .hamburger{display:block}
    .mobile-menu.open{display:block}
    .cards,.fit,.stub .grid2,.footer .cols,.feat,.twocol,.frow{grid-template-columns:1fr}
    .section{padding:52px 0}
    .gov{padding:30px}
  }
  /* multi-page active nav */
  .nav-links a[aria-current="page"],.drop a[aria-current="page"],.mobile-menu a[aria-current="page"]{color:var(--orange)}

