:root{
  --max: 1040px;
  --pad: 18px;
  --fg: #3d5261;
  --muted: #527A8A;
  --line: #C8DDE5;
  --bg: #FFFFFF;
  --bg2: #EAF2F5;
  --accent: #1E5271;
  --header-bg: #2A6F8A;
  --crimson: #AC2B37;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  color:var(--fg);
  background:var(--bg);
  line-height:1.55;
}
a{color:var(--accent)}
.container{max-width:var(--max); margin:0 auto; padding:var(--pad);}

.site-header{
  background:var(--header-bg);
  position:sticky; top:0;
  z-index:10;
}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:16px;}
.site-title{font-family:'League Spartan',sans-serif; font-weight:600; text-decoration:none; display:flex; align-items:center; gap:8px; font-size:34pt; color:#fff;}
.header-logo{height:60px; width:auto; display:block; background:#fff; border-radius:8px; padding:3px 6px;}
.site-nav a{
  text-decoration:none;
  margin-left:12px;
  color:rgba(255,255,255,0.82);
  padding:6px 8px;
  border-radius:8px;
}
.site-nav a.active, .site-nav a:hover{
  color:#fff;
  background:rgba(255,255,255,0.18);
}

.page-header{margin: 12px 0 18px;}
.page-title{margin:0 0 6px;}
.page-subtitle{margin:0; color:var(--muted);}

.lead{font-size:1.12rem; color:var(--muted);}
.h3{font-size:1.1rem; margin:0 0 10px;}

.hero{
  display:grid;
  grid-template-columns: 1.6fr 1fr;
  gap:18px;
  align-items:start;
}
.hero-card{
  border:1px solid var(--header-bg);
  border-radius:16px;
  padding:14px;
  background:var(--header-bg);
  color:#fff;
  margin-top:24px;
}
.hero-card a{color:#fff;}
.hero-card .muted{color:rgba(255,255,255,0.75);}

.cta-row{display:flex; gap:10px; margin:12px 0 10px;}
.button{
  display:inline-block;
  text-decoration:none;
  background:var(--crimson);
  color:#fff;
  border:1px solid var(--crimson);
  padding:8px 12px;
  border-radius:12px;
}
.button:hover{background:#8e2030; border-color:#8e2030; color:#fff;}
.button-secondary{
  background:var(--bg2);
  color:var(--accent);
  border-color:var(--line);
}
.button-secondary:hover{background:var(--line); color:var(--accent);}

.quick-facts{margin-top:10px; color:var(--muted);}
.muted{color:var(--muted);}

.cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:14px;
}
.card{
  display:block;
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  background:var(--bg2);
  color:var(--fg);
  text-decoration:none;
  box-shadow: 0 1px 0 rgba(0,0,0,0.02);
}
.card:hover{background:var(--line); color:var(--fg);}
.card .muted{color:var(--muted);}

.person-photo{
  width:100%;
  max-width:260px;
  max-height:260px;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center top;
  border-radius:8px;
  margin-bottom:10px;
  display:block;
}

.clean-list{list-style:none; padding-left:0; margin:0;}
.clean-list li{padding:10px 0; border-bottom:1px solid var(--line);}
.news-item{padding:12px 0;}

.tags{margin-top:8px;}
.tag{
  display:inline-block;
  border:1px solid var(--line);
  padding:2px 8px;
  border-radius:999px;
  font-size:0.85em;
  margin-right:6px;
  color:var(--muted);
}

.site-footer{
  border-top:1px solid var(--line);
  margin-top:36px;
  background:var(--bg2);
}
.footer-inner{padding:18px;}
.footer-logos{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
  margin-bottom:12px;
}
.footer-logos-left{display:flex; align-items:center; gap:16px;}
.footer-logos-right{display:flex; align-items:center;}
.footer-logos a{text-decoration:none;}
.footer-logos a:hover{opacity:0.8;}
.footer-logo{width:auto; display:block;}
.footer-logo-wpi{height:42px;}
.footer-logo-mbi{height:30px;}
.footer-logo-techhub{height:42px;}

@media (max-width: 900px){
  .hero{grid-template-columns:1fr;}
  .cards{grid-template-columns:1fr;}
  .site-nav{display:flex; flex-wrap:wrap; justify-content:flex-end;}
}
