:root{
  --navy:#14213d;
  --orange:#FCA311;
  --paper:#ffffff;
  --paper-alt:#f2f2f2;
  --hairline:#e5e5e5;
  --text:#333333;
  --muted:#6b7280;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,"system-ui","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--text);
  background:var(--paper);
  line-height:1.6;
  font-size:16px;
}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
a{color:var(--navy)}
h1,h2,h3{font-family:mundial,sans-serif;font-weight:700;color:var(--navy);line-height:1.2;margin:0 0 14px}
h1{font-size:2.5rem}
h2{font-size:2rem}
h3{font-size:1.15rem}
.hl{color:var(--orange)}
.lede{font-family:mundial,sans-serif;font-size:1.2rem;color:var(--navy);max-width:640px;opacity:.85}

.utility-bar{background:var(--hairline)}
.utility-inner{padding:8px 24px;display:flex;justify-content:flex-end}
.utility-contact{display:flex;gap:20px}
.utility-contact a{color:var(--navy);text-decoration:none;font-size:.85rem}

.site-header{background:var(--paper);border-bottom:1px solid var(--hairline)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px}
.logo{height:64px;width:auto;display:block}
.logo.small{height:48px;margin-bottom:10px}
.logo-link{display:block}
.site-header nav{display:flex;gap:24px;flex-wrap:wrap}
.site-header nav a{color:var(--navy);text-decoration:none;font-size:.95rem;font-weight:600}
.site-header nav a:hover,.site-header nav a.active{color:var(--orange)}

.hero{padding:64px 0 56px}
.hero h1{max-width:760px}
.hero .lede{color:var(--navy)}

.button{
  display:inline-block;background:var(--orange);color:#fff;text-decoration:none;
  font-family:mundial,sans-serif;padding:16px 28px;border-radius:10px;font-weight:400;margin-top:20px;
}
.button:hover{opacity:.92}
.cta-row{margin-top:8px}

.stats{background:var(--navy);color:#fff;padding:32px 0}
.stats-grid{display:flex;gap:40px;flex-wrap:wrap;justify-content:space-around;text-align:center}
.stats-grid strong{display:block;font-family:mundial,sans-serif;font-size:1.8rem;color:var(--orange)}
.stats-grid span{color:#cbd3e1;font-size:.9rem}

.pillars{padding:56px 0;background:var(--paper-alt)}
.pillar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;margin-top:28px}
.pillar{background:#fff;border:1px solid var(--hairline);border-radius:6px;padding:22px}
.pillar p{color:var(--muted);margin:0}

.quote-strip{background:#fff;padding:48px 0}
blockquote{font-family:mundial,sans-serif;font-size:1.25rem;color:var(--navy);margin:0;max-width:780px}
blockquote cite{display:block;margin-top:14px;font-family:-apple-system,sans-serif;font-style:normal;color:var(--muted);font-size:.95rem}

.closing{padding:8px 0 64px;text-align:center}

.page-header{background:var(--paper-alt);border-bottom:1px solid var(--hairline);padding:56px 0}

.services-list{padding:48px 0}
.services-list .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.service{background:#fff;border:1px solid var(--hairline);border-radius:6px;padding:22px}
.service p{color:var(--muted);margin:0}

.process{background:var(--paper-alt);padding:48px 0}

.about-body{padding:48px 0;max-width:760px}
.about-body p{color:var(--text)}

.story{padding:48px 0}
.big-quote{background:var(--paper-alt);border:1px solid var(--hairline);border-radius:6px;padding:28px;margin-bottom:24px}

.contact-body{padding:48px 0}
.contact-grid{display:flex;gap:48px;flex-wrap:wrap;margin-bottom:8px}
.fine-print{color:var(--muted);font-size:.9rem;margin-top:14px}

.site-footer{background:var(--navy);color:#cbd3e1;margin-top:40px}
.footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:36px 0}
.footer-inner .logo{filter:brightness(0) invert(1)}
.footer-inner a{color:#fff}
.footer-inner p{margin:4px 0}
.copyright{border-top:1px solid rgba(255,255,255,.12);padding:16px 0;font-size:.85rem;color:#8b97ab}

@media (max-width:640px){
  .header-inner{flex-direction:column;align-items:flex-start;gap:10px}
  .utility-inner{justify-content:flex-start}
  .hero h1{font-size:2rem}
}
