
:root{
  --sky:#c9e6f4;
  --blue:#6d95aa;
  --deep:#19303b;
  --yellow:#f7c729;
  --white:#ffffff;
  --ink:#21333d;
  --soft:#eef6fa;
  --border:rgba(25,48,59,.13);
  --shadow:0 14px 40px rgba(25,48,59,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.6;
}
a{color:inherit}
img{max-width:100%;display:block}
.container{width:min(1120px,92%);margin:0 auto}

.site-header{
  position:sticky;top:0;z-index:10;
  background:rgba(201,230,244,.96);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(25,48,59,.08);
}
.header-inner{
  min-height:82px;
  display:flex;align-items:center;gap:28px;
}
.brand{
  margin-right:auto;
  font-size:1.35rem;font-weight:800;
  text-decoration:none;color:var(--deep);
  white-space:nowrap;
}
.nav{
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;
}
.nav a{
  text-decoration:none;font-weight:600;font-size:.94rem;
}
.nav a:hover,.nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
.cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:0 18px;border-radius:4px;
  text-decoration:none;font-weight:700;letter-spacing:.04em;
  background:var(--blue);color:white;
}
.cta.alt{background:var(--deep)}
.mobile-links{display:none}

.hero{
  background:var(--sky);
  padding:72px 0 64px;
  text-align:center;
}
.hero-logo{width:min(280px,60vw);margin:0 auto 22px}
.hero h1{font-size:clamp(2.3rem,6vw,4.6rem);line-height:1.05;margin:0;color:var(--blue)}
.hero p{font-size:clamp(1.15rem,2.5vw,1.8rem);margin:22px 0 0;color:var(--blue)}

.section{padding:72px 0}
.section.tint{background:var(--blue);color:white}
.section.soft{background:var(--soft)}
.section h1,.section h2,.section h3{line-height:1.2}
.section-title{text-align:center;font-size:clamp(1.8rem,4vw,2.7rem);margin:0 0 14px}
.section-lede{max-width:760px;margin:0 auto 38px;text-align:center;font-size:1.08rem}

.stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  margin-top:36px;
}
.card{
  background:white;color:var(--ink);border-radius:14px;padding:28px;
  border:1px solid var(--border);box-shadow:var(--shadow);
}
.card h3{margin-top:0}
.stat{text-align:center}
.stat .icon{font-size:2rem;margin-bottom:10px}

.gallery{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px;
}
.gallery img{
  width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;
}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:34px}
.person{display:flex;gap:20px;align-items:center}
.person img{
  width:128px;height:128px;object-fit:cover;border-radius:14px;
  background:var(--soft);
}
.placeholder{
  width:128px;height:128px;border-radius:14px;background:var(--sky);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:2rem;color:var(--blue);flex:0 0 auto;
}
.person h3{margin:0 0 5px}
.person p{margin:3px 0}
.person a{color:var(--blue)}

.action-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.page-hero{background:var(--sky);padding:62px 0;text-align:center}
.page-hero h1{font-size:clamp(2.2rem,5vw,4rem);margin:0;color:var(--deep)}
.page-hero p{max-width:780px;margin:18px auto 0;font-size:1.08rem}

.list-card{margin-top:22px}
.list-card h2{margin-top:0}
.contact-box{max-width:760px;margin:0 auto}
.contact-row{padding:20px 0;border-bottom:1px solid var(--border)}
.contact-row:last-child{border-bottom:0}

.disclosure-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.muted-note{font-size:.93rem;opacity:.75}

footer{
  background:var(--deep);color:#dbe8ee;text-align:center;padding:42px 0;
}
footer p{margin:6px 0}
footer a{color:white}

@media (max-width:900px){
  .header-inner{align-items:flex-start;padding:18px 0;flex-wrap:wrap}
  .brand{width:100%;margin-right:0}
  .nav{width:100%;gap:14px}
  .nav .cta{display:none}
  .mobile-links{display:flex;gap:10px;width:100%}
  .stats,.gallery,.team-grid,.two-col,.disclosure-grid{grid-template-columns:1fr}
  .person{align-items:flex-start}
}
