:root {
  --navy: #061d31;
  --blue: #0065a8;
  --aqua: #1386bd;
  --cream: #f1f3f5;
  --ink: #14202a;
  --muted: #64717c;
  --line: #d5dbe0;
}

body { background: #f8f9fa; }
.site-header { background: rgba(6, 29, 49, .97); border-bottom-color: rgba(255,255,255,.1); }
.site-header nav { color: #dfeaf2; }
.site-header nav a:hover { color: #58b7e4; }
.brand-logo img { width: 136px; height: 58px; object-fit: contain; }
.site-header .brand-logo img { object-position: left center; }
.site-header .button { background: #0879b5; box-shadow: none; }
.button { background: #0879b5; box-shadow: 0 10px 25px rgba(0,101,168,.18); }
.button:hover { background: #005e9c; }
.eyebrow { color: #0879b5; }
.hero h1 em { color: #0879b5; }
.trust-list li::before { color: #0879b5; }
.services span,.process b { color: #0879b5; }
.projects { background: #061d31; }
.projects .eyebrow,.project-grid figcaption span { color: #5ab7e4; }
.contact { background: linear-gradient(125deg,#061d31,#005f99); }

.standards {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  background: #fff;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 0 max(6vw,30px);
}
.standards div { display:flex; gap:15px; align-items:center; padding:25px 18px; border-right:1px solid var(--line); }
.standards div:last-child { border-right:0; }
.standards b { color:#0879b5; font-size:11px; }
.standards span { color:var(--navy); font-size:13px; font-weight:800; }

.quick-quote { display:grid; grid-template-columns:.9fr 1.1fr; gap:8vw; background:#e9edf0; align-items:start; }
.quick-quote h2 { font-size:clamp(30px,4vw,50px); line-height:1.16; letter-spacing:-.035em; color:var(--navy); margin:0 0 20px; }
.quick-quote-copy>p:last-child { color:var(--muted); }
.quote-form { background:#fff; padding:30px; display:grid; grid-template-columns:1fr 1fr; gap:18px; box-shadow:0 20px 55px rgba(6,29,49,.08); }
.quote-form label { font-size:12px; font-weight:800; color:var(--navy); }
.quote-form label:nth-child(4),.quote-form .button,.form-status { grid-column:1/-1; }
.quote-form input,.quote-form select,.quote-form textarea { display:block; width:100%; margin-top:7px; border:1px solid #cfd7dd; padding:12px 13px; background:#fbfcfc; font:inherit; font-size:14px; color:var(--ink); border-radius:3px; }
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus { outline:2px solid rgba(8,121,181,.18); border-color:#0879b5; }
.form-status { margin:0; min-height:18px; font-size:12px; color:#426276; }
.faq { background:#fff; }
.faq-list { border-top:1px solid var(--line); }
.faq details { border-bottom:1px solid var(--line); padding:22px 0; }
.faq summary { cursor:pointer; list-style:none; color:var(--navy); font-weight:800; padding-right:35px; position:relative; }
.faq summary::after { content:'+'; position:absolute; right:5px; color:#0879b5; font-size:20px; top:-4px; }
.faq details[open] summary::after { content:'–'; }
.faq details p { max-width:850px; color:var(--muted); margin:14px 0 2px; }
.brand-footer img { width:120px; height:52px; }
footer { background:#061d31; color:#b8c7d2; }

@media(max-width:900px){
  .standards { grid-template-columns:1fr 1fr; }
  .standards div:nth-child(2) { border-right:0; }
  .standards div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .quick-quote { grid-template-columns:1fr; }
}
@media(max-width:560px){
  .brand-logo img { width:112px; height:50px; }
  .standards { grid-template-columns:1fr; padding:0 24px; }
  .standards div,.standards div:nth-child(2) { border-right:0; border-bottom:1px solid var(--line); }
  .quote-form { grid-template-columns:1fr; padding:22px; }
  .quote-form label,.quote-form label:nth-child(4) { grid-column:1; }
}
