:root{
  --bg-green:#69c39d;
  --blue:#0b5bd3;
  --navy:#153A62;
  --white:#ffffff;
  --text:#153A62;
  --muted:rgba(10,34,64,.8);
  --container:1100px;
  --radius:999px;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg-green);
}

/* layout */
.container{
  width:min(100% - 32px, var(--container));
  margin-inline:auto;
}
.margin0{margin: 0;}
/* HEADER */
.site-header{
  padding:18px 0;
}
.header-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.brand-logo{ height:40px; width:auto; }

/* BUTTONS */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  border-radius:999px;
  font-weight:600;
  text-decoration:none;
  line-height:1;
  white-space:nowrap;
}
.btn--ghost{
  border:1.5px solid var(--white);
  color:var(--white);
  background:transparent;
}
.btn--primary{
  background:var(--navy);
  color:var(--white);
  padding:12px 18px;
}
.btn-icon{
  display:inline-grid;
  place-items:center;
  width:26px;height:26px;
  border-radius:50%;
  background:#11335c;
}

/* HERO */
.hero{ padding:28px 0 8px; }
.hero--compact{ padding-top:22px; padding-bottom:40px; }

.hero-inner{ text-align:center; }
.hero-inner--left{
  text-align:left;
  max-width:720px;
}

.hero-pills{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
}
.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 12px;
  border-radius:var(--radius);
  font-weight:600;
}
.pill--white{
  color:var(--white);
  border: 1px solid var(--white);
}
.pill--blue{
  color:var(--blue);
  border: 1px solid var(--blue);
}

.pill--circle{
  width:65px;height:65px;padding:0;
  background:#f25a5a;
  color:#fff;
  font-weight:800;
}

.hero-title{
  margin:0 0 12px;
  font-size: clamp(28px, 4vw, 44px);
  font-weight:800;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:center;
}
.hero-title--left{ justify-content:flex-start; }

.title-chip{
  padding:6px 12px;
  border-radius:var(--radius);
}
.title-chip--blue{ background:var(--blue); color:#fff; }
.title-chip--white{ background:#fff; color:var(--bg-green); }
.title-chip--navy{ background:var(--navy); color:#fff; }

.manifest-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#fff;
  text-decoration:none;
  font-weight:600;
}
.manifest-link-icon img{
  width:22px;height:22px;
  margin-top: 6px;
}
.manifest-link-icon--small{ width:18px; height:18px; }

/* MANIFEST */
.manifest{ padding:20px 0 40px; }
.manifest-inner{ max-width:840px; }
.lead{
  font-weight:700;
  color:#fff;
  margin:8px 0 12px;
}
.manifest-body p{
  color:var(--navy);
  margin:0 0 14px;
  font-size:15px;
  line-height:1.55;
}
.manifest-quote{ font-weight:800; margin-top:18px; }
.small{ font-size:12px; color:var(--muted); }
.cta-row{ margin-top:14px; }

/* CAMPANYA */
.campanya-block{
  margin:20px 0 40px;
}
.campanya-title{
  color:#fff;
}
.campanya-lead{
  color:#0a2240;
  font-size:15px;
  line-height:1.55;
  margin:0 0 12px;
  max-width:640px;
}
.campanya-list{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:6px;
  font-size:14px;
}
.campanya-list a{
  color:#0a2240;
  text-decoration:underline;
  text-underline-offset:3px;
}
a{
  color:var(--white);
}
a:hover{
  color:var(--blue);
}
.twhite{
  color: var(--white);
  text-decoration: underline;
}

/* MEMBERS STRIP */
.members{
  background:#fff;
  padding:18px 0 22px;
  margin-top:8px;
}
.members-title{
  margin:0 0 12px;
  font-weight:800;
  color:#d94d4d;
  font-size: 25px;
}
.members-logos{
  display:flex;
  flex-wrap:wrap;
  gap:18px 28px;
  align-items:center;
}
.members-logos a{width: 17%;}
.members-logos img{ height: auto;  width: 100%;}

/* FOOTER */
.site-footer{
  background:var(--navy);
  color:#fff;
  padding:20px 0 26px;
}
.footer-grid{
  display:grid;
  gap:18px;
  grid-template-columns: 1fr 1fr 1fr;
  align-items:start;
}
.footer-logo{ height:48px; width:auto; }
.site-footer h3{
  margin:0 0 8px;
  font-size:13px;
  letter-spacing:.3px;
  text-transform:uppercase;
}
.site-footer p{
  margin:0;
  line-height:1.5;
  opacity:.9;
  color: white;
}

/* RESPONSIVE */
@media (max-width: 900px){
  .footer-grid{ grid-template-columns: 1fr 1fr; }
  .hero-inner--left{ max-width:100%; }
}
@media (max-width: 600px){
  .header-row{ flex-direction:column; align-items:flex-start; }
  .hero-title{ line-height:1.2; }
  .members-logos img{ height:36px; }
  .footer-grid{ grid-template-columns:1fr; }
}
