:root{
  --navy-900:#0A2540;
  --navy-800:#0F3A63;
  --navy-700:#155085;
  --teal-500:#14A6A0;
  --teal-600:#0E8C87;
  --teal-100:#E3F5F4;
  --green-400:#3FBF8F;
  --ink:#1F2937;
  --muted:#5B6472;
  --faint:#8B95A1;
  --line:#E3E8EE;
  --panel:#F4F6F8;
  --bg:#FBFCFD;
  --white:#FFFFFF;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Source Sans 3',sans-serif;color:var(--ink);background:var(--bg);}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;color:var(--navy-800);margin:0;}
p{margin:0;line-height:1.6;}
a{text-decoration:none;color:inherit;}
ul{margin:0;padding:0;list-style:none;}
img{max-width:100%;}
button{font-family:inherit;}
.eyebrow{font-family:'Space Grotesk',sans-serif;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:var(--teal-600);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 30px;border-radius:8px;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:15px;border:2px solid transparent;cursor:pointer;white-space:nowrap;}
.btn-primary{background:var(--teal-500);color:#fff;}
.btn-primary:hover{background:var(--teal-600);}
.btn-outline{background:transparent;border-color:var(--navy-800);color:var(--navy-800);}
.btn-outline:hover{background:var(--navy-800);color:#fff;}
.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.55);color:#fff;}
.btn-outline-light:hover{background:rgba(255,255,255,.12);}
.btn-light{background:#fff;color:var(--navy-800);}
.btn-light:hover{background:var(--teal-100);}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;}
.chip{display:inline-flex;align-items:center;padding:9px 18px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:14px;color:var(--navy-800);font-weight:600;}
.tag{display:inline-flex;padding:5px 12px;border-radius:6px;background:var(--navy-900);color:var(--teal-500);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;}
.stat-box{background:var(--navy-900);border-radius:12px;padding:22px 20px;text-align:center;}
.stat-num{font-family:'Space Grotesk',sans-serif;font-size:30px;font-weight:700;color:var(--teal-500);line-height:1;}
.stat-label{font-size:11.5px;color:#C7D2DE;text-transform:uppercase;letter-spacing:.06em;margin-top:8px;font-weight:600;}
label{font-size:14px;font-weight:600;color:var(--navy-800);display:block;margin-bottom:7px;font-family:'Space Grotesk',sans-serif;}
input,select,textarea{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:8px;font-family:'Source Sans 3',sans-serif;font-size:15px;color:var(--ink);background:#fff;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal-500);}
.nav-link{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:15px;color:var(--navy-800);padding:8px 2px;}
.nav-link:hover{color:var(--teal-600);}
.nav-link.active{color:var(--teal-600);}
.svc-list{display:flex;flex-direction:column;gap:11px;margin-top:4px;}
.svc-item{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--ink);}
.proj-card{display:flex;flex-direction:column;gap:8px;}
.proj-tag{display:inline-flex;align-self:flex-start;padding:4px 10px;border-radius:5px;background:var(--navy-900);color:var(--teal-500);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px;}
.contact-row{display:flex;gap:14px;align-items:flex-start;}
.icon-badge{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}

/* ---------- Responsive layer ---------- */
@media (max-width: 980px){
  [style*="grid-template-columns: repeat("]{ grid-template-columns: 1fr !important; }
  [style*="display: flex"][style*="gap: 72px"]{ flex-direction: column !important; }
  [style*="display: flex"][style*="gap: 64px"]{ flex-direction: column !important; }
  [style*="display: flex"][style*="gap: 32px"]{ flex-direction: column !important; }
  [style*="display: flex"][style*="gap: 24px"]{ flex-direction: column !important; }
  [style*="flex: 1"]{ flex: none !important; width: 100% !important; }

  [style*="padding: 0 96px"]{ padding: 0 24px !important; }
  [style*="padding: 88px 96px"]{ padding: 52px 24px !important; }
  [style*="padding: 72px 96px"]{ padding: 44px 24px !important; }
  [style*="padding: 64px 96px"]{ padding: 40px 24px !important; }
  [style*="padding: 60px 96px"]{ padding: 40px 24px !important; }
  [style*="padding: 56px 96px"]{ padding: 36px 24px !important; }
  [style*="padding: 40px 96px"]{ padding: 28px 20px !important; }
  [style*="padding: 20px 96px"]{ padding: 20px 20px !important; }
  [style*="padding: 72px 96px 36px"]{ padding: 44px 24px 24px !important; }
  [style*="padding: 64px 96px 32px"]{ padding: 40px 24px 24px !important; }
  [style*="padding: 0 96px 32px"]{ padding: 0 24px 24px !important; }

  [style*="gap: 40px"]{ display: none !important; }

  h1{ font-size: 32px !important; line-height: 1.15 !important; }
  h2{ font-size: 24px !important; }
  [style*="font-size: 52px"]{ font-size: 32px !important; }
  [style*="font-size: 42px"]{ font-size: 28px !important; }
  [style*="font-size: 40px"]{ font-size: 27px !important; }
  [style*="font-size: 38px"]{ font-size: 26px !important; }
  [style*="font-size: 36px"]{ font-size: 25px !important; }

  [style*="justify-content: space-between"]{ align-items: flex-start !important; }
}

@media (max-width: 620px){
  .btn{ width: 100%; }
}
