
*{box-sizing:border-box}html,body{overflow-x:hidden}.v23-wrap{width:min(1510px,calc(100% - 44px));margin:auto}
.v23-top{height:32px;background:#07346f;color:#fff;font-size:11px}.v23-top .v23-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.v23-top a{color:#fff;text-decoration:none}
.v23-nav{height:98px;background:#fff;position:relative;z-index:20}.v23-navin{height:100%;display:flex;align-items:center;justify-content:space-between}.v23-logo{display:flex;align-items:center;gap:11px;text-decoration:none}.v23-logo img{width:76px;height:76px;object-fit:contain}.v23-logo span{display:flex;flex-direction:column}.v23-logo b{font-size:29px;color:#1233d8}.v23-logo i{color:#ef1b32;font-style:normal}.v23-logo small{font:italic 12px Georgia;color:#082b62;margin-top:4px}.v23-nav nav{display:flex;align-items:center;gap:25px}.v23-nav nav>a{font-size:13px;font-weight:800;color:#061a3c;text-decoration:none;white-space:nowrap}.v23-nav nav>a.active{color:#e7001d;border-bottom:3px solid #e7001d;padding-bottom:9px}.v23-donate{background:#f20d2a!important;color:#fff!important;border-radius:13px;padding:10px 18px!important;display:flex;align-items:center;gap:8px;box-shadow:0 10px 24px #ef183444}.v23-donate span{display:flex;flex-direction:column;text-align:center}.v23-donate b{font-size:15px}.v23-donate small{font-size:8px}
.v23-hero{height:510px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(90deg,#052650dd 0%,#073b74bb 39%,#06457c80 70%,#052a5bdb 100%),url('../img/hero-coast-clean.jpg') center 52%/cover no-repeat}
.v23-hands{position:absolute;left:0;top:0;width:37%;height:100%;overflow:hidden;z-index:2}.v23-hands:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,#062b5f 100%);pointer-events:none}.v23-hands img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;-webkit-mask-image:linear-gradient(90deg,#000 0 82%,transparent 100%);mask-image:linear-gradient(90deg,#000 0 82%,transparent 100%)}
.v23-creole{position:absolute;left:43px;bottom:30px;z-index:4;text-align:center;text-shadow:0 2px 5px #001b3c}.v23-creole b{font:italic 22px/1.22 Georgia}.v23-creole span{display:block;width:54px;height:4px;background:#f20d2a;margin:10px auto;transform:rotate(-5deg)}.v23-creole small{font:italic 11px/1.25 Georgia}
.v23-main{position:absolute;left:37%;width:43%;top:50%;transform:translateY(-50%);text-align:center;z-index:5;padding:0 25px}.v23-eyebrow{font-size:11px;letter-spacing:.31em;color:#dceaff;margin-bottom:11px}.v23-main h1{margin:0;text-transform:uppercase;line-height:.9}.v23-main h1>span{display:block;font-size:66px;font-weight:950;letter-spacing:-3px}.v23-main h1 strong{display:block;font-size:49px;font-weight:950;white-space:nowrap;margin-top:8px}.v23-main h1 em{font-size:67px;color:#1594ff;font-style:italic;margin-right:9px}.v23-redline{height:6px;width:84%;margin:13px auto 15px;background:#f20d2a;transform:skewX(-20deg) rotate(-1deg);border-radius:10px}.v23-main p{font-size:15px;font-weight:700;line-height:1.4}.v23-buttons{display:flex;justify-content:center;gap:14px;margin-top:20px}.v23-buttons a{min-width:190px;padding:16px 20px;border-radius:10px;text-decoration:none;color:#fff;font-weight:800;font-size:14px}.v23-buttons a:first-child{background:#f20d2a}.v23-buttons a:last-child{border:1px solid #ffffffaa;background:#05295788}
.v23-aside{position:absolute;right:0;top:0;width:23%;height:100%;z-index:3}.v23-map{position:absolute;left:2%;top:17%;width:205px;height:132px;background:#9fc5e755;clip-path:polygon(2% 47%,12% 37%,25% 38%,34% 29%,44% 32%,53% 24%,63% 28%,73% 21%,84% 31%,96% 33%,91% 44%,99% 54%,89% 59%,86% 70%,72% 69%,62% 78%,50% 73%,39% 83%,26% 77%,18% 67%,7% 65%)}.v23-map b{position:absolute;left:58%;top:54%;width:120px;font:italic 15px/1.05 Georgia}.v23-dot{position:absolute;left:39%;top:55%;width:15px;height:15px;border-radius:50%;background:#f20d2a}.v23-values{position:absolute;right:20px;top:14%;display:flex;flex-direction:column;gap:28px;font-size:10px;letter-spacing:.22em;line-height:1.4}.v23-values span:before{content:"";display:block;width:31px;height:3px;background:#f20d2a;margin-bottom:7px}.v23-flower{position:absolute;right:-20px;bottom:-12px;width:210px;height:230px;background:url('../img/tht-hibiscus-production.jpg') center/cover no-repeat;border-radius:70% 0 0 0;-webkit-mask-image:linear-gradient(135deg,transparent 0,#000 30%);mask-image:linear-gradient(135deg,transparent 0,#000 30%)}
.v23-ribbon{position:relative;margin-top:-18px;z-index:10;padding:0 22px 25px}.v23-ribbon:before{content:"";position:absolute;left:-2%;right:-2%;top:-20px;height:45px;background:#fff;border-radius:50% 50% 0 0/70% 70% 0 0;z-index:-1}.v23-cards{width:min(1580px,100%);margin:auto;display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border-radius:25px;overflow:hidden;box-shadow:0 18px 45px #082d5b24}.v23-card{text-align:center;min-height:160px;padding:20px 12px;border-right:1px solid #dce5ef}.v23-card:last-child{border-right:0}.v23-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;color:#fff;font-size:28px;box-shadow:0 9px 20px #072b5b22}.v23-card.red .v23-icon{background:#f20d2a}.v23-card.blue .v23-icon{background:#0c6fd0}.v23-card.green .v23-icon{background:#0c9553}.v23-card.gold .v23-icon{background:#eba000}.v23-card h3{font-size:14px;color:#062c64;margin:0 0 6px}.v23-card p{font-size:11px;line-height:1.3;color:#5f7083;margin:0 auto;max-width:180px}
@media(max-width:1200px){.v23-nav nav{gap:14px}.v23-logo b{font-size:23px}.v23-main h1>span{font-size:52px}.v23-main h1 strong{font-size:38px}.v23-main h1 em{font-size:53px}.v23-values{display:none}.v23-map{left:15%}}
@media(max-width:980px){.v23-top>div>div:last-child,.v23-nav nav{display:none}.v23-hero{height:560px}.v23-hands{width:46%;opacity:.55}.v23-main{left:8%;width:72%;text-align:left}.v23-buttons{justify-content:flex-start}.v23-aside{display:none}.v23-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.v23-top{display:none}.v23-nav{height:80px}.v23-logo img{width:58px;height:58px}.v23-logo b{font-size:18px}.v23-logo small{font-size:9px}.v23-hero{height:650px}.v23-hands{width:100%;top:auto;bottom:0;height:52%;opacity:.35}.v23-main{left:20px;right:20px;width:auto;top:40%;padding:0}.v23-main h1>span{font-size:43px}.v23-main h1 strong{font-size:29px}.v23-main h1 em{font-size:45px}.v23-main p br{display:none}.v23-buttons{flex-wrap:wrap}.v23-creole{display:none}.v23-cards{grid-template-columns:repeat(2,1fr)}}


/* ============================================================
   v24 — homepage lower feature band
   Header/hero intentionally untouched.
   ============================================================ */
.v24-lower{
  width:min(1536px,100%);
  max-width:1536px;
  min-height:390px;
  margin:0 auto 0!important;
  display:grid!important;
  grid-template-columns:1.48fr .82fr .70fr!important;
  overflow:hidden;
  position:relative;
  background:#fff;
  box-shadow:0 22px 55px rgba(5,43,91,.10);
}
.v24-petite{
  min-height:390px;
  position:relative;
  overflow:hidden;
  color:#fff;
  background:url('../img/petite-riviere-v8.jpg') center 58%/cover no-repeat;
}
.v24-petite:after{
  content:"";
  position:absolute;
  top:0; right:-1px; bottom:0;
  width:92px;
  background:#fff;
  clip-path:polygon(72% 0,100% 0,100% 100%,0 100%);
  z-index:3;
}
.v24-petite-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(3,42,91,.97) 0%,rgba(3,48,100,.93) 35%,rgba(3,49,100,.54) 64%,rgba(3,49,100,.06) 100%);
}
.v24-petite-copy{
  position:relative;
  z-index:2;
  width:54%;
  padding:54px 22px 42px 64px;
}
.v24-kicker{
  font-size:12px;
  line-height:1;
  letter-spacing:.31em;
  font-weight:900;
}
.v24-petite .v24-kicker{color:#dcecff}
.v24-petite h2,.v24-tomorrows h2{
  margin:10px 0 0;
  font-size:clamp(31px,2.25vw,42px);
  line-height:.94;
  letter-spacing:-.035em;
  font-weight:950;
}
.v24-rule{
  display:block;
  width:62px;
  height:5px;
  border-radius:10px;
  background:#ef1730;
  margin:15px 0 16px;
  transform:rotate(-2deg);
}
.v24-petite p{
  max-width:420px;
  margin:0 0 24px;
  font-size:15px;
  line-height:1.48;
  color:rgba(255,255,255,.94);
}
.v24-outline-btn,.v24-red-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-decoration:none;
  font-weight:850;
  border-radius:10px;
  transition:transform .18s ease,box-shadow .18s ease;
}
.v24-outline-btn{
  min-height:48px;
  padding:0 19px;
  color:#fff;
  border:2px solid rgba(255,255,255,.9);
  background:rgba(2,38,82,.52);
  box-shadow:0 8px 20px rgba(0,0,0,.13);
}
.v24-outline-btn:hover,.v24-red-btn:hover{transform:translateY(-2px)}
.v24-tomorrows{
  min-height:390px;
  position:relative;
  z-index:2;
  padding:62px 42px 42px 54px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#082e67;
  background:
    radial-gradient(circle at 100% 0,rgba(255,236,208,.35),transparent 40%),
    linear-gradient(135deg,#fffdf9 0%,#fff 70%);
}
.v24-tomorrows .v24-kicker{color:#244c7e}
.v24-tomorrows h2{font-size:clamp(29px,2vw,38px)}
.v24-tomorrows p{
  max-width:370px;
  margin:0 0 23px;
  font-size:15px;
  line-height:1.52;
  color:#244568;
}
.v24-red-btn{
  align-self:flex-start;
  min-height:50px;
  padding:0 21px;
  color:#fff;
  background:#f01631;
  box-shadow:0 13px 28px rgba(240,22,49,.25);
}
.v24-floral{
  min-height:390px;
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(248,253,248,.97),rgba(255,255,255,.91)),
    #fff;
}
.v24-floral:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.11;
  background-image:
    radial-gradient(#0d6f48 1px,transparent 1px);
  background-size:22px 22px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000);
  mask-image:linear-gradient(90deg,transparent,#000);
}
.v24-flower-art{
  position:absolute;
  right:-18px;
  bottom:-28px;
  width:100%;
  height:100%;
  background:url('../img/tht-hibiscus-production.jpg') center/cover no-repeat;
  opacity:.95;
  -webkit-mask-image:linear-gradient(125deg,transparent 0 22%,rgba(0,0,0,.25) 38%,#000 60%);
  mask-image:linear-gradient(125deg,transparent 0 22%,rgba(0,0,0,.25) 38%,#000 60%);
}
.v24-floral-copy{
  position:absolute;
  z-index:2;
  left:38px;
  top:52px;
  width:210px;
  color:#0b3470;
  font:italic 700 19px/1.28 Georgia,serif;
  text-shadow:0 1px 0 #fff;
  transform:rotate(-2deg);
}
.v24-floral-copy span{display:block}
.v24-floral-copy i{
  display:block;
  width:78px;
  height:5px;
  margin-top:15px;
  background:#ef1730;
  border-radius:10px;
  transform:rotate(-4deg);
}

@media(max-width:1100px){
  .v24-lower{grid-template-columns:1.2fr .8fr!important}
  .v24-floral{grid-column:1/-1;min-height:230px}
  .v24-flower-art{width:55%;height:150%;right:0;bottom:-65%}
  .v24-floral-copy{top:40px;left:8%;width:300px}
}
@media(max-width:760px){
  .v24-lower{grid-template-columns:1fr!important}
  .v24-petite,.v24-tomorrows,.v24-floral{min-height:auto}
  .v24-petite{min-height:500px}
  .v24-petite:after{display:none}
  .v24-petite-copy{width:78%;padding:48px 25px}
  .v24-tomorrows{padding:48px 28px}
  .v24-floral{min-height:290px;grid-column:auto}
  .v24-floral-copy{left:28px;top:40px;width:210px}
  .v24-flower-art{width:75%;height:100%;right:-15%;bottom:0}
}


/* ============================================================
   v25 — Projects & Goals section
   Replaces the repetitive home-place / impact-split sections.
   Header and v24 section remain untouched.
   ============================================================ */
.v25-projects{
  position:relative;
  padding:88px 24px 94px;
  background:
    radial-gradient(circle at 7% 8%,rgba(14,109,199,.09),transparent 25%),
    radial-gradient(circle at 92% 86%,rgba(239,23,48,.08),transparent 24%),
    #f7fafc;
  overflow:hidden;
}
.v25-projects:before{
  content:"";
  position:absolute;
  left:-80px;top:60px;width:230px;height:230px;
  border:38px solid rgba(8,49,105,.035);
  border-radius:50%;
}
.v25-projects-wrap{width:min(1390px,100%);margin:auto;position:relative;z-index:2}
.v25-projects-head{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:80px;
  align-items:end;
  margin-bottom:42px;
}
.v25-projects-kicker{
  color:#0b69c6;
  font-size:12px;
  letter-spacing:.28em;
  font-weight:900;
  margin-bottom:12px;
}
.v25-projects-head h2{
  margin:0;
  color:#082e67;
  font-size:clamp(38px,4vw,62px);
  line-height:.94;
  letter-spacing:-.045em;
  font-weight:950;
}
.v25-projects-head h2 span{color:#ef1730}
.v25-projects-head>p{
  margin:0 0 5px;
  max-width:660px;
  color:#50677f;
  font-size:17px;
  line-height:1.65;
}
.v25-project-grid{
  display:grid;
  grid-template-columns:1.45fr repeat(2,1fr);
  gap:18px;
}
.v25-project{
  min-height:280px;
  padding:31px 29px;
  border:1px solid #e2e9f0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 35px rgba(7,44,91,.07);
  position:relative;
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease;
}
.v25-project:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(7,44,91,.12)}
.v25-feature{
  grid-row:span 2;
  min-height:578px;
  padding:0;
  display:flex;
  flex-direction:column;
  background:#062f69;
}
.v25-project-image{
  height:55%;
  min-height:290px;
  background-position:center;
  background-size:cover;
}
.v25-community-image{
  background-image:
    linear-gradient(180deg,transparent 52%,rgba(5,45,99,.98) 100%),
    url('../img/community-children.jpg');
}
.v25-project-body{padding:29px 32px 33px;color:#fff}
.v25-project-body .v25-tag{color:#9fd2ff}
.v25-project-body h3{color:#fff;font-size:29px;margin:9px 0 11px}
.v25-project-body p{color:#dbe9f7;line-height:1.55;margin:0 0 20px}
.v25-project-body a{color:#fff;font-weight:850;text-decoration:none}
.v25-tag{
  display:block;
  color:#68809a;
  font-size:10px;
  letter-spacing:.22em;
  font-weight:900;
}
.v25-project h3{
  color:#082e67;
  font-size:22px;
  line-height:1.1;
  margin:13px 0 12px;
}
.v25-project>p{
  color:#5b7085;
  line-height:1.55;
  margin:0;
}
.v25-project-icon{
  width:58px;height:58px;
  display:grid;place-items:center;
  border-radius:18px;
  margin-bottom:24px;
  color:#fff;
  font-size:27px;
  box-shadow:0 9px 20px rgba(7,44,91,.12);
}
.v25-blue{background:#0b70d0}.v25-green{background:#0b9554}.v25-gold{background:#e8a000}.v25-red{background:#ef1730}
.v25-wide-goal{
  grid-column:2/4;
  min-height:190px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  color:#fff;
  border:0;
  background:
    linear-gradient(110deg,rgba(4,43,94,.98),rgba(5,65,122,.95)),
    url('../img/petite-coast-clean.jpg') center/cover;
}
.v25-wide-goal .v25-tag{color:#9fd2ff}
.v25-wide-goal h3{color:#fff;font-size:27px;margin:9px 0}
.v25-wide-goal p{color:#dceaf7;max-width:700px}
.v25-goals-btn{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:16px 20px;
  border-radius:10px;
  color:#fff;
  background:#ef1730;
  text-decoration:none;
  font-weight:850;
  box-shadow:0 10px 24px rgba(239,23,48,.24);
}
@media(max-width:1050px){
  .v25-projects-head{grid-template-columns:1fr;gap:20px}
  .v25-project-grid{grid-template-columns:1fr 1fr}
  .v25-feature{grid-row:auto;grid-column:1/-1;min-height:540px}
  .v25-wide-goal{grid-column:1/-1}
}
@media(max-width:680px){
  .v25-projects{padding:64px 18px}
  .v25-project-grid{grid-template-columns:1fr}
  .v25-feature,.v25-wide-goal{grid-column:auto}
  .v25-feature{min-height:auto}
  .v25-project-image{min-height:270px}
  .v25-wide-goal{display:block}
  .v25-goals-btn{margin-top:24px}
}


/* ============================================================
   v26 — Fill the open Projects & Goals grid cell
   ============================================================ */
.v26-process-card{
  grid-column:1;
  min-height:190px;
  padding:29px 31px;
  border-radius:22px;
  color:#fff;
  background:
    radial-gradient(circle at 100% 0%,rgba(29,139,224,.28),transparent 38%),
    linear-gradient(135deg,#082f68,#0b4e8d);
  box-shadow:0 16px 38px rgba(7,44,91,.12);
  position:relative;
  overflow:hidden;
}
.v26-process-card:after{
  content:"";
  position:absolute;
  width:160px;height:160px;
  right:-74px;bottom:-92px;
  border:24px solid rgba(255,255,255,.055);
  border-radius:50%;
}
.v26-process-card .v25-tag{color:#9fd2ff}
.v26-process-card h3{
  margin:8px 0 7px;
  color:#fff;
  font-size:25px;
  line-height:1.08;
}
.v26-process-card>p{
  margin:0 0 18px;
  color:#dceaf7;
  line-height:1.45;
}
.v26-process-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  position:relative;
  z-index:2;
}
.v26-process-steps div{
  padding-top:11px;
  border-top:1px solid rgba(255,255,255,.2);
}
.v26-process-steps strong{
  display:block;
  margin-bottom:4px;
  color:#ff5264;
  font-size:12px;
  letter-spacing:.08em;
}
.v26-process-steps span{
  display:block;
  color:#fff;
  font-size:12px;
  line-height:1.28;
  font-weight:750;
}
@media(max-width:1050px){
  .v26-process-card{grid-column:auto}
}
@media(max-width:680px){
  .v26-process-steps{grid-template-columns:1fr}
}


/* v54 — refined homepage feature icons */
.v23-card .v23-icon{
  width:58px;
  height:58px;
  margin:0 auto 13px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0;
  box-shadow:0 9px 22px rgba(10,42,83,.12);
}
.v23-card .v23-icon svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:#fff;
  stroke-width:2.3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.v23-card.red .v23-icon{background:#ff2343}
.v23-card.blue .v23-icon{background:#1378d3}
.v23-card.green .v23-icon{background:#0aa064}
.v23-card.gold .v23-icon{background:#f2a400}
