:root{
  --charcoal:#2c3e50;
  --charcoal-deep:#1b2733;
  --charcoal-deeper:#131c24;
  --gold:#F5A623;
  --gold-deep:#c98615;
  --gold-ink:#996206;
  --white:#ffffff;
  --fog:#f3f6f8;
  --slate:#5b6b7a;
  --line:#e2e6ea;
  --line-dark:rgba(255,255,255,0.14);
  --display:'Big Shoulders Display',sans-serif;
  --body:'Inter',sans-serif;
  --mono:'IBM Plex Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.01ms !important;transition-duration:0.01ms !important;}
}
body{
  font-family:var(--body);
  color:var(--charcoal);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
section{position:relative;}
.eyebrow{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--gold-ink);
  font-weight:600;
  margin-bottom:14px;
  display:inline-block;
}
.eyebrow.on-dark{color:var(--gold);}
h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:0.2px;color:var(--charcoal);}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--body);font-weight:600;font-size:15px;
  padding:14px 26px;border-radius:2px;border:1.5px solid transparent;
  cursor:pointer;transition:transform 0.15s ease, background 0.15s ease, border-color .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.btn-primary{background:var(--gold);color:var(--charcoal-deeper);}
.btn-primary:hover{background:#ffb632;}
.btn-ghost{border-color:rgba(255,255,255,0.35);color:var(--white);}
.btn-ghost:hover{border-color:var(--white);}
.btn-ghost-dark{border-color:var(--charcoal);color:var(--charcoal);}
.btn-ghost-dark:hover{background:var(--charcoal);color:var(--white);}

/* ===== NAV ===== */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(27,39,51,0.92);backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line-dark);
}
#nav .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;}
#nav .logo-mark{height:26px;width:auto;}
#nav .nav-links{display:flex;align-items:center;gap:36px;}
#nav .nav-links a{
  font-size:14px;font-weight:600;color:#c9d3dc;letter-spacing:0.3px;
  transition:color .15s ease;
}
#nav .nav-links a:hover{color:var(--white);}
#nav .nav-links a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
#nav .nav-phone{
  font-family:var(--mono);font-size:13px;color:var(--gold);
  border-left:1px solid var(--line-dark);padding-left:24px;margin-left:4px;
}
#nav .menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
#nav .menu-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
#nav .menu-toggle span{display:block;width:22px;height:2px;background:var(--white);margin:5px 0;}

/* ===== ROUTE SPINE (signature element) ===== */
#route-spine{
  position:absolute;top:0;left:20px;width:2px;
  background:repeating-linear-gradient(to bottom, rgba(245,166,35,0.28) 0 6px, transparent 6px 14px);
  z-index:1;
}
#route-fill{
  position:absolute;top:0;left:0;width:2px;height:0;
  background:var(--gold);
  transition:height .08s linear;
}
.waypoint{
  position:absolute;left:20px;width:11px;height:11px;border-radius:50%;
  background:var(--white);border:2px solid var(--slate);
  transform:translate(-5px,0);z-index:2;
  transition:background .25s ease, border-color .25s ease;
}
.waypoint.reached{background:var(--gold);border-color:var(--gold-deep);}
@media (max-width:1023px){
  #route-spine,#route-fill,.waypoint{display:none;}
}

/* ===== HERO ===== */
#hero{
  background:linear-gradient(180deg,var(--charcoal-deeper) 0%,var(--charcoal-deep) 100%);
  color:var(--white);
  padding:200px 0 140px;
  overflow:hidden;
}
#hero .hero-grid{display:grid;grid-template-columns:1fr;gap:28px;max-width:820px;}
#hero h1{
  font-size:clamp(40px,6.4vw,86px);
  line-height:0.98;
  letter-spacing:0.2px;
  color:var(--white);
}
#hero h1 .accent{color:var(--gold);}
#hero .lede{
  font-size:18px;color:#aebdc9;max-width:560px;font-weight:400;
}
#hero .cta-row{display:flex;gap:16px;margin-top:12px;flex-wrap:wrap;}
#hero .hero-meta{
  margin-top:64px;display:flex;gap:48px;flex-wrap:wrap;
  border-top:1px solid var(--line-dark);padding-top:28px;
}
#hero .hero-meta div{font-family:var(--mono);font-size:12px;color:#8fa0ad;letter-spacing:0.5px;}
#hero .hero-meta strong{display:block;color:var(--white);font-size:15px;font-weight:600;margin-top:4px;font-family:var(--body);}

/* ===== SECTION HEADERS ===== */
.sec-head{max-width:640px;margin-bottom:56px;}
.sec-head h2{font-size:clamp(30px,3.6vw,46px);line-height:1.05;margin-bottom:2px;}
.sec-head p{font-size:16px;color:var(--slate);margin-top:14px;max-width:520px;}

/* ===== ABOUT ===== */
#about{padding:130px 0 110px;}
.quote-block{
  font-family:var(--display);font-weight:700;font-size:clamp(22px,2.6vw,32px);
  line-height:1.3;color:var(--charcoal);max-width:900px;margin-bottom:72px;
  border-left:3px solid var(--gold);padding-left:28px;
}
.triad{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.triad .card{padding:0;}
.triad h3{font-size:13px;font-family:var(--mono);text-transform:uppercase;letter-spacing:1.5px;color:var(--gold-ink);font-weight:600;margin-bottom:12px;}
.triad p{font-size:15px;color:var(--charcoal);line-height:1.65;}
@media (max-width:800px){.triad{grid-template-columns:1fr;gap:32px;}}

/* ===== SERVICES ===== */
#services{background:var(--fog);padding:130px 0 110px;}
.route-row{position:relative;padding-top:8px;}
.route-row::before{
  content:"";position:absolute;top:22px;left:0;right:0;height:2px;
  background:repeating-linear-gradient(to right, rgba(245,166,35,0.4) 0 8px, transparent 8px 16px);
}
@media (max-width:900px){.route-row::before{display:none;}}
.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;position:relative;}
@media (max-width:1080px){.service-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.service-grid{grid-template-columns:1fr;}}
.service-card{
  background:var(--white);border:1px solid var(--line);padding:26px 20px 24px;
  display:flex;flex-direction:column;gap:14px;position:relative;
}
.service-card .stop{
  width:14px;height:14px;border-radius:50%;background:var(--gold);
  border:3px solid var(--fog);box-shadow:0 0 0 1px var(--gold);
  position:relative;top:-30px;margin-bottom:-16px;
}
@media (max-width:900px){.service-card .stop{display:none;}}
.service-card h3{font-size:18px;font-family:var(--body);font-weight:700;color:var(--charcoal);}
.service-card p{font-size:13.5px;color:var(--slate);line-height:1.6;}

/* ===== WHY KAYA ===== */
#why{padding:130px 0 110px;}
.diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 48px;}
@media (max-width:800px){.diff-grid{grid-template-columns:1fr;}}
.diff-item{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--line);}
.diff-item:nth-child(1),.diff-item:nth-child(2){border-top:none;}
.diff-item .mark{font-family:var(--display);font-weight:800;color:var(--gold-ink);font-size:20px;line-height:1.4;}
.diff-item h4{font-size:15.5px;font-weight:700;color:var(--charcoal);margin-bottom:4px;}
.diff-item p{font-size:13.5px;color:var(--slate);line-height:1.55;}

/* ===== LEADERSHIP ===== */
#leadership{background:var(--charcoal-deeper);color:var(--white);padding:130px 0 120px;}
#leadership .sec-head p{color:#9fb0c0;}
.lead-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:start;}
@media (max-width:900px){.lead-layout{grid-template-columns:1fr;}}
.lead-copy p{color:#c3ccd4;font-size:15.5px;line-height:1.75;margin-bottom:18px;}
.stat-stack{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line-dark);}
.stat{padding:24px 0;border-bottom:1px solid var(--line-dark);}
.stat .num{font-family:var(--display);font-weight:800;font-size:40px;color:var(--gold);line-height:1;}
.stat .label{font-size:13px;color:#9fb0c0;margin-top:8px;font-family:var(--mono);letter-spacing:0.3px;}

/* ===== GOVERNMENT ===== */
#gov{background:var(--fog);padding:130px 0 120px;}
.gov-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
@media (max-width:900px){.gov-layout{grid-template-columns:1fr;}}
.data-plate{background:var(--white);border:1px solid var(--line);padding:32px;}
.data-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;}
.data-row:last-child{border-bottom:none;}
.data-row .k{color:var(--slate);}
.data-row .v{font-family:var(--mono);font-weight:600;color:var(--charcoal);}
.badge{display:inline-block;background:var(--charcoal);color:var(--white);font-family:var(--mono);font-size:11px;padding:4px 10px;letter-spacing:0.5px;}
.naics-wrap{margin-top:22px;display:flex;flex-wrap:wrap;gap:7px;}
.pill{font-family:var(--mono);font-size:11px;padding:5px 11px;background:var(--charcoal);color:var(--white);}
.pill.pending{background:transparent;color:var(--charcoal);border:1.5px dashed var(--gold-deep);}
.track-two{display:flex;flex-direction:column;gap:24px;}
.track-two .track-card{background:var(--white);border:1px solid var(--line);padding:24px 26px;}
.track-two h4{font-size:15px;text-transform:uppercase;letter-spacing:1px;font-family:var(--mono);color:var(--gold-ink);margin-bottom:10px;}
.track-two p{font-size:14px;color:var(--slate);line-height:1.6;}

/* ===== CONTACT ===== */
#contact{background:var(--charcoal-deeper);color:var(--white);padding:130px 0 90px;text-align:center;}
#contact .sec-head{margin:0 auto 56px;text-align:center;}
#contact .sec-head p{color:#9fb0c0;margin-left:auto;margin-right:auto;}
.contact-links{display:flex;justify-content:center;gap:56px;flex-wrap:wrap;margin-bottom:20px;}
.contact-links a{display:flex;flex-direction:column;gap:8px;align-items:center;}
.contact-links a:focus-visible{outline:2px solid var(--gold);outline-offset:4px;}
.contact-links .clabel{font-family:var(--mono);font-size:11px;color:var(--gold);letter-spacing:1.5px;text-transform:uppercase;}
.contact-links .cval{font-size:20px;font-weight:600;color:var(--white);transition:color .15s ease;}
.contact-links a:hover .cval{color:var(--gold);}

/* ===== FOOTER ===== */
footer{background:var(--charcoal-deeper);border-top:1px solid var(--line-dark);padding:36px 0;}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
footer .logo-mark{height:18px;}
footer .fine{font-size:12px;color:#7c8b98;font-family:var(--mono);}

@media (max-width:900px){
  #nav .nav-links{
    position:absolute;top:76px;left:0;right:0;background:var(--charcoal-deeper);
    flex-direction:column;align-items:flex-start;padding:20px 32px 28px;gap:18px;
    display:none;border-bottom:1px solid var(--line-dark);
  }
  #nav .nav-links.open{display:flex;}
  #nav .nav-phone{border-left:none;padding-left:0;margin-left:0;}
  #nav .menu-toggle{display:block;}
  #hero{padding:160px 0 100px;}
}
