﻿:root{
  --brand:#0A2E5C;
  --accent:#FFD60A;
  --ink:#0F172A; --muted:#64748B; --bg:#F8FAFC; --card:#fff;
  --radius:14px; --shadow:0 10px 30px rgba(10,46,92,.10); --maxw:1200px;
}
*{box-sizing:border-box} html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,Segoe UI,Inter,Roboto,Arial,sans-serif}
img{max-width:100%;display:block} a{color:var(--brand);text-decoration:none}
.container{width:min(100%,var(--maxw));margin-inline:auto;padding-inline:20px}
.small{font-size:13px}.muted{color:var(--muted)} hr{border:0;height:1px;background:#E6EEF6;margin:18px 0}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #E6EEF6}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px}
.brand{display:flex;align-items:center;gap:12px}
.desktop{display:flex;gap:18px;align-items:center}
.desktop a{color:#0b1f2f;font-weight:600;padding:10px 8px;border-radius:8px}
.desktop a:hover{background:#F2F6FB}
.btn-primary{background:var(--accent);color:#0b1f2f;padding:10px 14px;border-radius:10px;font-weight:800;border:2px solid #D8A900;box-shadow:var(--shadow)}
.btn-secondary{padding:10px 14px;border-radius:10px;border:1px solid #DDE7F2;font-weight:700;background:#fff}
.burger{display:none;background:transparent;border:0;font-size:24px;cursor:pointer}
.mobile-menu[hidden]{display:none}
.mobile-menu{border-top:1px solid #E6EEF6;background:#fff;padding:16px}
.mobile-menu a{display:block;padding:12px 10px;border-radius:10px}
.mobile-menu a:hover{background:#F2F6FB}

/* Hero */
.hero h1 {
  color: #FFD60A; /* bright safety yellow */
}

.hero p {
  color: #ffffff; /* white for supporting text */
}
/* === Hero height adjustments === */
.hero {
  position: relative;
  overflow: hidden;
  min-height: 60vh;   /* smaller than full screen (100vh) */
  padding: 4rem 1rem; /* adjust spacing inside */
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero .container {
  position: relative;
  z-index: 2; /* keep text above video */
}


.hero{background:linear-gradient(180deg,#EFF6FF 0%,#FFFFFF 60%);padding:56px 0}
.hero-grid{display:grid;grid-template-columns:1fr 420px;gap:32px;align-items:center}
.kicker{display:inline-block;padding:6px 10px;background:#FFF5CC;color:#7A5D00;border:1px solid #FFE082;border-radius:999px;font-weight:800;font-size:12px}
h1{font-size:clamp(28px,4.2vw,48px);line-height:1.08;margin:.3em 0 .4em}
.lead{color:var(--muted);max-width:60ch}
.actions{display:flex;gap:12px;margin-top:12px}
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #EAF2F8;padding:18px}
.download{display:block;margin:8px 0;padding:10px;border-radius:10px;border:1px dashed #D8E8F6}


/* Sections */
.section{padding:56px 0}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:1fr 380px;gap:18px;align-items:start}
.sub-hero{padding:36px 0;background:#fff;border-bottom:1px solid #E6EEF6}
.cta-band{padding:32px 0;background:#0A2E5C;color:#fff;text-align:center}
.cta-band .btn-primary{background:#FFD60A;border-color:#EBC400}

/* Forms */
form.contact label{display:block;margin-bottom:10px}
input,textarea,select{width:100%;padding:10px;border-radius:10px;border:1px solid #D7E4F3;background:#fff;font-size:15px}
textarea{min-height:120px;resize:vertical}

/* Footer */
.site-footer{padding:28px 0;background:#fff;border-top:1px solid #E6EEF6;margin-top:28px}
.footer-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.footer-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* Responsive */
@media (max-width:1000px){.hero-grid{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}}
@media (max-width:700px){.desktop{display:none}.burger{display:block}.grid-3{grid-template-columns:1fr}}


/* ===== Video Background for Hero ===== */
.video-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#071C36}
.video-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 800ms ease;filter:brightness(0.55) contrast(1.05)}
.video-bg video.active{opacity:1}
.hero .container,.hero .hero-grid{position:relative;z-index:1}

 /* === Mobile menu toggle fix === */
.menu-toggle {
  position: relative;
  width: 40px; height: 40px;
  border: none; background: transparent; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
}
.menu-toggle::before {
  content: '\2630'; /* ? hamburger */
  font-size: 24px; line-height: 1;
}
.menu-toggle.open::before {
  content: '\2715'; /* ? close */
}
.menu-toggle > * { display: none; }

.site-nav { display: none; }
.site-nav.open { display: block; }

@media (min-width: 768px) {
  .site-nav { display: flex; }
  .menu-toggle { display: none; }
}
/* === Mobile menu: span-based icon (no Unicode glyphs) === */
.menu-toggle::before { content: none !important; }
.menu-toggle.open::before { content: none !important; }

.menu-toggle {
  position: relative;
  width: 44px; height: 44px;
  border: none; background: transparent; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
}

.menu-toggle span {
  display: block;
  width: 26px; height: 2px;
  background: currentColor;
  margin: 4px 0;
  transition: transform 200ms ease, opacity 200ms ease, width 200ms ease;
}

.menu-toggle { color: #0A2E5C; }          /* default */
.hero .menu-toggle { color: #FFD60A; }    /* bright in hero (optional) */

.menu-toggle.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle.open span:nth-child(2) { opacity: 0; }
.menu-toggle.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Mobile nav show/hide */
.site-nav { display: none; }
.site-nav.open { display: block; }

@media (min-width: 768px) {
  .site-nav { display: flex; }
  .menu-toggle { display: none; }
}
/* === Mobile burger icon: span-based (no Unicode) === */
.burger{position:relative;width:44px;height:44px;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:inherit}
.burger span{display:block;width:26px;height:2px;background:currentColor;margin:4px 0;transition:transform 200ms ease,opacity 200ms ease}
.burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-menu[hidden]{display:none !important}
@media (max-width:767px){.site-header .desktop{display:none}.site-header .burger{display:inline-flex}}
@media (min-width:768px){.site-header .desktop{display:flex;gap:1rem}.site-header .burger{display:none}}
/* === Mobile burger (three stacked bars) === */
.burger {
  position: relative;
  width: 44px; height: 44px;
  border: none; background: transparent; cursor: pointer;
  display: inline-flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 5px; color: inherit;
}
.burger span {
  display: block;
  width: 26px; height: 3px; background: currentColor;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.burger.open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.burger.open span:nth-child(2) { opacity: 0; }
.burger.open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* Hide mobile menu when [hidden] is present */
.mobile-menu[hidden] { display: none !important; }

/* Desktop vs mobile */
@media (max-width: 767px){
  .site-header .desktop { display: none; }
  .site-header .burger  { display: inline-flex; }
}
@media (min-width: 768px){
  .site-header .desktop { display: flex; gap: 1rem; }
  .site-header .burger  { display: none; }
}

/* === Trusted By carousel === */
.trusted { padding: 3rem 1rem; background: #F8FAFC; }
.trusted .container { max-width: 1100px; margin: 0 auto; }
.trusted h2 { font-size: 1.25rem; letter-spacing: .08em; text-transform: uppercase; color: #0A2E5C; margin: 0 0 1rem; }
.logo-carousel { position: relative; overflow: hidden;
  mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}
.logo-track { display: flex; gap: 2rem; align-items: center; will-change: transform; animation: slide-logos 28s linear infinite; }
.logo-item { flex: 0 0 auto; height: 64px; display: flex; align-items: center; justify-content: center; padding: .5rem 1rem; filter: saturate(.9) contrast(1); opacity:1; }
.logo-item img { height: 100%; width: auto; display: block; }
.logo-carousel:hover .logo-track { animation-play-state: paused; }
@keyframes slide-logos { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 640px) { .logo-item { height: 48px; } }

/* === Blog grid === */
.blog-header { padding: 3rem 1rem 1rem; background:#F8FAFC; border-bottom:1px solid #E5E7EB; }
.blog-header .container { max-width:1100px; margin:0 auto; }
.blog-header h1 { margin:0 0 .5rem; color:#0A2E5C; }
.blog-header p { margin:0; color:#334155; }

.blog-grid { padding: 2rem 1rem 4rem; }
.blog-grid .container { max-width:1100px; margin:0 auto; }
.posts { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1.25rem; }
.post-card { background:#fff; border:1px solid #E5E7EB; border-radius:12px; overflow:hidden; box-shadow:0 1px 2px rgba(0,0,0,.04); transition:transform .2s ease, box-shadow .2s ease; }
.post-card:hover { transform:translateY(-2px); box-shadow:0 6px 14px rgba(0,0,0,.08); }
.post-card img { display:block; width:100%; height:160px; object-fit:cover; }
.post-card .body { padding:1rem; }
.post-card h3 { margin:.25rem 0 .5rem; font-size:1.05rem; color:#0A2E5C; }
.post-card .meta { font-size:.85rem; color:#64748B; margin-bottom:.5rem; }
.post-card p { color:#334155; margin:0; }

/* === Blog carousel under Trusted By === */
.blog-teaser { padding: 2.5rem 1rem 3rem; background:#ffffff; }
.blog-teaser .container { max-width:1100px; margin:0 auto; }
.blog-teaser h2 { font-size:1.25rem; letter-spacing:.08em; text-transform:uppercase; color:#0A2E5C; margin:0 0 1rem; }

.blog-carousel { position:relative; overflow:hidden; }
.blog-track { display:flex; gap:1rem; will-change: transform; transition: transform 400ms ease; }
.blog-slide { flex:0 0 300px; background:#fff; border:1px solid #E5E7EB; border-radius:12px; overflow:hidden; }
.blog-slide img { width:100%; height:140px; object-fit:cover; display:block; }
.blog-slide .body { padding:.75rem .9rem 1rem; }
.blog-slide h3 { margin:.25rem 0 .25rem; font-size:1rem; color:#0A2E5C; }
.blog-slide .meta { font-size:.8rem; color:#64748B; margin-bottom:.35rem; }
.blog-controls { display:flex; justify-content:flex-end; gap:.5rem; margin-bottom:.5rem; }
.blog-btn { border:1px solid #E5E7EB; background:#fff; border-radius:8px; padding:.4rem .6rem; cursor:pointer; }
.blog-btn:active { transform:translateY(1px); }

@media (max-width:640px) {
  .blog-slide { flex-basis: 260px; }
  .blog-slide img { height:120px; }
}

/* === Core Capabilities (homepage) === */
.capabilities { padding: 3rem 1rem 3.25rem; background:#fff; }
.capabilities .container { max-width:1100px; margin:0 auto; }
.capabilities h2 { margin:0 0 .5rem; font-size:1.75rem; color:#0A2E5C; }
.capabilities .lead { margin:0 0 1.25rem; color:#334155; max-width:72ch; }

.cap-grid {
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.1rem;
}
.cap-card {
  background:#fff;
  border:1px solid #E5E7EB;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  transition: transform .18s ease, box-shadow .18s ease;
}
.cap-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}
.cap-card img {
  width:100%; height:160px; object-fit:cover; display:block;
}
.cap-card .body {
  padding:.9rem 1rem 1rem;
}
.cap-card h3 {
  margin:.15rem 0 .35rem;
  font-size:1.05rem;
  color:#0A2E5C;
}
.cap-card p {
  margin:0 0 .6rem;
  color:#334155;
}
.cap-card a.more {
  color:#0A2E5C;
  font-weight:600;
  text-underline-offset: 3px;
  text-decoration: none;
}
.cap-card a.more:hover { text-decoration: underline; }

.cap-cta {
  display:flex; justify-content:flex-end; margin-top:1rem;
}
.cap-cta .btn-secondary {
  border:1px solid #E5E7EB; background:#fff; color:#0A2E5C;
  padding:.6rem .9rem; border-radius:10px; text-decoration:none;
}
.cap-cta .btn-secondary:hover { background:#F8FAFC; }

@media (max-width: 980px) {
  .cap-grid { grid-template-columns: repeat(2, 1fr); }
  .cap-card img { height:150px; }
}
@media (max-width: 640px) {
  .cap-grid { grid-template-columns: 1fr; }
  .cap-card img { height:140px; }
}

/* === Careers (page + homepage CTA) === */
.careers-hero {
  background: linear-gradient(135deg, #0A2E5C 0%, #0A2E5C 65%, #FFD60A 65%, #FFD60A 100%);
  color:#0A2E5C;
  padding: 3.25rem 1rem 2.5rem;
}
.careers-hero .container { max-width:1100px; margin:0 auto; }
.careers-hero h1 { margin:0 0 .5rem; color:#fff; }
.careers-hero p.lead { margin:0; color: #E6ECF5; max-width: 75ch; }

.careers-section { padding: 2.5rem 1rem 3rem; background:#fff; }
.careers-section .container { max-width:1100px; margin:0 auto; }

.careers-grid {
  display:grid; grid-template-columns: repeat(3,1fr); gap:1.1rem;
}
.careers-card {
  background:#fff; border:1px solid #E5E7EB; border-radius:14px; overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.04); transition:transform .18s ease, box-shadow .18s ease;
}
.careers-card:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0,0,0,.08); }
.careers-card img { width:100%; height:160px; object-fit:cover; display:block; }
.careers-card .body { padding:.9rem 1rem 1rem; }
.careers-card h3 { margin:.15rem 0 .35rem; font-size:1.05rem; color:#0A2E5C; }
.careers-card p { margin:0 0 .6rem; color:#334155; }

.roles {
  margin-top: 1.25rem;
  border:1px solid #E5E7EB; border-radius:12px; overflow:hidden;
}
.role {
  padding: 1rem 1rem 1.1rem; border-bottom:1px solid #E5E7EB; background:#fff;
  display:flex; flex-direction: column; gap:.35rem;
}
.role:last-child { border-bottom:none; }
.role .meta { font-size:.85rem; color:#64748B; }
.role h4 { margin:.1rem 0; color:#0A2E5C; font-size:1.05rem; }
.role p { margin:0; color:#334155; }
.role .apply { margin-top:.35rem; }
.role .apply a {
  display:inline-block; text-decoration:none; font-weight:600;
  border:1px solid #0A2E5C; color:#0A2E5C; padding:.5rem .8rem; border-radius:10px;
}
.role .apply a:hover { background:#F8FAFC; }

.workwithus {
  margin: 2.25rem 0 0; padding:2rem 1rem;
  background: linear-gradient(135deg, #0A2E5C 0%, #0A2E5C 60%, #FFD60A 60%, #FFD60A 100%);
  color:#fff; border-radius:16px;
}
.workwithus .inner { max-width:1100px; margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }
.workwithus h2 { margin:0; flex:1 1 360px; }
.workwithus p { margin:0; flex:1 1 360px; color:#E6ECF5; }
.workwithus a.btn {
  text-decoration:none; font-weight:700; border-radius:12px; padding:.7rem 1rem;
  background:#FFD60A; color:#0A2E5C; border:1px solid rgba(0,0,0,.1);
}
.workwithus a.btn:hover { filter: brightness(.95); }

@media (max-width: 980px){
  .careers-grid { grid-template-columns: repeat(2,1fr); }
  .careers-card img { height:150px; }
}
@media (max-width: 640px){
  .careers-grid { grid-template-columns: 1fr; }
  .careers-card img { height:140px; }
}

/* === Careers (page + shared styles) === */
.careers-hero {
  background: linear-gradient(135deg, #0A2E5C 0%, #0A2E5C 65%, #FFD60A 65%, #FFD60A 100%);
  color:#0A2E5C;
  padding: 3.25rem 1rem 2.5rem;
}
.careers-hero .container { max-width:1100px; margin:0 auto; }
.careers-hero h1 { margin:0 0 .5rem; color:#fff; }
.careers-hero p.lead { margin:0; color: #E6ECF5; max-width: 75ch; }

.careers-section { padding: 2.5rem 1rem 3rem; background:#fff; }
.careers-section .container { max-width:1100px; margin:0 auto; }

.careers-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:1.1rem; }
.careers-card {
  background:#fff; border:1px solid #E5E7EB; border-radius:14px; overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.04); transition:transform .18s ease, box-shadow .18s ease;
}
.careers-card:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0,0,0,.08); }
.careers-card img { width:100%; height:160px; object-fit:cover; display:block; }
.careers-card .body { padding:.9rem 1rem 1rem; }
.careers-card h3 { margin:.15rem 0 .35rem; font-size:1.05rem; color:#0A2E5C; }
.careers-card p { margin:0 0 .6rem; color:#334155; }

.roles {
  margin-top: 1.25rem;
  border:1px solid #E5E7EB; border-radius:12px; overflow:hidden; background:#fff;
}
.role { padding: 1rem 1rem 1.1rem; border-bottom:1px solid #E5E7EB; }
.role:last-child { border-bottom:none; }
.role .meta { font-size:.85rem; color:#64748B; }
.role h4 { margin:.1rem 0; color:#0A2E5C; font-size:1.05rem; }
.role p { margin:0; color:#334155; }
.role .apply { margin-top:.35rem; }
.role .apply a {
  display:inline-block; text-decoration:none; font-weight:600;
  border:1px solid #0A2E5C; color:#0A2E5C; padding:.5rem .8rem; border-radius:10px;
}
.role .apply a:hover { background:#F8FAFC; }

@media (max-width: 980px){
  .careers-grid { grid-template-columns: repeat(2,1fr); }
  .careers-card img { height:150px; }
}
@media (max-width: 640px){
  .careers-grid { grid-template-columns: 1fr; }
  .careers-card img { height:140px; }
}

/* === Work With Us (homepage CTA) — contrast fix === */
/* Replace bright yellow block with deep-blue gradient; keep yellow just for the button */
.workwithus {
  margin: 2.25rem 0 0; padding:2rem 1rem;
  background: linear-gradient(135deg, #0A2E5C 0%, #0A223F 100%);
  color:#fff; border-radius:16px;
}
.workwithus .inner { max-width:1100px; margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }
.workwithus h2 { margin:0; flex:1 1 360px; }
.workwithus p { margin:0; flex:1 1 360px; color:#E6ECF5; }
.workwithus a.btn {
  text-decoration:none; font-weight:700; border-radius:12px; padding:.7rem 1rem;
  background:#FFD60A; color:#0A2E5C; border:1px solid rgba(0,0,0,.1);
}
.workwithus a.btn:hover { filter: brightness(.95); }

/* === About (page) === */
.about-hero {
  background: linear-gradient(135deg, #0A2E5C 0%, #0A223F 100%);
  color:#fff;
  padding: 3.25rem 1rem 2.25rem;
}
.about-hero .container { max-width:1100px; margin:0 auto; }
.about-hero h1 { margin:0 0 .5rem; }
.about-hero p.lead { margin:0; color:#E6ECF5; max-width:75ch; }

.about-main { padding: 2.25rem 1rem 3rem; background:#fff; }
.about-main .container { max-width:1100px; margin:0 auto; }
.about-grid { display:grid; grid-template-columns: 2fr 1fr; gap:1.25rem; align-items:start; }
.about-card {
  background:#fff; border:1px solid #E5E7EB; border-radius:14px; overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.about-card .body { padding:1rem 1.1rem 1.2rem; }
.about-card h2 { margin:.25rem 0 .5rem; color:#0A2E5C; font-size:1.25rem; }
.about-card p { margin:0 0 .7rem; color:#334155; }
.about-meta { display:grid; gap:.6rem; }
.meta-item {
  border:1px solid #E5E7EB; border-radius:12px; padding:.8rem .9rem; background:#F8FAFC;
}
.meta-item strong { color:#0A2E5C; }
.about-photo { width:100%; height:220px; object-fit:cover; display:block; }

.about-badges { display:flex; gap:.5rem; flex-wrap:wrap; margin:.25rem 0 0; }
.badge {
  display:inline-block; padding:.25rem .5rem; border-radius:999px; font-size:.85rem;
  background:#0A2E5C; color:#FFD60A; border:1px solid rgba(0,0,0,.08);
}

@media (max-width: 980px){ .about-grid { grid-template-columns: 1fr; } .about-photo { height:200px; } }

/* === Contact Us (homepage section) === */
.contact-cta { padding: 2.5rem 1rem 3rem; background:#F8FAFC; border-top:1px solid #E5E7EB; }
.contact-cta .container { max-width:1100px; margin:0 auto; }
.contact-cta h2 { margin:0 0 .35rem; font-size:1.5rem; color:#0A2E5C; }
.contact-cta p.lead { margin:0 0 1rem; color:#334155; max-width:72ch; }

.contact-form {
  display:grid; grid-template-columns: repeat(2, 1fr); gap:1rem;
  background:#fff; border:1px solid #E5E7EB; border-radius:14px; padding:1rem;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.contact-form .full { grid-column: 1 / -1; }
.contact-form label { display:block; font-weight:600; color:#0A2E5C; margin-bottom:.35rem; }
.contact-form input, .contact-form textarea {
  width:100%; border:1px solid #CBD5E1; border-radius:10px; padding:.6rem .7rem; background:#fff; color:#0F172A;
}
.contact-form textarea { min-height:120px; resize:vertical; }
.contact-form .hint { font-size:.85rem; color:#64748B; margin-top:.35rem; }
.contact-actions { display:flex; justify-content:flex-end; gap:.75rem; margin-top:.5rem; }
.contact-actions .btn-primary {
  border:1px solid #0A2E5C; background:#0A2E5C; color:#fff; padding:.7rem 1rem; border-radius:12px; text-decoration:none;
}
.contact-actions .btn-primary:hover { filter: brightness(1.05); }
.contact-actions .btn-secondary {
  border:1px solid #E5E7EB; background:#fff; color:#0A2E5C; padding:.7rem 1rem; border-radius:12px; text-decoration:none;
}
.contact-actions .btn-secondary:hover { background:#EEF2F7; }

@media (max-width: 820px){
  .contact-form { grid-template-columns: 1fr; }
}

/* === Footer === */
.site-footer { background:#0A2E5C; color:#fff; padding:2rem 1rem; margin-top:2rem; }
.site-footer .footer-inner { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1.25rem; max-width:1100px; margin:0 auto; }
.site-footer .brand { display:flex; align-items:center; gap:.5rem; text-decoration:none; color:#FFD60A; font-weight:700; }
.site-footer .footer-nav { display:flex; gap:1rem; flex-wrap:wrap; }
.site-footer .footer-nav a { color:#fff; text-decoration:none; font-weight:500; }
.site-footer .footer-nav a:hover { color:#FFD60A; }
.site-footer .social { display:flex; gap:.75rem; }
.site-footer .social a { color:#fff; transition:.2s ease; }
.site-footer .social a:hover { color:#FFD60A; }

/* === Header === */
.site-header {
  background:#0A2E5C;
  padding:1rem 1rem;
}
.site-header .container.nav {
  display:flex;
  justify-content:space-between;
  align-items:center;
  max-width:1100px;
  margin:0 auto;
}
.site-header .brand {
  display:flex;
  align-items:center;
  gap:.5rem;
  text-decoration:none;
  font-weight:700;
  color:#FFD60A;
}
.site-header .brand strong { color:#FFD60A; }

.site-header nav a {
  color:#fff;
  text-decoration:none;
  font-weight:500;
  margin-left:1rem;
  transition:color .2s ease;
}
.site-header nav a:hover {
  color:#FFD60A;
}

.site-header .btn-primary {
  border:1px solid #FFD60A;
  background:#FFD60A;
  color:#0A2E5C !important;
  padding:.5rem 1rem;
  border-radius:8px;
  font-weight:600;
  text-decoration:none;
  margin-left:1rem;
}
.site-header .btn-primary:hover {
  filter:brightness(0.95);
}

/* === Footer (expanded) === */
.site-footer { background:#0A2E5C; color:#fff; padding:2rem 1rem; margin-top:2rem; }
.site-footer .footer-inner {
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:2rem;
  max-width:1100px; margin:0 auto;
}
.site-footer .footer-brand { flex:1 1 250px; }
.site-footer .brand { display:flex; align-items:center; gap:.5rem; text-decoration:none; color:#FFD60A; font-weight:700; }
.site-footer .brand strong { color:#FFD60A; }
.site-footer .footer-contact p { margin:.25rem 0; font-size:.95rem; }
.site-footer .footer-contact a { color:#fff; text-decoration:none; }
.site-footer .footer-contact a:hover { color:#FFD60A; }

.site-footer .footer-nav { display:flex; flex-wrap:wrap; gap:1rem; flex:1 1 300px; }
.site-footer .footer-nav a { color:#fff; text-decoration:none; font-weight:500; }
.site-footer .footer-nav a:hover { color:#FFD60A; }

.site-footer .social { display:flex; gap:.75rem; flex:1 1 150px; }
.site-footer .social a { color:#fff; text-decoration:none; font-weight:600; }
.site-footer .social a:hover { color:#FFD60A; }

/* === Footer (SVG social + contact) === */
.site-footer { background:#0A2E5C; color:#fff; padding:2rem 1rem; margin-top:2rem; }
.site-footer .footer-inner {
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:2rem;
  max-width:1100px; margin:0 auto;
}
.site-footer .footer-brand { flex:1 1 260px; min-width:260px; }
.site-footer .brand { display:flex; align-items:center; gap:.5rem; text-decoration:none; color:#FFD60A; font-weight:700; }
.site-footer .brand strong { color:#FFD60A; }
.site-footer .footer-contact p { margin:.25rem 0; font-size:.95rem; }
.site-footer .footer-contact a { color:#fff; text-decoration:none; }
.site-footer .footer-contact a:hover { color:#FFD60A; }

.site-footer .footer-nav { display:flex; flex-wrap:wrap; gap:1rem; flex:2 1 420px; }
.site-footer .footer-nav a { color:#fff; text-decoration:none; font-weight:500; }
.site-footer .footer-nav a:hover { color:#FFD60A; }

.site-footer .social { display:flex; gap:.9rem; align-items:center; flex:0 1 auto; }
.site-footer .social a { color:#fff; display:inline-flex; line-height:0; }
.site-footer .social a:hover { color:#FFD60A; }

/* === Government IDs block === */
.gov-ids { padding: 2rem 1rem; background:#fff; }
.gov-ids .container { max-width:1100px; margin:0 auto; }
.gov-ids h2 { margin:0 0 .75rem; color:#0A2E5C; }
.gov-ids .id-list { list-style:none; padding:0; margin:0; display:flex; gap:1.25rem; flex-wrap:wrap; }
.gov-ids .id-list li { background:#F8FAFC; border:1px solid #E5E7EB; border-radius:10px; padding:.6rem .8rem; color:#0F172A; }

/* === Services Page === */
.svc-hero {
  background: linear-gradient(135deg, #0A2E5C 0%, #0A223F 100%);
  color:#fff;
  padding: 3rem 1rem 2.25rem;
}
.svc-hero .container { max-width:1100px; margin:0 auto; }
.svc-hero h1 { margin:0 0 .5rem; }
.svc-hero p.lead { margin:0; color:#E6ECF5; max-width:80ch; }

.svc-wrap { background:#fff; padding: 2rem 1rem 3rem; }
.svc-wrap .container { max-width:1100px; margin:0 auto; }

.svc {
  display:grid; grid-template-columns: 1.1fr 1.3fr; gap:1.25rem;
  align-items:center; margin:1.25rem 0 1.75rem;
  background:#fff; border:1px solid #E5E7EB; border-radius:16px; overflow:hidden;
  box-shadow:0 2px 10px rgba(0,0,0,.05);
}
.svc.reverse { grid-template-columns: 1.3fr 1.1fr; }
.svc img { width:100%; height:260px; object-fit:cover; display:block; }
.svc .body { padding:1rem 1.1rem 1.25rem; }
.svc .body h2 { margin:.2rem 0 .4rem; color:#0A2E5C; font-size:1.35rem; }
.svc .body p { margin:0 0 .6rem; color:#334155; }
.svc .body ul { margin:.4rem 0 0; padding-left:1rem; color:#334155; }
.svc .meta { margin-top:.6rem; font-size:.9rem; color:#64748B; }
.svc .cta { margin-top:.75rem; }
.svc .cta a {
  display:inline-block; text-decoration:none; font-weight:700;
  border-radius:10px; padding:.55rem .9rem;
  background:#FFD60A; color:#0A2E5C; border:1px solid rgba(0,0,0,.08);
}
.svc .cta a:hover { filter:brightness(.95); }

@media (max-width: 980px){
  .svc, .svc.reverse { grid-template-columns: 1fr; }
  .svc img { height:220px; }
}

/* === Areas We Service === */
.areas-hero {
  background: linear-gradient(135deg, #0A2E5C 0%, #0A223F 100%);
  color:#fff; padding: 3rem 1rem 2rem;
}
.areas-hero .container { max-width:1100px; margin:0 auto; }
.areas-hero h1 { margin:0 0 .5rem; }
.areas-hero p.lead { margin:0 0 1rem; color:#E6ECF5; max-width:80ch; }

.areas-filter {
  display:flex; align-items:center; gap:.6rem; margin-top:.5rem;
}
.areas-filter input {
  width:100%; max-width:420px; padding:.6rem .7rem; border-radius:10px;
  border:1px solid #CBD5E1; background:#fff; color:#0F172A;
}
.sr-only {
  position:absolute !important;
  width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.areas-wrap { background:#fff; padding: 2rem 1rem 3rem; }
.areas-wrap .container { max-width:1100px; margin:0 auto; }

.areas-grid {
  display:grid; grid-template-columns: repeat(3,1fr); gap:1rem; margin-top:1rem;
}
.area-card {
  background:#fff; border:1px solid #E5E7EB; border-radius:14px; padding:1rem;
  box-shadow:0 1px 2px rgba(0,0,0,.04); transition:transform .15s ease, box-shadow .15s ease;
}
.area-card:hover { transform: translateY(-2px); box-shadow:0 8px 18px rgba(0,0,0,.08); }
.area-card h2 { margin:0 0 .35rem; font-size:1.05rem; color:#0A2E5C; }
.area-card p { margin:0; color:#334155; font-size:.95rem; }

@media (max-width: 980px){ .areas-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px){ .areas-grid { grid-template-columns: 1fr; } }

/* === Areas 'learn more' link === */
.area-card .learn {
  display:inline-block; margin-top:.5rem; font-weight:700; text-decoration:none;
  color:#0A2E5C; border-bottom:1px dashed rgba(10,46,92,.4); padding-bottom:2px;
}
.area-card .learn:hover { color:#0A2E5C; filter:brightness(.9); }

/* === Procurement page (with NAICS/NIGP) === */
.proc-hero { background: linear-gradient(135deg,#0A2E5C 0%,#0A223F 100%); color:#fff; padding:3rem 1rem 2rem; }
.proc-hero .container { max-width:1100px; margin:0 auto; }
.proc-hero h1 { margin:0 0 .5rem; }
.proc-hero p.lead { margin:0; color:#E6ECF5; max-width:80ch; }

.proc-wrap { background:#fff; padding:2rem 1rem 3rem; }
.proc-wrap .container { max-width:1100px; margin:0 auto; display:grid; gap:1rem; }

.proc-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:1rem; }
.proc-card {
  background:#fff; border:1px solid #E5E7EB; border-radius:16px; padding:1rem;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.proc-card h2 { margin:.2rem 0 .6rem; color:#0A2E5C; font-size:1.2rem; }
.proc-card p { margin:0 0 .6rem; color:#334155; }
.proc-card ul { margin:.4rem 0 0; padding-left:1.1rem; color:#334155; }

.ids { display:grid; grid-template-columns: repeat(3,1fr); gap:1rem; margin:.5rem 0 1.5rem; }
.id-pill { background:#F8FAFC; border:1px solid #E5E7EB; border-radius:12px; padding:.7rem .9rem; color:#0F172A; }
.id-pill strong { color:#0A2E5C; }

.proc-cta { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:.6rem; }
.proc-cta a.btn { display:inline-block; text-decoration:none; font-weight:700; border-radius:10px; padding:.55rem .9rem; border:1px solid rgba(0,0,0,.08); background:#FFD60A; color:#0A2E5C; }
.proc-cta a.btn.secondary { background:#fff; color:#0A2E5C; border:1px solid #E5E7EB; }

.codes { display:grid; grid-template-columns: 1fr 1fr; gap:1rem; margin-top:1rem; }
.codes .code-card { background:#fff; border:1px solid #E5E7EB; border-radius:14px; padding:1rem; }
.codes h3 { margin:.1rem 0 .5rem; color:#0A2E5C; }
.codes ul { margin:.4rem 0 0; padding-left:1.1rem; color:#334155; }
.codes li code { background:#F1F5F9; border:1px solid #E2E8F0; border-radius:8px; padding:.05rem .4rem; font-weight:700; color:#0A2E5C; }

.faq { margin-top:1.5rem; }
.faq details { border:1px solid #E5E7EB; border-radius:12px; padding:.8rem .9rem; background:#fff; }
.faq details + details { margin-top:.6rem; }
.faq summary { cursor:pointer; font-weight:700; color:#0A2E5C; }

@media (max-width: 980px) {
  .proc-grid { grid-template-columns: 1fr; }
  .ids { grid-template-columns: 1fr; }
  .codes { grid-template-columns: 1fr; }
}

/* === Contact page === */
.contact-hero {
  background: linear-gradient(135deg, #0A2E5C 0%, #0A223F 100%);
  color:#fff; padding:3rem 1rem 2rem;
}
.contact-hero .container { max-width:1100px; margin:0 auto; }
.contact-hero h1 { margin:0 0 .5rem; }
.contact-hero p.lead { margin:0; color:#E6ECF5; max-width:75ch; }

.contact-wrap { background:#fff; padding:2rem 1rem 3rem; }
.contact-wrap .container { max-width:1100px; margin:0 auto; display:grid; grid-template-columns: 1fr 1fr; gap:1rem; }

.card {
  background:#fff; border:1px solid #E5E7EB; border-radius:16px; padding:1rem;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.card h2 { margin:.2rem 0 .6rem; color:#0A2E5C; font-size:1.25rem; }
.card p, .card li { color:#334155; }
.card .list { padding-left:1.1rem; margin:.25rem 0 0; }

.contact-meta { display:grid; grid-template-columns: 1fr 1fr; gap:.75rem; margin-top:.6rem; }
.pill { background:#F8FAFC; border:1px solid #E5E7EB; border-radius:12px; padding:.6rem .8rem; color:#0F172A; }
.pill strong { color:#0A2E5C; }

form .row { display:grid; grid-template-columns: 1fr 1fr; gap:.6rem; }
form .row-1 { display:grid; grid-template-columns: 1fr; gap:.6rem; }
label { display:block; font-weight:600; color:#0A2E5C; margin:.25rem 0 .2rem; }
input[type="text"], input[type="email"], input[type="tel"], textarea, select {
  width:100%; padding:.6rem .7rem; border-radius:10px; border:1px solid #CBD5E1; background:#fff; color:#0F172A;
}
textarea { min-height:140px; resize:vertical; }

.form-help { color:#64748B; font-size:.92rem; }
.actions { margin-top:.8rem; display:flex; gap:.75rem; flex-wrap:wrap; }
.btn {
  display:inline-block; text-decoration:none; font-weight:700; border-radius:10px; padding:.55rem .9rem;
  border:1px solid rgba(0,0,0,.08); background:#FFD60A; color:#0A2E5C;
}
.btn.secondary { background:#fff; color:#0A2E5C; border:1px solid #E5E7EB; }
.btn:hover { filter:brightness(.95); }

.map-embed { margin-top:1rem; }
.map-embed iframe { width:100%; height:260px; border:0; border-radius:12px; }

@media (max-width: 980px) {
  .contact-wrap .container { grid-template-columns: 1fr; }
  form .row { grid-template-columns: 1fr; }
}

/* === Past Performance page === */
.pp-hero {
  background: linear-gradient(135deg, #0A2E5C 0%, #0A223F 100%);
  color:#fff; padding:3rem 1rem 2rem;
}
.pp-hero .container { max-width:1100px; margin:0 auto; }
.pp-hero h1 { margin:0 0 .5rem; }
.pp-hero p.lead { margin:0; color:#E6ECF5; max-width:80ch; }

.pp-wrap { background:#fff; padding:2rem 1rem 3rem; }
.pp-wrap .container { max-width:1100px; margin:0 auto; }

.pp-grid {
  display:grid; grid-template-columns: 1fr 1fr; gap:1rem; margin-top:1rem;
}
.pp-card {
  background:#fff; border:1px solid #E5E7EB; border-radius:16px; overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  display:grid; grid-template-columns: 1.05fr 1.25fr; gap:0;
}
.pp-card.reverse { grid-template-columns: 1.25fr 1.05fr; }
.pp-card img { width:100%; height:260px; object-fit:cover; display:block; }
.pp-body { padding:1rem 1.1rem 1.25rem; }
.pp-body h2 { margin:.2rem 0 .5rem; color:#0A2E5C; font-size:1.2rem; }
.pp-body p { margin:0 0 .6rem; color:#334155; }
.pp-body ul { margin:.35rem 0 0; padding-left:1.1rem; color:#334155; }
.pp-meta { margin-top:.5rem; color:#64748B; font-size:.92rem; }
.pp-cta { margin-top:.7rem; }
.pp-cta a {
  display:inline-block; text-decoration:none; font-weight:700; border-radius:10px; padding:.55rem .9rem;
  border:1px solid rgba(0,0,0,.08); background:#FFD60A; color:#0A2E5C;
}
.pp-cta a:hover { filter:brightness(.95); }

@media (max-width: 980px) {
  .pp-grid { grid-template-columns: 1fr; }
  .pp-card, .pp-card.reverse { grid-template-columns: 1fr; }
  .pp-card img { height:220px; }
}

/* === Blog page === */
.blog-hero {
  background: linear-gradient(135deg,#0A2E5C 0%,#0A223F 100%);
  color:#fff; padding:3rem 1rem 2rem;
}
.blog-hero .container { max-width:1100px; margin:0 auto; }
.blog-hero h1 { margin:0 0 .5rem; }
.blog-hero p.lead { margin:0; color:#E6ECF5; max-width:80ch; }

.blog-wrap { background:#fff; padding:2rem 1rem 3rem; }
.blog-wrap .container { max-width:1100px; margin:0 auto; }

.blog-toolbar { display:flex; gap:.6rem; align-items:center; margin-bottom:1rem; }
.blog-toolbar input[type="search"] {
  width:100%; max-width:420px; padding:.6rem .7rem; border-radius:10px;
  border:1px solid #CBD5E1; background:#fff; color:#0F172A;
}
.blog-grid {
  display:grid; grid-template-columns: repeat(3,1fr); gap:1rem;
}
.post {
  background:#fff; border:1px solid #E5E7EB; border-radius:16px; overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.04); display:flex; flex-direction:column;
}
.post img { width:100%; height:180px; object-fit:cover; display:block; }
.post .body { padding:1rem 1.1rem 1.1rem; display:flex; flex-direction:column; gap:.45rem; }
.post .meta { font-size:.9rem; color:#64748B; }
.post h2 { margin:.1rem 0; font-size:1.1rem; color:#0A2E5C; }
.post p { margin:0; color:#334155; }
.post .tags { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.1rem; }
.post .tag { font-size:.85rem; padding:.12rem .45rem; background:#F1F5F9; color:#0A2E5C; border-radius:999px; border:1px solid #E2E8F0; }
.post .cta { margin-top:.5rem; }
.post .cta a {
  display:inline-block; text-decoration:none; font-weight:700; border-radius:10px; padding:.45rem .8rem;
  border:1px solid rgba(0,0,0,.08); background:#FFD60A; color:#0A2E5C;
}
.post .cta a:hover { filter:brightness(.95); }

@media (max-width: 980px){ .blog-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px){ .blog-grid { grid-template-columns: 1fr; } }
/* === End Blog page === */

/* === Testimonials (Carousel) === */
.testi-wrap { background:#fff; padding:2rem 1rem 3rem; }
.testi-wrap .container { max-width:1100px; margin:0 auto; }
.testi-head { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:.75rem; }
.testi-head h2 { margin:0; color:#0A2E5C; }
.testi-track {
  position:relative; overflow:hidden; border:1px solid #E5E7EB; border-radius:16px;
  background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.testi-row { display:flex; transition:transform .5s ease; }
.testi-card {
  flex:0 0 100%; padding:1.1rem; display:grid; grid-template-columns: 72px 1fr; gap:.9rem; align-items:center;
}
.testi-avatar { width:72px; height:72px; border-radius:999px; object-fit:cover; border:2px solid #FFD60A; }
.testi-body p { margin:.1rem 0 .4rem; color:#334155; }
.testi-name { font-weight:700; color:#0A2E5C; }
.testi-meta { color:#64748B; font-size:.92rem; }
.testi-ctrls { display:flex; gap:.5rem; }
.testi-btn {
  appearance:none; border:1px solid #E5E7EB; background:#fff; color:#0A2E5C;
  padding:.5rem .7rem; border-radius:10px; font-weight:700; cursor:pointer;
}
.testi-btn:hover { filter:brightness(.95); }
.testi-dots { display:flex; gap:.4rem; justify-content:center; padding:.6rem; }
.testi-dot { width:8px; height:8px; border-radius:999px; background:#CBD5E1; }
.testi-dot.active { background:#0A2E5C; }
@media (max-width: 640px) {
  .testi-card { grid-template-columns: 48px 1fr; }
  .testi-avatar { width:48px; height:48px; }
}
/* === End Testimonials === */

/* === Long-tail landing pages === */
.lt-hero {
  background: linear-gradient(135deg, #0A2E5C 0%, #0A223F 100%);
  color:#fff; padding:3rem 1rem 2rem;
}
.lt-hero .container { max-width:1100px; margin:0 auto; }
.lt-hero h1 { margin:0 0 .5rem; }
.lt-hero .lead { margin:0; color:#E6ECF5; max-width:80ch; }

.lt-wrap { background:#fff; padding:2rem 1rem 3rem; }
.lt-wrap .container { max-width:1100px; margin:0 auto; }

.lt-grid { display:grid; grid-template-columns: 1fr 1fr; gap:1rem; }
.lt-card {
  background:#fff; border:1px solid #E5E7EB; border-radius:16px; padding:1rem;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.lt-card h2 { margin:.2rem 0 .6rem; color:#0A2E5C; font-size:1.2rem; }
.lt-card p, .lt-card li { color:#334155; }
.lt-card ul { margin:.35rem 0 0; padding-left:1.1rem; }

.lt-cta { margin-top:1rem; display:flex; gap:.6rem; flex-wrap:wrap; }
.btn {
  display:inline-block; text-decoration:none; font-weight:700; border-radius:10px; padding:.55rem .9rem;
  border:1px solid rgba(0,0,0,.08); background:#FFD60A; color:#0A2E5C;
}
.btn.secondary { background:#fff; color:#0A2E5C; border:1px solid #E5E7EB; }

@media (max-width: 980px) { .lt-grid { grid-template-columns: 1fr; } }
/* === End long-tail pages === */

/* === Long-tail landing pages (batch 2) === */
.lt-hero { background: linear-gradient(135deg,#0A2E5C 0%,#0A223F 100%); color:#fff; padding:3rem 1rem 2rem; }
.lt-hero .container { max-width:1100px; margin:0 auto; }
.lt-hero h1 { margin:0 0 .5rem; }
.lt-hero .lead { margin:0; color:#E6ECF5; max-width:80ch; }
.lt-wrap { background:#fff; padding:2rem 1rem 3rem; }
.lt-wrap .container { max-width:1100px; margin:0 auto; }
.lt-grid { display:grid; grid-template-columns: 1fr 1fr; gap:1rem; }
.lt-card { background:#fff; border:1px solid #E5E7EB; border-radius:16px; padding:1rem; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.lt-card h2 { margin:.2rem 0 .6rem; color:#0A2E5C; font-size:1.2rem; }
.lt-card p, .lt-card li { color:#334155; }
.lt-card ul { margin:.35rem 0 0; padding-left:1.1rem; }
.lt-cta { margin-top:1rem; display:flex; gap:.6rem; flex-wrap:wrap; }
.btn { display:inline-block; text-decoration:none; font-weight:700; border-radius:10px; padding:.55rem .9rem; border:1px solid rgba(0,0,0,.08); background:#FFD60A; color:#0A2E5C; }
.btn.secondary { background:#fff; color:#0A2E5C; border:1px solid #E5E7EB; }
@media (max-width: 980px) { .lt-grid { grid-template-columns: 1fr; } }
/* === End long-tail landing pages (batch 2) === */

/* === Procurement Resource Hub === */
.hub-hero { background: linear-gradient(135deg,#0A2E5C 0%,#0A223F 100%); color:#fff; padding:2.2rem 1rem 1.6rem; }
.hub-hero .container { max-width:1100px; margin:0 auto; }
.hub-hero h2 { margin:.2rem 0 .4rem; }
.hub-hero p { margin:0; color:#E6ECF5; }

.hub-wrap { background:#fff; padding:1.4rem 1rem 2.4rem; }
.hub-wrap .container { max-width:1100px; margin:0 auto; }
.hub-grid { display:grid; grid-template-columns: 1fr 1fr; gap:1rem; }
.hub-card { background:#fff; border:1px solid #E5E7EB; border-radius:16px; padding:1rem; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.hub-card h3 { margin:.15rem 0 .55rem; color:#0A2E5C; }
.hub-card p, .hub-card li { color:#334155; }
.hub-card .btn { display:inline-block; margin-top:.5rem; text-decoration:none; font-weight:700; border-radius:10px; padding:.5rem .8rem; border:1px solid rgba(0,0,0,.08); background:#FFD60A; color:#0A2E5C; }

.hub-faq { margin-top:1rem; }
.hub-faq details { border:1px solid #E5E7EB; border-radius:12px; padding:.8rem 1rem; background:#fff; }
.hub-faq details + details { margin-top:.6rem; }
.hub-faq summary { cursor:pointer; font-weight:700; color:#0A2E5C; }
.hub-faq p { margin:.5rem 0 0; color:#334155; }

@media (max-width: 980px){ .hub-grid { grid-template-columns: 1fr; } }
/* === End Procurement Resource Hub === */

/* === Trusted By Logo Carousel === */
.trusted { padding: 28px 0; background:#fff; }
.trusted .container { max-width:1100px; margin:0 auto; }
.trusted h3 { margin:0 0 12px; color:#0A2E5C; }

.logo-track {
  display:flex; overflow:hidden; position:relative;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.logo-slide {
  display:flex; align-items:center; gap:48px;
  flex: 0 0 auto; min-width:100%;
  animation: kmw-scroll 25s linear infinite;
}
.logo-slide img {
  height:48px; width:auto; display:block;
   opacity:1; transition: filter .2s ease, opacity .2s ease, transform .2s ease;
}
.logo-slide img:hover {  opacity:1; transform: translateY(-2px); }

@keyframes kmw-scroll { from { transform: translateX(0) } to { transform: translateX(-100%) } }

@media (max-width: 640px){
  .logo-slide { gap:28px; }
  .logo-slide img { height:40px; }
}
/* === End Trusted By Logo Carousel === */

/* === KMW Contact + Testimonials Theme (inline-safe, idempotent) === */
:root{
  --kmw-blue:#0A2E5C;
  --kmw-blue-900:#081e3d;
  --kmw-blue-800:#0a254b;
  --kmw-yellow:#FFD60A;
  --kmw-ink:#0B1220;
  --kmw-muted:#E6ECF5;
  --kmw-card:#ffffff;
  --kmw-border:#E5E7EB;
}

/* ---------------- Contact band ---------------- */
section#contact, section#contact-us, section.home-contact,
section[id*="contact"][class*="section"], .contact-section {
  position: relative;
  padding: 2.25rem 0;
  background:
    radial-gradient(1200px 400px at -10% -10%, rgba(255,214,10,0.10), transparent 60%),
    radial-gradient(900px 300px at 110% 10%, rgba(255,214,10,0.08), transparent 60%),
    linear-gradient(135deg, var(--kmw-blue-900), var(--kmw-blue-800));
  color: #fff;
  overflow: hidden;
}

section#contact .container, section#contact-us .container, section.home-contact .container,
.contact-section .container { max-width:1100px; margin:0 auto; }

section#contact h2, section#contact-us h2, section.home-contact h2,
.contact-section h2 { color:#fff; margin:0 0 .75rem; }

.kmw-contact-card{
  background: var(--kmw-card);
  color: var(--kmw-ink);
  border:1px solid var(--kmw-border);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
  padding: 1.25rem;
  max-width: 920px;
  margin: 0 auto;
}

.kmw-contact-grid{
  display:grid; gap:1rem;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 840px){ .kmw-contact-grid{ grid-template-columns: 1fr; } }

.kmw-field{
  display:flex; flex-direction:column; gap:.4rem;
}
.kmw-field label{ font-weight:600; color:#0a254b; }
.kmw-field input, .kmw-field select, .kmw-field textarea{
  border:1px solid var(--kmw-border);
  border-radius:10px; padding:.7rem .85rem; font:inherit; color:var(--kmw-ink);
  background:#fff;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.kmw-field textarea{ min-height:140px; resize:vertical; }

.kmw-field input:focus, .kmw-field select:focus, .kmw-field textarea:focus{
  outline:none;
  border-color: var(--kmw-yellow);
  box-shadow: 0 0 0 3px rgba(255,214,10,.35);
}

.kmw-submit{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  margin-top:.25rem;
  background: var(--kmw-yellow); color: var(--kmw-blue);
  font-weight:800; border-radius:12px; padding:.7rem 1rem; border:1px solid rgba(0,0,0,.08);
  text-decoration:none; cursor:pointer;
  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease;
}
.kmw-submit:hover{ transform: translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.15); }
.kmw-submit:active{ transform: translateY(0); box-shadow:none; }

/* Subtext / badges in contact area */
.kmw-contact-meta{
  display:flex; flex-wrap:wrap; gap:.6rem 1rem; align-items:center; margin-top:.75rem;
  color:#eaf0f7;
}
.kmw-contact-meta b { color:#fff; }

/* ---------------- Testimonials band ---------------- */
section#testimonials, section.home-testimonials, .testimonials-section,
section[id*="clients"][id*="say"], section[id*="what"][id*="say"] {
  position: relative;
  padding: 2.25rem 0 2.4rem;
  background:
    radial-gradient(1200px 500px at 120% -10%, rgba(255,214,10,0.09), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}

section#testimonials .container, section.home-testimonials .container,
.testimonials-section .container{ max-width:1100px; margin:0 auto; }

section#testimonials h2, section.home-testimonials h2, .testimonials-section h2{
  color: var(--kmw-blue);
  margin: 0 0 .4rem;
}

.kmw-testimonials{
  display:grid; gap:1rem;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 980px){ .kmw-testimonials{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px){ .kmw-testimonials{ grid-template-columns: 1fr; } }

.kmw-quote{
  position:relative;
  background:#fff; border:1px solid var(--kmw-border); border-radius:16px;
  box-shadow:0 8px 18px rgba(0,0,0,.07);
  padding:1rem 1rem 1rem 1.1rem;
}
.kmw-quote::before{
  content:"";
  position:absolute; inset:0 0 auto 0; height:6px;
  background: linear-gradient(90deg, var(--kmw-yellow), #ffe34e);
  border-radius:16px 16px 0 0;
}
.kmw-quote p{ color:#334155; margin:.5rem 0 .8rem; }
.kmw-quote .who{ display:flex; align-items:center; gap:.6rem; }
.kmw-quote .who img{
  width:40px; height:40px; border-radius:50%; object-fit:cover; border:1px solid var(--kmw-border);
}
.kmw-quote .who .meta{ color:#475569; font-size:.95rem; }
.kmw-quote .who .meta b{ color:var(--kmw-blue); }

/* Subtle quote mark */
.kmw-quote .mark{
  position:absolute; right:12px; bottom:10px; font-size:40px; line-height:1;
  color:rgba(10,46,92,.12); font-weight:900; font-family:Georgia,serif;
}
/* === End KMW Contact + Testimonials Theme === */

/* === Burger Styles === */
:root{ --kmw-yellow:#FFD60A; --kmw-blue:#0A2E5C; }
.burger{ width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer }
.burger:focus{ outline:2px solid rgba(255,214,10,.5); outline-offset:2px }
.burger span{ display:block; width:26px; height:3px; background:var(--kmw-yellow); border-radius:2px; margin:3px 0 }
@media(min-width: 900px){ #mobileMenu{ display:none !important } }
/* Mobile menu base if missing */
.mobile-menu{ position:absolute; top:64px; left:0; right:0; background:#0A2E5C; padding:12px; border-top:1px solid rgba(255,255,255,.12); z-index:1000 }
.mobile-menu a{ display:block; color:#fff; padding:10px 12px; text-decoration:none }
.mobile-menu a:hover{ background:rgba(255,214,10,.15); color:#FFD60A }
/* === End Burger Styles === */

/* === Contact Aside Map === */
.kmw-contact-aside .kmw-contact-info{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:14px;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.kmw-contact-aside h3{margin:.25rem 0 .5rem;color:#0A2E5C}
.kmw-contact-aside .kmw-list{list-style:none;margin:0 0 .75rem;padding:0;display:grid;gap:.35rem}
.kmw-contact-aside .kmw-list a{color:#0A2E5C;text-decoration:none}
.kmw-contact-aside .kmw-list a:hover{color:#FFD60A}
.map-embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:12px;border:1px solid #E5E7EB;background:#f5f7fb}
.map-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
@media (max-width: 900px){
  .kmw-contact-layout{grid-template-columns:1fr}
  .kmw-contact-aside{order:2}
  .kmw-contact-layout .form-col{order:1}
}
/* === End Contact Aside Map === */

/* === KMW Contact Badges === */
:root{ --kmw-blue:#0A2E5C; --kmw-blue-800:#0a254b; --kmw-yellow:#FFD60A; --kmw-border:#E5E7EB; --kmw-ink:#0B1220; }
.kmw-badge, .badge{
  display:inline-flex; align-items:center; gap:.4ch;
  background: linear-gradient(180deg, #fffbe6, #fff3a6);
  color:#3a2d00; border:1px solid rgba(161,120,0,.35);
  border-radius:999px; padding:.25rem .6rem; font-weight:700; font-size:.95rem;
  box-shadow: 0 2px 6px rgba(0,0,0,.06);
}
.kmw-badge--blue{
  background: linear-gradient(180deg, #e8f0ff, #d9e6ff);
  color:#0A2E5C; border:1px solid rgba(10,46,92,.25);
}
.kmw-contact-info strong{ color:#0A2E5C; }
.kmw-contact-info li{ display:flex; gap:.4rem; align-items:baseline; }
/* Map container (Leaflet replacement) */
.map-embed{ position:relative; padding-bottom:56.25%; height:0; overflow:hidden; border-radius:12px; border:1px solid var(--kmw-border); background:#f5f7fb }
#radiusMap{ position:absolute; inset:0; }
.leaflet-container{ border-radius:12px; }
/* Subtle section polish */
section#contact.contact-section{
  background:
    radial-gradient(1200px 400px at -10% -10%, rgba(255,214,10,0.08), transparent 60%),
    radial-gradient(900px 300px at 110% 10%, rgba(255,214,10,0.06), transparent 60%),
    linear-gradient(135deg, #081e3d, #0a254b);
}
section#contact .kmw-contact-card{ background:#fff; }
/* === End KMW Contact Badges === */

/* === KMW Inline Buttons === */
.kmw-inline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}
.kmw-inline span{ flex:1; }
.kmw-inline .btn-small{
  background:var(--kmw-blue,#0A2E5C);
  color:#fff;
  border-radius:6px;
  padding:.25rem .75rem;
  font-size:.85rem;
  text-decoration:none;
  transition: background .2s;
}
.kmw-inline .btn-small:hover{
  background:var(--kmw-yellow,#FFD60A);
  color:#0A2E5C;
}
/* === End KMW Inline Buttons === */
