.p4h-home{
  --purple-deep:#5b1fb0;
  --purple:#8b2fd6;
  --purple-light:#a855e8;
  --purple-pale:#fdeef8;
  --ink:#1e1533;
  --ink-soft:#5c5470;
  --white:#ffffff;
}

.p4h-home{
  color:var(--ink);
}

.p4h-home h1,
.p4h-home h2,
.p4h-home h3,
.p4h-home h4,
.p4h-home .font-display{
  font-family:'Poppins', 'AnekBangla', sans-serif;
}

/* ===== Hero ===== */
.p4h-home .home-hero{
  position:relative;
  color:#fff;
}

.p4h-home .home-hero .carousel,
.p4h-home .home-hero .carousel-inner,
.p4h-home .home-hero .carousel-item{
  min-height:560px;
}

.p4h-home .home-hero-slide{
  min-height:560px;
  display:flex;
  align-items:center;
  padding:110px 0 80px;
  background-color:#2a1450;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}

.p4h-home .home-hero-slide::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(100deg, rgba(30,10,60,.88) 0%, rgba(60,20,100,.55) 40%, rgba(30,10,60,.15) 70%);
}

.p4h-home .home-hero-slide .container{
  position:relative;
  z-index:1;
}

.p4h-home .home-hero .eyebrow-line{
  font-family:'Poppins', 'AnekBangla', sans-serif;
  font-weight:800;
  font-size:clamp(2.2rem, 5vw, 3.4rem);
  line-height:1.1;
  text-transform:uppercase;
  letter-spacing:1px;
}

.p4h-home .home-hero p.lead-text{
  max-width:480px;
  color:#e9ddf5;
  font-size:1.02rem;
}

.p4h-home .btn-donate-hero{
  background:var(--purple);
  color:#fff;
  font-weight:600;
  padding:.8rem 1.8rem;
  border-radius:8px;
  border:none;
}

.p4h-home .btn-donate-hero:hover{
  background:var(--purple-deep);
  color:#fff;
}

.p4h-home .btn-outline-hero{
  background:#fff;
  color:var(--ink);
  font-weight:600;
  padding:.8rem 1.6rem;
  border-radius:8px;
}

.p4h-home .btn-outline-hero:hover{
  background:#f1e4fb;
  color:var(--ink);
}

.p4h-home .home-hero .carousel-indicators{
  margin-bottom:1.4rem;
}

.p4h-home .home-hero .carousel-indicators [data-bs-target]{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff;
  opacity:.45;
}

.p4h-home .home-hero .carousel-indicators .active{
  opacity:1;
  background:var(--purple-light);
}

/* ===== Who we are ===== */
.p4h-home .home-who{
  background:var(--purple-pale);
  padding:70px 0;
}

.p4h-home .home-eyebrow{
  color:var(--purple);
  font-weight:700;
  letter-spacing:1.5px;
  font-size:.8rem;
  text-transform:uppercase;
  background:none;
  padding:0;
  border-radius:0;
  margin-bottom:.5rem;
  display:block;
}

.p4h-home .who-img-wrap{
  position:relative;
}

.p4h-home .who-img-wrap::before{
  content:"";
  position:absolute;
  top:-18px;
  right:-18px;
  width:100%;
  height:100%;
  background:linear-gradient(135deg, var(--purple), var(--purple-deep));
  border-radius:24px;
  z-index:0;
}

.p4h-home .who-img-wrap img{
  position:relative;
  z-index:1;
  border-radius:20px;
  width:100%;
  height:320px;
  object-fit:cover;
}

.p4h-home .know-more{
  color:var(--purple);
  font-weight:600;
}

.p4h-home .know-more:hover{
  color:var(--purple-deep);
}

/* ===== Services ===== */
.p4h-home .services-row{
  padding-top:60px;
}

.p4h-home .services-row h2{
  font-size:clamp(2.2rem, 4vw, 2.75rem);
}

.p4h-home .service-item{
  text-align:center;
  padding:0 10px;
}

.p4h-home .service-icon{
  width:128px;
  height:128px;
  border-radius:50%;
  background:#fbeef8;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 22px;
  color:var(--ink);
}

.p4h-home .service-icon img,
.p4h-home .service-icon svg{
  width:150px;
  height:150px;
  object-fit:contain;
}

.p4h-home .service-item h6{
  font-weight:700;
  font-size:1.15rem;
  color:var(--ink);
  line-height:1.35;
}

.p4h-home .service-item a{
  color:inherit;
}

.p4h-home .service-item a:hover h6{
  color:var(--purple);
}

.p4h-home .divider-v{
  width:1px;
  background:#e6cdec;
  height:120px;
  margin:0 auto;
}

/* ===== Gallery ===== */
.p4h-home .home-gallery{
  padding:70px 0;
}

.p4h-home .home-gallery-main img{
  width:100%;
  height:520px;
  object-fit:cover;
  border-radius:16px;
}

.p4h-home .home-gallery-side img{
  width:100%;
  height:250px;
  object-fit:cover;
  border-radius:16px;
  margin-bottom:20px;
}

.p4h-home .home-gallery-side a:last-child img{
  margin-bottom:0;
}

.p4h-home .swiper-gallery{
  padding-bottom:10px;
}

.p4h-home .swiper-gallery img{
  width:100%;
  height:420px;
  object-fit:cover;
  border-radius:16px;
}

.p4h-home .swiper-gallery .swiper-pagination-bullet-active{
  background:var(--purple);
}

/* ===== Join community ===== */
.p4h-home .home-join{
  padding:90px 0 100px;
  text-align:center;
  background:#fff;
}

.p4h-home .home-join-head{
  max-width:720px;
  margin:0 auto 48px;
}

.p4h-home .home-join-head .home-eyebrow{
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.78rem;
  font-weight:600;
  color:#6b7280;
  margin-bottom:12px;
}

.p4h-home .home-join-head h2{
  font-weight:800;
  font-size:clamp(2rem, 4vw, 2.75rem);
  color:#111827;
  margin:0;
  line-height:1.2;
}

.p4h-home .join-card{
  border:none;
  border-radius:22px;
  padding:56px 28px 36px;
  position:relative;
  margin-top:40px;
  height:100%;
  background:#fff;
  box-shadow:0 10px 32px rgba(17, 24, 39, .06);
  transition:transform .2s ease, box-shadow .2s ease;
}

.p4h-home a.join-card{
  display:block;
  color:inherit;
  text-decoration:none;
}

.p4h-home a.join-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 40px rgba(109, 40, 217, .14);
}

.p4h-home .join-circle{
  width:72px;
  height:72px;
  border-radius:50%;
  background:#6d28d9;
  position:absolute;
  top:-36px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 18px rgba(109, 40, 217, .28);
}

.p4h-home .join-circle i{
  font-size:1.7rem;
  color:#fff;
  line-height:1;
}

.p4h-home .join-circle img{
  width:36px;
  height:36px;
  object-fit:contain;
  filter:brightness(0) invert(1);
}

.p4h-home .join-card h4{
  font-weight:700;
  font-size:1.35rem;
  color:#111827;
  margin:8px 0 12px;
}

.p4h-home .join-card p{
  margin:0;
  color:#6b7280;
  font-size:.98rem;
  line-height:1.6;
  max-width:280px;
  margin-left:auto;
  margin-right:auto;
}

/* ===== Partnership ===== */
.p4h-home .home-partner{
  padding:20px 0 80px;
}

.p4h-home .home-partner-photo{
  border-radius:16px;
  width:100%;
  height:280px;
  object-fit:cover;
}

.p4h-home .partner-logos{
  gap:24px;
}

.p4h-home .partner-logos img{
  height:46px;
  width:auto;
  max-width:140px;
  object-fit:contain;
  filter:grayscale(100%);
  opacity:.85;
}

.p4h-home .partner-logos a:hover img{
  filter:none;
  opacity:1;
}

@media (max-width:767px){
  .p4h-home .home-hero .carousel,
  .p4h-home .home-hero .carousel-inner,
  .p4h-home .home-hero .carousel-item,
  .p4h-home .home-hero-slide{
    min-height:auto;
  }

  .p4h-home .home-hero-slide{
    padding:120px 0 60px;
  }

  .p4h-home .who-img-wrap::before{
    display:none;
  }

  .p4h-home .home-gallery-main img,
  .p4h-home .swiper-gallery img{
    height:280px;
  }
}
