:root{
    --bg-void:#060B14;
    --bg-panel:#0D1A2E;
    --bg-panel-raised:#12233C;
    --bg-panel-hi:#173058;
    --line:rgba(148,180,214,0.14);
    --line-strong:rgba(148,180,214,0.26);
    --ink-hi:#F3F6FA;
    --ink-body:#9FB2CC;
    --ink-dim:#6C7F9C;
    --brand-red:#D5182B;
    --brand-red-dim:#8C222C;
    --brand-blue:#3E86D6;
    --brand-cyan:#6FD5FF;
    --light-bg:#F5F7FA;
    --light-panel:#FFFFFF;
    --light-ink:#0E1B2E;
    --light-sub:#4B5A70;

    --display:'Oswald', sans-serif;
    --body:'Inter', sans-serif;
    --mono:'JetBrains Mono', monospace;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg-void);
    color:var(--ink-body);
    font-family:var(--body);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1220px;margin:0 auto;padding:0 32px;}
  @media(max-width:640px){.wrap{padding:0 20px;}}

  h1,h2,h3,h4{
    font-family:var(--display);
    color:var(--ink-hi);
    font-weight:600;
    letter-spacing:0.01em;
    line-height:1.08;
  }
  .eyebrow{
    font-family:var(--mono);
    font-size:12.5px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--brand-cyan);
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
  }
  .eyebrow::before{
    content:"";
    width:8px;height:8px;
    background:var(--brand-red);
    border-radius:1px;
    transform:rotate(45deg);
    flex-shrink:0;
  }
  ::selection{background:var(--brand-blue);color:#fff;}

  /* focus visibility */
  a:focus-visible, button:focus-visible{
    outline:2px solid var(--brand-cyan);
    outline-offset:3px;
  }

  /* ---------- NAV ---------- */
  header.site-nav{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(6,11,20,0.72);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    height:76px;
  }
  .nav-logo{display:flex; align-items:center; gap:12px;}
  .nav-logo img{height:32px; width:auto; background:#fff; border-radius:5px; padding:4px 6px;}
  .nav-logo-text{font-family:var(--display); font-size:19px; color:var(--ink-hi); font-weight:600; letter-spacing:0.01em;}
  .nav-logo-text b,
.nav-logo-text strong {
    color: #D5182B !important;
    font-weight: 700;
}
  .nav-logo-text .n{color:var(--brand-blue);}
  header.site-nav .nav-logo-text b{color:#D5182B !important;}
  nav.nav-links{display:flex; align-items:center; gap:34px;}
  nav.nav-links a{
    font-family:var(--mono); font-size:12.5px; letter-spacing:0.09em;
    text-transform:uppercase; color:var(--ink-body);
    transition:color .2s ease;
    position:relative;
  }
  nav.nav-links a:hover{color:var(--ink-hi);}
  .nav-cta{
    font-family:var(--mono); font-size:12px; letter-spacing:0.09em; text-transform:uppercase;
    color:#ffffff; background:var(--brand-blue);
    padding:11px 20px; border-radius:2px;
    border:1px solid var(--brand-blue);
    transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .nav-cta:hover{
    background:#2f6fae;
    border-color:#2f6fae;
    color:#ffffff;
  }
  .nav-toggle{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
  .nav-toggle span{width:24px; height:2px; background:var(--ink-hi);}
  @media(max-width:900px){
    header.site-nav{
      background:rgba(15, 23, 42, 0.97) !important;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
    }
    nav.nav-links{
      position:fixed; top:76px; left:0; right:0; bottom:0;
      background:rgba(15, 23, 42, 0.97) !important; flex-direction:column; align-items:flex-start;
      padding:36px 28px; gap:26px; transform:translateX(100%);
      transition:transform .3s ease; border-top:1px solid var(--line);
    }
    nav.nav-links.open{transform:translateX(0);}
    nav.nav-links a{font-size:15px;}
    .nav-toggle{display:flex;}
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:100vh;
    display:flex; align-items:center;
    padding-top:76px;
    background:#050a13 url('../images/hero-bg-atmosphere.jpg') center 62% / cover no-repeat;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute; inset:0;
    background:
      linear-gradient(180deg, rgba(5,9,17,0.88) 0%, rgba(5,9,17,0.55) 38%, rgba(5,9,17,0.72) 72%, #050912 100%),
      linear-gradient(90deg, rgba(5,9,17,0.55) 0%, rgba(5,9,17,0.1) 45%, rgba(5,9,17,0.55) 100%);
  }
  .hero-scanline{
    position:absolute; left:0; right:0; height:120px;
    background:linear-gradient(180deg, transparent, rgba(111,213,255,0.05), transparent);
    animation:scan 7s linear infinite;
    pointer-events:none;
  }
  @keyframes scan{ 0%{top:-10%;} 100%{top:105%;} }
  @media (prefers-reduced-motion:reduce){ .hero-scanline{animation:none; display:none;} }

  .hud-corner{
    position:absolute; font-family:var(--mono); font-size:11px; letter-spacing:0.06em;
    color:rgba(159,178,204,0.7); line-height:1.7; z-index:2;
  }
  .hud-tl{top:106px; left:32px;}
  .hud-tr{top:106px; right:32px; text-align:right;}
  .hud-tr span{color:var(--brand-cyan);}
  .hud-tl span{color:var(--brand-cyan);}
  @media(max-width:900px){.hud-corner{display:none;}}

  .hero-content{position:relative; z-index:3; max-width:760px; padding:60px 0 80px;}
  .hero h1{
    font-size:clamp(42px, 7vw, 84px);
    text-transform:uppercase;
    letter-spacing:0.005em;
    margin-bottom:22px;
  }
  .hero h1 .accent{color:var(--brand-red);}
  .hero p.lead{
    font-size:19px; color:var(--ink-body); max-width:560px; margin-bottom:36px;
  }
  .hero-badges{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:40px;}
  .hud-chip{
    font-family:var(--mono); font-size:11.5px; letter-spacing:0.08em;
    border:1px solid var(--line-strong); color:var(--ink-body);
    padding:7px 12px; border-radius:2px; background:rgba(18,35,60,0.5);
  }
  .hud-chip b{color:var(--brand-cyan); font-weight:500;}
  .hero-ctas{display:flex; gap:16px; flex-wrap:wrap;}
  .btn{
    font-family:var(--mono); font-size:13px; letter-spacing:0.08em; text-transform:uppercase;
    padding:15px 28px; border-radius:2px; display:inline-block; transition:all .2s ease;
    border:1px solid transparent;
  }
  .btn-primary{background:var(--brand-red); color:#fff; border-color:var(--brand-red);}
  .btn-primary:hover{background:#b21122; border-color:#b21122;}
  .btn-ghost{border-color:var(--line-strong); color:var(--ink-hi);}
  .btn-ghost:hover{border-color:var(--brand-cyan); color:var(--brand-cyan);}

  /* ---------- WAVEFORM DIVIDER (signature) ---------- */
  .waveform-divider{
    position:relative; background:var(--bg-void);
    padding:0; line-height:0; z-index:4;
  }
  .waveform-divider svg{display:block; width:100%; height:auto;}
  .wf-path{
    fill:none; stroke:var(--brand-cyan); stroke-width:2;
    stroke-linecap:round; stroke-linejoin:round;
    filter:drop-shadow(0 0 6px rgba(111,213,255,0.55));
    stroke-dasharray:1400; stroke-dashoffset:1400;
    animation:draw 2.6s ease-out forwards;
  }
  .wf-dot{fill:var(--brand-red);}
  @keyframes draw{ to{stroke-dashoffset:0;} }
  @media (prefers-reduced-motion:reduce){ .wf-path{animation:none; stroke-dashoffset:0;} }

  /* ---------- STATS STRIP ---------- */
  .stats{
    background:var(--bg-panel);
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    padding:44px 0;
  }
  .stats-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
  }
  @media(max-width:800px){.stats-grid{grid-template-columns:repeat(2,1fr);}}
  .stat b{
    display:block; font-family:var(--mono); font-size:clamp(26px,3.4vw,36px);
    color:var(--brand-cyan); font-weight:600; margin-bottom:6px;
  }
  .stat span{font-size:13px; color:var(--ink-dim); letter-spacing:0.02em;}

  /* ---------- SECTION SHELL ---------- */
  section{padding:110px 0;}
  @media(max-width:700px){section{padding:76px 0;}}
  .section-head{max-width:640px; margin-bottom:60px;}
  .section-head h2{font-size:clamp(30px,4vw,44px); text-transform:uppercase;}
  .section-head p{color:var(--ink-body); font-size:17px; margin-top:16px;}

  /* ---------- CAPABILITIES ---------- */
  .cap-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
    background:var(--line); border:1px solid var(--line);
  }
  @media(max-width:900px){.cap-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.cap-grid{grid-template-columns:1fr;}}
  .cap-card{
    background:var(--bg-panel); padding:38px 32px; position:relative;
    transition:background .25s ease;
  }
  .cap-card:hover{background:var(--bg-panel-raised);}
  .hex{
    width:52px; height:58px; position:relative; margin-bottom:24px;
    clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    background:linear-gradient(145deg, var(--bg-panel-hi), var(--bg-panel-raised));
    border:1px solid var(--line-strong);
    display:flex; align-items:center; justify-content:center;
  }
  .hex svg{width:24px; height:24px; stroke:var(--brand-cyan); fill:none; stroke-width:1.8;}
  .cap-card h3{font-size:19px; text-transform:uppercase; margin-bottom:12px; letter-spacing:0.01em;}
  .cap-card p{font-size:14.5px; color:var(--ink-body);}
  .cap-num{
    position:absolute; top:32px; right:32px; font-family:var(--mono);
    font-size:11px; color:var(--ink-dim); letter-spacing:0.06em;
  }

  /* ---------- MISSION SUPPORT BAND ---------- */
  .mission{
    background:var(--bg-void);
    display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:0;
    padding:0;
  }
  .mission-img{height:100%; min-height:420px; overflow:hidden; position:relative;}
  .mission-img img{width:100%; height:100%; object-fit:cover; display:block;}
  .mission-text{padding:70px 60px;}
  @media(max-width:900px){
    .mission{grid-template-columns:1fr;}
    .mission-img{min-height:300px;}
    .mission-text{padding:56px 28px;}
  }
  .mission-text h2{font-size:clamp(28px,3.6vw,38px); text-transform:uppercase; margin-bottom:20px;}
  .mission-text p{font-size:16px; color:var(--ink-body); margin-bottom:16px;}
  .tag-list{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px;}
  .tag-list span{
    font-family:var(--mono); font-size:11.5px; color:var(--ink-body);
    border:1px solid var(--line-strong); padding:6px 12px; letter-spacing:0.04em;
  }



  /* ---------- FOUNDER / COMPANY HISTORY ---------- */
  #founder-story{
    position:relative;
    overflow:hidden;
    padding:clamp(72px, 9vw, 118px) 0;
    background:
      radial-gradient(circle at 18% 15%, rgba(111,213,255,.10), transparent 34%),
      linear-gradient(180deg, rgba(7,14,24,.98), rgba(10,20,32,.98));
    border-top:1px solid rgba(111,213,255,.12);
    border-bottom:1px solid rgba(111,213,255,.12);
  }

  #founder-story::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.22;
    background-image:
      linear-gradient(rgba(111,213,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(111,213,255,.05) 1px, transparent 1px);
    background-size:46px 46px;
    -webkit-mask-image:linear-gradient(to right, #000, transparent 72%);
    mask-image:linear-gradient(to right, #000, transparent 72%);
  }

  #founder-story .founder-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(300px,.9fr) minmax(0,1.35fr);
    gap:clamp(38px,6vw,82px);
    align-items:center;
  }

  #founder-story .founder-photo{
    position:relative;
    margin:0;
  }

  #founder-story .founder-photo::before{
    content:"FOUNDER // 2018";
    position:absolute;
    z-index:2;
    top:18px;
    left:18px;
    padding:8px 11px;
    font:500 11px/1.2 var(--mono);
    letter-spacing:.12em;
    color:#bfefff;
    background:rgba(4,11,19,.82);
    border:1px solid rgba(111,213,255,.35);
    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
  }

  #founder-story .founder-photo img{
    display:block;
    width:100%;
    aspect-ratio:4 / 3;
    object-fit:cover;
    object-position:50% 42%;
    border:1px solid rgba(111,213,255,.24);
    box-shadow:0 28px 70px rgba(0,0,0,.42);
  }

  #founder-story .founder-photo::after{
    content:"";
    position:absolute;
    width:42%;
    height:4px;
    left:0;
    bottom:-1px;
    background:var(--brand-cyan);
    box-shadow:0 0 18px rgba(111,213,255,.75);
  }

  #founder-story .founder-kicker{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:15px;
    font:500 12px/1.2 var(--mono);
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--brand-cyan);
  }

  #founder-story .founder-kicker::before{
    content:"";
    width:34px;
    height:1px;
    background:currentColor;
    box-shadow:0 0 10px currentColor;
  }

  #founder-story h2{
    margin:0 0 8px;
    max-width:780px;
    font-size:clamp(34px,5vw,60px);
    line-height:.98;
    letter-spacing:-.025em;
    text-transform:uppercase;
  }

  #founder-story .founder-role{
    display:block;
    margin:0 0 28px;
    font:500 13px/1.4 var(--mono);
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ink-body);
  }

  #founder-story .founder-copy p{
    margin:0;
    max-width:850px;
    color:#c8d1da;
    font-size:clamp(16px,1.5vw,18px);
    line-height:1.75;
  }

  #founder-story .founder-copy p + p{
    margin-top:18px;
  }

  #founder-story .founder-highlight{
    color:var(--ink-hi);
    font-weight:600;
  }

  #founder-story .founder-tags{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:30px;
  }

  #founder-story .founder-tags span{
    padding:8px 11px;
    border:1px solid rgba(111,213,255,.22);
    background:rgba(111,213,255,.055);
    color:#b8c8d7;
    font:500 11px/1 var(--mono);
    letter-spacing:.06em;
    text-transform:uppercase;
  }

  @media(max-width:900px){
    #founder-story .founder-grid{grid-template-columns:1fr;}
    #founder-story .founder-photo{max-width:680px;}
  }

  @media(max-width:560px){
    #founder-story{padding:62px 0;}
    #founder-story h2{font-size:clamp(32px,12vw,48px);}
    #founder-story .founder-photo::before{top:12px;left:12px;}
  }

  /* ---------- ABOUT / COMMITMENT ---------- */
  .about{background:var(--bg-panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .about-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px;}
  @media(max-width:900px){.about-grid{grid-template-columns:1fr; gap:44px;}}
  .pillars{display:flex; flex-direction:column; gap:0;}
  .pillar{padding:26px 0; border-top:1px solid var(--line);}
  .pillar:last-child{border-bottom:1px solid var(--line);}
  .pillar-label{
    font-family:var(--mono); font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--brand-cyan); margin-bottom:10px;
  }
  .pillar h4{font-size:18px; margin-bottom:8px; text-transform:none; font-weight:600;}
  .pillar p{font-size:14.5px; color:var(--ink-body);}

  .commit-list{display:flex; flex-direction:column; gap:26px;}
  .commit-item{display:grid; grid-template-columns:150px 1fr; gap:20px;}
  @media(max-width:560px){.commit-item{grid-template-columns:1fr; gap:6px;}}
  .commit-item dt{
    font-family:var(--mono); font-size:12px; letter-spacing:0.07em; text-transform:uppercase;
    color:var(--ink-dim); padding-top:2px;
  }
  .commit-item dd{font-size:15.5px; color:var(--ink-body);}
  .commit-item dd b{color:var(--ink-hi); font-weight:600;}

  /* ---------- LEADERSHIP ---------- */
  .leaders{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); max-width:820px;}
  @media(max-width:640px){.leaders{grid-template-columns:1fr;}}
  .leader-card{background:var(--bg-panel); padding:38px 34px; display:flex; gap:20px; align-items:flex-start;}
  .avatar{
    width:58px; height:58px; border-radius:50%; flex-shrink:0;
    background:linear-gradient(145deg, var(--brand-red), var(--brand-red-dim));
    display:flex; align-items:center; justify-content:center;
    font-family:var(--display); font-weight:600; color:#fff; font-size:20px;
    border:1px solid rgba(255,255,255,0.15);
  }
  .leader-card:nth-child(2) .avatar{background:linear-gradient(145deg, var(--brand-blue), #1f4a7a);}
  .leader-card h4{font-size:18px; margin-bottom:4px;}
  .leader-card .role{font-family:var(--mono); font-size:11.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--brand-cyan);}

  /* ---- Single-leader photo spotlight ---- */
  .leader-feature{
    display:grid; grid-template-columns:220px 1fr; gap:40px; align-items:center;
    background:var(--bg-panel); border:1px solid var(--line); padding:40px; max-width:760px;
  }
  @media(max-width:600px){.leader-feature{grid-template-columns:1fr; text-align:center;}}
  .leader-feature img{
    width:100%; aspect-ratio:1/1; object-fit:cover; object-position:top center;
    border:1px solid var(--line-strong);
  }
  .leader-feature h3{font-size:24px; margin-bottom:6px; text-transform:none;}
  .leader-feature .role{
    font-family:var(--mono); font-size:12px; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--brand-cyan); margin-bottom:14px; display:block;
  }
  .leader-feature p{font-size:14.5px; color:var(--ink-body); margin-bottom:0;}

  /* ---------- CONTACT ---------- */
  .contact{
    background:var(--light-bg);
    color:var(--light-ink);
    padding:0;
    position:relative;
    overflow:hidden;
  }
  .contact-grid{display:grid; grid-template-columns:1fr 1fr;}
  @media(max-width:900px){.contact-grid{grid-template-columns:1fr;}}
  .contact-dark{
    background:var(--bg-void);
    clip-path:polygon(0 0, 100% 0, 82% 100%, 0% 100%);
    padding:100px 70px 100px 60px;
    position:relative;
  }
  @media(max-width:900px){
    .contact-dark{clip-path:none; padding:76px 28px 50px;}
  }
  .contact-dark h2{color:#fff; font-size:clamp(28px,3.6vw,40px); text-transform:uppercase; margin-bottom:18px; max-width:380px;}
  .contact-dark p{color:var(--ink-body); max-width:380px; margin-bottom:0;}
  .contact-wave{position:absolute; bottom:40px; left:60px; right:120px; opacity:0.5;}
  @media(max-width:900px){.contact-wave{display:none;}}

  .contact-info{padding:100px 60px 100px 90px;}
  @media(max-width:900px){.contact-info{padding:56px 28px 70px;}}
  .info-row{
    display:flex; gap:18px; padding:22px 0; border-bottom:1px solid rgba(14,27,46,0.1);
  }
  .info-row:first-child{padding-top:0;}
  .info-icon{
    width:38px; height:38px; border-radius:50%; background:var(--light-panel);
    border:1px solid rgba(14,27,46,0.12);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .info-icon svg{width:17px; height:17px; stroke:var(--brand-red); fill:none; stroke-width:1.8;}
  .info-row h4{font-family:var(--mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--light-sub); margin-bottom:6px;}
  .info-row a, .info-row div.val{font-size:16px; color:var(--light-ink); font-weight:500;}
  .cred-strip{
    display:flex; flex-wrap:wrap; gap:24px; margin-top:34px; padding-top:30px; border-top:1px solid rgba(14,27,46,0.1);
    font-family:var(--mono); font-size:12px; color:var(--light-sub);
  }
  .cred-strip b{color:var(--light-ink); display:block; font-size:13px; margin-bottom:3px;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--bg-void); padding:44px 0; border-top:1px solid var(--line);}
  .footer-inner{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px;}
  .footer-logo{display:flex; align-items:center; gap:10px;}
  .footer-logo img{height:24px; background:#fff; border-radius:4px; padding:3px 5px;}
  .footer-logo span{font-family:var(--mono); font-size:12px; color:var(--ink-dim);}
  .footer-links{display:flex; gap:28px; flex-wrap:wrap;}
  .footer-links a{font-family:var(--mono); font-size:11.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-body);}
  .footer-links a:hover{color:var(--brand-cyan);}
  .footer-copy{font-family:var(--mono); font-size:11px; color:var(--ink-dim); width:100%; margin-top:20px; padding-top:20px; border-top:1px solid var(--line);}

/* ================= SHARED SUBPAGE COMPONENTS ================= */

/* ---- Page header (About / Services / Training / Contact) ---- */
.page-header{
  position:relative;
  padding:168px 0 90px;
  background:#050a13 url('../images/hero-bg-atmosphere.jpg') center 70% / cover no-repeat;
  overflow:hidden;
}
.page-header::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(5,9,17,0.9) 0%, rgba(5,9,17,0.72) 55%, #050912 100%);
}
.page-header .wrap{position:relative; z-index:2;}
.page-header h1{
  font-size:clamp(34px,5.2vw,58px); text-transform:uppercase; margin-bottom:14px; max-width:820px;
}
.page-header p.lead{font-size:17px; color:var(--ink-body); max-width:560px;}
.crumb{
  font-family:var(--mono); font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--ink-dim); margin-bottom:18px;
}
.crumb a{color:var(--brand-cyan);}
.crumb a:hover{text-decoration:underline;}

/* ---- Generic content layout for subpages ---- */
.content-block{padding:90px 0;}
@media(max-width:700px){.content-block{padding:60px 0;}}
.content-block.alt{background:var(--bg-panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.two-col{display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px;}
@media(max-width:860px){.two-col{grid-template-columns:1fr; gap:36px;}}
.content-block h2{font-size:clamp(26px,3.4vw,36px); text-transform:uppercase; margin-bottom:20px;}
.content-block h3{font-size:19px; margin-bottom:10px;}
.content-block p{font-size:16px; color:var(--ink-body); margin-bottom:16px;}
.check-list{list-style:none; margin-top:6px; padding:0; display:flex; flex-direction:column; gap:16px;}
.check-list li{
  position:relative; padding-left:24px; font-size:15.5px; color:var(--ink-body); line-height:1.65;
}
.check-list li::before{
  content:""; position:absolute; left:0; top:8px; width:8px; height:8px;
  background:var(--brand-cyan); transform:rotate(45deg);
}
.check-list li b{color:var(--ink-hi); font-weight:600;}

/* ---- Credential / badge cards (About page corporate facts) ---- */
.badge-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:20px;}
@media(max-width:760px){.badge-grid{grid-template-columns:repeat(2,1fr);}}
.badge-card{background:var(--bg-panel); padding:26px 22px;}
.badge-card b{display:block; font-family:var(--mono); color:var(--brand-cyan); font-size:13px; margin-bottom:8px; letter-spacing:0.04em;}
.badge-card span{font-size:14px; color:var(--ink-body);}

/* ---- Training / programs list ---- */
.program-list{display:flex; flex-direction:column;}
.program-row{
  display:grid; grid-template-columns:220px 1fr; gap:30px; padding:30px 0; border-top:1px solid var(--line);
}
.program-list .program-row:last-child{border-bottom:1px solid var(--line);}
@media(max-width:700px){.program-row{grid-template-columns:1fr; gap:8px;}}
.program-row .p-label{font-family:var(--mono); font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--brand-cyan); padding-top:2px;}
.program-row h3{margin-bottom:8px;}
.program-row p{margin-bottom:0;}

/* ---- Contact form (Netlify Forms compatible; see comment in contact.html) ---- */
.form-wrap{max-width:560px;}
.form-row{margin-bottom:20px;}
.form-row label{
  display:block; font-family:var(--mono); font-size:11.5px; letter-spacing:0.07em; text-transform:uppercase;
  color:var(--light-sub); margin-bottom:8px;
}
.form-row input, .form-row textarea, .form-row select{
  width:100%; padding:13px 14px; border:1px solid rgba(14,27,46,0.18); border-radius:2px;
  background:#fff; color:var(--light-ink); font-family:var(--body); font-size:15px;
  transition:border-color .2s ease;
}
.form-row input:focus, .form-row textarea:focus, .form-row select:focus{
  outline:none; border-color:var(--brand-blue);
}
.form-row textarea{resize:vertical; min-height:130px;}
.form-two{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media(max-width:520px){.form-two{grid-template-columns:1fr;}}
.form-submit{
  font-family:var(--mono); font-size:13px; letter-spacing:0.08em; text-transform:uppercase;
  background:var(--brand-red); color:#fff; border:1px solid var(--brand-red);
  padding:15px 32px; border-radius:2px; cursor:pointer; transition:all .2s ease;
}
.form-submit:hover{background:#b21122; border-color:#b21122;}
.form-note{font-size:13px; color:var(--light-sub); margin-top:14px;}
.form-success{
  display:none; background:#0D1A2E; color:#fff; padding:22px 24px; border-left:3px solid var(--brand-cyan);
  font-size:15px; margin-bottom:24px;
}
.form-success.show{display:block;}

/* ---- Small utility hero for subpages: HUD corner reused ---- */
.page-header .hud-corner{position:absolute;}

/* ================= CAREERS PAGE ================= */
.culture-block{max-width:760px;}
.culture-block p{font-size:16px; color:var(--ink-body); margin-bottom:16px;}
.eeo-note{
  margin-top:36px; padding:26px 28px; background:var(--bg-panel); border:1px solid var(--line);
  border-left:3px solid var(--brand-cyan); font-size:14px; color:var(--ink-dim); line-height:1.7;
}
.eeo-note a{color:var(--brand-cyan);}
.eeo-note a:hover{text-decoration:underline;}

.benefits-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line); margin-top:10px;
}
@media(max-width:860px){.benefits-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.benefits-grid{grid-template-columns:1fr;}}
.benefit-card{background:var(--bg-panel); padding:32px 28px;}
.benefit-card .b-icon{
  width:44px; height:44px; border-radius:50%; margin-bottom:18px;
  background:var(--bg-panel-hi); border:1px solid var(--line-strong);
  display:flex; align-items:center; justify-content:center;
}
.benefit-card .b-icon svg{width:20px; height:20px; stroke:var(--brand-cyan); fill:none; stroke-width:1.8;}
.benefit-card h3{font-size:17px; margin-bottom:10px; text-transform:none;}
.benefit-card p{font-size:14px; color:var(--ink-body); margin-bottom:0;}

.careers-cta{
  background:var(--bg-panel-raised); border:1px solid var(--line-strong);
  padding:50px 44px; display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;
  margin-top:70px;
}
.careers-cta h3{font-size:24px; text-transform:uppercase; margin-bottom:8px;}
.careers-cta p{color:var(--ink-body); font-size:15px; margin-bottom:0;}


/* ================= NAV DROPDOWN (About > Employee Ownership) ================= */
.nav-item-dropdown{position:relative;}
.nav-dropdown-toggle{
  display:flex; align-items:center; gap:6px;
  font-family:var(--mono); font-size:12.5px; letter-spacing:0.09em; text-transform:uppercase;
  color:var(--ink-body); background:none; border:none; cursor:pointer; padding:0;
  transition:color .2s ease;
}
.nav-dropdown-toggle:hover{color:var(--ink-hi);}
.nav-dropdown-toggle svg{width:10px; height:10px; stroke:currentColor; fill:none; stroke-width:2.4; transition:transform .2s ease; flex-shrink:0;}
.nav-item-dropdown.open .nav-dropdown-toggle svg{transform:rotate(180deg);}

.nav-dropdown-menu{
  position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%) translateY(-6px);
  background:var(--bg-panel); border:1px solid var(--line-strong); min-width:210px;
  padding:8px; opacity:0; pointer-events:none; transition:opacity .18s ease, transform .18s ease;
  box-shadow:0 18px 40px rgba(0,0,0,0.35); z-index:50;
}
.nav-item-dropdown.open .nav-dropdown-menu{
  opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.nav-dropdown-menu a{
  display:block; padding:10px 14px; font-family:var(--mono); font-size:12px; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--ink-body); white-space:nowrap; transition:background .15s ease, color .15s ease;
}
.nav-dropdown-menu a:hover{background:var(--bg-panel-hi); color:var(--brand-cyan);}

@media(max-width:900px){
  .nav-item-dropdown{width:100%;}
  .nav-dropdown-toggle{width:100%; justify-content:space-between; font-size:15px;}
  .nav-dropdown-menu{
    position:static; transform:none; opacity:1; pointer-events:auto; box-shadow:none;
    border:none; background:none; padding:4px 0 0 16px; display:none;
  }
  .nav-item-dropdown.open .nav-dropdown-menu{
    display:block;
    transform:none;
  }
}


/* ================= MOBILE GRAPHICS FIT ================= */
@media(max-width:640px){

  /* Keep all inline graphics inside the viewport */
  img,
  svg{
    max-width:100%;
    height:auto;
  }

  /* Slightly reduce nav logo on phones */
  .nav-logo img{
    height:27px;
    width:auto;
  }

  /* Make hero artwork feel less oversized on narrow screens */
  .hero{
    background-size:100% auto;
    background-position:center top;
    background-repeat:no-repeat;
    background-color:#050a13;
  }

  /* Reduce large image bands on mobile */
  .mission-img{
    min-height:220px;
    max-height:280px;
  }

  .mission-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }

  /* Keep leadership image from dominating the screen */
  .leader-feature img{
    width:min(100%, 260px);
    margin:0 auto;
  }

  /* Keep waveform graphic compact */
  .waveform-divider svg{
    width:100%;
    max-height:90px;
    object-fit:cover;
  }

  /* Slightly reduce page-header artwork footprint */
  .page-header{
    background-size:100% auto;
    background-position:center top;
    background-repeat:no-repeat;
    background-color:#050a13;
  }
}


/* ==========================================================
   TRAINING + RADAR BOOK CODE PAGE COMPONENTS
   Merged from training_styles.css.
   Global backgrounds, page-header artwork, logo/image defaults,
   and mobile hero behavior remain controlled by the main stylesheet above.
   ========================================================== */
.training-intro{
  display:grid;grid-template-columns:.86fr 1.14fr;gap:64px;align-items:start;
}
.training-courses{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:6px;
}
.training-course{
  position:relative;padding:16px 18px 16px 42px;border:1px solid var(--line);background:rgba(255,255,255,.018);
  color:var(--ink-body);font-size:14px;line-height:1.45;
}
.training-course::before{
  content:"";position:absolute;left:18px;top:21px;width:8px;height:8px;background:var(--brand-cyan);transform:rotate(45deg);
  box-shadow:0 0 14px rgba(111,213,255,.48);
}
.training-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}
.resource-strip{
  border:1px solid var(--line-strong);background:linear-gradient(120deg,rgba(18,35,60,.88),rgba(8,18,32,.92));
  padding:28px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.resource-strip h3{font-size:22px;text-transform:uppercase;margin:0 0 7px;}
.resource-strip p{margin:0;max-width:700px;}
.book-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px;
}
.book-card{
  display:flex;flex-direction:column;min-width:0;background:linear-gradient(180deg,var(--bg-panel-raised),var(--bg-panel));
  border:1px solid var(--line);position:relative;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.book-card:hover{transform:translateY(-4px);border-color:rgba(111,213,255,.38);box-shadow:0 18px 48px rgba(0,0,0,.28);}
.book-cover-wrap{
  min-height:360px;padding:30px 28px 22px;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 44%,rgba(62,134,214,.14),transparent 55%),rgba(4,10,18,.45);
  border-bottom:1px solid var(--line);
}
.book-cover-wrap img{
  width:auto;height:300px;max-width:100%;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(0,0,0,.34));
}
.book-info{display:flex;flex-direction:column;flex:1;padding:24px 24px 22px;}
.book-kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--brand-cyan);margin-bottom:10px;}
.book-card h3{font-size:21px;line-height:1.16;margin-bottom:10px;text-transform:none;}
.book-card .author{font-size:13.5px;color:var(--ink-dim);margin:0 0 22px;}
.book-card .btn{margin-top:auto;justify-content:center;width:100%;}
.book-note{font-family:var(--mono);font-size:10px;color:var(--ink-dim);line-height:1.5;margin-top:10px;}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:34px;}
.download-card{
  border:1px solid var(--line);background:var(--bg-panel);padding:28px;display:grid;grid-template-columns:96px 1fr;gap:22px;align-items:center;
}
.download-card img{width:88px;height:116px;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,0,0,.25));}
.download-card .icon-box{
  width:72px;height:72px;display:grid;place-items:center;border:1px solid var(--line-strong);background:var(--bg-panel-raised);
  font-family:var(--mono);font-size:13px;color:var(--brand-cyan);letter-spacing:.08em;
}
.download-card h3{font-size:21px;margin-bottom:8px;}
.download-card p{font-size:14px;margin-bottom:16px;}
.download-meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:14px;}
.download-card .btn{padding:10px 16px;font-size:11px;}
.source-note{
  margin-top:26px;padding:16px 18px;border-left:2px solid var(--brand-cyan);background:rgba(111,213,255,.045);
  font-size:13px;color:var(--ink-dim);
}
.external-mark{font-size:.95em;opacity:.8;margin-left:4px;}
@media(max-width:980px){
  .book-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .training-intro{grid-template-columns:1fr;gap:36px;}
}
@media(max-width:720px){
  .book-grid,.resource-grid,.training-courses{grid-template-columns:1fr;}
  .book-cover-wrap{min-height:320px;}
  .book-cover-wrap img{height:270px;}
  .download-card{grid-template-columns:72px 1fr;padding:22px 18px;gap:16px;}
  .download-card img{width:68px;height:94px;}
  .resource-strip{padding:22px 18px;}
}

/* ==========================================================
   TRAINING PAGE — FORCE SHARED SITE BACKGROUNDS
   Keep Training/Radar Code visually identical to the other
   subpages. These values intentionally mirror the shared
   .page-header and .content-block defaults above.
   ========================================================== */
.training-page,
.radar-code-page{
  background:var(--bg-void);
}

.training-page .page-header,
.radar-code-page .page-header{
  background:#050a13 url('../images/hero-bg-atmosphere.jpg') center 70% / cover no-repeat;
}

.training-page .page-header::before,
.radar-code-page .page-header::before{
  background:linear-gradient(180deg, rgba(5,9,17,0.9) 0%, rgba(5,9,17,0.72) 55%, #050912 100%);
}

.training-page .content-block,
.radar-code-page .content-block{
  background:transparent;
}

.training-page .content-block.alt,
.radar-code-page .content-block.alt{
  background:var(--bg-panel);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

@media(max-width:640px){
  .training-page .page-header,
  .radar-code-page .page-header{
    background-image:url('../images/hero-bg-atmosphere.jpg');
    background-size:100% auto;
    background-position:center top;
    background-repeat:no-repeat;
    background-color:#050a13;
  }
}