/* ==========================================================
   RIPI HOMEPAGE — DESIGN V2
   ========================================================== */

:root{
  --blue:#07549a;
  --blue-dark:#053c70;
  --navy:#082f59;
  --green:#16833c;
  --green-dark:#0b672f;
  --orange:#ef7100;
  --purple:#713799;
  --teal:#087c79;
  --text:#19344f;
  --muted:#687d91;
  --soft:#f5f8fb;
  --line:#e3eaf1;
  --white:#fff;
  --shadow:0 20px 55px rgba(7,47,82,.12);
}

html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"DM Sans",sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.7;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:"Manrope",sans-serif;
  font-weight:800;
  line-height:1.14;
}
a{text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1240px}

/* ---------- utility ---------- */
.utility-bar{
  background:var(--navy);
  color:rgba(255,255,255,.68);
  font-size:11px;
  padding:8px 0;
}
.utility-left,.utility-right{display:flex;align-items:center;gap:17px}
.utility-bar i{margin-right:4px}
.utility-bar a{color:rgba(255,255,255,.72)}
.utility-bar a:hover{color:#fff}
.utility-line{width:1px;height:14px;background:rgba(255,255,255,.18)}

/* ---------- header ---------- */
.site-header{
  position:relative;
  z-index:1000;
  background:rgba(255,255,255,.97);
  box-shadow:0 1px 0 rgba(8,47,89,.08);
}
.navbar{min-height:88px}
.navbar-brand img{
  width:157px;
  height:75px;
  object-fit:contain;
  background:#fff;
  mix-blend-mode:multiply;
}
.navbar-nav{gap:2px}
.nav-link{
  color:var(--text)!important;
  font-size:13px;
  font-weight:700;
  padding:12px 13px!important;
  transition:.2s;
}
.nav-link:hover,.nav-link.active{color:var(--blue)!important}
.nav-chevron{
  font-size:9px;
  margin-left:3px;
  transition:transform .2s;
}
.has-hover-menu:hover > .nav-link .nav-chevron{transform:rotate(180deg)}

.nav-action{margin-left:10px}
.btn-donate{
  color:#fff;
  background:var(--orange);
  border:2px solid var(--orange);
  border-radius:7px;
  padding:9px 18px;
  font-size:12px;
  font-weight:800;
  transition:.25s;
}
.btn-donate:hover{
  color:#fff;
  background:#d96100;
  border-color:#d96100;
  transform:translateY(-2px);
}

/* DESKTOP: submenu opens on mouse hover, not click */
@media (min-width:992px){
  .has-hover-menu{position:relative}
  .has-hover-menu > .dropdown-menu{
    display:block;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(12px);
    margin-top:0;
    transition:opacity .18s ease,transform .18s ease,visibility .18s;
  }
  .has-hover-menu:hover > .dropdown-menu,
  .has-hover-menu:focus-within > .dropdown-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  .dropdown-menu{
    min-width:255px;
    padding:10px;
    border:0;
    border-radius:12px;
    box-shadow:var(--shadow);
  }
  .dropdown-programs{min-width:285px}
  .dropdown-item{
    display:flex;
    align-items:center;
    gap:11px;
    border-radius:8px;
    padding:10px 11px;
    color:var(--text);
    font-size:12px;
    font-weight:600;
  }
  .dropdown-item:hover{
    color:var(--blue);
    background:#eef6fc;
  }
  .dropdown-item > span:first-child{
    color:var(--blue);
    font-size:9px;
    font-weight:800;
    min-width:22px;
  }
  .dropdown-programs .dropdown-item > span:first-child{
    width:29px;
    height:29px;
    min-width:29px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:#f0f6fb;
    font-size:14px;
  }
}

/* ---------- hero ---------- */
.hero-v2{
  position:relative;
  overflow:hidden;
  min-height:690px;
  padding:72px 0 95px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(120deg,#f7fbfe 0%,#edf6fb 100%);
}
.hero-grid{
  position:absolute;
  inset:0;
  opacity:.28;
  background-image:
    linear-gradient(rgba(7,84,154,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(7,84,154,.06) 1px,transparent 1px);
  background-size:55px 55px;
  mask-image:linear-gradient(to right,black,transparent 72%);
}
.hero-green-orb{
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  right:-240px;
  bottom:-250px;
  border:70px solid rgba(22,131,60,.06);
}
.hero-v2-content{position:relative;z-index:2}
.hero-kicker{
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--blue);
  font-size:10px;
  font-weight:800;
  letter-spacing:2px;
  margin-bottom:20px;
}
.kicker-line{width:32px;height:3px;background:var(--orange);border-radius:4px}
.hero-v2 h1{
  font-size:clamp(47px,5.7vw,72px);
  color:var(--navy);
  letter-spacing:-3px;
  margin:0 0 24px;
}
.hero-v2 h1 span{color:var(--green)}
.hero-v2-lead{
  max-width:580px;
  color:#60768b;
  font-size:18px;
  line-height:1.7;
  margin-bottom:29px;
}
.hero-buttons{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.btn-primary-ripi{
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:var(--blue);
  color:#fff;
  border:2px solid var(--blue);
  border-radius:8px;
  padding:12px 21px;
  font-size:13px;
  font-weight:800;
  transition:.25s;
}
.btn-primary-ripi:hover{
  color:#fff;
  background:var(--blue-dark);
  border-color:var(--blue-dark);
  transform:translateY(-2px);
}
.btn-text-ripi{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--navy);
  padding:12px 13px;
  font-size:13px;
  font-weight:800;
}
.btn-text-ripi i{color:var(--orange)}
.hero-proof{
  margin-top:40px;
  display:flex;
  align-items:center;
  gap:13px;
}
.proof-avatars{display:flex;padding-left:7px}
.avatar{
  width:32px;
  height:32px;
  margin-left:-7px;
  border:2px solid #fff;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:10px;
  font-weight:800;
}
.avatar-a{background:var(--blue)}
.avatar-b{background:var(--green)}
.avatar-c{background:var(--orange)}
.avatar-d{background:var(--navy)}
.hero-proof strong,.hero-proof small{display:block}
.hero-proof strong{font-size:12px}
.hero-proof small{font-size:10px;color:#7b8d9e}

.hero-v2-visual{
  position:relative;
  max-width:560px;
  margin-left:auto;
}
.hero-main-photo{
  height:535px;
  position:relative;
  overflow:hidden;
  border-radius:12px 95px 12px 95px;
  box-shadow:var(--shadow);
}
.hero-main-photo img{width:100%;height:100%;object-fit:cover}
.photo-gradient{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(4,30,56,.62));
}
.photo-caption{
  position:absolute;
  left:30px;
  bottom:27px;
  color:#fff;
  font-size:9px;
  letter-spacing:1.7px;
  font-weight:800;
}
.caption-dot{
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:7px;
  border-radius:50%;
  background:var(--orange);
}
.hero-stat-card{
  position:absolute;
  left:-35px;
  bottom:38px;
  background:#fff;
  border-radius:13px;
  box-shadow:var(--shadow);
  padding:15px 18px;
  display:flex;
  align-items:center;
  gap:11px;
}
.stat-icon{
  width:42px;height:42px;border-radius:11px;
  display:grid;place-items:center;
  background:#eaf5ed;color:var(--green);
}
.hero-stat-card strong,.hero-stat-card small{display:block}
.hero-stat-card strong{font-size:12px}
.hero-stat-card small{font-size:10px;color:#7b8d9e}
.hero-mini-card{
  position:absolute;
  right:-25px;
  top:42px;
  width:92px;
  height:92px;
  border-radius:14px;
  background:var(--orange);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:10px;
  font-weight:800;
  box-shadow:0 15px 35px rgba(239,113,0,.25);
}
.hero-mini-card i{font-size:21px;margin-bottom:5px}

/* ---------- trust ---------- */
.trust-strip{
  background:var(--blue);
  color:#fff;
}
.trust-intro{
  padding:25px 22px 25px 0;
}
.trust-intro span,.trust-intro strong{display:block}
.trust-intro span{
  font-size:9px;
  letter-spacing:1.8px;
  color:rgba(255,255,255,.55);
  font-weight:800;
}
.trust-intro strong{font-size:20px}
.trust-item{
  min-height:98px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:20px;
  border-left:1px solid rgba(255,255,255,.12);
}
.trust-item>i{font-size:23px;color:#77cc8a}
.trust-item strong,.trust-item small{display:block}
.trust-item strong{font-size:14px}
.trust-item small{font-size:12px;color:rgba(255,255,255,.57)}

/* ---------- common ---------- */
.section-space{padding:110px 0}
.section-kicker{
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--white);
  font-size:10px;
  letter-spacing:1.9px;
  font-weight:800;
  margin-bottom:17px;
}
.section-kicker span{
  width:28px;height:3px;border-radius:4px;background:var(--orange);
}
.section-kicker.green{color:var(--green)}
.section-kicker.light{color:rgba(255,255,255,.65)}
.display-title{
  color:var(--navy);
  font-size:clamp(35px,4.2vw,32px);
  letter-spacing:-2px;
  margin-bottom:22px;
}
.display-title em{font-style:normal;color:var(--green)}
.lead-copy{
  color:#526c83;
  font-size:17px;
  line-height:1.75;
  max-width:580px;
}
.body-copy{
  color:var(--muted);
  font-size:14px;
  max-width:590px;
}
.btn-outline-ripi-v2{
  margin-top:17px;
  border:1.5px solid var(--blue);
  color:var(--blue);
  border-radius:8px;
  padding:11px 18px;
  font-size:12px;
  font-weight:800;
}
.btn-outline-ripi-v2:hover{background:var(--blue);color:#fff}

/* ---------- about ---------- */
.about-v2{background:#fff}
.about-v2-gallery{
  height:570px;
  position:relative;
  padding-right:95px;
  padding-bottom:55px;
}
.about-photo-main{
  height:515px;
  border-radius:12px 12px 90px 12px;
  overflow:hidden;
  position:relative;
  z-index:2;
}
.about-photo-main img{width:100%;height:100%;object-fit:cover}
.about-photo-small{
  position:absolute;
  right:0;
  bottom:0;
  width:245px;
  height:220px;
  border:8px solid #fff;
  border-radius:10px 10px 55px 10px;
  overflow:hidden;
  z-index:3;
  box-shadow:var(--shadow);
}
.about-photo-small img{width:100%;height:100%;object-fit:cover}
.about-year-card{
  position:absolute;
  left:-22px;
  bottom:75px;
  z-index:4;
  background:var(--orange);
  color:#fff;
  width:112px;
  height:112px;
  border-radius:50%;
  display:grid;
  place-items:center;
  text-align:center;
  box-shadow:0 16px 35px rgba(239,113,0,.22);
}
.about-year-card strong{font-size:18px}
.about-year-card span{font-size:9px;line-height:1.3}
.about-circle{
  position:absolute;
  width:150px;height:150px;
  right:80px;top:10px;
  border:1px solid rgba(22,131,60,.25);
  border-radius:50%;
  z-index:0;
}
.about-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:22px;
}
.about-points div{
  display:flex;
  align-items:center;
  gap:8px;
  color:#51697e;
  font-size:11px;
  font-weight:600;
}
.about-points i{
  width:20px;height:20px;border-radius:50%;
  display:grid;place-items:center;
  color:var(--green);
  background:#eaf6ed;
  font-size:11px;
}











/* RIPI PROGRAMS V10 */

.programs-intro{padding:85px 0 70px;background:#fff}
.programs-intro-grid{align-items:end;margin-bottom: 50px;}
.programs-intro h2{color:var(--navy);font-size:41px;line-height:1.15;letter-spacing:-1.8px;margin:12px 0 0}
.programs-intro h2 em{color:var(--green);font-style:normal}
.programs-intro-grid p{color:#7c8e9c;font-size:14px;line-height:1.85;margin:0}
.program-count{display:flex;align-items:baseline;gap:8px;margin-top:15px}.program-count strong{font-size:34px;color:var(--orange)}.program-count span{font-size:8px;color:#8495a2;font-weight:800;letter-spacing:.8px;text-transform:uppercase}

.program-catalogue{padding:0 0 105px;background:#fff}
.program-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:7px;background:#f2f6f8;border:1px solid #e2e9ee;border-radius:11px;margin-bottom:45px;position:sticky;top:75px;z-index:20}
.program-tab{border:0;background:transparent;color:#758795;padding:9px 12px;border-radius:7px;font-size:9px;font-weight:800}
.program-tab span{margin-left:3px;color:#a6b4be;font-size:8px}
.program-tab:hover{color:var(--blue)}
.program-tab.active{background:var(--navy);color:#fff}.program-tab.active span{color:#9eb8cc}
.program-hidden{display:none!important}
.program-group{scroll-margin-top:135px;margin-bottom:80px}
.program-group:last-child{margin-bottom:0}
.group-head{display:grid;grid-template-columns:80px 1fr;gap:22px;align-items:start;margin-bottom:27px}
.group-number{width:60px;height:60px;display:grid;place-items:center;border-radius:14px;background:#eaf3fb;color:var(--blue);font-size:11px;font-weight:900}
.program-group:nth-child(2n) .group-number{background:#eaf6ed;color:var(--green)}
.program-group:nth-child(3n) .group-number{background:#fff1e6;color:var(--orange)}
.group-head>div:nth-child(2)>span{color:var(--green);font-size:8px;letter-spacing:1.5px;font-weight:900}
.group-head h2{color:var(--navy);font-size:29px;line-height:1.2;margin:6px 0 7px;letter-spacing:-1px}
.group-head h2 em{color:var(--green);font-style:normal}
.group-head p{color:#82929f;font-size:10px;margin:0;line-height:1.6}
.program-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.program-cards article{border:1px solid #e0e8ee;border-radius:13px;padding:21px;min-height:185px;transition:.2s;background:#fff}
.program-cards article:hover{transform:translateY(-3px);border-color:#c8dbe8;box-shadow:0 12px 28px rgba(8,47,89,.06)}
.program-cards i{display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:#eaf3fb;color:var(--blue);font-size:17px;margin-bottom:22px}
.program-cards article:nth-child(2) i{background:#eaf6ed;color:var(--green)}
.program-cards article:nth-child(3) i{background:#fff1e6;color:var(--orange)}
.program-cards article:nth-child(4) i{background:#eeeafb;color:#7155a8}
.program-cards h3{color:var(--navy);font-size:13px;margin:0 0 6px}
.program-cards p{color:#8495a2;font-size:14px;line-height:1.6;margin:0}
.knowledge-group .group-number{background:#eef5f8;color:#177d8d}.knowledge-group .program-cards{grid-template-columns:repeat(3,1fr)}

.program-cta{padding:0 0 90px;background:#fff}
.program-cta-inner{padding:50px 55px;border-radius:20px;background:linear-gradient(125deg,#063e70,#07579a);display:flex;align-items:center;justify-content:space-between;gap:40px}
.program-cta-inner>div:first-child>span{color:#79ce89;font-size:7px;letter-spacing:1.5px;font-weight:900}
.program-cta h2{color:#fff;font-size:30px;margin:8px 0}.program-cta h2 em{color:#79ce89;font-style:normal}
.program-cta p{color:rgba(255,255,255,.6);font-size:10px;margin:0}
.program-cta-actions{display:flex;flex-direction:column;gap:8px;min-width:220px}
.program-cta-actions a{padding:12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:7px;color:#fff;font-size:9px;font-weight:800;background:rgba(255,255,255,.06)}
.program-cta-actions a:hover{background:#fff;color:var(--navy)}
.program-cta-actions i{float:right;margin-top:2px}

@media(max-width:991.98px){
 .programs-intro-grid{grid-template-columns:1fr;gap:25px}.program-tabs{top:70px}
 .program-cards{padding-left:0;grid-template-columns:repeat(2,1fr)}
 .knowledge-group .program-cards{grid-template-columns:repeat(2,1fr)}
 .program-cta-inner{display:block}.program-cta-actions{margin-top:25px}
}
@media(max-width:767.98px){
 .programs-hero-content{padding:70px 0}.programs-hero h1{font-size:43px;letter-spacing:-2px}
 .programs-intro{padding:70px 0 45px}.programs-intro h2{font-size:32px}
 .program-tabs{top:0;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;border-radius:0;margin:0 -12px 40px;padding:7px 12px}
 .program-tab{flex:0 0 auto}
 .program-group{margin-bottom:60px;scroll-margin-top:65px}
 .group-head{grid-template-columns:52px 1fr;gap:14px}.group-number{width:48px;height:48px}
 .group-head h2{font-size:23px}
 .program-cards,.knowledge-group .program-cards{grid-template-columns:1fr}
 .program-cards article{min-height:150px}
 .program-cta-inner{padding:35px 25px}.program-cta h2{font-size:25px}
}



















/* ---------- programs ---------- */
.programs-v2{background:#f5f8fb}
.section-topline{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:35px;
}
.section-topline>p{
  max-width:380px;
  margin:0 0 12px;
  color:var(--muted);
  font-size:13px;
}
.program-grid{margin-top:38px}
.program-tile{
  min-height:310px;
  padding:30px;
  border-radius:18px;
  color:#fff;
  position:relative;
  display:block;
  overflow:hidden;
  transition:.3s ease;
}
.program-tile:after{
  content:"";
  position:absolute;
  width:180px;height:180px;
  right:-70px;bottom:-80px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  box-shadow:0 0 0 30px rgba(255,255,255,.03),0 0 0 60px rgba(255,255,255,.02);
}
.program-tile:hover{
  color:#fff;
  transform:translateY(-6px);
  box-shadow:var(--shadow);
}
.tile-blue{background:var(--blue)}
.tile-green{background:var(--green)}
.tile-orange{background:var(--orange)}
.tile-purple{background:var(--purple)}
.tile-teal{background:var(--teal)}
.tile-navy{background:var(--navy)}
.tile-number{
  font-size:10px;
  font-weight:800;
  opacity:.55;
}
.tile-icon{
  width:55px;height:55px;
  border-radius:14px;
  margin-top:48px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.17);
  font-size:23px;
}
.program-tile h3{
  color:#fff;
  font-size:20px;
  margin:19px 0 9px;
}
.program-tile p{
  max-width:330px;
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:12px;
  line-height:1.7;
}
.tile-arrow{
  position:absolute;
  right:27px;bottom:26px;
  width:34px;height:34px;
  border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:14px;
}

/* ---------- impact feature ---------- */
.impact-feature{padding:0 0 110px;background:#f5f8fb}
.impact-feature-inner{
  background:var(--navy);
  min-height:510px;
  border-radius:25px;
  overflow:hidden;
  display:grid;
  grid-template-columns:46% 54%;
}
.impact-image{position:relative;min-height:510px}
.impact-image img{width:100%;height:100%;object-fit:cover}
.impact-image:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 60%,rgba(8,47,89,.6));
}
.impact-image-label{
  position:absolute;
  left:25px;bottom:25px;
  z-index:2;
  background:#fff;
  color:var(--navy);
  border-radius:7px;
  padding:8px 11px;
  font-size:9px;
  font-weight:800;
  letter-spacing:1px;
}
.impact-image-label i{color:var(--orange);margin-right:5px}
.impact-copy{
  padding:60px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.impact-copy h2{
  color:#fff;
  font-size:clamp(33px,4vw,48px);
  letter-spacing:-1.7px;
  margin-bottom:20px;
}
.impact-copy h2 em{font-style:normal;color:#6ec27d}
.impact-copy>p{
  color:rgba(255,255,255,.66);
  font-size:14px;
  max-width:490px;
}
.impact-metrics{
  margin:22px 0 27px;
  display:grid;
  gap:12px;
}
.impact-metrics div{
  display:flex;
  align-items:center;
  gap:12px;
  color:rgba(255,255,255,.75);
  font-size:11px;
}
.impact-metrics strong{
  width:30px;height:30px;border-radius:8px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.1);
  color:#75ca84;
  font-size:10px;
}
.btn-light-ripi{
  width:max-content;
  background:#fff;
  color:var(--navy);
  border:2px solid #fff;
  border-radius:8px;
  padding:10px 17px;
  font-size:12px;
  font-weight:800;
}
.btn-light-ripi:hover{background:#eaf6ed;color:var(--green);border-color:#eaf6ed}

/* ---------- projects ---------- */
.projects-v2{background:#fff}
.view-all{
  color:var(--blue);
  font-size:12px;
  font-weight:800;
}
.project-feature-card{
  height:540px;
  overflow:hidden;
  border-radius:20px;
  position:relative;
}
.project-feature-card img{
  width:100%;height:100%;object-fit:cover;
  transition:.6s;
}
.project-feature-card:hover img{transform:scale(1.04)}
.project-feature-card:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(transparent 45%,rgba(3,25,46,.9));
}
.project-feature-overlay{
  position:absolute;
  z-index:2;
  left:34px;right:34px;bottom:30px;
  color:#fff;
}
.project-feature-overlay span{
  color:#fff;
  font-size:9px;
  letter-spacing:1.5px;
  font-weight:800;
}
.project-feature-overlay h3{
  color:#fff;
  font-size:28px;
  max-width:570px;
  margin:9px 0 13px;
}
.project-feature-overlay a{
  color:#fff;
  font-size:11px;
  font-weight:800;
}
.project-list{display:grid;gap:20px}
.project-list-item{
  min-height:260px;
  border:1px solid var(--line);
  border-radius:17px;
  overflow:hidden;
  display:grid;
  grid-template-columns:42% 58%;
  background:#fff;
}
.project-list-img img{width:100%;height:100%;object-fit:cover}
.project-list-item>div:last-child{padding:27px;position:relative}
.project-list-item span{
  color:var(--green);
  font-size:9px;
  letter-spacing:1.2px;
  text-transform:uppercase;
  font-weight:800;
}
.project-list-item h3{font-size:18px;margin-top:10px}
.project-list-item a{
  position:absolute;
  right:22px;bottom:22px;
  color:var(--blue);
  font-size:17px;
}

/* ---------- stories ---------- */
.stories-v2{
  padding:110px 0;
  background:#f5f8fb;
}
.story-v2-card{
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  display:grid;
  grid-template-columns:43% 57%;
  box-shadow:0 12px 40px rgba(8,47,89,.07);
}
.story-v2-image{min-height:450px;position:relative}
.story-v2-image img{width:100%;height:100%;object-fit:cover}
.story-v2-image span{
  position:absolute;
  top:18px;left:18px;
  background:var(--orange);
  color:#fff;
  padding:6px 9px;
  font-size:8px;
  letter-spacing:1.1px;
  font-weight:800;
  border-radius:4px;
}
.story-v2-content{padding:43px;position:relative}
.quote{
  color:var(--orange);
  font-family:Georgia,serif;
  font-size:68px;
  line-height:.65;
}
.story-v2-content blockquote{
  color:var(--navy);
  font-family:"Manrope",sans-serif;
  font-size:22px;
  line-height:1.5;
  font-weight:700;
  margin:25px 0 30px;
}
.story-author strong,.story-author span{display:block}
.story-author strong{font-size:12px}
.story-author span{font-size:10px;color:#7b8d9e}
.story-controls{
  position:absolute;
  right:35px;bottom:34px;
  display:flex;gap:6px;
}
.story-controls button{
  width:36px;height:36px;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:var(--blue);
}
.story-controls button:hover{background:var(--blue);color:#fff}

/* ---------- news ---------- */
.news-v2{background:#fff}
.news-v2-card{
  height:100%;
  border:1px solid var(--line);
  border-radius:17px;
  overflow:hidden;
}
.news-v2-img{height:230px;position:relative}
.news-v2-img img{width:100%;height:100%;object-fit:cover}
.news-v2-img span{
  position:absolute;top:16px;left:16px;
  padding:6px 9px;border-radius:4px;
  color:#fff;background:var(--blue);
  font-size:8px;letter-spacing:1.1px;font-weight:800;
}
.news-v2-img span.orange{background:var(--orange)}
.news-v2-body{padding:24px}
.news-v2-body small{
  color:var(--green);
  font-size:9px;
  letter-spacing:1.2px;
  text-transform:uppercase;
  font-weight:800;
}
.news-v2-body h3{font-size:18px;margin:9px 0 20px}
.news-v2-body a{
  color:var(--blue);
  font-size:11px;
  font-weight:800;
}
.resource-v2-card{
  height:100%;
  min-height:350px;
  padding:30px;
  border-radius:17px;
  background:var(--navy);
  color:#fff;
  display:flex;
  flex-direction:column;
}
.resource-v2-icon{
  width:52px;height:52px;border-radius:12px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.1);
  color:#78cb89;
  font-size:22px;
  margin-bottom:24px;
}
.resource-v2-card>span{
  color:#78cb89;
  font-size:9px;
  letter-spacing:1.3px;
  font-weight:800;
}
.resource-v2-card h3{color:#fff;font-size:22px;margin:11px 0}
.resource-v2-card p{color:rgba(255,255,255,.62);font-size:12px}
.resource-v2-card a{margin-top:auto;color:#fff;font-size:11px;font-weight:800}

/* ---------- partners ---------- */
.partners-v2{
  padding:70px 0;
  background:#f5f8fb;
  border-top:1px solid #edf1f5;
  border-bottom:1px solid #edf1f5;
}
.partner-heading{text-align:center}
.partner-heading>span{
  color:var(--green);
  font-size:9px;
  letter-spacing:1.7px;
  font-weight:800;
}
.partner-heading h2{
  font-size:25px;
  color:var(--navy);
  margin:8px 0 30px;
}
.partner-placeholder{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
}
.partner-placeholder span{
  height:60px;
  border:1px solid #e1e8ef;
  background:#fff;
  border-radius:10px;
  display:grid;
  place-items:center;
  color:#9aabb9;
  font-size:10px;
  letter-spacing:1.5px;
  font-weight:800;
}

/* ---------- CTA ---------- */
.cta-v2{padding:75px 0;background:#fff}
.cta-v2-inner{
  min-height:260px;
  padding:50px 60px;
  border-radius:23px;
  background:linear-gradient(120deg,var(--green-dark),var(--green));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  overflow:hidden;
  position:relative;
}
.cta-v2-inner:after{
  content:"";
  width:500px;height:500px;
  position:absolute;
  right:-280px;top:-310px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.025);
}
.cta-v2 h2{color:#fff;font-size:37px;max-width:620px;margin-bottom:8px}
.cta-v2 p{color:rgba(255,255,255,.68);font-size:13px;margin:0}
.cta-v2-buttons{display:flex;gap:10px;position:relative;z-index:2;flex-shrink:0}
.btn-orange-ripi{
  background:var(--orange);
  border:2px solid var(--orange);
  color:#fff;
  border-radius:8px;
  padding:10px 17px;
  font-size:12px;
  font-weight:800;
}
.btn-orange-ripi:hover{color:#fff;background:#d96100}

/* ---------- footer ---------- */
.footer-v2{
  padding:70px 0 0;
  background:#061f3b;
  color:rgba(255,255,255,.62);
}
.footer-v2 img{
  width:165px;height:82px;
  object-fit:contain;
  background:#fff;
  border-radius:5px;
  margin-bottom:18px;
}
.footer-v2 p{max-width:330px;font-size:11px;line-height:1.8}
.footer-social{display:flex;gap:7px;margin-top:20px}
.footer-social a{
  width:35px;height:35px;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
  color:#fff;font-size:12px;
}
.footer-social a:hover{background:var(--green);border-color:var(--green)}
.footer-v2 h4{color:#fff;font-size:12px;margin-bottom:19px}
.footer-v2 .col-lg-2>a{
  display:block;
  color:rgba(255,255,255,.58);
  font-size:11px;
  margin-bottom:8px;
}
.footer-v2 .col-lg-2>a:hover{color:#fff}
.footer-v2-bottom{
  margin-top:55px;
  padding:22px 0;
  border-top:1px solid rgba(255,255,255,.09);
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:9px;
}
.footer-v2-bottom div{display:flex;gap:17px}
.footer-v2-bottom a{color:rgba(255,255,255,.55)}

.back-top{
  position:fixed;
  z-index:999;
  right:20px;bottom:20px;
  width:42px;height:42px;
  border:0;border-radius:50%;
  background:var(--blue);
  color:#fff;
  display:grid;place-items:center;
  opacity:0;visibility:hidden;
  transform:translateY(10px);
  transition:.25s;
}
.back-top.show{opacity:1;visibility:visible;transform:translateY(0)}

/* ---------- responsive ---------- */
@media(max-width:991.98px){
  .navbar{min-height:76px}
  .navbar-brand img{width:138px;height:66px}
  .navbar-collapse{padding:14px 0 20px}
  .nav-action{margin:8px 0 0}
  .hero-v2{padding:60px 0 80px}
  .hero-v2-visual{margin:10px auto 0}
  .hero-stat-card{left:15px}
  .hero-mini-card{right:15px}
  .section-space{padding:80px 0}
  .about-v2-gallery{margin-bottom:15px}
  .impact-feature-inner{grid-template-columns:1fr}
  .impact-image{min-height:400px}
  .impact-copy{padding:50px 42px}
  .section-topline{display:block}
  .section-topline>p{margin-top:12px}
  .partner-placeholder{grid-template-columns:repeat(3,1fr)}
  .cta-v2-inner{padding:45px;display:block}
  .cta-v2-buttons{margin-top:25px}
}

@media(max-width:767.98px){
  .utility-bar{display:none}
  .hero-v2{padding:48px 0 65px}
  .hero-v2 h1{font-size:44px;letter-spacing:-2px}
  .hero-v2-lead{font-size:16px}
  .hero-main-photo{height:410px;border-radius:12px 60px 12px 60px}
  .hero-stat-card{bottom:20px}
  .hero-mini-card{top:20px}
  .trust-intro{padding:20px 15px}
  .trust-item{min-height:80px;padding:14px 8px;border-left:0;border-top:1px solid rgba(255,255,255,.1)}
  .trust-item>i{font-size:18px}
  .about-v2-gallery{height:450px;padding-right:55px}
  .about-photo-main{height:405px}
  .about-photo-small{width:175px;height:165px}
  .about-year-card{left:5px;bottom:50px;width:92px;height:92px}
  .about-points{grid-template-columns:1fr}
  .program-tile{min-height:290px}
  .impact-feature{padding-bottom:80px}
  .impact-image{min-height:330px}
  .impact-copy{padding:42px 28px}
  .project-feature-card{height:410px}
  .project-feature-overlay h3{font-size:23px}
  .project-list-item{min-height:220px}
  .story-v2-card{grid-template-columns:1fr}
  .story-v2-image{min-height:330px}
  .story-v2-content{padding:32px}
  .story-controls{right:25px;bottom:25px}
  .partner-placeholder{grid-template-columns:repeat(2,1fr)}
  .cta-v2-inner{padding:35px 28px}
  .cta-v2 h2{font-size:29px}
  .cta-v2-buttons{display:flex;flex-direction:column}
  .cta-v2-buttons .btn{width:100%}
  .footer-v2-bottom{display:block}
  .footer-v2-bottom div{margin-top:10px}
}

@media(max-width:430px){
  .hero-v2 h1{font-size:40px}
  .hero-buttons{display:block}
  .hero-buttons .btn{margin-bottom:7px}
  .hero-proof{margin-top:25px}
  .hero-mini-card{width:78px;height:78px}
  .hero-stat-card{padding:12px}
  .trust-item div{line-height:1.3}
  .trust-item strong{font-size:10px}
  .trust-item small{font-size:8px}
}


/* ==========================================================
   V3 REFINEMENTS — MEGA MENU + IMPACT INTRO
   ========================================================== */

.quick-announcement{
  background:#f1f7fb;
  border-bottom:1px solid #e4edf4;
}
.announcement-inner{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  color:#61778b;
  font-size:10px;
  font-weight:600;
}
.announcement-label{
  color:var(--orange);
  font-weight:800;
  letter-spacing:1px;
}
.announcement-label i{margin-right:5px}
.announcement-inner a{
  color:var(--blue);
  font-weight:800;
  margin-left:4px;
}
.announcement-inner a i{margin-left:4px}

/* Mega menu */
@media(min-width:992px){
  .mega-parent > .mega-menu{
    left:50%;
    right:auto;
    width:min(760px, calc(100vw - 40px));
    padding:0;
    border:1px solid #e4ebf1;
    border-radius:16px;
    overflow:hidden;
    background:#fff;
  }
  .mega-parent:hover > .mega-menu,
  .mega-parent:focus-within > .mega-menu{
    transform:translate(-50%,0);
  }
  .mega-menu-inner{
    display:grid;
    grid-template-columns:255px 1fr;
    min-height:290px;
  }
  .mega-intro{
    padding:29px 27px;
    background:linear-gradient(145deg,#f2f8fc,#edf5fa);
    border-right:1px solid #e4ebf1;
  }
  .mega-intro.programs-intro{
    background:linear-gradient(145deg,#eff8f1,#e9f5ed);
  }
  .mega-label{
    display:block;
    color:var(--orange);
    font-size:8px;
    letter-spacing:1.8px;
    font-weight:800;
    margin-bottom:14px;
  }
  .mega-intro h3{
    color:var(--navy);
    font-size:19px;
    line-height:1.3;
    margin-bottom:10px;
  }
  .mega-intro p{
    color:#6c8092;
    font-size:10px;
    line-height:1.7;
    margin-bottom:20px;
  }
  .mega-main-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:var(--blue);
    font-size:10px;
    font-weight:800;
  }
  .mega-main-link i{color:var(--orange)}
  .mega-links{
    padding:18px;
    display:grid;
    grid-template-columns:1fr;
    align-content:center;
    gap:5px;
  }
  .mega-links>a,
  .mega-program-grid>a{
    display:flex;
    align-items:center;
    gap:11px;
    padding:8px 10px;
    border-radius:9px;
    color:var(--text);
    transition:.2s;
  }
  .mega-links>a:hover,
  .mega-program-grid>a:hover{
    background:#f5f8fb;
    color:var(--blue);
  }
  .mega-links strong,
  .mega-links small,
  .mega-program-grid strong,
  .mega-program-grid small{
    display:block;
  }
  .mega-links strong,
  .mega-program-grid strong{
    font-size:11px;
    font-weight:800;
  }
  .mega-links small,
  .mega-program-grid small{
    color:#7c8e9e;
    font-size:9px;
    line-height:1.35;
    margin-top:2px;
  }
  .mega-icon{
    width:36px;
    height:36px;
    min-width:36px;
    border-radius:9px;
    display:grid;
    place-items:center;
    font-size:15px;
  }
  .mega-icon.blue{background:#eaf3fb;color:var(--blue)}
  .mega-icon.green{background:#eaf6ed;color:var(--green)}
  .mega-icon.orange{background:#fff1e6;color:var(--orange)}
  .mega-icon.purple{background:#f2eafa;color:var(--purple)}
  .mega-icon.teal{background:#e7f5f4;color:var(--teal)}
  .mega-icon.navy{background:#e9eff6;color:var(--navy)}

  .programs-mega .mega-menu-inner{
    grid-template-columns:245px 1fr;
  }
  .mega-program-grid{
    padding:19px;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-content:center;
    gap:4px;
  }
  .mega-program-grid>a{
    min-height:66px;
  }

  .resources-menu .mega-menu-inner{
    grid-template-columns:255px 1fr;
  }

  .site-header{
    box-shadow:0 4px 20px rgba(8,47,89,.055);
  }
}

@media(max-width:991.98px){
  .quick-announcement{
    display:none;
  }
  .mega-menu{
    position:static!important;
    width:100%!important;
    transform:none!important;
    border:0!important;
    box-shadow:none!important;
    background:#f6f9fc!important;
    border-radius:10px!important;
    padding:8px!important;
  }
  .mega-menu-inner{
    display:block;
  }
  .mega-intro{
    padding:18px;
    border-radius:8px;
    margin-bottom:6px;
  }
  .mega-intro h3{
    font-size:17px;
  }
  .mega-intro p{
    font-size:11px;
  }
  .mega-links,
  .mega-program-grid{
    padding:4px;
    display:grid;
    grid-template-columns:1fr;
    gap:2px;
  }
  .mega-links>a,
  .mega-program-grid>a{
    background:#fff;
  }
}

/* Impact numbers */
.impact-numbers{
  padding:70px 0 75px;
  background:#fff;
}
.impact-number-heading{
  text-align:center;
  margin-bottom:35px;
}
.impact-number-heading>span{
  color:var(--green);
  font-size:9px;
  letter-spacing:1.8px;
  font-weight:800;
}
.impact-number-heading h2{
  color:var(--navy);
  font-size:29px;
  margin:8px 0 0;
}
.impact-number-card{
  min-height:145px;
  padding:25px 25px;
  border-right:1px solid var(--line);
  text-align:center;
}
.impact-number-card:last-child{border-right:0}
.impact-number-card strong{
  display:block;
  color:var(--orange);
  font-family:"Manrope",sans-serif;
  font-size:27px;
  line-height:1;
  margin-bottom:10px;
}
.impact-number-card span{
  display:block;
  color:var(--navy);
  font-size:15px;
  font-weight:800;
}
.impact-number-card small{
  display:block;
  color:#8091a0;
  font-size:10px;
  margin-top:4px;
}

@media(max-width:767.98px){
  .announcement-inner{font-size:9px;gap:8px}
  .announcement-inner a{display:none}
  .impact-numbers{padding:55px 0}
  .impact-number-card{
    min-height:125px;
    padding:20px 10px;
  }
  .impact-number-card:nth-child(2){border-right:0}
  .impact-number-card:nth-child(-n+2){border-bottom:1px solid var(--line)}
}


/* ==========================================================
   V4 — HERO CAROUSEL + IMPACT DASHBOARD + PARTNERS
   ========================================================== */

/* Hero carousel */
.hero-v4{
  position:relative;
  background:#071f3b;
}
.hero-slide{
  min-height:650px;
  position:relative;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.hero-slide-one{
  background-image:url("https://images.unsplash.com/photo-1488521787991-ed7bbaae773c?auto=format&fit=crop&w=2200&q=90");
}
.hero-slide-two{
  background-image:url("https://images.unsplash.com/photo-1542810634-71277d95dcbb?auto=format&fit=crop&w=2200&q=90");
}
.hero-slide-three{
  background-image:url("https://images.unsplash.com/photo-1509099836639-18ba1795216d?auto=format&fit=crop&w=2200&q=90");
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,28,53,.94) 0%,rgba(4,28,53,.78) 43%,rgba(4,28,53,.28) 100%),
    linear-gradient(0deg,rgba(4,28,53,.3),transparent 50%);
}
.hero-container{
  min-height:650px;
  display:flex;
  align-items:center;
  position:relative;
  z-index:2;
}
.hero-copy{
  max-width:680px;
  padding:40px 0 70px;
  color:#fff;
}
.hero-kicker{
  display:flex;
  align-items:center;
  gap:9px;
  color:rgba(255,255,255,.75);
  font-size:10px;
  font-weight:800;
  letter-spacing:2px;
  margin-bottom:20px;
}
.hero-kicker>span{
  width:32px;height:3px;border-radius:4px;background:var(--orange);
}
.hero-copy h1{
  color:#fff;
  font-size:clamp(47px,6vw,76px);
  letter-spacing:-3.5px;
  margin-bottom:23px;
}
.hero-copy h1 em{
  color:#74ca84;
  font-style:normal;
}
.hero-copy>p{
  max-width:610px;
  color:rgba(255,255,255,.77);
  font-size:17px;
  line-height:1.75;
  margin-bottom:28px;
}
.hero-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.btn-hero-primary{
  background:var(--orange);
  color:#fff;
  border:2px solid var(--orange);
  border-radius:8px;
  padding:12px 20px;
  font-size:12px;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  gap:9px;
}
.btn-hero-primary:hover{
  color:#fff;
  background:#d96100;
  border-color:#d96100;
}
.btn-hero-link{
  color:#fff;
  border:2px solid rgba(255,255,255,.18);
  border-radius:8px;
  padding:12px 17px;
  font-size:12px;
  font-weight:800;
  background:rgba(255,255,255,.06);
}
.btn-hero-link:hover{
  color:#fff;
  border-color:rgba(255,255,255,.5);
  background:rgba(255,255,255,.1);
}
.hero-slide-card{
  position:absolute;
  right:11%;
  bottom:90px;
  z-index:3;
  background:rgba(255,255,255,.96);
  border-radius:13px;
  padding:15px 18px;
  display:flex;
  align-items:center;
  gap:12px;
  min-width:245px;
  box-shadow:0 20px 45px rgba(0,0,0,.2);
}
.hero-card-icon{
  width:44px;height:44px;min-width:44px;
  border-radius:11px;
  background:#eaf3fb;
  color:var(--blue);
  display:grid;
  place-items:center;
  font-size:19px;
}
.hero-card-icon.green{background:#eaf6ed;color:var(--green)}
.hero-card-icon.orange{background:#fff1e6;color:var(--orange)}
.hero-slide-card small,
.hero-slide-card strong{display:block}
.hero-slide-card small{
  color:#80909e;
  font-size:8px;
  font-weight:800;
  letter-spacing:1.2px;
}
.hero-slide-card strong{
  color:var(--navy);
  font-size:12px;
  line-height:1.45;
}
.hero-control{
  width:50px;
  opacity:1;
  top:auto;
  bottom:35px;
  height:44px;
}
.hero-control.prev{left:auto}
.hero-control-icon{
  width:39px;height:39px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.3);
  border-radius:50%;
  color:#fff;
  background:rgba(0,0,0,.12);
}
.hero-control:hover .hero-control-icon{
  background:var(--orange);
  border-color:var(--orange);
}
.hero-control-prev{right:110px;left:auto}
.hero-control-next{right:55px}
.hero-indicators{
  margin:0;
  left:auto;
  right:55px;
  bottom:43px;
  width:120px;
  justify-content:flex-start;
  gap:5px;
}
.hero-indicators button{
  width:20px;
  height:3px;
  border:0;
  border-radius:5px;
  margin:0!important;
  opacity:.45;
}
.hero-indicators button.active{
  width:38px;
  opacity:1;
  background:var(--orange);
}
.hero-progress{
  position:absolute;
  left:calc(50% - 620px);
  bottom:38px;
  z-index:5;
  display:flex;
  align-items:center;
  gap:9px;
  color:rgba(255,255,255,.5);
  font-size:9px;
  font-weight:800;
}
.hero-progress-current{color:#fff}
.hero-progress-line{
  width:55px;height:1px;background:rgba(255,255,255,.3);
}

/* Impact dashboard */
.impact-dashboard{
  padding:90px 0 100px;
  background:#fff;
}
.impact-dashboard-top{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:40px;
  margin-bottom:38px;
}
.impact-dashboard-top h2{
  color:var(--navy);
  font-size:40px;
  letter-spacing:-1.8px;
  margin:0;
}
.impact-dashboard-top h2 em{
  color:var(--green);
  font-style:normal;
}
.impact-dashboard-top>p{
  max-width:470px;
  color:var(--muted);
  font-size:12px;
  line-height:1.75;
  margin:0 0 4px;
}
.impact-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
}
.impact-stat-card{
  min-height:185px;
  padding:27px;
  position:relative;
  border-right:1px solid var(--line);
  background:#fff;
}
.impact-stat-card:last-child{border-right:0}
.impact-stat-icon{
  width:46px;height:46px;
  border-radius:12px;
  display:grid;place-items:center;
  font-size:19px;
  margin-bottom:20px;
}
.impact-stat-icon.blue{background:#eaf3fb;color:var(--blue)}
.impact-stat-icon.green{background:#eaf6ed;color:var(--green)}
.impact-stat-icon.orange{background:#fff1e6;color:var(--orange)}
.impact-stat-icon.purple{background:#f2eafa;color:var(--purple)}
.impact-stat-label{
  position:absolute;
  top:29px;right:27px;
  color:#b2c0cc;
  font-size:9px;
  font-weight:800;
}
.impact-stat-card strong{
  display:block;
  color:var(--navy);
  font-size:16px;
}
.impact-stat-card>span{
  color:#8495a3;
  font-size:10px;
}

/* Partner refinement */
.partner-heading p{
  color:#7b8c9b;
  font-size:11px;
  margin:8px 0 25px;
}
.partner-logo-wall{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
}
.partner-logo{
  height:75px;
  display:grid;
  place-items:center;
  align-content:center;
  background:#fff;
  border:1px solid #e2e9ef;
  border-radius:10px;
  color:#9aaab7;
  font-size:10px;
  line-height:1.15;
  letter-spacing:1.5px;
  font-weight:800;
  transition:.2s;
}
.partner-logo small{
  font-size:7px;
  letter-spacing:2px;
}
.partner-logo:hover{
  border-color:#b9d4e8;
  box-shadow:0 8px 25px rgba(8,47,89,.06);
  transform:translateY(-2px);
}
.partner-cta{
  margin-top:25px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#6d8090;
  font-size:11px;
}
.partner-cta a{
  color:var(--blue);
  font-weight:800;
}
.partner-cta i{margin-left:4px}

/* Mobile hero */
@media(max-width:991.98px){
  .hero-slide,.hero-container{min-height:620px}
  .hero-copy{padding:35px 0 100px}
  .hero-slide-card{right:35px;bottom:82px}
  .hero-progress{left:30px}
  .hero-indicators{right:25px}
  .hero-control-prev{right:80px}
  .hero-control-next{right:25px}
  .impact-dashboard-top{display:block}
  .impact-dashboard-top>p{margin-top:15px}
  .impact-stat-grid{grid-template-columns:repeat(2,1fr)}
  .impact-stat-card:nth-child(2){border-right:0}
  .impact-stat-card:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .partner-logo-wall{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:767.98px){
  .hero-slide,.hero-container{min-height:650px}
  .hero-overlay{
    background:
      linear-gradient(90deg,rgba(4,28,53,.94),rgba(4,28,53,.58)),
      linear-gradient(0deg,rgba(4,28,53,.4),transparent);
  }
  .hero-copy{padding:45px 0 115px}
  .hero-copy h1{font-size:43px;letter-spacing:-2px}
  .hero-copy>p{font-size:15px}
  .hero-slide-card{
    left:15px;
    right:auto;
    bottom:76px;
    min-width:220px;
  }
  .hero-progress{display:none}
  .hero-indicators{left:25px;right:auto;bottom:31px}
  .hero-control{bottom:23px}
  .hero-control-prev{right:75px}
  .hero-control-next{right:20px}
  .impact-dashboard{padding:70px 0}
  .impact-dashboard-top h2{font-size:33px}
  .impact-stat-card{padding:21px;min-height:155px}
  .impact-stat-icon{width:40px;height:40px;font-size:16px}
  .partner-logo-wall{grid-template-columns:repeat(2,1fr)}
  .partner-cta{display:block;text-align:center}
  .partner-cta a{display:block;margin-top:8px}
}
@media(max-width:430px){
  .hero-copy h1{font-size:39px}
  .hero-actions{display:block}
  .hero-actions .btn{margin-bottom:7px}
  .impact-stat-card{min-height:145px;padding:16px}
  .impact-stat-label{right:16px;top:19px}
}


/* ==========================================================
   V5 — STORYTELLING + PROGRAM PATHWAYS + ACTION
   ========================================================== */

/* Work at a glance */
.work-glance-v5{
  padding:105px 0 110px;
  background:#f5f8fb;
}
.work-glance-head,
.stories-v5-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:36px;
}
.work-glance-head h2,
.stories-v5-head h2{
  color:var(--navy);
  font-size:40px;
  letter-spacing:-1.8px;
  margin:0;
}
.work-glance-head h2 em,
.stories-v5-head h2 em{
  color:var(--green);
  font-style:normal;
}
.work-glance-head>p,
.stories-v5-head>p{
  max-width:450px;
  color:var(--muted);
  font-size:12px;
  line-height:1.8;
  margin:0 0 5px;
}
.work-glance-layout{
  display:grid;
  grid-template-columns:45% 55%;
  min-height:575px;
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 15px 45px rgba(8,47,89,.07);
}
.work-glance-feature{
  min-height:575px;
  position:relative;
  overflow:hidden;
}
.work-glance-feature img{
  width:100%;height:100%;
  object-fit:cover;
  transition:.6s;
}
.work-glance-feature:hover img{transform:scale(1.035)}
.work-glance-feature:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(4,28,53,.88),transparent 65%);
}
.work-feature-overlay{
  position:absolute;
  z-index:2;
  left:35px;right:35px;bottom:34px;
}
.work-feature-overlay span{
  color:#7bd08a;
  font-size:8px;
  letter-spacing:1.7px;
  font-weight:800;
}
.work-feature-overlay h3{
  color:#fff;
  font-size:28px;
  line-height:1.28;
  margin:9px 0 15px;
  max-width:460px;
}
.work-feature-overlay a{
  color:#fff;
  font-size:11px;
  font-weight:800;
}
.work-feature-overlay a i{color:var(--orange);margin-left:4px}
.work-glance-list{
  padding:22px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  align-content:center;
}
.work-mini-card{
  min-height:165px;
  border:1px solid #e5ebf0;
  border-radius:13px;
  padding:20px;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  color:var(--text);
  background:#fff;
  transition:.25s;
}
.work-mini-card:hover{
  color:var(--blue);
  border-color:#cbddea;
  transform:translateY(-3px);
  box-shadow:0 10px 25px rgba(8,47,89,.06);
}
.work-mini-icon{
  width:41px;height:41px;
  border-radius:10px;
  display:grid;place-items:center;
  margin-bottom:19px;
  font-size:17px;
}
.work-mini-icon.blue{background:#eaf3fb;color:var(--blue)}
.work-mini-icon.green{background:#eaf6ed;color:var(--green)}
.work-mini-icon.orange{background:#fff1e6;color:var(--orange)}
.work-mini-icon.purple{background:#f2eafa;color:var(--purple)}
.work-mini-icon.teal{background:#e7f5f4;color:var(--teal)}
.work-mini-icon.navy{background:#e9eff6;color:var(--navy)}
.work-mini-card strong{
  display:block;
  color:var(--navy);
  font-size:13px;
  font-weight:800;
}
.work-mini-card small{
  display:block;
  color:#8495a3;
  font-size:9px;
  line-height:1.4;
  margin-top:4px;
  padding-right:17px;
}
.work-mini-card>.bi-arrow-up-right{
  position:absolute;
  right:18px;
  bottom:18px;
  color:#a6b4bf;
  font-size:13px;
}
.work-mini-card:hover>.bi-arrow-up-right{color:var(--blue)}

/* Editorial stories */
.stories-v5{
  padding:110px 0;
  background:#fff;
}
.story-editorial{
  display:grid;
  grid-template-columns:47% 53%;
  min-height:540px;
  background:#f5f8fb;
  border-radius:22px;
  overflow:hidden;
}
.story-editorial-image{
  position:relative;
  min-height:540px;
}
.story-editorial-image img{
  width:100%;height:100%;
  object-fit:cover;
}
.story-editorial-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(4,28,53,.5),transparent 45%);
}
.story-tag{
  position:absolute;
  z-index:2;
  top:24px;left:24px;
  padding:7px 10px;
  border-radius:5px;
  background:#fff;
  color:var(--navy);
  font-size:8px;
  font-weight:800;
  letter-spacing:1.1px;
}
.story-tag i{color:var(--orange);margin-right:4px}
.story-editorial-copy{
  position:relative;
  padding:52px 60px;
}
.story-number{
  color:#9aabb8;
  font-size:9px;
  letter-spacing:1.4px;
  font-weight:800;
}
.story-quote-mark{
  color:var(--orange);
  font-family:Georgia,serif;
  font-size:75px;
  line-height:.65;
  margin-top:32px;
}
.story-editorial-copy blockquote{
  color:var(--navy);
  font-family:"Manrope",sans-serif;
  font-size:28px;
  line-height:1.42;
  font-weight:700;
  max-width:570px;
  margin:24px 0 20px;
}
.story-editorial-copy>p{
  color:#748797;
  font-size:11px;
  line-height:1.8;
  max-width:500px;
}
.story-editorial-author{
  margin-top:25px;
  display:flex;
  align-items:center;
  gap:10px;
}
.story-author-avatar{
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.story-editorial-author strong,
.story-editorial-author span{display:block}
.story-editorial-author strong{font-size:11px;color:var(--navy)}
.story-editorial-author span{font-size:9px;color:#8596a4}
.story-editorial-controls{
  position:absolute;
  right:50px;
  bottom:42px;
  display:flex;
  gap:6px;
}
.story-editorial-controls button{
  width:38px;height:38px;
  border:1px solid #d9e2e9;
  border-radius:50%;
  background:#fff;
  color:var(--blue);
}
.story-editorial-controls button:hover{
  background:var(--blue);
  border-color:var(--blue);
  color:#fff;
}

/* Action / conversion section */
.action-v5{
  padding:0 0 90px;
  background:#fff;
}
.action-v5-inner{
  padding:58px 60px;
  border-radius:24px;
  background:
    radial-gradient(circle at 100% 0,rgba(255,255,255,.12),transparent 32%),
    linear-gradient(125deg,#073e71,#07549a);
  display:grid;
  grid-template-columns:43% 57%;
  gap:40px;
  overflow:hidden;
  position:relative;
}
.action-v5-copy{
  position:relative;
  z-index:2;
}
.action-v5-copy h2{
  color:#fff;
  font-size:39px;
  letter-spacing:-1.8px;
  margin-bottom:16px;
}
.action-v5-copy h2 em{
  color:#79ce89;
  font-style:normal;
}
.action-v5-copy p{
  color:rgba(255,255,255,.67);
  font-size:12px;
  line-height:1.8;
  max-width:500px;
}
.action-v5-cards{
  display:grid;
  gap:9px;
  position:relative;
  z-index:2;
}
.action-card{
  min-height:82px;
  padding:14px 17px;
  border-radius:11px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  display:flex;
  align-items:center;
  gap:13px;
  transition:.25s;
}
.action-card:hover{
  color:#fff;
  background:#fff;
  transform:translateX(-4px);
}
.action-card-icon{
  width:43px;height:43px;
  min-width:43px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.12);
  font-size:17px;
}
.action-card.volunteer:hover .action-card-icon{background:#eaf6ed;color:var(--green)}
.action-card.donate:hover .action-card-icon{background:#fff1e6;color:var(--orange)}
.action-card.partner:hover .action-card-icon{background:#eaf3fb;color:var(--blue)}
.action-card span:nth-child(2){min-width:0}
.action-card small,
.action-card strong,
.action-card em{display:block}
.action-card small{
  font-size:7px;
  letter-spacing:1.3px;
  font-weight:800;
  color:rgba(255,255,255,.55);
}
.action-card strong{
  font-size:12px;
  margin:2px 0;
}
.action-card em{
  font-style:normal;
  font-size:9px;
  color:rgba(255,255,255,.58);
}
.action-card:hover small{color:#8495a3}
.action-card:hover strong{color:var(--navy)}
.action-card:hover em{color:#8495a3}
.action-arrow{
  margin-left:auto;
  color:rgba(255,255,255,.65);
}
.action-card:hover .action-arrow{color:var(--blue)}

@media(max-width:991.98px){
  .work-glance-head,
  .stories-v5-head{
    display:block;
  }
  .work-glance-head>p,
  .stories-v5-head>p{
    margin-top:15px;
  }
  .work-glance-layout{
    grid-template-columns:1fr;
  }
  .work-glance-feature{min-height:430px}
  .work-glance-list{grid-template-columns:1fr 1fr}
  .story-editorial{
    grid-template-columns:1fr;
  }
  .story-editorial-image{min-height:400px}
  .story-editorial-copy{padding:45px}
  .action-v5-inner{
    grid-template-columns:1fr;
    padding:45px;
  }
}
@media(max-width:767.98px){
  .work-glance-v5,
  .stories-v5{padding:75px 0}
  .work-glance-head h2,
  .stories-v5-head h2{font-size:33px}
  .work-glance-feature{min-height:390px}
  .work-glance-list{
    grid-template-columns:1fr;
    padding:14px;
  }
  .work-mini-card{min-height:125px}
  .story-editorial-image{min-height:330px}
  .story-editorial-copy{padding:34px 28px}
  .story-editorial-copy blockquote{font-size:22px}
  .story-editorial-controls{
    position:static;
    margin-top:25px;
  }
  .action-v5{padding-bottom:70px}
  .action-v5-inner{padding:35px 25px}
  .action-v5-copy h2{font-size:31px}
}


/* ==========================================================
   V6 — CONTENT POLISH, NEWS HUB, CONTACT + ACCESSIBILITY
   ========================================================== */

/* Sticky header state */
.site-header.is-scrolled{
  position:sticky;
  top:0;
  box-shadow:0 8px 28px rgba(8,47,89,.10);
}
.site-header.is-scrolled .navbar{
  min-height:74px;
}
.site-header.is-scrolled .navbar-brand img{
  width:140px;
  height:66px;
}

/* News hub */
.news-v6{
  background:#fff;
}
.news-v6-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:38px;
}
.news-v6-heading .display-title{
  margin-bottom:0;
}
.news-v6-feature-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:18px;
}
.news-v6-feature{
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  background:#fff;
  display:grid;
  grid-template-columns:53% 47%;
  min-height:430px;
}
.news-v6-feature-image{
  position:relative;
  overflow:hidden;
}
.news-v6-feature-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.6s ease;
}
.news-v6-feature:hover .news-v6-feature-image img{
  transform:scale(1.035);
}
.news-v6-feature-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(4,28,53,.42),transparent 45%);
}
.news-v6-feature-image>span{
  position:absolute;
  z-index:2;
  left:18px;
  top:18px;
  background:var(--orange);
  color:#fff;
  border-radius:4px;
  padding:6px 9px;
  font-size:8px;
  font-weight:800;
  letter-spacing:1.2px;
}
.news-v6-feature-copy{
  padding:35px 30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.news-v6-feature-copy small,
.news-v6-list-card small,
.news-v6-resource-card small{
  color:var(--green);
  font-size:8px;
  letter-spacing:1.3px;
  font-weight:800;
}
.news-v6-feature-copy h3{
  color:var(--navy);
  font-size:24px;
  line-height:1.32;
  margin:11px 0 14px;
}
.news-v6-feature-copy p{
  color:#7a8d9d;
  font-size:11px;
  line-height:1.8;
  margin-bottom:22px;
}
.news-v6-feature-copy a,
.news-v6-list-card a,
.news-v6-resource-card a{
  color:var(--blue);
  font-size:10px;
  font-weight:800;
}
.news-v6-side{
  display:grid;
  grid-template-rows:1fr 1fr 1.15fr;
  gap:10px;
}
.news-v6-list-card{
  border:1px solid var(--line);
  border-radius:15px;
  padding:19px;
  display:grid;
  grid-template-columns:52px 1fr;
  gap:15px;
  align-items:center;
  transition:.25s;
}
.news-v6-list-card:hover{
  transform:translateX(3px);
  border-color:#c9dce9;
  box-shadow:0 10px 28px rgba(8,47,89,.06);
}
.news-v6-list-date{
  width:52px;
  height:52px;
  border-radius:12px;
  background:#eaf3fb;
  color:var(--blue);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.news-v6-list-date.orange{
  background:#fff1e6;
  color:var(--orange);
}
.news-v6-list-date strong{
  font-size:18px;
  line-height:1;
}
.news-v6-list-date span{
  font-size:7px;
  letter-spacing:1px;
  font-weight:800;
  margin-top:3px;
}
.news-v6-list-card h3{
  color:var(--navy);
  font-size:14px;
  line-height:1.35;
  margin:5px 0 8px;
}
.news-v6-resource-card{
  border-radius:15px;
  padding:24px;
  background:var(--navy);
  color:#fff;
  display:flex;
  gap:15px;
  align-items:center;
}
.resource-v6-icon{
  width:47px;
  height:47px;
  min-width:47px;
  border-radius:11px;
  background:rgba(255,255,255,.1);
  color:#78cc89;
  display:grid;
  place-items:center;
  font-size:19px;
}
.news-v6-resource-card small{
  color:#78cc89;
}
.news-v6-resource-card h3{
  color:#fff;
  font-size:17px;
  margin:5px 0;
}
.news-v6-resource-card p{
  color:rgba(255,255,255,.6);
  font-size:9px;
  line-height:1.5;
  margin:0 0 7px;
}

/* Newsletter */
.newsletter-v6{
  padding:0 0 85px;
  background:#fff;
}
.newsletter-v6-inner{
  padding:35px 42px;
  border-radius:17px;
  background:#f2f7fa;
  border:1px solid #e2ebf1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
}
.newsletter-copy>span{
  color:var(--green);
  font-size:8px;
  letter-spacing:1.5px;
  font-weight:800;
}
.newsletter-copy>span i{
  margin-right:5px;
}
.newsletter-copy h2{
  color:var(--navy);
  font-size:25px;
  margin:6px 0 3px;
}
.newsletter-copy p{
  color:#7d8f9d;
  font-size:10px;
  margin:0;
}
.newsletter-form{
  width:min(440px,100%);
  display:flex;
  background:#fff;
  border:1px solid #dce6ed;
  border-radius:8px;
  padding:4px;
}
.newsletter-form input{
  min-width:0;
  flex:1;
  border:0;
  outline:0;
  padding:10px 13px;
  color:var(--navy);
  font-size:11px;
  background:transparent;
}
.newsletter-form button{
  border:0;
  border-radius:6px;
  background:var(--blue);
  color:#fff;
  padding:10px 15px;
  font-size:10px;
  font-weight:800;
}
.newsletter-form button:hover{
  background:var(--blue-dark);
}

/* Contact strip */
.contact-v6{
  padding:65px 0;
  background:#f5f8fb;
  border-top:1px solid #e7edf2;
}
.contact-v6-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
}
.contact-eyebrow{
  color:var(--orange);
  font-size:8px;
  letter-spacing:1.7px;
  font-weight:800;
}
.contact-v6 h2{
  color:var(--navy);
  font-size:28px;
  margin:8px 0 0;
}
.contact-v6-items{
  display:flex;
  gap:8px;
}
.contact-v6-items a{
  min-width:145px;
  padding:13px 15px;
  border:1px solid #dce5ec;
  background:#fff;
  border-radius:9px;
  color:var(--navy);
  display:flex;
  align-items:center;
  gap:9px;
}
.contact-v6-items a>i{
  color:var(--blue);
  font-size:16px;
}
.contact-v6-items span{
  font-size:10px;
  font-weight:800;
}
.contact-v6-items small{
  display:block;
  color:#8b9aa7;
  font-size:7px;
  letter-spacing:1px;
  margin-bottom:2px;
}

/* Accessibility quick tools */
.accessibility-tools{
  position:fixed;
  z-index:998;
  left:18px;
  bottom:18px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.accessibility-tools button{
  width:39px;
  height:39px;
  border:1px solid #d9e4eb;
  border-radius:50%;
  background:#fff;
  color:var(--blue);
  box-shadow:0 8px 22px rgba(8,47,89,.12);
}
.accessibility-tools button:hover{
  color:#fff;
  background:var(--blue);
  border-color:var(--blue);
}
body.reduced-motion *,
body.reduced-motion *::before,
body.reduced-motion *::after{
  animation-duration:.01ms!important;
  animation-iteration-count:1!important;
  transition-duration:.01ms!important;
  scroll-behavior:auto!important;
}

/* V6 responsive */
@media(max-width:991.98px){
  .news-v6-feature-grid{
    grid-template-columns:1fr;
  }
  .news-v6-feature{
    min-height:400px;
  }
  .newsletter-v6-inner{
    display:block;
  }
  .newsletter-form{
    margin-top:22px;
  }
  .contact-v6-inner{
    display:block;
  }
  .contact-v6-items{
    margin-top:22px;
    flex-wrap:wrap;
  }
}
@media(max-width:767.98px){
  .news-v6-heading{
    display:block;
  }
  .news-v6-heading .view-all{
    display:inline-block;
    margin-top:12px;
  }
  .news-v6-feature{
    grid-template-columns:1fr;
  }
  .news-v6-feature-image{
    min-height:280px;
  }
  .news-v6-feature-copy{
    padding:28px;
  }
  .news-v6-feature-copy h3{
    font-size:21px;
  }
  .news-v6-side{
    grid-template-rows:auto;
  }
  .newsletter-v6-inner{
    padding:27px 22px;
  }
  .newsletter-form{
    display:block;
    background:transparent;
    border:0;
    padding:0;
  }
  .newsletter-form input{
    width:100%;
    background:#fff;
    border:1px solid #dce6ed;
    border-radius:7px;
    margin-bottom:7px;
  }
  .newsletter-form button{
    width:100%;
  }
  .contact-v6-items{
    display:grid;
    grid-template-columns:1fr;
  }
  .contact-v6-items a{
    width:100%;
  }
  .accessibility-tools{
    left:12px;
    bottom:12px;
  }
}


/* ==========================================================
   V7 — BRAND SYSTEM + HEADER POLISH + WHY RIPI
   ========================================================== */

:root{
  --ripi-blue:#07579a;
  --ripi-blue-deep:#052d52;
  --ripi-green:#4eaa63;
  --ripi-green-light:#eaf6ed;
  --ripi-orange:#e87508;
  --ripi-ink:#102b45;
  --ripi-paper:#f6f9fb;
}

/* Utility bar */
.utility-bar{
  
  background:#062b4d;
  color:rgba(255,255,255,.62);
  font-size:12px;
  letter-spacing:.35px;
}
.utility-inner{
  min-height:31px;
  display:flex;
  align-items:center;
  gap:9px;
}
.utility-inner>span i{
  color:#78cc89;
  margin-right:3px;
}
.utility-separator{
  width:1px;
  height:11px;
  background:rgba(255,255,255,.18);
}
.utility-right{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:15px;
}
.utility-right a{
  color:rgba(255,255,255,.68);
}
.utility-right a:hover{color:#fff}
.utility-right a i{font-size:10px}

/* Brand lock-up */
.ripi-brand{
  display:flex!important;
  align-items:center;
  gap:10px;
}
.ripi-logo-frame{
  width:70px;
  height:61px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#fff;
  border-radius:7px;
}
.ripi-logo-frame img{
  width:70px!important;
  height:61px!important;
  object-fit:contain;
}
.ripi-brand-text{
  display:block;
  line-height:1;
}
.ripi-brand-text strong{
  display:block;
  color:var(--navy);
  font-family:"Manrope",sans-serif;
  font-size:17px;
  font-weight:900;
  letter-spacing:-.4px;
}
.ripi-brand-text small{
  display:block;
  color:#052d52;
  font-size:18px;
  line-height:1.3;
  letter-spacing:.35px;
  max-width:175px;
  margin-top:4px;
  font-weight: 500;
}

/* Header visual refinement */
.site-header{
  background:rgba(255,255,255,.98);
  border-bottom:1px solid #e8eef3;
}
.site-header .navbar{
  min-height:84px;
}
.site-header .nav-link{
  font-size:16px !important;
  font-weight:800;
  letter-spacing:.15px;
}
.site-header .nav-link.active{
  color:var(--ripi-blue);
}
.site-header .nav-link.active:after{
  width:17px;
}
.nav-action{
  margin-left:7px;
}
.btn-donate{
  background:var(--ripi-orange)!important;
  border-color:var(--ripi-orange)!important;
  color:#fff!important;
  border-radius:7px;
  padding:10px 15px!important;
  font-size:14px!important;
  font-weight:800!important;
  box-shadow:0 7px 16px rgba(232,117,8,.17);
}
.btn-donate:hover{
  background:#d76500!important;
  transform:translateY(-1px);
}
.btn-donate i{font-size:9px;margin-right:5px}

/* Section consistency */
.section-space{
  padding-top:100px;
  padding-bottom:100px;
}
.section-kicker{
  display:flex;
  align-items:center;
  gap:8px;
}
.section-kicker>span{
  width:26px;
  height:3px;
  border-radius:4px;
  background:var(--orange);
}
.section-kicker.green>span{
  background:var(--green);
}

/* Why RIPI */
.why-ripi-v7{
  padding:95px 0;
  background:#fff;
}
.why-ripi-grid{
  display:grid;
  grid-template-columns:46% 54%;
  gap:70px;
  align-items:center;
}
.why-ripi-copy h2{
  color:var(--navy);
  font-size:39px;
  line-height:1.15;
  letter-spacing:-1.8px;
  margin:12px 0 18px;
}
.why-ripi-copy h2 em{
  color:var(--green);
  font-style:normal;
}
.why-ripi-copy>p{
  max-width:530px;
  color:#748898;
  font-size:12px;
  line-height:1.9;
  margin-bottom:22px;
}
.why-link{
  color:var(--blue);
  font-size:10px;
  font-weight:800;
}
.why-link i{margin-left:5px;color:var(--orange)}
.why-ripi-points{
  border-top:1px solid var(--line);
}
.why-point{
  display:grid;
  grid-template-columns:55px 1fr;
  gap:16px;
  padding:25px 0;
  border-bottom:1px solid var(--line);
}
.why-point-number{
  color:var(--orange);
  font-size:10px;
  font-weight:900;
  letter-spacing:1px;
  padding-top:2px;
}
.why-point strong{
  display:block;
  color:var(--navy);
  font-size:15px;
  margin-bottom:5px;
}
.why-point p{
  max-width:470px;
  color:#81919e;
  font-size:10px;
  line-height:1.7;
  margin:0;
}

/* Brand statement */
.brand-statement-v7{
  padding:38px 0;
  background:#eef5f8;
  border-top:1px solid #dfe9ef;
  border-bottom:1px solid #dfe9ef;
}
.brand-statement-inner{
  display:flex;
  align-items:center;
  gap:18px;
}
.brand-statement-mark{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--navy);
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.8px;
}
.brand-statement-inner span{
  color:var(--green);
  font-size:7px;
  letter-spacing:1.5px;
  font-weight:900;
}
.brand-statement-inner h2{
  color:var(--navy);
  font-size:20px;
  margin:5px 0 0;
}

/* Stronger focus visibility */
a:focus-visible,
button:focus-visible,
input:focus-visible{
  outline:3px solid rgba(232,117,8,.42);
  outline-offset:3px;
}

/* Mobile */
@media(max-width:991.98px){
  .utility-right a:not(:last-child){
    display:none;
  }
  .utility-inner{
    justify-content:center;
  }
  .utility-right{
    margin-left:4px;
  }
  .ripi-brand-text{
    display:none;
  }
  .ripi-logo-frame,
  .ripi-logo-frame img{
    width:62px!important;
    height:56px!important;
  }
  .site-header .navbar{
    min-height:73px;
  }
  .why-ripi-grid{
    grid-template-columns:1fr;
    gap:40px;
  }
}
@media(max-width:767.98px){
  .utility-bar{
    font-size:7px;
  }
  .utility-inner>span:nth-child(2),
  .utility-separator{
    display:none;
  }
  .why-ripi-v7{
    padding:70px 0;
  }
  .why-ripi-copy h2{
    font-size:32px;
  }
  .brand-statement-inner{
    align-items:flex-start;
  }
  .brand-statement-inner h2{
    font-size:17px;
  }
}


/* =========================================
   RIPI DYNAMIC HERO SLIDER
========================================= */

.ripi-home-hero {
    position: relative;
    min-height: 720px;
    overflow: hidden;
    background: #063e70;
}


/*
 * Bootstrap carousel
 */

.ripi-home-hero .carousel-inner,
.ripi-home-hero .carousel-item {
    min-height: 720px;
}


.ripi-home-hero .carousel-item {
    position: relative;
}


/*
 * Background image
 */

.ripi-home-hero-bg {
    position: absolute;
    inset: 0;

    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;

    z-index: 0;
}


/*
 * Blue overlay
 */

.ripi-home-hero-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(3, 31, 57, .96) 0%,
            rgba(3, 31, 57, .88) 38%,
            rgba(3, 31, 57, .60) 68%,
            rgba(3, 31, 57, .22) 100%
        );

    z-index: 1;
}


/*
 * Content
 */

.ripi-home-hero-content {
    position: relative;
    z-index: 2;

    min-height: 720px;

    max-width: 820px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 110px 0;
}


.ripi-home-hero h1 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(
        52px,
        6vw,
        88px
    );

    line-height: .98;

    letter-spacing: -4px;

    font-weight: 800;
}


.ripi-home-hero h1 em {
    color: #79ce89;
    font-style: normal;
}


.ripi-home-hero-content > p {
    max-width: 650px;

    margin: 28px 0 35px;

    color: rgba(255,255,255,.78);

    font-size: 13px;

    line-height: 1.8;
}


/*
 * Buttons
 */

.ripi-home-hero-actions {
    display: flex;
    align-items: center;
    gap: 32px;
}


.ripi-home-hero .dark-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 13px 18px;

    background: #ffffff;
    color: #063e70;

    border-radius: 5px;

    font-size: 10px;
    font-weight: 800;

    text-decoration: none;

    transition: all .2s ease;
}


.ripi-home-hero .dark-btn:hover {
    background: #79ce89;
    color: #063e70;

    transform: translateY(-2px);
}


.ripi-home-hero .ripi-hero-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: #ffffff;

    font-size: 10px;
    font-weight: 800;

    text-decoration: none;
}


.ripi-home-hero .ripi-hero-link:hover {
    color: #79ce89;
}


/*
 * Controls
 */

.ripi-hero-control {
    width: 55px;

    opacity: .7;

    z-index: 5;
}


.ripi-hero-control:hover {
    opacity: 1;
}


/*
 * Indicators
 */

.ripi-hero-indicators {
    position: absolute;

    right: 60px;
    bottom: 45px;
    left: auto;

    width: auto;
    margin: 0;

    justify-content: flex-end;

    z-index: 5;
}


.ripi-hero-indicators button {
    width: 28px;
    height: 3px;

    margin: 0 4px;

    border: 0;

    opacity: .45;

    transition: all .3s ease;
}


.ripi-hero-indicators button.active {
    width: 50px;
    opacity: 1;
}


/*
 * Mobile
 */

@media (max-width: 767px) {

    .ripi-home-hero,
    .ripi-home-hero .carousel-inner,
    .ripi-home-hero .carousel-item {
        min-height: 680px;
    }


    .ripi-home-hero-content {
        min-height: 680px;

        padding: 90px 0;
    }


    .ripi-home-hero h1 {
        font-size: 48px;
        letter-spacing: -2px;
    }


    .ripi-home-hero-content > p {
        font-size: 12px;
    }


    .ripi-home-hero-actions {
        display: block;
    }


    .ripi-home-hero .ripi-hero-link {
        margin-top: 22px;
    }


    .ripi-home-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(3,31,57,.94),
                rgba(3,31,57,.78)
            );
    }


    .ripi-hero-indicators {
        right: 20px;
        bottom: 25px;
    }


    .ripi-hero-control {
        display: none;
    }
}

/* =========================================
   RIPI DYNAMIC SUBPAGE HERO
========================================= */

.ripi-subpage-hero {
	position: relative;
	min-height: 420px;

	display: flex;
	align-items: flex-end;

	overflow: hidden;

	background: #063e70;
}


/* Background */

.ripi-subpage-hero-bg {
	position: absolute;
	inset: 0;

	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;

	z-index: 0;

	transform: scale(1.01);
}


/* Overlay */

.ripi-subpage-hero-overlay {
	position: absolute;
	inset: 0;

	background:
		linear-gradient(
			90deg,
			rgba(3, 31, 57, .95) 0%,
			rgba(3, 31, 57, .82) 45%,
			rgba(3, 31, 57, .52) 100%
		);

	z-index: 1;
}


/* Content */

.ripi-subpage-hero-content {
	position: relative;

	z-index: 2;

	max-width: 850px;

	padding: 110px 0 55px;
}


/* Kicker */

.ripi-subpage-hero-kicker {
	display: flex;
	align-items: center;
	gap: 9px;

	margin-bottom: 18px;

	color: #79ce89;

	font-size: 14px;
	font-weight: 700;

	letter-spacing: 1.5px;
	text-transform: uppercase;
}


.ripi-subpage-hero-kicker span {
	display: block;

	width: 24px;
	height: 2px;

	background: #79ce89;
}


/* Title */

.ripi-subpage-hero h1 {
	margin: 0;
	color: #ffffff;
	font-size: clamp(38px,6vw,42px);
	font-weight: 600;
	line-height: 1;


}


/* Description */

.ripi-subpage-hero-content > p {
	max-width: 680px;

	margin: 22px 0 25px;

	color: rgba(255,255,255,.78);

	font-size: 14px;

	line-height: 1.6;
}


/* Breadcrumb */

.ripi-breadcrumb {
	display: flex;
	align-items: center;
	gap: 9px;

	margin-top: 25px;

	font-size: 12px;
	font-weight: 600;
}


.ripi-breadcrumb a {
	color: rgba(255,255,255,.65);

	text-decoration: none;

	transition: color .2s ease;
}


.ripi-breadcrumb a:hover {
	color: #79ce89;
}


.ripi-breadcrumb span {
	color: rgba(255,255,255,.4);
}


.ripi-breadcrumb span:last-child {
	color: #ffffff;
}


/* Mobile */

@media (max-width: 767px) {

	.ripi-subpage-hero {
		min-height: 360px;
	}

	.ripi-subpage-hero-content {
		padding: 100px 0 40px;
	}

	.ripi-subpage-hero h1 {
		font-size: 48px;
		letter-spacing: -2px;
	}

	.ripi-subpage-hero-content > p {
		font-size: 11px;
	}

	.ripi-subpage-hero-overlay {
		background:
			linear-gradient(
				90deg,
				rgba(3,31,57,.94),
				rgba(3,31,57,.72)
			);
	}

}




/* Intro */
.about-intro{
  background:#fff;
}
.about-intro-grid{
  display:grid;
  grid-template-columns:47% 53%;
  gap:75px;
  align-items:center;
}
.about-intro-image{
  position:relative;
  height:560px;
  border-radius:20px;
  overflow:hidden;
}
.about-intro-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(4,28,53,.48),transparent 55%);
}
.about-intro-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.about-image-badge{
  position:absolute;
  z-index:2;
  bottom:22px;
  left:22px;
  right:22px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:10px;
  background:rgba(4,28,53,.72);
  backdrop-filter:blur(7px);
}
.about-image-badge strong,
.about-image-badge span{display:block}
.about-image-badge strong{color:#fff;font-size:16px}
.about-image-badge span{color:rgba(255,255,255,.6);font-size:8px;margin-top:4px}
.about-intro-copy h2{
  color:var(--navy);
  font-size:43px;
  line-height:1.1;
  letter-spacing:-2px;
  margin:12px 0 19px;
}
.about-intro-copy h2 em{
  color:var(--green);
  font-style:normal;
}
.about-intro-copy .lead{
  color:var(--navy);
  font-size:16px;
  line-height:1.7;
  font-weight:600;
}
.about-intro-copy>p:not(.lead){
  color:#7c8e9c;
  font-size:11px;
  line-height:1.85;
}
.about-intro-highlights{
  display:flex;
  gap:10px;
  margin-top:28px;
}
.about-intro-highlights>div{
  flex:1;
  padding:14px;
  border:1px solid var(--line);
  border-radius:10px;
  display:flex;
  gap:9px;
  align-items:center;
}
.about-intro-highlights i{
  color:var(--blue);
  font-size:17px;
}
.about-intro-highlights span{
  color:var(--navy);
  font-size:8px;
  line-height:1.4;
  font-weight:800;
}

/* Vision / Mission */
.vm-section{
  padding:100px 0;
  background:#f5f8fb;
}
.vm-heading{text-align:center;margin-bottom:35px}
.vm-heading h2{
  color:var(--navy);
  font-size:38px;
  letter-spacing:-1.5px;
  margin:10px 0 0;
}
.vm-heading h2 em{color:var(--green);font-style:normal}
.vm-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
}
.vm-card{
  border-radius:18px;
  padding:32px;
  min-height:350px;
  position:relative;
  overflow:hidden;
}
.vm-card.vision{background:#eaf3fb}
.vm-card.mission{background:#eaf6ed}
.vm-card:after{
  content:"";
  position:absolute;
  width:210px;height:210px;
  right:-75px;bottom:-90px;
  border-radius:50%;
  background:rgba(255,255,255,.42);
}
.vm-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.vm-card-top span{
  font-size:9px;
  font-weight:900;
  color:#8da2b2;
}
.vm-card-top i{
  width:42px;height:42px;
  display:grid;place-items:center;
  border-radius:10px;
  background:rgba(255,255,255,.65);
  color:var(--blue);
  font-size:17px;
}
.vm-card.mission .vm-card-top i{color:var(--green)}
.vm-card>small{
  display:block;
  margin-top:35px;
  color:var(--blue);
  font-size:12px;
  letter-spacing:1.5px;
  font-weight:900;
}
.vm-card.mission>small{color:var(--green)}
.vm-card h3{
  position:relative;
  z-index:2;
  color:var(--navy);
  max-width:520px;
  font-size:27px;
  line-height:1.38;
  margin:10px 0 15px;
}
.vm-card h3 em{color:var(--blue);font-style:normal}
.vm-card.mission h3 em{color:var(--green)}
.vm-card p{
  position:relative;
  z-index:2;
  max-width:500px;
  color:#6f8393;
  font-size:14px;
  line-height:1.8;
}

/* Values */
/* Values */
.values-section{
  padding:105px 0;
  background:#fff;
}
.values-heading{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:30px;
  margin-bottom:35px;
}
.values-heading h2{
  color:var(--navy);
  font-size:39px;
  letter-spacing:-1.7px;
  margin:10px 0 0;
}
.values-heading h2 em{color:var(--green);font-style:normal}
.values-heading>p{
  max-width:430px;
  color:#7d8e9c;
  font-size:11px;
  line-height:1.7;
  margin:0;
}
.values-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.value-card{
  min-height:90px;
  padding:22px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  position:relative;
  transition:.2s;
}
.value-card:hover{
  background:#f7fafc;
}
.value-card>span{
  position:absolute;
  top:20px;right:20px;
  color:#000;
  font-size:12px;
  font-weight:600;
}
.value-card i{
  width:42px;height:42px;
  display:grid;place-items:center;
  border-radius:10px;
  background:#eaf3fb;
  color:var(--blue);
  font-size:17px;
  margin-bottom:22px;
}
.value-card:nth-child(3n) i{background:#fff1e6;color:var(--orange)}
.value-card:nth-child(4n) i{background:#eaf6ed;color:var(--green)}
.value-card strong{
  display:block;
  color:var(--navy);
  font-size:10px;
}
.value-card small{
  display:block;
  color:#000;
  font-size:14px;
  line-height:1.55;
  margin-top:4px;
}


/* Who we serve */
.serve-section{
  padding:100px 0;
  background:var(--navy);
}
.serve-grid{
  display:grid;
  grid-template-columns:42% 58%;
  gap:70px;
  align-items:center;
}
.serve-copy h2{
  color:#fff;
  font-size:40px;
  line-height:1.15;
  letter-spacing:-1.7px;
  margin:12px 0 17px;
}
.serve-copy h2 em{color:#79ce89;font-style:normal}
.serve-copy p{
  color:rgba(255,255,255,.62);
  font-size:11px;
  line-height:1.85;
  max-width:470px;
}
.btn-serve{
  margin-top:17px;
  color:#fff;
  border:1px solid rgba(255,255,255,.2);
  border-radius:7px;
  padding:10px 14px;
  font-size:10px;
  font-weight:800;
}
.btn-serve:hover{background:var(--orange);color:#fff;border-color:var(--orange)}
.serve-groups{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.serve-groups span{
  padding:11px 13px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.055);
  border-radius:7px;
  color:rgba(255,255,255,.78);
  font-size:9px;
  font-weight:700;
}

/* History */
.history-section{
  padding:105px 0;
  background:#f5f8fb;
}
.history-heading{
  max-width:680px;
  margin-bottom:55px;
}
.history-heading h2{
  color:var(--navy);
  font-size:39px;
  line-height:1.15;
  letter-spacing:-1.7px;
  margin:11px 0 14px;
}
.history-heading h2 em{color:var(--green);font-style:normal}
.history-heading p{
  color:#7c8d9b;
  font-size:11px;
  line-height:1.8;
}
.history-timeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px;
}
.history-timeline:before{
  content:"";
  position:absolute;
  left:9%;
  right:9%;
  top:15px;
  height:1px;
  background:#cfdbe3;
}
.history-item{
  position:relative;
  padding-top:35px;
}
.history-dot{
  position:absolute;
  z-index:2;
  top:8px;
  left:18px;
  width:15px;height:15px;
  border-radius:50%;
  background:var(--orange);
  border:4px solid #f5f8fb;
  box-shadow:0 0 0 1px #d7e1e8;
}
.history-year{
  color:var(--green);
  font-size:8px;
  letter-spacing:1.5px;
  font-weight:900;
  margin-bottom:10px;
}
.history-card{
  min-height:190px;
  padding:22px;
  border-radius:14px;
  background:#fff;
  border:1px solid #e2eaf0;
}
.history-card>span{
  color:#b2c0ca;
  font-size:8px;
  font-weight:900;
}
.history-card h3{
  color:var(--navy);
  font-size:16px;
  margin:11px 0 7px;
}
.history-card p{
  color:#81919e;
  font-size:10px;
  line-height:1.7;
  margin:0;
}

/* Leadership */
.leadership-preview{
  padding:100px 0;
  background:#fff;
}
.leadership-preview-inner{
  padding:48px;
  border:1px solid var(--line);
  border-radius:20px;
  display:grid;
  grid-template-columns:58% 42%;
  gap:30px;
  align-items:center;
}
.leadership-preview-copy h2{
  color:var(--navy);
  font-size:38px;
  line-height:1.15;
  letter-spacing:-1.7px;
  margin:12px 0 16px;
}
.leadership-preview-copy h2 em{color:var(--green);font-style:normal}
.leadership-preview-copy p{
  color:#7c8e9c;
  max-width:570px;
  font-size:11px;
  line-height:1.8;
}
.leadership-links{
  display:flex;
  gap:18px;
  margin-top:20px;
}
.leadership-links a{
  color:var(--blue);
  font-size:10px;
  font-weight:800;
}
.leadership-links i{color:var(--orange);margin-left:4px}
.leadership-profile-placeholder{
  min-height:245px;
  border-radius:14px;
  background:#f5f8fb;
  border:1px dashed #cbd8e1;
  display:flex;
  align-items:center;
  padding:25px;
  gap:18px;
}
.profile-placeholder-image{
  width:125px;height:165px;
  min-width:125px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#e2ebf1;
  color:#8ba0af;
  font-size:40px;
}
.leadership-profile-placeholder span,
.leadership-profile-placeholder strong,
.leadership-profile-placeholder small{display:block}
.leadership-profile-placeholder span{
  color:var(--orange);
  font-size:7px;
  letter-spacing:1.2px;
  font-weight:900;
}
.leadership-profile-placeholder strong{
  color:var(--navy);
  font-size:15px;
  margin:6px 0;
}
.leadership-profile-placeholder small{
  color:#8495a3;
  font-size:9px;
  line-height:1.5;
}

/* Transparency */
.about-transparency{
  padding:55px 0;
  background:#eef5f8;
  border-top:1px solid #dfe8ee;
}
.transparency-inner{
  display:grid;
  grid-template-columns:60px 1fr auto;
  align-items:center;
  gap:18px;
}
.transparency-icon{
  width:58px;height:58px;
  display:grid;place-items:center;
  border-radius:12px;
  background:#fff;
  color:var(--blue);
  font-size:20px;
}
.transparency-inner>div:nth-child(2)>span{
  color:var(--green);
  font-size:7px;
  letter-spacing:1.5px;
  font-weight:900;
}
.transparency-inner h2{
  color:var(--navy);
  font-size:19px;
  margin:5px 0 3px;
}
.transparency-inner p{
  color:#80919e;
  font-size:9px;
  margin:0;
}
.transparency-inner>a{
  color:var(--blue);
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

/* Responsive */
@media(max-width:991.98px){
  .about-intro-grid,
  .serve-grid{
    grid-template-columns:1fr;
    gap:45px;
  }
  .about-intro-image{height:450px}
  .vm-grid{grid-template-columns:1fr}
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .history-timeline{grid-template-columns:1fr}
  .history-timeline:before{left:7px;right:auto;top:0;bottom:0;width:1px;height:auto}
  .history-dot{left:0;top:8px}
  .history-item{padding-left:30px;padding-top:35px}
  .leadership-preview-inner{grid-template-columns:1fr}
}
@media(max-width:767.98px){
  .about-hero{min-height:520px}
  .about-hero-content{padding:70px 0}
  .about-hero h1{font-size:43px;letter-spacing:-2px}
  .about-intro{padding:70px 0}
  .about-intro-image{height:360px}
  .about-intro-copy h2,
  .serve-copy h2,
  .history-heading h2,
  .leadership-preview-copy h2{font-size:32px}
  .about-intro-highlights{display:grid;grid-template-columns:1fr}
  .vm-section,
  .values-section,
  .history-section,
  .leadership-preview{padding:70px 0}
  .vm-card{padding:25px;min-height:330px}
  .vm-card h3{font-size:22px}
  .values-heading{display:block}
  .values-heading>p{margin-top:12px}
  .values-grid{grid-template-columns:1fr}
  .value-card{min-height:155px}
  .serve-section{padding:70px 0}
  .serve-groups{gap:6px}
  .serve-groups span{font-size:8px;padding:9px 10px}
  .leadership-preview-inner{padding:28px}
  .leadership-links{display:block}
  .leadership-links a{display:block;margin-bottom:10px}
  .leadership-profile-placeholder{min-height:200px}
  .profile-placeholder-image{width:90px;height:125px;min-width:90px}
  .transparency-inner{grid-template-columns:50px 1fr}
  .transparency-inner>a{grid-column:2;margin-top:7px}
}


 .staff-intro{padding:90px 0 70px;background:#fff}
 .staff-intro>.container{display:grid;grid-template-columns:60% 40%;gap:40px;align-items:end}
 .staff-intro h2,.people-head h2{color:var(--navy);font-size:42px;letter-spacing:-1.7px;margin:10px 0}
 .staff-intro h2 em,.people-head h2 em,.board-band h2 em{color:var(--green);font-style:normal}
 .staff-intro p,.people-head>p,.board-band p{color:#81919e;font-size:12px;line-height:1.8}
 .people-section{padding:90px 0;background:#fff}
 .people-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}
 .people-head>div>span,.board-band span{color:var(--green);font-size:7px;font-weight:900;letter-spacing:1.5px}
 .people-head h2{font-size:36px}
 .leaders{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
 .person,.staff-card{border:1px solid #e0e8ee;border-radius:14px;overflow:hidden}
 .person-photo,.staff-img{height:300px;background-position:top}
 .p1{background-image:url("https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?auto=format&fit=crop&w=900&q=85")}
 .p2{background-image:url("https://images.unsplash.com/photo-1560250097-0b93528c311a?auto=format&fit=crop&w=900&q=85")}
 .p3{background-image:url("https://images.unsplash.com/photo-1580489944761-15a19d654956?auto=format&fit=crop&w=900&q=85")}
 .person-photo span{display:inline-block;margin:15px;background:#fff;padding:6px 8px;font-size:7px;font-weight:900}
 .person-body,.staff-card>div:last-child{padding:20px}
 .person-body small,.staff-card small{color:var(--green);font-size:10px;font-weight:900}
 .person-body h3,.staff-card h3{color:var(--navy);font-size:15px}
 .person-body p,.staff-card p{color:#81919e;font-size:12px}
 .person-body button,.staff-card button{border:0;background:none;padding:0;color:var(--blue);font-size:11px;font-weight:700}
 .board-band{padding:60px 0;background:#f5f8fb}
 .board-band .container{display:grid;grid-template-columns:65px 1fr auto;gap:20px;align-items:center}
 .board-band i{width:60px;height:60px;border-radius:12px;background:#fff;color:var(--blue);display:grid;place-items:center;font-size:22px}
 .board-band h2{color:var(--navy);font-size:24px;margin:6px 0}.board-band button{border:0;background:var(--navy);color:#fff;padding:11px 14px;border-radius:6px;font-size:9px;font-weight:800}
 .staff-list{padding-top:90px}.filters{display:flex;gap:5px}.filters button{border:1px solid #dbe4ea;background:#fff;padding:8px 11px;border-radius:6px;font-size:8px}
 .filters button.active{background:var(--navy);color:#fff}.staff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
 .staff-img{height:240px}
 .s1{background-image:url("https://images.unsplash.com/photo-1551836022-d5d88e9218df?auto=format&fit=crop&w=800&q=85")}
 .s2{background-image:url("https://images.unsplash.com/photo-1521737711867-e3b97375f902?auto=format&fit=crop&w=800&q=85")}
 .s3{background-image:url("https://images.unsplash.com/photo-1522071820081-009f0129c71c?auto=format&fit=crop&w=800&q=85")}
 .s4{background-image:url("https://images.unsplash.com/photo-1556761175-b413da4baf72?auto=format&fit=crop&w=800&q=85")}
 .profile-modal{border:0;border-radius:15px}
 .profile-modal .modal-body{padding:38px}
 .profile-modal small{color:var(--green);font-size:7px;font-weight:900}
 .profile-modal h2{color:var(--navy)}.profile-modal p{color:#81919e;font-size:10px;line-height:1.8}
 .avatar{width:60px;height:60px;border-radius:50%;background:#eaf3fb;color:var(--blue);display:grid;place-items:center;font-size:25px;margin-bottom:18px}
 .staff-card[hidden]{display:none!important}
 @media(max-width:991px){.staff-intro>.container{grid-template-columns:1fr}.leaders{grid-template-columns:1fr 1fr}
 .staff-grid{grid-template-columns:1fr 1fr}.people-head{display:block}
 .filters{margin-top:15px}.board-band .container{grid-template-columns:60px 1fr}.board-band button{grid-column:2}}
 @media(max-width:767px){.leaders,.staff-grid{grid-template-columns:1fr}.person-photo{height:350px}.staff-img{height:300px}
 .staff-intro h2,.people-head h2{font-size:32px}}
 
 /* =========================================
   RIPI STAFF PROFILE MODAL
========================================= */

.staff-profile-modal {
    position: relative;

    overflow: hidden;

    border: 0;

    border-radius: 14px;

    background: #ffffff;

    box-shadow:
        0 30px 80px rgba(3, 31, 57, .25);
}


.staff-profile-modal .modal-header {
    position: absolute;

    top: 15px;
    right: 15px;

    z-index: 20;

    padding: 0;

    border: 0;
}


.staff-profile-modal .btn-close {
    width: 38px;
    height: 38px;

    padding: 0;

    border-radius: 50%;

    background-color: #ffffff;

    opacity: 1;

    box-shadow:
        0 5px 20px rgba(0, 0, 0, .15);
}


.staff-profile-modal .modal-body {
    padding: 0;
}


/* =========================================
   GRID
========================================= */

.profile-modal-grid {

    display: grid;

    grid-template-columns:
        minmax(280px, 42%)
        minmax(0, 58%);

    min-height: 480px;
}


/* =========================================
   IMAGE
========================================= */

.profile-modal-image {

    min-height: 480px;

    background: #063e70;
}


.profile-modal-image img {

    display: block;

    width: 100%;
    height: 100%;

    min-height: 480px;

    object-fit: cover;
}


/* =========================================
   CONTENT
========================================= */

.profile-modal-content {

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding: 55px;
}


.profile-modal-category {

    display: block;

    margin-bottom: 12px;

    color: #13804c;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}


.profile-modal-content h2 {

    margin: 0 0 8px;

    color: #063e70;

    font-size: 22px;

    line-height: 1.05;

    font-weight: 800;

    letter-spacing: -1.5px;
}


.profile-modal-content h4 {

    margin: 0;

    color: #718391;

    font-size: 12px;

    font-weight: 700;
}


.profile-modal-divider {

    width: 42px;

    height: 2px;

    margin: 25px 0;

    background: #79ce89;
}


.profile-modal-bio {

    max-width: 500px;

    color: #718391;

    font-size: 12px;

    line-height: 1.9;
}


/* =========================================
   SOCIAL
========================================= */

.profile-modal-social {

    display: flex;

    gap: 8px;

    margin-top: 28px;
}


.profile-modal-social a {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 36px;
    height: 36px;

    color: #063e70;

    background: #f0f5f7;

    border-radius: 50%;

    text-decoration: none;

    transition:
        color .2s ease,
        background .2s ease,
        transform .2s ease;
}


.profile-modal-social a:hover {

    color: #ffffff;

    background: #13804c;

    transform: translateY(-2px);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .profile-modal-grid {

        grid-template-columns: 1fr;

    }


    .profile-modal-image {

        min-height: 280px;

        height: 280px;

    }


    .profile-modal-image img {

        min-height: 280px;

    }


    .profile-modal-content {

        padding: 35px 25px 40px;

    }


    .profile-modal-content h2 {

        font-size: 28px; 

    }

}

/* =========================================
   RIPI FILTER BAR
========================================= */

.ripi-filter-bar {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 220px auto;

    align-items: center;

    gap: 10px;

    width: 100%;

    margin: 0 0 45px;

    padding: 10px;

    background: #f4f7f8;

    border: 1px solid #e3eaed;

    border-radius: 8px;
}


/* =========================================
   SEARCH
========================================= */

.ripi-search-wrap {
    position: relative;

    display: flex;

    align-items: center;

    min-width: 0;
}


.ripi-search-wrap > i {
    position: absolute;

    left: 16px;

    z-index: 2;

    color: #78909c;

    font-size: 13px;

    pointer-events: none;
}


.ripi-search-wrap input {
    width: 100%;

    height: 48px;

    padding: 0 16px 0 42px;

    border: 1px solid #dce5e9;

    border-radius: 6px;

    outline: none;

    background: #ffffff;

    color: #063e70;

    font-family: inherit;

    font-size: 11px;

    font-weight: 600;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}


.ripi-search-wrap input::placeholder {
    color: #8b9aa3;

    font-weight: 500;
}


.ripi-search-wrap input:focus {
    border-color: #13804c;

    box-shadow:
        0 0 0 3px rgba(19, 128, 76, .08);
}


/* =========================================
   SELECT
========================================= */

.ripi-filter-bar select {
    width: 100%;

    height: 48px;

    padding: 0 38px 0 15px;

    border: 1px solid #dce5e9;

    border-radius: 6px;

    outline: none;

    background-color: #ffffff;

    color: #063e70;

    font-family: inherit;

    font-size: 11px;

    font-weight: 700;

    cursor: pointer;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}


.ripi-filter-bar select:focus {
    border-color: #13804c;

    box-shadow:
        0 0 0 3px rgba(19, 128, 76, .08);
}


.ripi-filter-bar select option {
    color: #063e70;

    background: #ffffff;
}


/* =========================================
   FILTER BUTTON
========================================= */

.ripi-filter-bar > button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    height: 48px;

    padding: 0 20px;

    border: 0;

    border-radius: 6px;

    background: #063e70;

    color: #ffffff;

    font-family: inherit;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: .2px;

    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease;
}


.ripi-filter-bar > button:hover {
    background: #13804c;

    transform: translateY(-1px);
}


.ripi-filter-bar > button i {
    font-size: 12px;

    transition: transform .2s ease;
}


.ripi-filter-bar > button:hover i {
    transform: translateX(4px);
}


/* =========================================
   STAFF GRID SPACING
========================================= */

.staff-list .staff-grid {
    margin-top: 0;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .ripi-filter-bar {
        grid-template-columns: 1fr;

        gap: 8px;

        padding: 8px;

        margin-bottom: 35px;
    }


    .ripi-search-wrap input,
    .ripi-filter-bar select,
    .ripi-filter-bar > button {
        height: 46px;
    }


    .ripi-filter-bar > button {
        width: 100%;
    }
 
}

/* =========================================
   RIPI PAGINATION
========================================= */

.ripi-pagination {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;

    margin-top: 55px;
    padding-top: 30px;

    border-top: 1px solid #e7edef;
}


/* WordPress list */

.ripi-pagination .page-numbers {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    margin: 0;
    padding: 0;

    list-style: none;
}


/* Remove default list spacing */

.ripi-pagination .page-numbers li {
    display: flex;

    align-items: center;
    justify-content: center;

    margin: 0;
    padding: 0;
}


/* =========================================
   PAGE NUMBER
========================================= */

.ripi-pagination .page-numbers li > a,
.ripi-pagination .page-numbers li > span {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    padding: 0;

    border: 1px solid #dce5e9;

    border-radius: 5px;

    background: #ffffff;

    color: #063e70;

    font-size: 10px;
    font-weight: 800;

    line-height: 1;

    text-decoration: none;

    transition:
        color .2s ease,
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}


/* =========================================
   HOVER
========================================= */

.ripi-pagination
.page-numbers
li
> a:hover {

    color: #ffffff;

    background: #13804c;

    border-color: #13804c;

    transform: translateY(-2px);
}


/* =========================================
   CURRENT PAGE
========================================= */

.ripi-pagination
.page-numbers
li
> .current {

    color: #ffffff;

    background: #063e70;

    border-color: #063e70;

    cursor: default;
}


/* =========================================
   NEXT / PREVIOUS
========================================= */

.ripi-pagination
.page-numbers
li
> .next,
.ripi-pagination
.page-numbers
li
> .prev {

    width: 42px;

    color: #ffffff;

    background: #13804c;

    border-color: #13804c;
}


.ripi-pagination
.page-numbers
li
> .next:hover,
.ripi-pagination
.page-numbers
li
> .prev:hover {

    color: #ffffff;

    background: #063e70;

    border-color: #063e70;
}


/* Icons */

.ripi-pagination .next i,
.ripi-pagination .prev i {

    font-size: 13px;

    transition:
        transform .2s ease;
}


.ripi-pagination .next:hover i {

    transform: translateX(3px);
}


.ripi-pagination .prev:hover i {

    transform: translateX(-3px);
}


/* =========================================
   DISABLED
========================================= */

.ripi-pagination
.page-numbers
li
> .disabled {

    opacity: .4;

    pointer-events: none;
}


/* =========================================
   DOTS
========================================= */

.ripi-pagination
.page-numbers
li
> .dots {

    width: 30px;

    border: 0;

    background: transparent;

    color: #78909c;

    cursor: default;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .ripi-pagination {

        margin-top: 40px;

        padding-top: 25px;

    }


    .ripi-pagination .page-numbers {

        gap: 5px;

    }


    .ripi-pagination
    .page-numbers
    li
    > a,
    .ripi-pagination
    .page-numbers
    li
    > span {

        width: 34px;
        height: 34px;

        font-size: 9px;

    }


    .ripi-pagination
    .page-numbers
    li
    > .next,
    .ripi-pagination
    .page-numbers
    li
    > .prev {

        width: 38px;

    }

}


.impact-intro{padding:90px 0 75px;background:#fff}
.impact-intro-grid{display:grid;grid-template-columns:58% 42%;gap:55px;align-items:end}
.impact-intro h2{color:var(--navy);font-size:43px;line-height:1.15;letter-spacing:-1.8px;margin:11px 0 0}
.impact-intro h2 em{color:var(--green);font-style:normal}
.impact-intro-grid p{color:#7b8d9b;font-size:11px;line-height:1.85;margin:0}
.impact-link{display:inline-block;margin-top:16px;color:var(--blue);font-size:10px;font-weight:800}
.impact-link i{color:var(--orange);margin-left:4px}

.impact-dashboard{padding:70px 0 90px;background:#f5f8fb}
.dashboard-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:25px}
.dashboard-head>div:first-child>span{color:var(--green);font-size:8px;letter-spacing:1.5px;font-weight:900}
.dashboard-head h2{color:var(--navy);font-size:32px;margin:7px 0 0;letter-spacing:-1.2px}
.dashboard-note{display:flex;gap:9px;max-width:390px;align-items:flex-start}.dashboard-note i{color:var(--orange);font-size:14px}.dashboard-note p{color:#8495a2;font-size:9px;line-height:1.6;margin:0}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.metric-card{background:#fff;border:1px solid #e0e8ee;border-radius:14px;padding:22px;min-height:180px}
.metric-card>i{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#eaf3fb;color:var(--blue);font-size:17px;margin-bottom:20px}
.metric-card:nth-child(2)>i{background:#eaf6ed;color:var(--green)}
.metric-card:nth-child(3)>i{background:#fff1e6;color:var(--orange)}
.metric-card:nth-child(4)>i{background:#eeeafb;color:#7155a8}
.metric-value{display:block;color:var(--navy);font-size:32px;line-height:1;margin-bottom:7px}
.metric-card>span{display:block;color:var(--navy);font-size:11px;font-weight:800}
.metric-card>small{display:block;color:#95a3ad;font-size:8px;margin-top:4px}

.outcomes-section{padding:105px 0;background:#fff}
.outcomes-heading{max-width:700px;margin-bottom:38px}
.outcomes-heading h2{color:var(--navy);font-size:40px;letter-spacing:-1.7px;margin:10px 0}
.outcomes-heading h2 em{color:var(--green);font-style:normal}
.outcomes-heading p{color:#82929f;font-size:11px}
.outcomes-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.outcomes-grid article{position:relative;padding:24px;min-height:230px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.outcomes-grid article>span{position:absolute;right:20px;top:20px;color:#b9c6cf;font-size:8px;font-weight:900}
.outcome-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;margin-bottom:22px;font-size:18px}
.outcome-icon.blue{background:#eaf3fb;color:var(--blue)}.outcome-icon.green{background:#eaf6ed;color:var(--green)}.outcome-icon.orange{background:#fff1e6;color:var(--orange)}.outcome-icon.purple{background:#eeeafb;color:#7155a8}.outcome-icon.teal{background:#eef5f8;color:#177d8d}.outcome-icon.navy{background:#e8eef5;color:var(--navy)}
.outcomes-grid h3{color:var(--navy);font-size:15px;margin:0 0 6px}.outcomes-grid p{color:#8495a2;font-size:9px;line-height:1.7;margin:0;max-width:300px}
.outcome-line{height:3px;background:#edf1f3;border-radius:4px;margin-top:25px;overflow:hidden}.outcome-line b{display:block;width:35%;height:100%;background:var(--green);border-radius:4px}

.impact-story{padding:105px 0;background:#fff}
.story-grid{display:grid;grid-template-columns:52% 48%;gap:70px;align-items:center}
.story-image{height:460px;border-radius:18px;overflow:hidden;position:relative}
.story-image img{width:100%;height:100%;object-fit:cover}.story-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,28,53,.45),transparent 55%)}
.story-tag{position:absolute;z-index:2;left:20px;bottom:20px;padding:8px 10px;border-radius:5px;background:var(--orange);color:#fff;font-size:7px;letter-spacing:1px;font-weight:900}
.story-copy h2{color:var(--navy);font-size:41px;line-height:1.15;letter-spacing:-1.8px;margin:12px 0 17px}.story-copy h2 em{color:var(--green);font-style:normal}
.story-copy>p{color:#7c8e9c;font-size:11px;line-height:1.85;max-width:500px}
.story-points{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:25px 0}
.story-points>div{padding:14px 10px;border:1px solid #dfe7ec;background:#fff;border-radius:9px}.story-points i{display:block;color:var(--blue);font-size:15px;margin-bottom:8px}.story-points span{font-size:8px;color:var(--navy);font-weight:800}
.story-button{display:inline-block;color:var(--blue);font-size:10px;font-weight:800}.story-button i{color:var(--orange);margin-left:5px}

.accountability-section{padding:55px 0;background:#eef5f8;border-top:1px solid #dfe8ee}
.accountability-inner{display:grid;grid-template-columns:60px 1fr auto;gap:18px;align-items:center}
.accountability-icon{width:58px;height:58px;border-radius:12px;background:#fff;color:var(--blue);display:grid;place-items:center;font-size:20px}
.accountability-inner>div:nth-child(2)>span{color:var(--green);font-size:7px;letter-spacing:1.5px;font-weight:900}
.accountability-inner h2{color:var(--navy);font-size:19px;margin:5px 0 3px}.accountability-inner p{color:#81919e;font-size:9px;margin:0}.accountability-inner>a{color:var(--blue);font-size:10px;font-weight:800;white-space:nowrap}

.impact-cta{padding:0 0 90px;background:#eef5f8}
.impact-cta-inner{padding:50px 55px;border-radius:20px;background:linear-gradient(125deg,#063e70,#07579a);display:flex;justify-content:space-between;align-items:center;gap:35px}
.impact-cta-inner>div:first-child>span{color:#79ce89;font-size:7px;letter-spacing:1.5px;font-weight:900}.impact-cta h2{color:#fff;font-size:29px;line-height:1.25;margin:8px 0}.impact-cta h2 em{color:#79ce89;font-style:normal}
.impact-actions{display:flex;flex-direction:column;gap:8px;min-width:210px}.impact-actions a{padding:12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:7px;color:#fff;background:rgba(255,255,255,.06);font-size:9px;font-weight:800}.impact-actions a:hover{background:#fff;color:var(--navy)}.impact-actions i{float:right}

@media(max-width:991.98px){
 .impact-intro-grid,.story-grid{grid-template-columns:1fr;gap:35px}.metric-grid{grid-template-columns:repeat(2,1fr)}.outcomes-grid{grid-template-columns:1fr 1fr}.impact-cta-inner{display:block}.impact-actions{margin-top:25px}
}
@media(max-width:767.98px){
 .impact-hero-content{padding:70px 0}.impact-hero h1{font-size:43px;letter-spacing:-2px}.impact-intro{padding:70px 0 55px}.impact-intro h2,.story-copy h2{font-size:32px}
 .dashboard-head{display:block}.dashboard-note{margin-top:15px}.metric-grid{grid-template-columns:1fr}.outcomes-grid{grid-template-columns:1fr}.impact-story,.outcomes-section{padding:70px 0}
 .story-image{height:340px}.story-points{grid-template-columns:1fr}.accountability-inner{grid-template-columns:50px 1fr}.accountability-inner>a{grid-column:2;margin-top:8px}.impact-cta-inner{padding:35px 25px}.impact-cta h2{font-size:25px}
}

.stories-intro{padding:90px 0 75px;background:#fff}.stories-intro-grid{display:grid;grid-template-columns:58% 42%;gap:55px;align-items:end}
.stories-intro h2{color:var(--navy);font-size:43px;line-height:1.15;letter-spacing:-1.8px;margin:11px 0 0}.stories-intro h2 em{color:var(--green);font-style:normal}
.stories-intro-grid p{color:#7b8d9b;font-size:11px;line-height:1.85;margin:0}.stories-link{display:inline-block;margin-top:16px;color:var(--blue);font-size:10px;font-weight:800}.stories-link i{color:var(--orange);margin-left:4px}

.featured-story{padding:0 0 105px;background:#fff}.featured-grid{display:grid;grid-template-columns:55% 45%;gap:65px;align-items:center}
.featured-image{height:520px;border-radius:20px;overflow:hidden;position:relative}.featured-image img{width:100%;height:100%;object-fit:cover}.featured-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,28,53,.55),transparent 60%)}
.featured-label{position:absolute;z-index:2;left:22px;bottom:22px;background:var(--orange);color:#fff;padding:9px 11px;border-radius:5px;font-size:7px;letter-spacing:1.2px;font-weight:900}
.story-play{position:absolute;z-index:3;right:22px;bottom:19px;width:52px;height:52px;border:0;border-radius:50%;background:#fff;color:var(--navy);font-size:22px;display:grid;place-items:center;box-shadow:0 8px 25px rgba(0,0,0,.16)}
.story-play i{margin-left:3px}.story-play:hover{background:var(--green);color:#fff}
.story-meta{display:flex;gap:8px;color:var(--orange);font-size:7px;letter-spacing:1.2px;font-weight:900}.story-meta span:nth-child(2){color:#bcc7ce}
.featured-copy h2{color:var(--navy);font-size:40px;line-height:1.15;letter-spacing:-1.7px;margin:13px 0 18px}.featured-copy h2 em{color:var(--green);font-style:normal}
.story-lead{color:var(--navy)!important;font-weight:700!important}.featured-copy p{color:#81919e;font-size:11px;line-height:1.85}
.quote-line{display:flex;gap:12px;margin:23px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#647987;font-size:10px;font-style:italic}.quote-line i{color:var(--green);font-size:18px}
.read-story{border:0;background:none;padding:0;color:var(--blue);font-size:10px;font-weight:900}.read-story i{color:var(--orange);margin-left:5px}

.story-library{padding:100px 0;background:#f5f8fb}.library-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.library-head h2{color:var(--navy);font-size:39px;letter-spacing:-1.6px;margin:10px 0 0}.library-head h2 em{color:var(--green);font-style:normal}
.story-filters{display:flex;gap:5px;flex-wrap:wrap}.story-filter{border:1px solid #dbe4ea;background:#fff;color:#788995;padding:8px 11px;border-radius:6px;font-size:8px;font-weight:800}.story-filter.active{background:var(--navy);border-color:var(--navy);color:#fff}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.story-card{background:#fff;border:1px solid #e0e8ee;border-radius:15px;overflow:hidden;transition:.2s}.story-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(8,47,89,.07)}.story-hidden{display:none}
.story-card-image{height:220px;position:relative;overflow:hidden}.story-card-image img{width:100%;height:100%;object-fit:cover;transition:.4s}.story-card:hover img{transform:scale(1.04)}.story-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,28,53,.4),transparent 60%)}.story-card-image span{position:absolute;z-index:2;left:15px;bottom:14px;background:#fff;color:var(--navy);padding:6px 8px;border-radius:4px;font-size:7px;font-weight:900}
.story-card-body{padding:21px}
.story-card-body small{color:var(--green);font-size:7px;letter-spacing:1.2px;font-weight:900}
.story-card-body h3{color:var(--navy);font-size:16px;line-height:1.35;margin:8px 0}
.story-card-body p{color:#82929f;font-size:12px;line-height:1.7;min-height:45px}
.story-card-body a{color:var(--blue);font-size:16px;font-weight:900}
.story-card-body a i{color:var(--orange);margin-left:4px}

.story-principles{padding:100px 0;background:var(--navy)}.principles-head{max-width:700px;margin-bottom:35px}.principles-head h2{color:#fff;font-size:38px;line-height:1.15;letter-spacing:-1.6px;margin:11px 0}.principles-head h2 em{color:#79ce89;font-style:normal}.principles-head p{color:rgba(255,255,255,.6);font-size:10px;line-height:1.8}
.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.principles-grid>div{padding:25px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.04)}.principles-grid i{color:#79ce89;font-size:20px;display:block;margin-bottom:22px}.principles-grid strong{color:#fff;display:block;font-size:13px}.principles-grid span{display:block;color:rgba(255,255,255,.52);font-size:9px;line-height:1.7;margin-top:5px}

.story-cta{padding:90px 0;background:#eef5f8}.story-cta-inner{padding:48px 55px;border-radius:20px;background:linear-gradient(125deg,#063e70,#07579a);display:flex;justify-content:space-between;align-items:center;gap:35px}.story-cta-inner>div:first-child>span{color:#79ce89;font-size:7px;letter-spacing:1.5px;font-weight:900}.story-cta h2{color:#fff;font-size:29px;margin:8px 0}.story-cta h2 em{color:#79ce89;font-style:normal}.story-cta-actions{display:flex;flex-direction:column;gap:8px;min-width:210px}.story-cta-actions a{padding:12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:7px;color:#fff;background:rgba(255,255,255,.06);font-size:9px;font-weight:800}.story-cta-actions a:hover{background:#fff;color:var(--navy)}.story-cta-actions i{float:right}

.story-modal{border:0;border-radius:16px;overflow:hidden}.modal-close{position:absolute;z-index:5;right:15px;top:15px;border:0;background:#fff;border-radius:50%;width:35px;height:35px;color:var(--navy)}.story-modal .modal-body{padding:38px}.modal-kicker{color:var(--green);font-size:7px;letter-spacing:1.5px;font-weight:900}.story-modal h2{color:var(--navy);font-size:30px;margin:8px 0}.modal-note{color:#81919e;font-size:10px}.modal-story-layout{display:grid;grid-template-columns:38% 62%;gap:25px;margin-top:25px}.modal-story-image{min-height:230px;border-radius:10px;background:url("https://images.unsplash.com/photo-1494386346843-e12284507169?auto=format&fit=crop&w=900&q=85") center/cover}.modal-story-layout h3{color:var(--navy);font-size:18px}.modal-story-layout p{color:#81919e;font-size:10px;line-height:1.8}.modal-quote{padding:15px;border-left:3px solid var(--green);background:#f5f8fb;color:#647987;font-size:10px;font-style:italic}.modal-quote i{color:var(--green);margin-right:5px}

@media(max-width:991.98px){.stories-intro-grid,.featured-grid{grid-template-columns:1fr;gap:35px}.featured-image{height:450px}.story-grid{grid-template-columns:1fr 1fr}.library-head{display:block}.story-filters{margin-top:20px}.principles-grid{grid-template-columns:1fr 1fr}.story-cta-inner{display:block}.story-cta-actions{margin-top:25px}}
@media(max-width:767.98px){.stories-hero-content{padding:70px 0}.stories-hero h1{font-size:43px;letter-spacing:-2px}.stories-intro{padding:70px 0 55px}.stories-intro h2,.featured-copy h2{font-size:32px}.featured-story{padding-bottom:70px}.featured-image{height:350px}.story-library{padding:70px 0}.library-head h2{font-size:31px}.story-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.story-filter{white-space:nowrap;flex:0 0 auto}.story-grid{grid-template-columns:1fr}.story-card-image{height:230px}.story-principles{padding:70px 0}.principles-grid{grid-template-columns:1fr}.story-cta{padding:70px 0}.story-cta-inner{padding:35px 25px}.story-cta h2{font-size:25px}.modal-story-layout{grid-template-columns:1fr}.story-modal .modal-body{padding:28px 20px}}
 
/* =========================================
   RIPI — WAYS TO SUPPORT
========================================= */

.engagement-section {
    padding: 110px 0;
    background: #ffffff;
}


/* =========================================
   SUPPORT CARDS GRID
========================================= */

.support-cards {
    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 18px;

    margin-top: 45px;
}


/* =========================================
   SUPPORT CARD
========================================= */

.support-card {
    position: relative;

    min-height: 360px;

    display: flex;

    flex-direction: column;

    padding: 32px;

    overflow: hidden;

    background: #f5f8f9;

    border: 1px solid #e4ebee;

    border-radius: 10px;

    color: #063e70;

    text-decoration: none;

    transition:
        transform .3s ease,
        background .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}


/* Green decorative line */

.support-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background: #79ce89;

    transform: scaleX(0);

    transform-origin: left;

    transition: transform .3s ease;
}


/* Large background number */

.support-card::after {
    content: attr(data-number);

    position: absolute;

    right: -10px;
    bottom: -30px;

    color: rgba(6, 62, 112, .035);

    font-size: 150px;

    font-weight: 900;

    line-height: 1;

    pointer-events: none;
}


/* =========================================
   ICON
========================================= */

.support-card > i:first-child {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    margin-bottom: 45px;

    border-radius: 50%;

    background: #063e70;

    color: #ffffff;

    font-size: 20px;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}


/* =========================================
   NUMBER
========================================= */

.support-card small {
    display: block;

    margin-bottom: 12px;

    color: #13804c;

    font-size: 10px;

    font-weight: 900;

    letter-spacing: 1.5px;
}


/* =========================================
   TITLE
========================================= */

.support-card h3 {
    position: relative;

    z-index: 2;

    margin: 0 0 15px;

    color: #063e70;

    font-size: 26px;

    line-height: 1.1;

    font-weight: 800;

    letter-spacing: -0.7px;
}


/* =========================================
   DESCRIPTION
========================================= */

.support-card p {
    position: relative;

    z-index: 2;

    max-width: 390px;

    margin: 0;

    color: #718391;

    font-size: 14px;

    line-height: 1.8;
}


/* =========================================
   LINK / CTA
========================================= */

.support-card > span {
    position: relative;

    z-index: 2;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-top: auto;
    padding-top: 30px;

    color: #063e70;

    font-size: 14px;

    font-weight: 900;
}


.support-card > span i {
    font-size: 12px;

    transition:
        transform .25s ease;
}


/* =========================================
   HOVER
========================================= */

.support-card:hover {
    transform: translateY(-8px);

    background: #063e70;

    border-color: #063e70;

    box-shadow:
        0 25px 55px rgba(3, 31, 57, .16);

    color: #ffffff;
}


.support-card:hover::before {
    transform: scaleX(1);
}


.support-card:hover > i:first-child {
    background: #79ce89;

    color: #063e70;

    transform: translateY(-3px);
}


.support-card:hover small {
    color: #79ce89;
}


.support-card:hover h3 {
    color: #ffffff;
}


.support-card:hover p {
    color: rgba(255,255,255,.72);
}


.support-card:hover > span {
    color: #ffffff;
}


.support-card:hover > span i {
    transform: translate(3px, -3px);
}


/* =========================================
   FOCUS ACCESSIBILITY
========================================= */

.support-card:focus-visible {
    outline: 3px solid rgba(121, 206, 137, .45);

    outline-offset: 4px;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .support-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .support-card:last-child {
        grid-column: 1 / -1;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .engagement-section {
        padding: 75px 0;
    }

    .support-cards {
        grid-template-columns: 1fr;

        gap: 14px;

        margin-top: 30px;
    }

    .support-card {
        min-height: 320px;

        padding: 26px;
    }

    .support-card h3 {
        font-size: 23px;
    }

    .support-card > i:first-child {
        margin-bottom: 35px;
    }

} 

/* =========================================
   RIPI — PARTNERSHIP / ENGAGEMENT SECTION
========================================= */

.engagement-section {
    padding: 110px 0;

    background: #ffffff;
}


/* =========================================
   MAIN GRID
========================================= */

.engagement-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(420px, 1fr);

    gap: 90px;

    align-items: start;
}


/* =========================================
   LEFT CONTENT
========================================= */

.engagement-grid > div:first-child {
    max-width: 620px;
}


.engagement-grid h2 {
    margin: 18px 0 20px;

    color: #063e70;

    font-size: clamp(
        42px,
        5vw,
        64px
    );

    line-height: 1;

    letter-spacing: -2.5px;

    font-weight: 800;
}


.engagement-grid h2 em {
    color: #13804c;

    font-style: normal;
}


.engagement-grid > div:first-child > p {
    max-width: 560px;

    margin: 0;

    color: #718391;

    font-size: 13px;

    line-height: 1.9;
}


/* =========================================
   PARTNERSHIP LIST
========================================= */

.partner-list {
    display: flex;

    flex-direction: column;

    border-top: 1px solid #dfe8eb;
}


/* Individual item */

.partner-list > div {
    position: relative;

    display: grid;

    grid-template-columns: 60px 1fr;

    align-items: center;

    min-height: 78px;

    padding: 0 15px;

    border-bottom: 1px solid #dfe8eb;

    background: #ffffff;

    transition:
        background .25s ease,
        padding .25s ease;
}


/* Number */

.partner-list strong {
    color: #a1afb6;

    font-size: 10px;

    font-weight: 900;

    letter-spacing: 1.5px;

    transition: color .25s ease;
}


/* Partnership name */

.partner-list span {
    color: #063e70;

    font-size: 14px;

    font-weight: 800;

    transition:
        color .25s ease,
        transform .25s ease;
}


/* Green left indicator */

.partner-list > div::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 3px;
    height: 100%;

    background: #79ce89;

    transform: scaleY(0);

    transform-origin: center;

    transition: transform .25s ease;
}


/* Arrow */

.partner-list > div::after {
    content: "→";

    position: absolute;

    right: 18px;

    color: #a1afb6;

    font-size: 16px;

    opacity: 0;

    transform: translateX(-8px);

    transition:
        opacity .25s ease,
        transform .25s ease,
        color .25s ease;
}


/* =========================================
   HOVER
========================================= */

.partner-list > div:hover {
    padding-left: 22px;

    background: #f5f8f9;
}


.partner-list > div:hover::before {
    transform: scaleY(1);
}


.partner-list > div:hover strong {
    color: #13804c;
}


.partner-list > div:hover span {
    color: #063e70;

    transform: translateX(4px);
}


.partner-list > div:hover::after {
    opacity: 1;

    color: #13804c;

    transform: translateX(0);
}


/* =========================================
   PARTNER CTA
========================================= */

.partner-cta {
    display: grid;

    grid-template-columns:
        1fr
        auto;

    align-items: center;

    gap: 50px;

    margin-top: 85px;

    padding: 55px 60px;

    background: #063e70;

    border-radius: 10px;

    overflow: hidden;

    position: relative;
}


/* Decorative green shape */

.partner-cta::after {
    content: "";

    position: absolute;

    right: -80px;
    bottom: -120px;

    width: 300px;
    height: 300px;

    border: 70px solid rgba(121, 206, 137, .12);

    border-radius: 50%;

    pointer-events: none;
}


/* CTA content */

.partner-cta > div:first-child {
    position: relative;

    z-index: 2;
}


.partner-cta h2 {
    margin: 16px 0 12px;

    color: #ffffff;

    font-size: clamp(
        30px,
        4vw,
        48px
    );

    line-height: 1.05;

    letter-spacing: -1.5px;

    font-weight: 800;
}


.partner-cta p {
    max-width: 600px;

    margin: 0;

    color: rgba(255,255,255,.70);

    font-size: 12px;

    line-height: 1.8;
}


/* =========================================
   LIGHT KICKER
========================================= */

.partner-cta .section-kicker.light {
    color: #79ce89;
}


.partner-cta .section-kicker.light span {
    background: #79ce89;
}


/* =========================================
   CTA BUTTON
========================================= */

.partner-cta > div:last-child {
    position: relative;

    z-index: 3;
}


.partner-cta .light-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    min-height: 48px;

    padding: 0 22px;

    background: #ffffff;

    color: #063e70;

    border-radius: 5px;

    font-size: 10px;

    font-weight: 900;

    text-decoration: none;

    white-space: nowrap;

    transition:
        background .25s ease,
        color .25s ease,
        transform .25s ease;
}


.partner-cta .light-btn:hover {
    background: #79ce89;

    color: #063e70;

    transform: translateY(-2px);
}


.partner-cta .light-btn i {
    transition: transform .25s ease;
}


.partner-cta .light-btn:hover i {
    transform: translate(3px, -3px);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .engagement-section {
        padding: 85px 0;
    }


    .engagement-grid {

        grid-template-columns: 1fr;

        gap: 50px;

    }


    .engagement-grid > div:first-child {
        max-width: 700px;
    }


    .partner-cta {

        grid-template-columns: 1fr;

        gap: 30px;

        margin-top: 60px;

        padding: 45px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .engagement-section {
        padding: 70px 0;
    }


    .engagement-grid h2 {
        font-size: 42px;

        letter-spacing: -1.8px;
    }


    .partner-list > div {

        grid-template-columns: 45px 1fr;

        min-height: 70px;

        padding: 0 10px;

    }


    .partner-list > div:hover {
        padding-left: 16px;
    }


    .partner-list span {
        padding-right: 30px;

        font-size: 13px;
    }


    .partner-cta {

        margin-top: 50px;

        padding: 35px 25px;

        border-radius: 8px;

    }


    .partner-cta h2 {
        font-size: 32px;
    }


    .partner-cta .light-btn {

        width: 100%;

    } 

}



/* =========================================
   CONTACT PAGE
========================================= */

.contact-hero {
    background: #063e70;
    color: #fff;
    padding: 110px 0 120px;
}

.contact-hero .inner-hero-content {
    max-width: 850px;
}

.contact-hero h1 {
    margin: 20px 0;

    font-size: clamp(52px, 7vw, 88px);
    line-height: .95;

    letter-spacing: -4px;

    font-weight: 800;
}

.contact-hero h1 em {
    color: #79ce89;
    font-style: normal;
}

.contact-hero p {
    max-width: 650px;

    margin: 25px 0 0;

    color: rgba(255,255,255,.72);

    font-size: 14px;
    line-height: 1.9;
}


/* =========================================
   CONTACT INFORMATION
========================================= */

.contact-info-section {
    padding: 70px 0;

    background: #f5f8f9;
}

.contact-info-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 14px;
}

.contact-info-card {
    display: flex;

    gap: 18px;

    min-height: 150px;

    padding: 24px;

    background: #fff;

    border: 1px solid #e2eaed;

    border-radius: 8px;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.contact-info-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 15px 35px rgba(3,31,57,.08);
}

.contact-icon {
    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #063e70;

    color: #fff;

    font-size: 16px;
}

.contact-info-card small {
    display: block;

    margin-bottom: 7px;

    color: #13804c;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: 1.2px;
}

.contact-info-card h3 {
    margin: 0 0 8px;

    color: #063e70;

    font-size: 17px;

    font-weight: 800;
}

.contact-info-card p {
    margin: 0;

    color: #718391;

    font-size: 13px;

    line-height: 1.7;
}

.contact-info-card a {
    color: #063e70;

    text-decoration: none;
}

.contact-info-card a:hover {
    color: #13804c;
}


/* =========================================
   FORM + MAP
========================================= */

.contact-main-section {
    padding: 110px 0;
}

.contact-main-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(0, .95fr);

    gap: 90px;

    align-items: start;
}


/* =========================================
   FORM
========================================= */

.contact-form-wrapper h2,
.contact-map-wrapper h2 {
    margin: 18px 0 15px;
    color: #063e70;
    font-size: clamp(22px, 4vw, 26px);
    line-height: 1;
    font-weight: 800;
}

.contact-form-wrapper h2 em,
.contact-map-wrapper h2 em {
    color: #13804c;

    font-style: normal;
}

.contact-intro,
.contact-map-wrapper > p {
    margin: 0 0 35px;

    color: #718391;

    font-size: 13px;

    line-height: 1.8;
}

.ripi-contact-form {
    margin-top: 35px;
}

.form-row {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 18px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;

    margin-bottom: 8px;

    color: #063e70;

    font-size: 14px;

    font-weight: 600;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;

    padding: 14px 15px;

    border: 1px solid #dce5e9;

    border-radius: 5px;

    background: #f8fafb;

    color: #063e70;

    font-family: inherit;

    font-size: 12px;

    outline: none;

    transition:
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}

.form-group input,
.form-group select {
    height: 48px;
}

.form-group textarea {
    min-height: 160px;

    resize: vertical;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    border-color: #13804c;

    background: #fff;

    box-shadow:
        0 0 0 3px rgba(19,128,76,.08);
}


/* Submit */

.form-submit {
    margin-top: 10px;
}

.ripi-submit-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    min-height: 50px;

    padding: 0 25px;

    border: 0;

    border-radius: 5px;

    background: #063e70;

    color: #fff;

    font-family: inherit;

    font-size: 10px;

    font-weight: 900;

    cursor: pointer;

    transition:
        background .25s ease,
        transform .25s ease;
}

.ripi-submit-btn:hover {
    background: #13804c;

    transform: translateY(-2px);
}

.ripi-submit-btn i {
    transition: transform .25s ease;
}

.ripi-submit-btn:hover i {
    transform: translate(3px,-3px);
}


/* =========================================
   MAP
========================================= */

.contact-map-wrapper {
    position: sticky;

    top: 30px;
}

.contact-map {
    position: relative;

    width: 100%;

    height: 480px;

    overflow: hidden;

    border-radius: 8px;

    background: #e8eeee;

    border: 1px solid #dce5e9;
}

.contact-map iframe {
    width: 100%;
    height: 100%;

    display: block;

    border: 0;
}

.map-placeholder {
    width: 100%;
    height: 100%;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 10px;

    text-align: center;

    color: #718391;
}

.map-placeholder i {
    width: 60px;
    height: 60px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #063e70;

    color: #fff;

    font-size: 24px;
}

.map-placeholder strong {
    color: #063e70;

    font-size: 15px;
}

.map-placeholder span {
    font-size: 11px;
}

.map-address {
    display: flex;

    align-items: center;

    gap: 10px;

    margin-top: 15px;

    color: #718391;

    font-size: 11px;
}

.map-address i {
    color: #13804c;
}


/* =========================================
   CTA
========================================= */

.contact-cta {
    padding: 0 0 110px;
}

.contact-cta-inner {
    position: relative;

    display: grid;

    grid-template-columns: 1fr auto;

    align-items: center;

    gap: 50px;

    padding: 60px;

    overflow: hidden;

    border-radius: 10px;

    background: #063e70;
}

.contact-cta-inner::after {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    right: -100px;
    bottom: -150px;

    border: 70px solid rgba(121,206,137,.12);

    border-radius: 50%;
}

.contact-cta-inner > div {
    position: relative;
    z-index: 2;
}

.contact-cta h2 {
    margin: 17px 0 15px;

    color: #fff;

    font-size: clamp(22px,4vw,52px);

    line-height: 1;
    font-weight: 600;
}

.contact-cta h2 em {
    color: #79ce89;
    font-style: normal;
}

.contact-cta p {
    max-width: 650px;

    margin: 0;

    color: rgba(255,255,255,.7);

    font-size: 12px;

    line-height: 1.8;
}

.contact-cta .light-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    min-height: 50px;

    padding: 0 23px;

    background: #fff;

    color: #063e70;

    border-radius: 5px;

    font-size: 10px;

    font-weight: 900;

    text-decoration: none;

    white-space: nowrap;

    transition:
        background .25s ease,
        transform .25s ease;
}

.contact-cta .light-btn:hover {
    background: #79ce89;

    transform: translateY(-2px);
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1100px) {

    .contact-info-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .contact-main-grid {
        gap: 50px;
    }

}


@media (max-width: 991px) {

    .contact-hero {
        padding: 80px 0;
    }

    .contact-main-grid {
        grid-template-columns: 1fr;
    }

    .contact-map-wrapper {
        position: static;
    }

    .contact-cta-inner {
        grid-template-columns: 1fr;

        padding: 45px;
    }

}


@media (max-width: 575px) {

    .contact-info-section {
        padding: 50px 0;
    }

    .contact-info-grid {
        grid-template-columns: 1fr;
    }

    .contact-main-section {
        padding: 70px 0;
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .contact-map {
        height: 350px;
    }

    .contact-cta {
        padding-bottom: 70px;
    }

    .contact-cta-inner {
        padding: 35px 25px;
    }

    .contact-cta .light-btn {
        width: 100%;
    }

}

/* =========================================
   CONTACT FORM MESSAGES
========================================= */

.ripi-form-message {
    display: flex;

    align-items: flex-start;

    gap: 14px;

    margin: 25px 0;

    padding: 18px 20px;

    border-radius: 6px;

    font-size: 12px;
}

.ripi-form-message > i {
    font-size: 20px;

    flex: 0 0 auto;
}

.ripi-form-message strong {
    display: block;

    margin-bottom: 4px;

    font-size: 12px;
}

.ripi-form-message p {
    margin: 0;

    font-size: 11px;

    line-height: 1.6;
}


/* Success */

.ripi-form-success {
    background: #edf8f0;

    border: 1px solid #cbe8d2;

    color: #176b3d;
}

.ripi-form-success > i {
    color: #13804c;
}


/* Error */

.ripi-form-error {
    background: #fff5f5;

    border: 1px solid #f0d1d1;

    color: #9a3030;
}

.ripi-form-error > i {
    color: #c43d3d;
}