:root{
  --brand-blue:#0047AB;
  --text:#111;
  --muted:#333;
  --bg:#f9f9f9;
  --blue-100:#E8F2FF;
  --yellow-100:#FFF7E0;
  --green-100:#E9F8EF;
  --radius:8px;
  --shadow:0 4px 10px rgba(0,0,0,0.05);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Lato',system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial,sans-serif;color:var(--muted);background:var(--bg);line-height:1.6}
img{max-width:100%;height:auto;}

.container{width:92%;max-width:1000px;margin:0 auto;padding:0 1rem}

/* Skip link */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;background:#fff;border:2px solid var(--brand-blue);padding:.5rem 1rem;border-radius:6px;z-index:999}

/* Header / Nav */
.site-header{background:#fff;border-bottom:1px solid #e6e6e6}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0}
.site-logo{font-weight:900;font-size:1.25rem;letter-spacing:.5px;color:var(--text)}
.site-logo a{color:inherit;text-decoration:none}

.site-nav ul{list-style:none;display:flex;gap:.75rem;flex-wrap:wrap}
.site-nav a{display:inline-block;padding:.4rem .6rem;border-radius:6px;text-decoration:none;color:var(--text);font-weight:700}
.site-nav a:hover,.site-nav a:focus{background:#eef5ff;color:var(--brand-blue)}
.site-nav a.active{color:#fff;background:var(--brand-blue)}

/* Hero */
.hero{padding:2rem 0;text-align:left;background:#fff}
.hero-content{display:block;position:relative}
.hero h1{font-size:2rem;margin-bottom:.25em;color:var(--text)}
.hero p.lead{font-size:1.1rem;margin-bottom:1rem}
.hero .cta-row{margin-top:1rem}
.hero .btn{margin-right:.5rem}

.hero-img{max-width:42%;float:right;margin-left:1rem;margin-bottom:1rem;border-radius:var(--radius);box-shadow:var(--shadow)}

/* Logo (bouncy) */
.logo{max-width:120px;margin:.5rem auto;display:block;background:transparent;animation:subtleBounce 1s infinite alternate ease-in-out}
@keyframes subtleBounce{from{transform:translateY(0)}to{transform:translateY(6px)}}
.logo-block{padding:1rem 0;text-align:center;background:transparent}

/* Sections */
.intro,.about-hero,.logo-section{background:#fff;padding:1.25rem 0}
.left-align .container{max-width:900px}
.left-align p{margin-bottom:1rem}

.service-links{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}
.domain-link a{text-decoration:none;font-weight:900}
.domain-link.financial a{color:#0a4da7}
.domain-link.health a{color:#8a6e00}
.domain-link.community a{color:#1a7842}

.service-block{padding:1rem 1.25rem;margin:1.25rem auto;text-align:left;max-width:900px;border-radius:var(--radius);box-shadow:var(--shadow)}
.section-blue{background:var(--blue-100)}
.section-yellow{background:var(--yellow-100)}
.section-green{background:var(--green-100)}
.service-block h2{margin-bottom:.25rem}
.service-block p{margin:.5rem 0}

.service-list{padding-left:1.25rem;margin-top:.25rem;margin-bottom:.75rem}
.service-list li{margin-bottom:.4rem;line-height:1.5}

/* Buttons & links */
a{transition:color .2s ease, background-color .2s ease}
a:hover,a:focus{text-decoration:underline}

.btn,.btn-intake{display:inline-block;padding:.75rem 1rem;border-radius:8px;background:var(--brand-blue);color:#fff;text-decoration:none;font-weight:800;box-shadow:var(--shadow)}
.btn:hover,.btn:focus,.btn-intake:hover,.btn-intake:focus{background:#003480;color:#fff;text-decoration:none}

/* Footer */
.site-footer{padding:1rem 0;background:#fff;border-top:1px solid #e6e6e6;text-align:center;font-size:.95rem}
.site-footer small{display:block;margin-top:.25rem;color:#666}

/* Type scale */
h1{font-size:2rem;margin-bottom:.5em}
h2{font-size:1.5rem;margin-bottom:.5em;color:var(--text)}
h3{font-size:1.25rem;margin:.75rem 0 .25rem;color:var(--text)}
p{margin-bottom:1rem}

/* Utilities */
.centered{text-align:center}
.left-align{text-align:left}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;clip:rect(0 0 0 0);overflow:hidden}

/* Responsive */
@media (max-width: 768px){
  .hero-img{float:none;display:block;margin:1rem auto 0;max-width:100%}
  h1{font-size:1.6rem}
  h2{font-size:1.3rem}
  h3{font-size:1.1rem}
}
