:root{
  --primary:#0B3B5E;
  --accent:#0E6BA8;
  --pp-green:#6BC048;
  --pp-green-light:#A0D468;
  --text:#0f172a;
  --muted:#475569;
  --bg:#ffffff;
  --bg-alt:#f6f8fb;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}

.container{width:min(1200px,92%);margin:0 auto}
.narrow{width:min(920px,92%)}

/* --- Global image safety --- */
img { max-width: 100%; height: auto; }

/* --- Header & Logo --- */
.site-header {
  position: sticky; top: 0; z-index: 1000;
  background: #ffffff;
  border-bottom: 1px solid rgba(10,47,78,0.08);
  backdrop-filter: saturate(120%) blur(2px);
}
.header-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
  height: 96px; /* taller header so the logo can breathe */
  max-width: 1200px; margin: 0 auto; padding: 0 24px;
}
.logo { display:inline-flex; align-items:center; text-decoration:none; }
.logo img {
  height: 72px; /* bigger nav logo */
  width: auto; display: block;
}

/* --- Navigation --- */
.main-nav { display: flex; gap: 1.2rem; align-items: center; }
.main-nav a {
  color: var(--text);
  text-decoration: none;
  font-weight: 600;
  opacity: .85;
}
.main-nav a:hover {
  opacity: 1;
  color: var(--accent);
}

.nav-toggle{display:none;background:none;border:0;cursor:pointer}
.nav-toggle span{display:block;width:22px;height:2px;background:#333;margin:5px 0}

/* --- Hero grid (two columns) --- */
.hero { 
  padding: 84px 0; 
  background: linear-gradient(135deg,#0b3b5e 0%, #0E6BA8 45%, #1F8A70 100%);
  color: #fff; 
  border-bottom: 1px solid #0b3b5e;
}
.hero-grid {
  display: grid; 
  grid-template-columns: 1.1fr .9fr; 
  gap: 2rem; 
  align-items: center;
}
.hero-text h1 { 
  font-size: clamp(34px,5.2vw,56px); 
  line-height: 1.1; 
  margin: 0 0 .6rem; 
  font-weight: 800; 
}
.hero-text p { font-size: 1.15rem; opacity: .95; margin: 0 0 1.2rem; }
.hero .btn { border-color: #ffffff33; color: #fff; }
.hero .btn.primary { background: #fff; color: #0b3b5e; border-color: #fff; }
.hero .btn.primary:hover { background: #e6eef7; }

.hero-graphic { display: flex; justify-content: flex-end; align-items: center; }
.hero-graphic .logo-hero {
  max-width: 320px;  /* controls hero logo size */
  width: 100%; height: auto; display: block;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,.25));
}

.cta-row{display:flex;gap:.9rem;flex-wrap:wrap}

.btn{
  display:inline-block;
  border:1px solid #c9d6e3;
  padding:.7rem 1.05rem;
  border-radius:10px;
  text-decoration:none;
  font-weight:700;
  letter-spacing:.2px;
  transition:.2s transform ease;
}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--pp-green);border-color:var(--pp-green);color:#052e16}
.btn.primary:hover{background:var(--pp-green-light);border-color:var(--pp-green-light)}

.framing{padding:40px 0}
.framing .lede{color:#0b3b5e;font-weight:800}
.inline-list{display:flex;flex-wrap:wrap;gap:.6rem .9rem;margin:.8rem 0 0;padding:0;list-style:none}
.inline-list a{color:#0E6BA8;text-decoration:none;border-bottom:1px dashed #0E6BA855}
.inline-list a:hover{border-bottom-color:#0E6BA8}

.why{padding:56px 0}
.grid.thirds{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.feature-card{background:#fff;border:1px solid #e8eef5;border-radius:14px;padding:1rem;box-shadow:0 6px 18px rgba(2,12,27,.04)}

.page-head{padding:40px 0 14px}
.page-head h1{margin:.2rem 0;font-size:2rem}
.page-head p{color:var(--muted)}

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin:1rem 0 3rem}
.service-card{background:#fff;border:1px solid #e7edf3;border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.6rem;box-shadow:0 8px 22px rgba(2,12,27,.04)}
.service-card h2{font-size:1.15rem;margin:.2rem 0;color:var(--primary)}
.service-card .blurb{margin:0;color:#0f172a;font-weight:500}
.service-card .more{color:var(--muted)}
.service-card .who{margin:.6rem 0}
.service-card .card-actions{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:.6rem}
.link{background:none;border:0;color:var(--accent);text-decoration:underline;cursor:pointer;font-weight:700;padding:0}

.downloads-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.downloads-list li{background:#fff;border:1px solid #e7edf3;border-radius:14px;padding:1rem;box-shadow:0 6px 18px rgba(2,12,27,.04)}

.bullets{line-height:1.7}
.bio-grid{display:grid;grid-template-columns:220px 1fr;gap:1.2rem;align-items:start;margin-top:.6rem}
.headshot{width:220px;height:auto;border-radius:14px;box-shadow:0 12px 30px rgba(2,12,27,.12)}
.headshot.small{width:140px}

.contact-grid{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin:1rem 0 3rem}
.contact-form label{display:block;margin:0 0 .9rem}
.contact-form span{display:block;font-weight:700;margin:0 0 .35rem}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:.7rem;border:1px solid #c9d6e3;border-radius:10px}
.contact-side p{margin:.3rem 0}

.site-footer{border-top:1px solid #e7edf3;margin-top:40px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;padding:20px 0}
.footer-nav{display:flex;gap:1rem}
.footer-nav a{text-decoration:none;color:var(--text);opacity:.85}
.footer-nav a:hover{opacity:1;color:var(--accent)}

.legal h1{margin-top:.2rem}
.legal h2{margin-top:1.4rem}

/* --- Responsive tweaks --- */
@media (max-width: 1100px){
  .header-inner { height: 84px; }
  .logo img { height: 60px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-graphic { display: none; }
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .grid.thirds{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr}
  .bio-grid{grid-template-columns:1fr;justify-items:center;text-align:left}
  .headshot{width:200px}
}
@media (max-width: 768px){
  .header-inner { height: 72px; padding: 0 16px; }
  .logo img { height: 52px; }
}
@media (max-width: 640px){
  .main-nav{display:none;position:absolute;right:1rem;top:64px;background:#fff;border:1px solid #e7edf3;border-radius:10px;flex-direction:column;gap:.6rem;padding:.6rem .8rem}
  .nav-toggle{display:block}
  .services-grid{grid-template-columns:1fr}
  .downloads-list{grid-template-columns:1fr}
}
@media (max-width: 520px){
  .header-inner { height: 64px; }
  .logo img { height: 44px; }
}

/* Keep big logo only in header */
.site-header .logo img {
  height: 72px;
  width: auto;
}

/* Footer logo cap */
.site-footer .logo.small {
  height: 28px; /* increased from 22px */
  width: auto;
  display: inline-block;
}
/* Compatibility: if any page uses <img class="logo"> directly */
img.logo { height: 72px; width: auto; display: block; }            /* header default */
.site-footer img.logo, .site-footer .logo.small { height: 28px; }  /* footer cap */
