*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',Arial,sans-serif;background:#f5f7fb;color:#1b2430}
a{text-decoration:none}

/* ---- TOP BAR ---- */
.topbar{background:#0b2341;color:#cdd9e8;font-size:13px;padding:8px 48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px}
.topbar a{color:#cdd9e8}
.topbar a:hover{color:#f0c040}
.topbar .tag{color:#f0c040;font-weight:600;letter-spacing:.04em}

/* ---- HEADER ---- */
header{background:#0b2341;color:#fff;padding:20px 48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;border-bottom:4px solid #f0c040}
.brand h1{margin:0;font-size:28px;font-weight:900;letter-spacing:-.5px}
.brand .sub{font-size:13px;color:#adc4de;font-style:italic;margin-top:3px}
nav a{color:#fff;text-decoration:none;margin-left:28px;font-weight:600;font-size:14px;letter-spacing:.02em;text-transform:uppercase;opacity:.85;transition:opacity .15s}
nav a:hover{opacity:1;color:#f0c040}
nav a.active{color:#f0c040;opacity:1}
.nav-cta{background:#d62828;color:#fff!important;padding:10px 20px;font-weight:700!important;opacity:1!important}
.nav-cta:hover{background:#b91c1c!important}

/* ---- HERO ---- */
.hero{background:linear-gradient(135deg,#0b2341 0%,#1a3a6b 60%,#0f2d55 100%);padding:80px 48px 72px;color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;top:-60px;right:-60px;width:400px;height:400px;background:rgba(240,192,64,.06);border-radius:50%}
.hero::after{content:"";position:absolute;bottom:-80px;left:20%;width:300px;height:300px;background:rgba(214,40,40,.08);border-radius:50%}
.hero-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero h2{font-size:clamp(38px,5vw,64px);font-weight:900;line-height:1.02;letter-spacing:-.02em;margin-bottom:20px}
.hero h2 .gold{color:#f0c040}
.hero p{font-size:18px;color:#b8cedf;line-height:1.65;max-width:50ch;margin-bottom:32px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:15px 28px;font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:transform .15s,background .15s}
.btn:active{transform:translateY(1px)}
.btn-red{background:#d62828;color:#fff;box-shadow:0 4px 0 #991b1b}
.btn-red:hover{background:#b91c1c}
.btn-blue{background:#1d4ed8;color:#fff;box-shadow:0 4px 0 #1e40af}
.btn-blue:hover{background:#1e40af}
.btn-gold{background:#f0c040;color:#0b2341;box-shadow:0 4px 0 #b8912a}
.btn-gold:hover{background:#e5b833}
.btn-outline{border:2px solid rgba(255,255,255,.4);color:#fff}
.btn-outline:hover{border-color:#f0c040;color:#f0c040}
.btn-dark{background:#0b2341;color:#fff;box-shadow:0 4px 0 #050f1d}
.btn-dark:hover{background:#1a3a6b}

/* hero stats */
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hstat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:20px 16px;text-align:center;border-top:3px solid}
.hstat:nth-child(1){border-top-color:#d62828}
.hstat:nth-child(2){border-top-color:#f0c040}
.hstat:nth-child(3){border-top-color:#1d4ed8}
.hstat .num{font-size:36px;font-weight:900;color:#fff;line-height:1}
.hstat .lbl{font-size:11px;color:#8faabf;letter-spacing:.12em;text-transform:uppercase;margin-top:6px}

/* ---- PROMISE BAR ---- */
.promise-bar{background:#d62828;color:#fff;padding:16px 48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.promise-bar .left{display:flex;align-items:center;gap:18px}
.promise-bar .big-num{font-size:48px;font-weight:900;color:#f0c040;line-height:1}
.promise-bar .txt strong{display:block;font-size:18px;font-weight:800;letter-spacing:.01em}
.promise-bar .txt span{font-size:12px;letter-spacing:.1em;opacity:.85;text-transform:uppercase}
.promise-bar .checks{font-size:13px;letter-spacing:.04em;opacity:.9}
.promise-bar .checks span{margin-right:20px}

/* ---- SECTIONS ---- */
section{padding:64px 48px}
.section-inner{max-width:1200px;margin:0 auto}
.sec-label{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#d62828;margin-bottom:10px;display:flex;align-items:center;gap:10px}
.sec-label::before{content:"";width:28px;height:3px;background:#d62828;display:inline-block}
h2.sec-title{font-size:clamp(28px,4vw,42px);font-weight:900;color:#0b2341;letter-spacing:-.02em;line-height:1.05;margin-bottom:14px}
h2.sec-title .underline{background:linear-gradient(180deg,transparent 65%,#f0c040 65% 90%,transparent 90%);padding:0 4px}
.sec-desc{font-size:16px;color:#4a5568;max-width:58ch;margin-bottom:40px;line-height:1.65}

/* ---- GRID CARDS ---- */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:#dde3ec}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}

.card{background:#fff;padding:28px 26px;position:relative;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(11,35,65,.12)}
.card .card-num{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#8faabf;margin-bottom:14px}
.card h3{font-size:20px;font-weight:800;color:#0b2341;margin-bottom:10px;letter-spacing:-.01em}
.card p{font-size:14px;color:#4a5568;line-height:1.6}
.card .card-link{display:inline-block;margin-top:14px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#0b2341;border-bottom:2px solid #f0c040;padding-bottom:2px}
.card .card-link:hover{color:#d62828}
.card-bar{position:absolute;top:0;left:0;right:0;height:4px}
.card:nth-child(1) .card-bar{background:#d62828}
.card:nth-child(2) .card-bar{background:#1d7a6e}
.card:nth-child(3) .card-bar{background:#e8892a}
.card:nth-child(4) .card-bar{background:#6a3d6e}

/* product cards */
.prod-card{background:#fff;border-radius:0;overflow:hidden;box-shadow:0 2px 0 rgba(11,35,65,.06);transition:transform .2s,box-shadow .2s}
.prod-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(11,35,65,.12)}
.prod-head{padding:20px 22px 16px;color:#fff}
.prod-body{padding:18px 22px 22px;background:#fff}
.prod-code{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.9;margin-bottom:8px}
.prod-card h3{font-size:18px;font-weight:800;letter-spacing:-.01em}
.prod-body p{font-size:13.5px;color:#4a5568;margin-bottom:12px}
.prod-body ul{list-style:none;font-size:13px;color:#374151}
.prod-body li{padding-left:16px;position:relative;margin-bottom:5px}
.prod-body li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:2px}
.c1 .prod-head{background:#2d6e4e} .c1 li::before{background:#2d6e4e}
.c2 .prod-head{background:#1f7a6e} .c2 li::before{background:#1f7a6e}
.c3 .prod-head{background:#c1272d} .c3 li::before{background:#c1272d}
.c4 .prod-head{background:#1f4e79} .c4 li::before{background:#1f4e79}
.c5 .prod-head{background:#e8892a} .c5 li::before{background:#e8892a}
.c6 .prod-head{background:#6a3d6e} .c6 li::before{background:#6a3d6e}

/* ---- ILLINOIS MAP ---- */
.map-section{background:#0b2341;padding:64px 48px;color:#fff}
.map-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.map-box{background:rgba(255,255,255,.04);border:2px solid rgba(240,192,64,.4);padding:28px 24px 20px;position:relative}
.map-box::before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;height:5px;background:linear-gradient(90deg,#d62828,#e8892a,#f0c040,#2d6e4e,#1f7a6e,#5dade2,#6a3d6e)}
.map-title{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#f0c040;text-align:center;margin-bottom:10px}
.ilmap{width:100%;height:auto}
.ilmap .state{fill:#17466a;stroke:#f0c040;stroke-width:2;stroke-linejoin:round}
.ilmap .grid-lines{stroke:rgba(255,255,255,.08);stroke-width:1}
.pin circle.dot{fill:#f0c040;stroke:#0b2341;stroke-width:2}
.pin circle.halo{fill:none;stroke:#f0c040;stroke-width:1.5;opacity:.7;animation:pulse 2.6s ease-out infinite}
.pin.svc circle.dot{fill:#5dade2}
.pin.svc circle.halo{stroke:#5dade2;animation-duration:3.4s}
@keyframes pulse{0%{r:7;opacity:.75}70%{r:17;opacity:0}100%{r:17;opacity:0}}
.hq-star{fill:#d62828;stroke:#f0c040;stroke-width:1.8}
.pin-label{font-size:11px;fill:#f0ebd8;paint-order:stroke;stroke:#0b2341;stroke-width:3px;stroke-linejoin:round;font-family:'Inter',Arial,sans-serif}
.map-legend{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:14px;font-size:11px;letter-spacing:.06em;color:#8faabf}
.map-legend span{display:flex;align-items:center;gap:6px}
.lg{width:10px;height:10px;border-radius:50%;display:inline-block}
.lg-a{background:#f0c040}
.lg-s{background:#5dade2}
.lg-h{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid #d62828}
.map-tip{position:absolute;pointer-events:none;z-index:5;background:#f0ebd8;color:#0b2341;font-size:12px;line-height:1.4;padding:8px 12px;border-left:4px solid #d62828;box-shadow:0 8px 20px rgba(0,0,0,.35);opacity:0;transition:opacity .15s;max-width:220px}
.map-tip.show{opacity:1}
.map-tip b{display:block;font-size:13px;font-weight:700;color:#d62828}
.map-right .sec-label{color:#f0c040}
.map-right .sec-label::before{background:#f0c040}
.map-right h2{color:#fff}

/* awards */
.award-list{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}
.award{background:rgba(255,255,255,.05);border-left:5px solid;padding:16px 18px;display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center}
.award:nth-child(1){border-color:#d62828}
.award:nth-child(2){border-color:#e8892a}
.award:nth-child(3){border-color:#1f7a6e}
.award:nth-child(4){border-color:#6a3d6e}
.award .am{width:42px;height:42px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;letter-spacing:.04em}
.award:nth-child(1) .am{background:#d62828}
.award:nth-child(2) .am{background:#e8892a}
.award:nth-child(3) .am{background:#1f7a6e}
.award:nth-child(4) .am{background:#6a3d6e}
.award h4{font-size:15px;font-weight:800;color:#fff;letter-spacing:-.01em}
.award .ar{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8faabf}
.award p{font-size:13px;color:#a0b4c8;margin-top:3px}

/* ---- DASHBOARD ---- */
.dashboard{background:linear-gradient(135deg,#0b2341,#1a3a6b);padding:64px 48px}
.dashboard-inner{max-width:1200px;margin:0 auto}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:rgba(255,255,255,.08)}
.stat-box{padding:32px 24px;color:#fff;border-top:5px solid;transition:transform .2s}
.stat-box:hover{transform:translateY(-3px)}
.stat-box:nth-child(1){background:#c1272d;border-top-color:#f0c040}
.stat-box:nth-child(2){background:#1f7a6e;border-top-color:#f0c040}
.stat-box:nth-child(3){background:#1f4e79;border-top-color:#f0c040}
.stat-box:nth-child(4){background:#e8892a;border-top-color:#f0c040;color:#0b2341}
.stat-box:nth-child(4) .sk{color:#0b2341}
.stat-box:nth-child(4) .sf{color:#0b2341;opacity:.7}
.stat-box .sk{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#f0c040;margin-bottom:12px}
.stat-box .sn{font-size:54px;font-weight:900;line-height:.9;letter-spacing:-.02em}
.stat-box .ss{font-size:13px;color:rgba(255,255,255,.8);margin-top:8px}
.stat-box .sf{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:14px}

/* ---- SECTORS ---- */
.sectors-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sector{background:#fff;padding:22px 18px;min-height:150px;display:flex;flex-direction:column;gap:10px;border-top:4px solid;box-shadow:0 2px 0 rgba(11,35,65,.06);transition:transform .2s}
.sector:hover{transform:translateY(-3px)}
.sector:nth-child(1){border-top-color:#d62828}
.sector:nth-child(2){border-top-color:#2d6e4e}
.sector:nth-child(3){border-top-color:#e8892a}
.sector:nth-child(4){border-top-color:#1f4e79}
.sector:nth-child(5){border-top-color:#1f7a6e}
.sector:nth-child(6){border-top-color:#6a3d6e}
.sector:nth-child(7){border-top-color:#c25a3e}
.sector:nth-child(8){border-top-color:#5dade2}
.sector h3{font-size:16px;font-weight:800;color:#0b2341;letter-spacing:-.01em;line-height:1.2}
.sector p{font-size:13px;color:#4a5568}

/* ---- PROCESS ---- */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.step{background:#fff;padding:28px 24px;border-top:4px solid;box-shadow:0 2px 0 rgba(11,35,65,.06)}
.step:nth-child(1){border-top-color:#d62828}
.step:nth-child(2){border-top-color:#1f7a6e}
.step:nth-child(3){border-top-color:#e8892a}
.step .step-num{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px}
.step:nth-child(1) .step-num{color:#d62828}
.step:nth-child(2) .step-num{color:#1f7a6e}
.step:nth-child(3) .step-num{color:#e8892a}
.step h3{font-size:22px;font-weight:800;color:#0b2341;margin-bottom:8px;letter-spacing:-.01em}
.step p{font-size:14px;color:#4a5568;line-height:1.6}

/* ---- VENDOR REG ---- */
.vendor-reg{background:#0b2341;padding:64px 48px;color:#fff}
.vendor-reg-inner{max-width:1200px;margin:0 auto}
.reg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:rgba(255,255,255,.08);margin-bottom:24px}
.reg-card{background:#0b2341;padding:26px 22px;border-top:4px solid}
.reg-card:nth-child(1){border-top-color:#d62828}
.reg-card:nth-child(2){border-top-color:#1f7a6e}
.reg-card:nth-child(3){border-top-color:#e8892a}
.reg-card:nth-child(4){border-top-color:#6a3d6e}
.reg-card .rk{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px}
.reg-card:nth-child(1) .rk{color:#d62828}
.reg-card:nth-child(2) .rk{color:#1f7a6e}
.reg-card:nth-child(3) .rk{color:#e8892a}
.reg-card:nth-child(4) .rk{color:#6a3d6e}
.reg-card h3{font-size:18px;font-weight:800;margin-bottom:8px}
.reg-card p{font-size:13.5px;color:#8faabf;line-height:1.55}
.reg-note{background:rgba(240,192,64,.1);border-left:4px solid #f0c040;padding:18px 22px;font-size:14px;color:#cdd9e8;line-height:1.6}
.reg-note strong{color:#f0c040}
.reg-note a{color:#f0c040;border-bottom:1px solid rgba(240,192,64,.4)}

/* ---- CONTACT ---- */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px}
.letterhead{background:#fff;border-top:6px solid #0b2341;position:relative}
.letterhead::before{content:"";position:absolute;top:-6px;left:-1px;right:-1px;height:6px;background:linear-gradient(90deg,#d62828,#e8892a,#f0c040,#2d6e4e,#1f7a6e,#5dade2,#6a3d6e)}
.lh-top{padding:28px 28px 20px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:14px}
.lh-badge{width:50px;height:50px;background:#0b2341;display:flex;align-items:center;justify-content:center}
.lh-badge svg{width:50px;height:50px}
.lh-title{font-size:20px;font-weight:900;color:#0b2341;letter-spacing:-.01em;line-height:1}
.lh-sub{font-size:12px;color:#d62828;font-style:italic;margin-top:4px}
.lh-body{padding:22px 28px}
.lh-row{display:grid;grid-template-columns:100px 1fr;gap:12px;margin-bottom:14px;font-size:14px}
.lh-row .lk{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#1f7a6e;padding-top:2px}
.lh-row .lv{color:#1b2430}
.lh-row .lv a{color:#1f4e79;border-bottom:1px solid #f0c040;text-decoration:none}
.desks{display:flex;flex-direction:column;gap:12px}
.desk{padding:8px 0 8px 16px;border-left:4px solid}
.desk:nth-child(1){border-color:#d62828}
.desk:nth-child(2){border-color:#1f7a6e}
.desk:nth-child(3){border-color:#e8892a}
.desk:nth-child(4){border-color:#6a3d6e}
.desk .dw{font-weight:700;color:#0b2341;font-size:15px}
.desk .dd{font-size:12px;color:#4a5568;letter-spacing:.04em;margin-top:2px}
.contact-note{font-size:14px;color:#4a5568;line-height:1.65;margin:18px 0}

/* ---- QUOTE FORM ---- */
.quote-form{background:#f5f7fb;border:1px solid #dde3ec;border-top:5px solid #d62828;padding:28px}
.qf-title{font-size:20px;font-weight:800;color:#0b2341;margin-bottom:6px;letter-spacing:-.01em}
.qf-sub{font-size:13px;color:#4a5568;margin-bottom:20px}
.form-row{margin-bottom:16px}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.form-row label,.form-row-2 .form-row label{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#1f7a6e;margin-bottom:5px}
.form-row input,.form-row-2 .form-row input,.form-row select,.form-row textarea{
  width:100%;padding:11px 13px;font-size:14px;background:#fff;
  border:1px solid #dde3ec;border-left:3px solid #f0c040;color:#1b2430;font-family:'Inter',Arial,sans-serif}
.form-row input:focus,.form-row-2 .form-row input:focus,.form-row select:focus,.form-row textarea:focus{
  outline:none;border-color:#d62828;border-left-color:#d62828}
.form-row textarea{min-height:100px;resize:vertical}
.form-note{font-size:11px;color:#6b7280;margin-top:10px}
@media(max-width:640px){.form-row-2{grid-template-columns:1fr}}

/* ---- CTA BANNER ---- */
.cta-banner{background:linear-gradient(135deg,#0b2341,#1a3a6b);padding:56px 48px;color:#fff;text-align:center}
.cta-banner h2{font-size:clamp(26px,4vw,40px);font-weight:900;color:#fff;margin-bottom:14px;letter-spacing:-.02em}
.cta-banner h2 .gold{color:#f0c040}
.cta-banner p{font-size:16px;color:#8faabf;max-width:50ch;margin:0 auto 28px}
.cta-banner .cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---- FOOTER ---- */
footer{background:#060f1e;color:#6b8299;padding:52px 48px 32px}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px}
.f-brand{font-size:20px;font-weight:900;color:#f0ebd8;letter-spacing:-.01em;margin-bottom:6px}
.f-tag{font-style:italic;color:#f0c040;font-size:13px;margin-bottom:12px}
.f-info{font-size:12px;line-height:1.8;color:#6b8299}
.f-info a{color:#8faabf;text-decoration:none}
.f-info a:hover{color:#f0c040}
footer h4{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#f0c040;margin-bottom:12px}
footer ul{list-style:none;display:flex;flex-direction:column;gap:8px}
footer a{color:#8faabf;font-size:13.5px;text-decoration:none}
footer a:hover{color:#f0c040}
.footer-bar{border-top:1px solid rgba(255,255,255,.06);padding-top:20px;font-size:11px;letter-spacing:.06em;color:#3d5265;text-align:center;max-width:1200px;margin:0 auto}

/* ---- UTILS ---- */
.bg-white{background:#fff}
.bg-light{background:#f5f7fb}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.reveal.in{opacity:1;transform:none}

/* ---- RESPONSIVE ---- */
@media(max-width:1080px){
  nav{display:none}
  .hero-inner,.map-inner,.contact-grid{grid-template-columns:1fr}
  .grid-4,.stats-grid,.sectors-grid,.reg-grid{grid-template-columns:repeat(2,1fr)}
  .steps-grid,.grid-3{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr}
  header,section,.promise-bar,.map-section,.dashboard,.vendor-reg,.contact-section,.cta-banner,footer{padding-left:24px;padding-right:24px}
}
@media(max-width:640px){
  .grid-4,.stats-grid,.sectors-grid,.reg-grid,.hero-stats{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
}

/* ============================================================
   ADDITIONAL STYLES FOR MULTI-PAGE SITE
   ============================================================ */

/* page banner (interior pages, replaces full hero) */
.page-banner{background:linear-gradient(135deg,#0b2341 0%,#1a3a6b 60%,#0f2d55 100%);padding:56px 48px 48px;color:#fff;position:relative;overflow:hidden}
.page-banner::before{content:"";position:absolute;top:-60px;right:-60px;width:340px;height:340px;background:rgba(240,192,64,.06);border-radius:50%}
.page-banner-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto}
.crumb{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7fb3de;margin-bottom:18px;font-weight:600}
.crumb a{color:#7fb3de;text-decoration:none;border-bottom:1px solid rgba(127,179,222,.4)}
.crumb a:hover{color:#f0c040;border-bottom-color:#f0c040}
.crumb .sep{color:rgba(255,255,255,.3);margin:0 8px}
.page-banner h1{font-size:clamp(32px,4.4vw,54px);font-weight:900;letter-spacing:-.02em;line-height:1.02;margin-bottom:14px}
.page-banner h1 .gold{color:#f0c040}
.page-banner p{font-size:16px;color:#b8cedf;max-width:58ch;line-height:1.6}

/* feature row (about, capabilities detail pages) */
.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-bottom:64px}
.feature-row:last-child{margin-bottom:0}
.feature-row.reverse .feature-copy{order:2}
.feature-row.reverse .feature-visual{order:1}
.feature-copy .sec-label{margin-bottom:12px}
.feature-copy h3{font-size:clamp(22px,2.8vw,30px);font-weight:900;color:#0b2341;letter-spacing:-.02em;line-height:1.08;margin-bottom:14px}
.feature-copy p{font-size:15px;color:#4a5568;line-height:1.65;margin-bottom:12px}
.feature-copy ul{list-style:none;margin:14px 0 4px}
.feature-copy li{padding-left:20px;position:relative;margin-bottom:9px;font-size:14px;color:#374151}
.feature-copy li::before{content:"";position:absolute;left:0;top:8px;width:10px;height:2px;background:#f0c040}
.feature-visual{background:#fff;padding:32px;border-left:5px solid #f0c040;box-shadow:0 4px 0 rgba(11,35,65,.06);position:relative}
.feature-visual::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:4px;background:linear-gradient(90deg,#d62828,#e8892a,#f0c040,#2d6e4e,#1f7a6e)}
.feature-visual .big-num{font-size:80px;font-weight:900;line-height:.9;color:#d62828;letter-spacing:-.02em}
.feature-visual .big-num-lbl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#1f7a6e;margin-top:8px;margin-bottom:20px;font-weight:700}
.feature-visual .fact{padding:12px 0;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.feature-visual .fact:last-child{border-bottom:none}
.feature-visual .fact .fk{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#6b7280;font-weight:700}
.feature-visual .fact .fv{font-size:19px;font-weight:800;color:#0b2341}
@media(max-width:900px){.feature-row,.feature-row.reverse{grid-template-columns:1fr;gap:28px;margin-bottom:48px}.feature-row.reverse .feature-copy{order:1}.feature-row.reverse .feature-visual{order:2}}

/* values grid (about page) */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.value-card{background:#fff;padding:26px 22px;border-top:5px solid;box-shadow:0 2px 0 rgba(11,35,65,.06);transition:transform .2s}
.value-card:hover{transform:translateY(-3px)}
.value-card:nth-child(1){border-top-color:#d62828}
.value-card:nth-child(2){border-top-color:#1f7a6e}
.value-card:nth-child(3){border-top-color:#e8892a}
.value-card:nth-child(4){border-top-color:#6a3d6e}
.value-card .vnum{font-size:38px;font-weight:900;line-height:1;margin-bottom:10px;letter-spacing:-.02em}
.value-card:nth-child(1) .vnum{color:#d62828}
.value-card:nth-child(2) .vnum{color:#1f7a6e}
.value-card:nth-child(3) .vnum{color:#e8892a}
.value-card:nth-child(4) .vnum{color:#6a3d6e}
.value-card h3{font-size:17px;font-weight:800;color:#0b2341;letter-spacing:-.01em;margin-bottom:8px}
.value-card p{font-size:13.5px;color:#4a5568;line-height:1.55}
@media(max-width:900px){.values-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.values-grid{grid-template-columns:1fr}}

/* sector detail cards (sectors page) */
.sector-detail{background:#fff;padding:26px 28px;border-left:6px solid;box-shadow:0 2px 0 rgba(11,35,65,.06);margin-bottom:18px}
.sector-detail.sd1{border-left-color:#d62828}
.sector-detail.sd2{border-left-color:#2d6e4e}
.sector-detail.sd3{border-left-color:#e8892a}
.sector-detail.sd4{border-left-color:#1f4e79}
.sector-detail.sd5{border-left-color:#1f7a6e}
.sector-detail.sd6{border-left-color:#6a3d6e}
.sector-detail.sd7{border-left-color:#c25a3e}
.sector-detail.sd8{border-left-color:#5dade2}
.sd-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.sd-head h3{font-size:21px;font-weight:900;color:#0b2341;letter-spacing:-.01em}
.sd-badge{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#6b7280;font-weight:700}
.sector-detail p{font-size:14px;color:#4a5568;margin-bottom:12px}
.sd-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:6px}
.sd-grid h4{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#1f7a6e;font-weight:700;margin-bottom:8px}
.sd-grid ul{list-style:none;font-size:13.5px;color:#374151}
.sd-grid li{padding-left:15px;position:relative;margin-bottom:5px}
.sd-grid li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:2px;background:#f0c040}
@media(max-width:680px){.sd-grid{grid-template-columns:1fr}}

/* big map wrapper (past performance page) */
.map-big-wrap{max-width:640px;margin:0 auto}

/* FAQ page */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:44px}
.faq-item{background:#fff;padding:24px 26px;box-shadow:0 2px 0 rgba(11,35,65,.06);border-left:5px solid #f0c040;transition:transform .2s}
.faq-item:hover{transform:translateX(3px)}
.faq-item.ac1{border-left-color:#d62828}
.faq-item.ac2{border-left-color:#1f7a6e}
.faq-item.ac3{border-left-color:#e8892a}
.faq-item.ac4{border-left-color:#2d6e4e}
.faq-item.ac5{border-left-color:#6a3d6e}
.faq-item.ac6{border-left-color:#5dade2}
.faq-item .q{font-size:16.5px;font-weight:800;color:#0b2341;letter-spacing:-.01em;line-height:1.2;margin-bottom:9px}
.faq-item .a{font-size:13.5px;color:#4a5568;line-height:1.6}
.faq-item .a a{color:#1f4e79;border-bottom:1px solid #f0c040;text-decoration:none}
.faq-cat{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:2px solid #e5e7eb}
.faq-cat::before{content:"";width:22px;height:3px;display:inline-block;flex:none}
.faq-cat.fc1{color:#d62828}.faq-cat.fc1::before{background:#d62828}
.faq-cat.fc2{color:#1f7a6e}.faq-cat.fc2::before{background:#1f7a6e}
.faq-cat.fc3{color:#e8892a}.faq-cat.fc3::before{background:#e8892a}
.faq-cat.fc4{color:#2d6e4e}.faq-cat.fc4::before{background:#2d6e4e}
.faq-cat.fc5{color:#6a3d6e}.faq-cat.fc5::before{background:#6a3d6e}
.faq-cat.fc6{color:#5dade2}.faq-cat.fc6::before{background:#5dade2}
.faq-block{margin-bottom:44px}
@media(max-width:780px){.faq-grid{grid-template-columns:1fr}}

/* Capability statement page */
.cap-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}
@media(max-width:900px){.cap-layout{grid-template-columns:1fr}}
.cap-doc{background:#fff;border:1px solid #e5e7eb;position:relative;overflow:hidden}
.cap-doc::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#d62828,#e8892a,#f0c040,#2d6e4e,#1f7a6e,#5dade2,#6a3d6e)}
.cap-header{padding:28px 30px 22px;border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:center;margin-top:6px}
.cap-header .ct{font-size:18px;font-weight:900;color:#0b2341;letter-spacing:-.01em;line-height:1}
.cap-header .cs{font-size:11.5px;font-style:italic;color:#d62828;margin-top:5px}
.cap-header .cd{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#6b7280;margin-top:6px;font-weight:600}
.cap-sec{padding:18px 30px;border-bottom:1px solid #e5e7eb}
.cap-sec:last-child{border-bottom:none;padding-bottom:26px}
.cap-sec-title{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:800;margin-bottom:11px;display:flex;align-items:center;gap:8px}
.cap-sec-title::before{content:"";width:16px;height:3px;display:inline-block;flex:none}
.cst1{color:#d62828}.cst1::before{background:#d62828}
.cst2{color:#1f7a6e}.cst2::before{background:#1f7a6e}
.cst3{color:#e8892a}.cst3::before{background:#e8892a}
.cst4{color:#6a3d6e}.cst4::before{background:#6a3d6e}
.cst5{color:#2d6e4e}.cst5::before{background:#2d6e4e}
.cst6{color:#1f4e79}.cst6::before{background:#1f4e79}
.cap-kv{display:grid;grid-template-columns:130px 1fr;gap:6px 14px;font-size:13.5px;margin-bottom:4px}
.cap-kv .ck{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#6b7280;padding-top:2px;font-weight:700}
.cap-kv .cv{color:#1b2430;font-weight:500}
.cap-kv .cv a{color:#1f4e79;text-decoration:none;border-bottom:1px solid #f0c040}
.naics-wrap{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.naics-tag{background:#f5f7fb;border:1px solid #e5e7eb;padding:5px 10px;font-size:10.5px;color:#0b2341;font-weight:700}
.naics-tag span{display:block;font-size:10px;color:#6b7280;font-weight:400;margin-top:1px}
.cap-comp-list{list-style:none;display:flex;flex-direction:column;gap:7px}
.cap-comp-list li{padding-left:18px;position:relative;font-size:13px;color:#374151;line-height:1.5}
.cap-comp-list li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:2px;background:#f0c040}
.cap-perf{padding:11px 0;border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center}
.cap-perf:last-child{border-bottom:none}
.cap-perf .cpm{width:36px;height:36px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:10px;letter-spacing:.04em;flex:none}
.cap-perf .cpt{font-size:14px;font-weight:800;color:#0b2341;letter-spacing:-.01em}
.cap-perf .cpr{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#6b7280}
.cap-perf .cpd{font-size:12.5px;color:#4a5568;margin-top:2px}
.cap-sidebar{display:flex;flex-direction:column;gap:16px}
.cap-card{background:#fff;padding:20px 22px;border-left:5px solid;box-shadow:0 2px 0 rgba(11,35,65,.06)}
.cap-card.ccx1{border-left-color:#d62828}
.cap-card.ccx2{border-left-color:#1f7a6e}
.cap-card.ccx3{border-left-color:#e8892a}
.cap-card.ccx4{border-left-color:#6a3d6e}
.cap-card h3{font-size:15.5px;font-weight:800;color:#0b2341;letter-spacing:-.01em;margin-bottom:9px}
.cap-card ul{list-style:none;font-size:12.5px;color:#374151}
.cap-card li{padding-left:13px;position:relative;margin-bottom:5px}
.cap-card li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:2px;background:#f0c040}
.cap-stats-mini{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:4px}
.cap-stat-mini{background:#f5f7fb;padding:11px 13px}
.cap-stat-mini .csn{font-size:24px;font-weight:900;color:#0b2341;line-height:1}
.cap-stat-mini .csl{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#6b7280;margin-top:3px}

