.fp-scope {
  --fp-green: #2d5016;
  --fp-gold: #d0980a;
  --fp-bg: #faf0e6;
  --fp-text: #444;
  --fp-khaki: #dfdacc;
  background: transparent; /* page bg now set on <main> */
}
.fp-section-heading h2 { color: var(--fp-green); }
.fp-section-heading h2::after { background: var(--fp-gold); }
.fp-section-heading p { color: #678464; }

.fp-features { padding:32px 0 70px; }

.fp-feature {
  display: flex; align-items: center; gap:40px;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(45,80,22,0.07);
  padding:38px 20px 38px 0;
  margin: 0 0 32px; position:relative; overflow:hidden;
  transition:transform .22s, box-shadow .22s;
}
.fp-feature.reverse { flex-direction: row-reverse; padding:38px 0 38px 20px; }
.fp-feature:hover { transform:translateY(-4px); box-shadow:0 18px 52px rgba(45,80,22,0.13); }

.fp-image {
  position:relative; min-width: 210px; width: 330px; aspect-ratio:1/1;
  border-radius: 50%; border: 8px solid var(--fp-green);
  box-shadow: 0 8px 24px rgba(45,74,42,0.14); overflow:hidden; background: #e1eee2;
  display:flex;align-items:center;justify-content:center;
}
.fp-image img {
  width: 100%; height: 100%; object-fit: cover; border-radius: 50%;
  transform:scale(1.02);
  transition: transform .55s, filter .55s;
}
.fp-feature:hover .fp-image img {
  transform: scale(1.06); filter: saturate(1.1) brightness(0.96);
}
.fp-glow {
  position:absolute; inset:0; background:radial-gradient(120% 120% at 26% 23%, rgba(45,80,22,0.32) 0, rgba(45,80,22,0) 62%);
  mix-blend-mode: multiply; opacity: 0; pointer-events:none;
}
.fp-feature:hover .fp-image .fp-glow { animation: fpGreenFlicker .7s ease-out forwards; }
@keyframes fpGreenFlicker{ 0%{opacity:0} 20%{opacity:.36} 40%{opacity:.15} 60%{opacity:.30} 100%{opacity:.20} }

.fp-content {
  flex:1; min-width: 220px; padding: 0 3vw;
  background: #fff;
  border-left: 5px solid var(--fp-gold);
  border-radius: 12px;
  box-shadow: 0 2px 8px #ecdcbb43;
  margin-left: 0; margin-right:0;
}

.fp-box-gold { border-left: 5px solid var(--fp-gold); }

.fp-badge {
  display:inline-block;
  background:rgba(45,80,22,0.08);
  color:var(--fp-green); font-weight:600;
  padding:6px 18px; border-radius:60px; margin-bottom:10px; font-size:1rem;
}
.fp-content h3 { font-family:'Lora',serif;color:var(--fp-green);font-weight:700;margin:6px 0 14px 0;font-size:1.45rem; }
.fp-content p { color:var(--fp-text);font-size:1.11rem;margin-bottom:7px; }
.fp-points { display:flex;flex-wrap:wrap;gap:8px 16px;margin:18px 0 0 0;padding:0;list-style:none; }
.fp-points li { position:relative; padding-left:22px; margin-bottom:2px; color:var(--fp-green);}
.fp-points li::before {
  content:"\f058"; font-family:"Font Awesome 6 Free"; font-weight:900;
  color:var(--fp-gold); position:absolute;left:0;top:2px;font-size:.98rem;
}
.fp-amenities { margin-top:22px; display:flex; gap:12px; flex-wrap:wrap;}
.fp-amenity { background:#f9f7f2;border:1px solid rgba(45,80,22,0.10);border-radius:10px;
  padding:10px 14px;display:flex;align-items:center;gap:8px;box-shadow:0 2px 8px rgba(0,0,0,0.04);
  color:var(--fp-green); font-weight:600; font-size:.98rem; }
.fp-amenity i { color:var(--fp-gold); font-size:1.15rem; }
.fp-amenity:hover { transform:translateY(-2px); box-shadow:0 8px 16px rgba(45,80,22,0.11); }

@media (max-width:1199px){ .fp-image{width:220px;} }
@media (max-width:991px){
  .fp-feature, .fp-feature.reverse{ flex-direction:column; text-align:center; gap:20px; padding:22px 5vw;}
  .fp-image{margin-bottom:11px;} .fp-content{padding:0;}
}
@media (max-width:600px){
  .fp-feature,.fp-feature.reverse {padding:10px 0;} .fp-image{width:88px;border-width:4px;} .fp-content{font-size:.99rem;}
  .fp-section-heading h2{font-size:1.25rem;}
}
.fp-section-heading {
  max-width: 800px;
  margin: 64px auto 36px auto; /* Center horizontally with auto left/right margins */
  text-align: center;
  padding: 0 15px; /* Padding for smaller screens */
}

.fp-section-heading h2 {
  font-family: 'Lora', serif;
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--fp-gr, #2d5016);
  display: inline-block;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.fp-section-heading h2::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 64px;
  height: 3px;
  background: var(--fp-khaki, #daa520);
  border-radius: 2px;
}

.fp-section-heading p {
  color: #666;
  margin: 0 auto;
  font-weight: 400;
  font-size: 1.06rem;
  max-width: 600px;
  text-align: center;
  opacity: 0.96;
}
