: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}
.eyebrow{
  font-family:mundial,sans-serif;font-size:.8rem;font-weight:700;color:var(--orange);
  letter-spacing:.12em;margin:0 0 10px;
}

.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;position:relative;padding-bottom:4px}
.site-header nav a:hover,.site-header nav a.active{color:var(--orange)}
.site-header nav a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--orange);
}

.hero{padding:64px 0 56px;position:relative;overflow:hidden}
.hero::before{
  content:"";position:absolute;top:-120px;right:-120px;width:340px;height:340px;
  background:radial-gradient(circle, rgba(252,163,17,.16) 0%, rgba(252,163,17,0) 70%);
  border-radius:50%;
}
.hero .wrap{position:relative}
.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;
  box-shadow:0 6px 16px rgba(252,163,17,.30);
  transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.button:hover{opacity:.96;transform:translateY(-2px);box-shadow:0 10px 20px rgba(252,163,17,.38)}
.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:64px 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-top:3px solid var(--orange);
  border-radius:8px;padding:24px;box-shadow:0 1px 3px rgba(20,33,61,.05);
  transition:transform .15s ease, box-shadow .15s ease;
}
.pillar:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(20,33,61,.08)}
.pillar p{color:var(--muted);margin:0}

.check-icon{
  display:inline-block;width:26px;height:26px;border-radius:50%;background:var(--navy);
  margin-bottom:14px;position:relative;
}
.check-icon::after{
  content:"";position:absolute;left:8px;top:5px;width:6px;height:11px;
  border:solid var(--orange);border-width:0 2px 2px 0;transform:rotate(45deg);
}

.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:56px 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-top:3px solid var(--orange);
  border-radius:8px;padding:24px;box-shadow:0 1px 3px rgba(20,33,61,.05);
  transition:transform .15s ease, box-shadow .15s ease;
}
.service:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(20,33,61,.08)}
.service p{color:var(--muted);margin:0}

.process{background:#fff;padding:56px 0}

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

.story{padding:56px 0}
.big-quote{
  background:var(--paper-alt);border:1px solid var(--hairline);border-left:3px solid var(--orange);
  border-radius:8px;padding:28px;margin-bottom:24px;
}

.contact-body{padding:56px 0}
.contact-grid{display:grid;grid-template-columns:2fr 1fr;gap:40px;align-items:start}
.contact-form-wrap{background:#fff;border:1px solid var(--hairline);border-radius:8px;padding:8px;box-shadow:0 1px 3px rgba(20,33,61,.05)}
.contact-side h3{margin-bottom:4px}
.contact-side p{margin:0 0 20px}
@media (max-width:760px){
  .contact-grid{grid-template-columns:1fr}
}

.site-footer{background:var(--navy);color:#cbd3e1;margin-top:40px}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;padding:40px 0}
.footer-inner .logo{filter:brightness(0) invert(1)}
.footer-brand p{color:#9aa6ba;max-width:320px}
.footer-label{
  font-family:mundial,sans-serif;font-size:.75rem;font-weight:700;color:var(--orange);
  letter-spacing:.1em;margin:0 0 14px;text-transform:uppercase;
}
.footer-col{display:flex;flex-direction:column;gap:10px}
.footer-inner a{color:#fff;text-decoration:none}
.footer-inner a:hover{color:var(--orange)}
.footer-inner p{margin:4px 0}
@media (max-width:760px){
  .footer-inner{grid-template-columns:1fr}
}
.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}
}
