:root {
  --green-950:#032d13;
  --green-900:#063919;
  --green-800:#0a4e22;
  --green-700:#12642a;
  --lime:#a8e83e;
  --lime-soft:#d9ff86;
  --cream:#fffaf0;
  --white:#fff;
  --glass:rgba(10,75,28,.72);
  --line:rgba(174,241,74,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",sans-serif;background:#052f16;color:#fff}
a{color:inherit;text-decoration:none}
button{font:inherit}
.shell{width:min(1500px,calc(100% - 72px));margin-inline:auto}
.hero{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:var(--green-950)}
.hero__photo{position:absolute;inset:0 0 0 34%;z-index:-4;background:url("assets/home-hero-caregiver.jpg") center 35%/cover no-repeat;filter:saturate(1.25) contrast(1.04) brightness(1.05);transform:scale(1.035)}
.hero__wash{position:absolute;inset:0;z-index:-3;background:
linear-gradient(90deg,#042d13 0%,#063717 28%,rgba(5,52,21,.92) 40%,rgba(6,51,20,.25) 64%,rgba(5,42,16,.08) 100%),
linear-gradient(180deg,rgba(0,22,8,.48) 0%,transparent 28%,transparent 63%,rgba(0,28,7,.88) 100%)}
.hero__glow{position:absolute;right:-10%;top:-18%;width:60%;height:70%;z-index:-2;background:radial-gradient(circle,rgba(220,255,115,.48),transparent 60%);filter:blur(35px)}
.leaf{position:absolute;z-index:1;border-radius:100% 0 100% 0;background:linear-gradient(135deg,#a7ed39,#197e2e);filter:drop-shadow(0 12px 14px rgba(0,0,0,.18));opacity:.95}
.leaf--one{width:180px;height:78px;left:-55px;top:12px;transform:rotate(-18deg)}
.leaf--two{width:210px;height:88px;right:-80px;bottom:45px;transform:rotate(20deg)}
.leaf--three{width:430px;height:105px;left:-115px;bottom:-15px;transform:rotate(8deg);opacity:.8}
.nav{height:142px;display:flex;align-items:center;gap:44px;position:relative;z-index:10}
.brand{display:flex;align-items:center;gap:18px;min-width:340px}
.brand__mark{width:82px;height:82px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(145deg,#fffdf4,#e6f7c9);border:1px solid rgba(255,255,255,.8);box-shadow:0 12px 35px rgba(0,0,0,.2);overflow:hidden}
.brand__mark img{width:70%;height:70%;object-fit:contain}
.brand__copy{display:grid;gap:4px}
.brand__copy strong{font:700 37px/1 "Playfair Display",serif;letter-spacing:-.6px}
.brand__copy small{font-weight:700;font-size:14px;letter-spacing:.9px}
.nav__links{display:flex;align-items:center;justify-content:center;gap:42px;flex:1}
.nav__links a{position:relative;font-weight:700;font-size:17px;white-space:nowrap;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:-18px;height:3px;border-radius:4px;background:var(--lime);transform:scaleX(0);transition:.3s}
.nav__links a:hover::after,.nav__links a.active::after{transform:scaleX(1)}
.nav__links a.active{color:var(--lime-soft)}
.visit-btn{display:flex;align-items:center;gap:10px;padding:16px 28px;border-radius:999px;background:linear-gradient(135deg,#0b8d2d,#006d1d);font-weight:800;box-shadow:0 10px 26px rgba(0,55,13,.4),inset 0 1px rgba(255,255,255,.35);white-space:nowrap;transition:.3s}
.visit-btn:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(0,55,13,.5)}
.visit-btn__icon{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#e5ffc1;color:#087424;font-size:10px}
.menu-toggle{display:none;margin-left:auto;background:none;border:0;padding:8px}
.menu-toggle span{display:block;width:28px;height:2px;background:#fff;margin:6px 0;transition:.3s}
.hero__content{padding-top:52px;padding-bottom:330px}
.copy{max-width:700px}
.eyebrow{display:inline-flex;align-items:center;gap:16px;padding:12px 28px;border-radius:999px;background:linear-gradient(90deg,rgba(18,104,39,.72),rgba(51,119,31,.45));border:1px solid rgba(183,239,84,.18);color:#ecffb0;font-weight:800;letter-spacing:.8px;font-size:16px}
.eyebrow__heart{font-size:29px;line-height:1;color:var(--lime)}
h1{margin:24px 0 24px;font-family:"Playfair Display",serif;line-height:.94;letter-spacing:-3px}
h1 span{display:block;font-size:88px;color:#fff}
h1 em{display:block;margin-top:12px;font-size:82px;font-weight:600;color:var(--lime);text-shadow:0 7px 26px rgba(67,166,17,.2)}
.intro{max-width:630px;font-size:21px;line-height:1.48;margin:0;color:rgba(255,255,255,.95)}
.actions{display:flex;align-items:center;gap:18px;margin-top:28px}
.btn{min-height:58px;display:inline-flex;align-items:center;gap:12px;padding:0 26px;border-radius:999px;font-weight:800;transition:.3s}
.btn:hover{transform:translateY(-3px)}
.btn--primary{background:linear-gradient(135deg,#80d824,#a7ed35);color:#fff;box-shadow:0 15px 34px rgba(87,177,16,.28)}
.btn--outline{border:1.5px solid #78d52b;background:rgba(2,52,18,.32);backdrop-filter:blur(10px)}
.btn__icon{font-size:19px}.btn__arrow{font-size:25px;margin-left:4px}
.benefits{position:absolute;left:50%;bottom:112px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);gap:22px;z-index:4}
.benefit{min-height:140px;display:flex;align-items:flex-start;gap:22px;padding:22px 24px;border-radius:24px;background:linear-gradient(135deg,rgba(24,111,33,.76),rgba(4,59,20,.78));border:1px solid rgba(183,239,84,.16);backdrop-filter:blur(18px);box-shadow:0 20px 45px rgba(0,28,6,.24);transition:.35s}
.benefit:hover{transform:translateY(-8px);border-color:rgba(186,244,72,.55)}
.benefit__icon{flex:0 0 70px;width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#66bd24,#2a7d22);font-size:34px;color:#f2ffd4;box-shadow:inset 0 1px rgba(255,255,255,.25)}
.benefit h3{margin:0 0 8px;font-size:20px;line-height:1.2}
.benefit p{margin:0;color:rgba(255,255,255,.9);font-size:14px;line-height:1.45}
.contact-strip{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:5;min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-radius:999px;background:linear-gradient(90deg,rgba(6,83,28,.94),rgba(4,72,23,.9));border:1px solid rgba(166,231,56,.65);box-shadow:0 20px 45px rgba(0,20,4,.3);backdrop-filter:blur(16px)}
.contact-strip__left{display:flex;align-items:center;gap:28px;font-size:19px;font-weight:800}
.contact-strip__left a{display:flex;align-items:center;gap:13px}.contact-strip__left span span{color:var(--lime)}
.contact-strip__left i{width:1px;height:30px;background:rgba(255,255,255,.35)}
.contact-strip__left b{color:var(--lime);margin-right:12px}
.contact-strip p{margin:0;font:italic 600 24px "Playfair Display",serif;color:#f1ffbd}
.contact-strip p span{color:var(--lime)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width:1250px){
  .shell{width:min(100% - 38px,1180px)}.brand{min-width:280px}.brand__copy strong{font-size:30px}.nav__links{gap:22px}.nav__links a{font-size:15px}.visit-btn{padding:14px 20px}h1 span{font-size:72px}h1 em{font-size:68px}.copy{max-width:610px}.benefits{gap:12px}.benefit{padding:18px 16px;gap:14px}.benefit__icon{width:58px;height:58px;flex-basis:58px}.benefit h3{font-size:17px}.contact-strip p{font-size:20px}
}
@media (max-width:980px){
  .hero{min-height:1100px}.hero__photo{inset:0;background-position:62% 20%;opacity:.82}.hero__wash{background:linear-gradient(90deg,rgba(3,45,17,.98),rgba(4,55,20,.86) 55%,rgba(5,46,18,.42)),linear-gradient(180deg,rgba(0,20,7,.45),transparent 55%,rgba(0,26,8,.95))}.nav{height:110px}.nav__links,.visit-btn{display:none}.menu-toggle{display:block}.nav.menu-open .nav__links{display:flex;position:absolute;top:94px;left:0;right:0;flex-direction:column;gap:0;background:rgba(3,45,17,.96);padding:18px;border-radius:20px;box-shadow:0 20px 45px rgba(0,0,0,.3)}.nav.menu-open .nav__links a{width:100%;padding:15px}.nav.menu-open .nav__links a::after{display:none}.hero__content{padding-top:70px;padding-bottom:520px}.benefits{bottom:120px;grid-template-columns:repeat(2,1fr)}.contact-strip{bottom:24px}.contact-strip p{display:none}
}
@media (max-width:680px){
  .shell{width:calc(100% - 28px)}.hero{min-height:1260px}.brand{min-width:0;gap:10px}.brand__mark{width:58px;height:58px;border-radius:14px}.brand__copy strong{font-size:24px}.brand__copy small{font-size:9px}.hero__content{padding-top:42px;padding-bottom:720px}.eyebrow{font-size:11px;padding:10px 15px;gap:8px}.eyebrow__heart{font-size:22px}h1{letter-spacing:-1.5px;margin-top:22px}h1 span{font-size:53px}h1 em{font-size:50px}.intro{font-size:17px}.actions{flex-direction:column;align-items:stretch}.btn{justify-content:center;width:100%}.benefits{grid-template-columns:1fr;bottom:118px}.benefit{min-height:118px}.contact-strip{min-height:70px;padding:0 22px}.contact-strip__left{width:100%;justify-content:center;font-size:15px;gap:12px}.contact-strip__left i,.contact-strip__left>span{display:none}.leaf--three{width:270px}
}


/* ===== ABOUT FOREVER LIFE SECTION ===== */
*{box-sizing:border-box}
.about{position:relative;overflow:hidden;min-height:100vh;padding:78px 0 56px;background:
radial-gradient(circle at 15% 15%,rgba(154,188,87,.18),transparent 25%),
radial-gradient(circle at 84% 70%,rgba(118,153,67,.17),transparent 27%),
linear-gradient(135deg,#fbfbed 0%,#f3f7e8 48%,#edf3df 100%)}
.about:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.16),transparent 55%)}
.about-shell{position:relative;z-index:3;width:min(1410px,calc(100% - 72px));margin:auto}
.about-top{display:grid;grid-template-columns:48% 52%;align-items:center;gap:18px}
.about-copy{padding:10px 18px 230px 8px;max-width:700px}
.about-eyebrow{display:flex;align-items:center;gap:13px;color:#5f7f34;font-weight:700;letter-spacing:.07em;font-size:17px;margin-bottom:22px}
.about-eyebrow svg{width:24px;fill:#8eb24d}.about-eyebrow i{width:47px;height:1px;background:#9eb77b}
.about h2{margin:0;font-family:"Playfair Display",serif;font-weight:600;font-size:clamp(48px,3.8vw,66px);line-height:1.04;letter-spacing:-.035em;color:#194b35}
.about h2 em{display:inline-block;color:#7f9f4f;font-weight:600}
.heart-rule{display:flex;align-items:center;gap:14px;margin:20px 0 24px;max-width:540px}.heart-rule span{height:1px;background:#9cb476;flex:1}.heart-rule svg{width:23px;fill:#799b47}
.about-copy p{font-size:18px;line-height:1.72;color:#46534c;margin:0 0 14px}.about-copy .lead{font-weight:600;color:#214838;font-size:19px}
.about-visual{position:relative;min-height:650px;display:flex;align-items:center;justify-content:flex-end}
.image-frame{width:94%;height:635px;overflow:hidden;border-radius:48% 16% 42% 44% / 24% 12% 40% 36%;border:8px solid rgba(255,255,255,.94);box-shadow:0 35px 55px rgba(30,69,36,.2);position:relative;z-index:2;background:white}
.image-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,68,37,.13),transparent 48%)}
.image-frame img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.02)}
.visual-outline{position:absolute;inset:18px -30px 0 8%;border:1px solid rgba(82,124,51,.55);border-radius:48% 17% 45% 42% / 23% 14% 42% 35%;transform:rotate(-2deg)}
.visual-outline:after{content:"";position:absolute;inset:28px -42px -10px -18px;border:42px solid #315e27;border-top-color:transparent;border-right-color:#315e27;border-radius:48% 18% 48% 45% / 27% 16% 48% 37%;z-index:-1;opacity:.98}
.visual-leaves{position:absolute;top:-30px;left:33%;width:120px;height:80px;z-index:4}.visual-leaves span{position:absolute;width:43px;height:22px;border-radius:100% 0 100% 0;background:#5f873a;transform-origin:right center}.visual-leaves span:nth-child(1){left:28px;top:18px;transform:rotate(50deg)}.visual-leaves span:nth-child(2){left:55px;top:8px;transform:rotate(-25deg)}.visual-leaves span:nth-child(3){left:57px;top:39px;transform:rotate(20deg)}
.quote-card{position:absolute;right:1%;bottom:-7px;z-index:6;width:310px;padding:28px 30px 28px;border-radius:26px;background:linear-gradient(145deg,#315f28,#487632);color:white;border:1px solid rgba(224,238,183,.55);box-shadow:0 24px 50px rgba(27,65,35,.28)}
.quote-mark{font-family:Georgia,serif;color:#b6ca7a;font-size:72px;line-height:.65}.quote-card>p{font-size:19px;line-height:1.55;margin:15px 0 18px}.quote-line{height:1px;background:rgba(227,238,196,.5);width:72%;margin-bottom:19px}.quote-signature{display:flex;gap:13px;align-items:flex-start;color:#e8f0d2;font-size:14px;line-height:1.65}.quote-signature svg{width:23px;fill:#bdd27f;margin-top:3px}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;width:61%;margin-top:-190px;position:relative;z-index:8}
.value-card{min-height:268px;padding:22px 22px 20px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border:1px solid rgba(37,88,45,.1);border-radius:22px;box-shadow:0 18px 35px rgba(40,68,37,.12);transition:.35s ease}
.value-card:hover{transform:translateY(-8px);box-shadow:0 24px 45px rgba(40,68,37,.18)}
.value-icon{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:linear-gradient(145deg,#edf3cd,#dce8b4)}
.value-icon svg{width:48px;height:48px;fill:none;stroke:#37662d;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.value-card h3{text-align:center;font-size:15px;margin:0;color:#173e2d}.value-card>i{display:block;width:34px;height:1px;background:#86a55c;margin:13px auto 14px}.value-card p{font-size:13px;line-height:1.8;color:#465249;margin:0}
.stats-bar{margin-top:26px;min-height:138px;background:linear-gradient(100deg,#355f26,#4c7830 52%,#2d5a28);border-radius:30px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding:20px 26px;color:white;box-shadow:0 22px 40px rgba(29,67,33,.23)}
.stat{display:flex;align-items:center;gap:17px;min-height:88px;padding:0 18px;border-right:1px solid rgba(222,234,181,.28)}.stat:last-child{border-right:0}
.stat-icon{flex:0 0 70px;width:70px;height:70px;border-radius:50%;border:2px solid rgba(198,219,133,.65);display:grid;place-items:center;background:rgba(255,255,255,.04)}.stat-icon svg{width:38px;height:38px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.stat div:last-child{display:flex;flex-direction:column}.stat strong{font-family:"Playfair Display",serif;font-size:42px;line-height:1;color:#e4edbd;font-weight:600}.stat strong.family{font-family:"DM Sans",sans-serif;font-size:21px;letter-spacing:.12em;margin-bottom:9px}.stat b{font-size:12px;letter-spacing:.08em;margin:6px 0 7px}.stat span{font-size:12px;color:#e4ecd8}
.ambient{position:absolute;border-radius:50%;filter:blur(30px);opacity:.35}.ambient-one{width:180px;height:180px;left:-60px;top:120px;background:#b7cf7e}.ambient-two{width:220px;height:220px;right:8%;bottom:-100px;background:#9ebc65}
.leaf-cluster{position:absolute;z-index:2}.leaf-cluster span{position:absolute;background:linear-gradient(135deg,#87ad3e,#3e7a28);border-radius:100% 0 100% 0;box-shadow:inset 0 0 12px rgba(255,255,255,.25)}.leaf-left{left:-24px;top:380px;width:140px;height:270px}.leaf-left span:nth-child(1){width:85px;height:36px;top:0;left:0;transform:rotate(-20deg)}.leaf-left span:nth-child(2){width:104px;height:42px;top:72px;left:-22px;transform:rotate(8deg)}.leaf-left span:nth-child(3){width:88px;height:38px;top:143px;left:5px;transform:rotate(-8deg)}.leaf-left span:nth-child(4){width:70px;height:30px;top:205px;left:-10px;transform:rotate(17deg)}
.leaf-right{right:-30px;bottom:-10px;width:180px;height:250px}.leaf-right span:nth-child(1){width:95px;height:38px;right:18px;bottom:8px;transform:rotate(-58deg)}.leaf-right span:nth-child(2){width:92px;height:36px;right:70px;bottom:65px;transform:rotate(-35deg)}.leaf-right span:nth-child(3){width:100px;height:38px;right:5px;bottom:104px;transform:rotate(-65deg)}.leaf-right span:nth-child(4){width:76px;height:31px;right:82px;bottom:144px;transform:rotate(-25deg)}.leaf-right span:nth-child(5){width:82px;height:32px;right:5px;bottom:190px;transform:rotate(-62deg)}
.reveal-left,.reveal-right,.reveal-up{opacity:0;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal-left{transform:translateX(-35px)}.reveal-right{transform:translateX(35px)}.reveal-up{transform:translateY(28px);transition-delay:var(--delay,0s)}.resident-journey .is-visible{opacity:1;transform:none}
@media(max-width:1180px){.about-shell{width:min(1100px,calc(100% - 40px))}.about-top{grid-template-columns:1fr 1fr}.about-copy{padding-bottom:190px}.about-visual{min-height:590px}.image-frame{height:560px}.value-grid{width:67%;margin-top:-155px}.stats-bar{grid-template-columns:repeat(2,1fr);gap:8px}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:14px}.stat:nth-child(n+3){padding-top:14px}}
@media(max-width:900px){.about{padding-top:56px}.about-top{grid-template-columns:1fr}.about-copy{max-width:none;padding:10px 8px 0}.about-visual{min-height:560px;margin-top:20px}.image-frame{width:100%;height:540px}.quote-card{right:3%;bottom:-15px}.value-grid{width:100%;margin-top:32px;grid-template-columns:repeat(2,1fr)}.value-card{min-height:230px}.visual-outline{inset:12px -10px 0 2%}}
@media(max-width:640px){.about-shell{width:calc(100% - 26px)}.about{padding:42px 0 32px}.about-eyebrow{font-size:13px}.about-copy p,.about-copy .lead{font-size:16px}.about-visual{min-height:auto;padding-bottom:145px}.image-frame{height:390px;border-width:5px;border-radius:36% 14% 34% 30% / 18% 12% 32% 30%}.visual-outline{display:none}.quote-card{width:86%;right:7%;bottom:8px;padding:22px}.quote-card>p{font-size:16px}.value-grid{grid-template-columns:1fr}.value-card{min-height:auto}.stats-bar{grid-template-columns:1fr;padding:18px}.stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)!important;padding:15px 4px!important}.stat:last-child{border-bottom:0!important}.leaf-left,.leaf-right{opacity:.45}}

/* =========================================================
   APPROVED OUR FOUNDATION SECTION
========================================================= */
.foundation {
  --forest: #173f25;
  --forest-2: #2f6726;
  --leaf: #568a31;
  --lime: #9bbb55;
  --cream: #f9f8ef;
  --paper: rgba(255,255,255,.88);
  --ink: #163522;
  --muted: #4d554f;
  --line: rgba(68,112,45,.28);
  --shadow: 0 24px 60px rgba(43,74,31,.13);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "DM Sans", sans-serif;
  color: var(--ink);
  background: #f7f8ef;
}

.foundation {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  padding: 72px 0 58px;
  background:
    radial-gradient(circle at 7% 45%, rgba(185,211,112,.25), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(215,232,173,.26), transparent 26%),
    linear-gradient(115deg, #f8f8ed 0%, #fbfbf6 52%, #f7f9ee 100%);
}

.foundation::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background-image:
    linear-gradient(rgba(36,76,35,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(36,76,35,.04) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
}

.foundation__container {
  position: relative;
  z-index: 2;
  width: min(1480px, calc(100% - 68px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(470px, .95fr) minmax(580px, 1.15fr);
  grid-template-rows: auto auto;
  column-gap: 58px;
  align-items: center;
}

.foundation__visual {
  position: relative;
  min-height: 610px;
  align-self: start;
}

.foundation__visual-shell {
  position: absolute;
  left: -130px;
  top: -95px;
  width: 760px;
  height: 760px;
}

.foundation__visual-ring {
  position: absolute;
  inset: 10px 0 0 13px;
  border-radius: 0 54% 54% 0;
  border: 1px solid rgba(64,112,40,.45);
  transform: rotate(-2deg);
}

.foundation__photo-wrap {
  position: absolute;
  inset: 28px 28px 25px 0;
  overflow: hidden;
  border-radius: 0 52% 52% 0;
  border: 8px solid rgba(255,255,255,.96);
  box-shadow: 18px 22px 60px rgba(43,79,34,.13);
}

.foundation__photo-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(28,74,29,.06), transparent 36%);
  pointer-events: none;
}

.foundation__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 48%;
  transform: scale(1.025);
}

.foundation__badge {
  position: absolute;
  left: 265px;
  bottom: 2px;
  width: 150px;
  height: 150px;
  display: grid;
  place-content: center;
  gap: 8px;
  text-align: center;
  border-radius: 50%;
  color: #fff;
  font-size: 15px;
  line-height: 1.32;
  letter-spacing: .055em;
  font-weight: 600;
  background:
    radial-gradient(circle at 34% 24%, rgba(255,255,255,.14), transparent 34%),
    linear-gradient(145deg, #5f8d39, #245226 72%);
  border: 5px solid rgba(255,255,255,.98);
  box-shadow:
    0 18px 36px rgba(35,68,30,.25),
    0 0 0 2px #6d963f,
    inset 0 0 0 1px rgba(255,255,255,.25);
}

.foundation__badge-icon {
  display: block;
  width: 32px;
  margin: 0 auto;
}
.foundation__badge svg,
.foundation__eyebrow svg {
  width: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.foundation__sprig {
  position: absolute;
  left: 105px;
  bottom: -35px;
  width: 160px;
  fill: rgba(85,132,47,.13);
  stroke: #4e812d;
  stroke-width: 2;
}

.foundation__content {
  padding-top: 18px;
  max-width: 720px;
}

.foundation__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  color: #3e6d2f;
  font-size: 18px;
  letter-spacing: .08em;
}
.foundation__eyebrow span {
  width: 104px;
  height: 1px;
  background: #72975c;
}
.foundation__eyebrow svg {
  width: 25px;
}
.foundation__eyebrow strong { font-weight: 700; }

.foundation__title {
  margin: 20px 0 18px;
  font-family: "Playfair Display", serif;
  font-size: clamp(55px, 5vw, 83px);
  line-height: .98;
  font-weight: 600;
  letter-spacing: -.045em;
  color: #14341f;
}
.foundation__title em {
  display: block;
  margin-top: 11px;
  color: #6f9844;
  font-weight: 600;
}

.foundation__divider {
  display: flex;
  align-items: center;
  gap: 23px;
  margin: 24px 0 26px;
}
.foundation__divider span {
  height: 1px;
  flex: 1;
  background: #7f9d68;
}
.foundation__divider svg {
  width: 27px;
  fill: #4f8036;
}

.foundation__lead,
.foundation__copy {
  max-width: 700px;
  margin: 0;
  font-size: 19px;
  line-height: 1.66;
}
.foundation__lead {
  font-weight: 600;
  color: #1d3528;
}
.foundation__copy {
  margin-top: 19px;
  color: var(--muted);
  padding-bottom: 4px;
}

.foundation__content {
  position: relative;
  z-index: 6;
}

.foundation__cards {
  grid-column: 1 / -1;
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  width: calc(100% - 270px);
  margin: 48px 0 0 auto;
}

.foundation-card {
  position: relative;
  min-height: 370px;
  padding: 28px 22px 22px;
  overflow: hidden;
  border: 1px solid rgba(43,81,39,.06);
  border-radius: 19px;
  background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,255,255,.88));
  box-shadow: var(--shadow);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.foundation-card:hover {
  transform: translateY(-10px);
  border-color: rgba(78,128,49,.25);
  box-shadow: 0 30px 72px rgba(43,74,31,.19);
}

.foundation-card__icon {
  width: 67px;
  height: 67px;
  display: grid;
  place-items: center;
  margin: 0 auto 18px;
  border-radius: 50%;
  color: white;
  background: linear-gradient(145deg, #5c9037, #285b25);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.35);
}
.foundation-card__icon svg {
  width: 36px;
  height: 36px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.foundation-card h3 {
  min-height: 57px;
  margin: 0;
  text-align: center;
  font-size: 18px;
  line-height: 1.28;
}
.foundation-card i {
  display: block;
  width: 34px;
  height: 2px;
  margin: 16px auto;
  background: #649540;
}
.foundation-card p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.68;
  color: #465047;
}
.foundation-card a {
  position: absolute;
  left: 22px;
  bottom: 20px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: white;
  text-decoration: none;
  font-size: 20px;
  background: #3e742f;
  transition: transform .25s ease, background .25s ease;
}
.foundation-card a:hover {
  transform: translateX(4px);
  background: #78a438;
}
.foundation-card__botanical {
  position: absolute;
  right: -5px;
  bottom: -8px;
  width: 72px;
  height: 95px;
  opacity: .46;
  background:
    linear-gradient(135deg, transparent 49%, #739d53 50%, transparent 52%) 34px 0/2px 100% no-repeat,
    radial-gradient(ellipse at 35% 60%, rgba(121,158,86,.3) 0 18%, transparent 19%),
    radial-gradient(ellipse at 70% 34%, rgba(121,158,86,.28) 0 17%, transparent 18%),
    radial-gradient(ellipse at 20% 25%, rgba(121,158,86,.24) 0 14%, transparent 15%);
  transform: rotate(-15deg);
}

.foundation__dots {
  position: absolute;
  z-index: 1;
  right: 66px;
  top: 74px;
  width: 74px;
  height: 74px;
  opacity: .35;
  background-image: radial-gradient(circle, #789a63 4px, transparent 5px);
  background-size: 20px 20px;
}

.foundation__leaf {
  position: absolute;
  z-index: 1;
  fill: rgba(95,145,54,.75);
  stroke: #4d812f;
  stroke-width: 2;
  filter: drop-shadow(0 10px 14px rgba(55,97,35,.12));
}
.foundation__leaf--left {
  left: -45px;
  bottom: -18px;
  width: 140px;
  transform: rotate(6deg);
}
.foundation__leaf--right {
  right: -35px;
  top: 185px;
  width: 180px;
}
.foundation__blur {
  position: absolute;
  border-radius: 50%;
  filter: blur(45px);
  pointer-events: none;
}
.foundation__blur--one {
  width: 230px;
  height: 230px;
  left: -80px;
  top: 240px;
  background: rgba(177,205,105,.23);
}
.foundation__blur--two {
  width: 250px;
  height: 250px;
  right: -70px;
  bottom: -90px;
  background: rgba(180,211,119,.22);
}

.reveal,
.reveal-card {
  opacity: 0;
  transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1);
}
.reveal--left { transform: translateX(-38px); }
.reveal--right { transform: translateX(38px); }
.reveal-card { transform: translateY(32px); }
.is-visible {
  opacity: 1;
  transform: translate(0,0);
}

@media (max-width: 1280px) {
  .foundation__container {
    grid-template-columns: .88fr 1.12fr;
    column-gap: 35px;
  }
  .foundation__visual-shell {
    left: -180px;
    width: 710px;
    height: 710px;
  }
  .foundation__cards {
    width: calc(100% - 120px);
    margin-top: 42px;
  }
  .foundation-card { min-height: 385px; padding-inline: 17px; }
}

@media (max-width: 1060px) {
  .foundation { padding-top: 50px; }
  .foundation__container {
    width: min(920px, calc(100% - 36px));
    grid-template-columns: 1fr;
  }
  .foundation__visual {
    min-height: 600px;
    order: 2;
    margin-top: 25px;
  }
  .foundation__content {
    order: 1;
    max-width: 780px;
    margin: 0 auto;
    text-align: center;
  }
  .foundation__visual-shell {
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    width: 720px;
    height: 600px;
  }
  .foundation__photo-wrap {
    border-radius: 42px;
    inset: 15px;
  }
  .foundation__visual-ring {
    border-radius: 48px;
    inset: 0;
  }
  .foundation__badge {
    left: calc(50% - 75px);
    bottom: -8px;
  }
  .foundation__cards {
    order: 3;
    width: 100%;
    margin: 58px 0 0;
    grid-template-columns: repeat(3, 1fr);
  }
  .foundation-card { min-height: 330px; }
  .foundation__sprig { display: none; }
}

@media (max-width: 720px) {
  .foundation { padding: 40px 0; }
  .foundation__container { width: min(100% - 24px, 620px); }
  .foundation__eyebrow { gap: 10px; font-size: 13px; }
  .foundation__eyebrow span { width: 38px; }
  .foundation__title {
    margin-top: 16px;
    font-size: clamp(43px, 13vw, 62px);
  }
  .foundation__lead,
  .foundation__copy { font-size: 16px; }
  .foundation__visual { min-height: 430px; }
  .foundation__visual-shell {
    width: 100%;
    height: 410px;
  }
  .foundation__photo-wrap { border-width: 5px; }
  .foundation__badge {
    left: 50%;
    bottom: -18px;
    width: 122px;
    height: 122px;
    transform: translateX(-50%);
    font-size: 13px;
  }
  .foundation__cards {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 72px;
  }
  .foundation-card {
    min-height: 280px;
    padding: 24px;
  }
  .foundation-card h3 { min-height: auto; }
  .foundation-card p { font-size: 14px; }
  .foundation__leaf--right,
  .foundation__dots { display: none; }
}

/* =========================================================
   HERO TEXT COLOUR LOCK
   Keeps all Hero text readable regardless of later sections.
========================================================= */
.hero,
.hero .nav,
.hero .brand,
.hero .brand__copy,
.hero .brand__copy strong,
.hero .brand__copy small,
.hero .nav__links,
.hero .nav__links a,
.hero .visit-btn,
.hero .copy,
.hero .intro,
.hero .actions,
.hero .btn--outline,
.hero .benefits,
.hero .benefit,
.hero .benefit h3,
.hero .benefit p,
.hero .contact-strip,
.hero .contact-strip__left,
.hero .contact-strip__left a,
.hero .contact-strip__left > span {
  color: #ffffff !important;
}

.hero .nav__links a.active,
.hero .nav__links a:hover,
.hero h1 em,
.hero .eyebrow,
.hero .eyebrow__heart,
.hero .contact-strip p,
.hero .contact-strip p span,
.hero .contact-strip__left b,
.hero .contact-strip__left span span {
  color: var(--lime-soft) !important;
}

.hero .btn--primary {
  color: #ffffff !important;
}

.hero .btn--outline {
  border-color: var(--lime) !important;
  background: rgba(2, 52, 18, 0.34) !important;
}

.hero .benefit h3 {
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
}

.hero .contact-strip__left,
.hero .contact-strip__left a {
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

.hero .brand__copy strong,
.hero .brand__copy small {
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.34);
}

/* =========================================================
   APPROVED CARE SERVICES SECTION
========================================================= */

:root {
  --cream: #f8f4ec;
  --paper: #fffefb;
  --forest: #123f35;
  --forest-dark: #0b342d;
  --orange: #c47609;
  --green: #57944f;
  --blue: #4a91ad;
  --purple: #803595;
  --rose: #cd547a;
  --gold: #d18b00;
  --ink: #173d36;
  --muted: #596861;
  --line: rgba(21, 65, 56, .12);
  --shadow: 0 18px 45px rgba(37, 61, 49, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #f8f4ec;
  color: var(--ink);
  font-family: "DM Sans", sans-serif;
}

.care-services {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  padding: 22px 0 34px;
  background:
    radial-gradient(circle at 8% 13%, rgba(143, 180, 79, .26), transparent 23%),
    radial-gradient(circle at 90% 16%, rgba(61, 112, 47, .15), transparent 21%),
    radial-gradient(circle at 14% 82%, rgba(109, 154, 61, .12), transparent 24%),
    radial-gradient(circle at 86% 84%, rgba(219, 184, 107, .13), transparent 25%),
    linear-gradient(118deg, #f6f8e9 0%, #fffdf7 48%, #f4f6e8 100%);
}

.care-services::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: var(--forest);
}

.care-services__container {
  position: relative;
  z-index: 2;
  width: min(1500px, calc(100% - 28px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: .78fr 1.42fr;
  gap: 44px;
}

.care-services__intro {
  padding: 8px 0 0 8px;
}

.care-services__eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--orange);
  font-size: 12px;
  letter-spacing: .14em;
}
.care-services__eyebrow span {
  width: 37px;
  height: 1px;
  background: var(--orange);
}
.care-services__eyebrow strong {
  font-weight: 700;
}

.care-services__intro h2 {
  margin: 36px 0 12px;
  font-family: "Playfair Display", serif;
  font-size: clamp(60px, 6.2vw, 102px);
  line-height: .83;
  letter-spacing: -.055em;
  font-weight: 600;
  color: var(--forest);
}
.care-services__intro h2 em {
  display: block;
  margin-top: 7px;
  color: var(--orange);
  font-weight: 600;
}

.care-services__intro p {
  max-width: 520px;
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
}

.care-services__mini-divider {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 170px;
  margin: 35px auto 0;
}
.care-services__mini-divider span {
  height: 1px;
  flex: 1;
  background: var(--orange);
}
.care-services__mini-divider svg {
  width: 18px;
  fill: none;
  stroke: var(--orange);
  stroke-width: 1.5;
}

.care-services__hero {
  position: relative;
  padding-top: 98px;
}
.care-services__hero-frame {
  height: 430px;
  overflow: hidden;
  border-radius: 240px 0 0 240px;
  box-shadow: 0 18px 45px rgba(25, 54, 40, .11);
}
.care-services__hero-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 43%;
  transition: transform .7s ease;
}

.care-services__badge {
  position: absolute;
  right: 40px;
  top: 240px;
  width: 190px;
  min-height: 220px;
  display: grid;
  place-content: center;
  text-align: center;
  padding: 25px 20px;
  border-radius: 50px;
  color: #fff;
  background: var(--forest);
  border: 1px solid rgba(221, 169, 38, .75);
  box-shadow: 0 16px 35px rgba(19, 54, 44, .2);
}
.care-services__badge svg {
  width: 36px;
  margin: 0 auto 13px;
  fill: none;
  stroke: #df9109;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.care-services__badge strong {
  color: #e69b10;
  font-size: 18px;
  letter-spacing: .05em;
}
.care-services__badge span {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.45;
}

.care-services__grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 12px;
}

.service-card {
  position: relative;
  display: grid;
  grid-template-columns: 1.14fr .86fr;
  min-height: 260px;
  overflow: hidden;
  border-radius: 20px;
  background: rgba(255,255,255,.94);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  transition: transform .35s ease, box-shadow .35s ease;
}
.service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 58px rgba(37, 61, 49, .17);
}
.service-card__content {
  position: relative;
  z-index: 2;
  padding: 56px 25px 20px;
}
.service-card__content h3 {
  margin: 0 0 12px;
  font-family: "Playfair Display", serif;
  font-size: 26px;
  line-height: .98;
  color: var(--forest);
}
.service-card__content p {
  margin: 0;
  color: #59665f;
  font-size: 12.5px;
  line-height: 1.48;
}
.service-card__content a {
  position: absolute;
  left: 25px;
  bottom: 17px;
  color: var(--orange);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
.service-card__content a span {
  margin-left: 5px;
  transition: margin .25s ease;
}
.service-card__content a:hover span {
  margin-left: 10px;
}

.service-card__icon {
  position: absolute;
  top: 16px;
  left: 24px;
  width: 49px;
  height: 49px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: white;
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
}
.service-card__icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.service-card__icon--amber { background: var(--orange); }
.service-card__icon--green { background: var(--green); }
.service-card__icon--blue { background: var(--blue); }
.service-card__icon--purple { background: var(--purple); }
.service-card__icon--rose { background: var(--rose); }
.service-card__icon--gold { background: var(--gold); }

.service-card__media {
  position: relative;
  min-width: 0;
}
.service-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.18) 55%, transparent);
}
.service-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.service-card__number {
  position: absolute;
  z-index: 3;
  left: 0;
  top: 0;
  width: 56px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 0 0 17px 0;
  color: #fff;
  font-family: "Playfair Display", serif;
  font-size: 21px;
  font-weight: 700;
}
.service-card__number--amber { background: #d9961b; }
.service-card__number--green { background: #7da55b; }
.service-card__number--blue { background: #4894b3; }
.service-card__number--purple { background: #7c2d92; }
.service-card__number--rose { background: #ce587b; }
.service-card__number--gold { background: #dfa016; }

.care-services__trust {
  grid-column: 1 / -1;
  width: min(940px, 92%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  padding: 10px 22px;
  border-radius: 999px;
  color: #fff;
  background: var(--forest);
  box-shadow: 0 14px 30px rgba(17, 57, 47, .2);
}
.care-services__trust > div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 38px;
  border-right: 1px solid rgba(255,255,255,.22);
}
.care-services__trust > div:last-child { border-right: 0; }
.care-services__trust strong {
  color: #e8a018;
  font-size: 18px;
}
.care-services__trust span {
  display: grid;
  line-height: 1.05;
}
.care-services__trust b {
  font-size: 11px;
}
.care-services__trust small {
  font-size: 9px;
  opacity: .9;
}

.care-services__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
}
.care-services__glow--one {
  left: -100px;
  top: 180px;
  width: 300px;
  height: 300px;
  background: rgba(214, 190, 130, .13);
}
.care-services__glow--two {
  right: -120px;
  bottom: 20px;
  width: 320px;
  height: 320px;
  background: rgba(149, 188, 126, .11);
}

.reveal,
.reveal-card {
  opacity: 0;
  transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1);
}
.reveal--left { transform: translateX(-35px); }
.reveal--right { transform: translateX(35px); }
.reveal-card { transform: translateY(30px); }
.is-visible {
  opacity: 1;
  transform: translate(0,0);
}



.care-services::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .34;
  background:
    radial-gradient(circle, rgba(71, 113, 48, .18) 2px, transparent 2.5px) 94% 7% / 20px 20px no-repeat,
    radial-gradient(circle, rgba(71, 113, 48, .12) 2px, transparent 2.5px) 6% 91% / 22px 22px no-repeat,
    repeating-linear-gradient(125deg, transparent 0 58px, rgba(52, 94, 46, .025) 59px 60px);
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.72) 54%, transparent 100%);
}









.care-services__grid::before {
  content: "";
  position: absolute;
  left: 3%;
  right: 3%;
  top: -22px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(190, 119, 17, .22), transparent);
}

.care-services__grid {
  position: relative;
}

.service-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,.45), transparent 42%);
}

.service-card__media img {
  filter: saturate(.96) contrast(1.03);
  transition: transform .55s ease, filter .55s ease;
}

.service-card:hover .service-card__media img {
  transform: scale(1.055);
  filter: saturate(1.08) contrast(1.04);
}



.care-services__container {
  isolation: isolate;
}

.care-services__container::before {
  left: -110px;
  top: 250px;
  width: 310px;
  height: 310px;
  border: 0;
  border-radius: 50%;
  background:
    radial-gradient(circle at 62% 50%, transparent 0 45%, rgba(75, 127, 49, .11) 46% 50%, transparent 51%),
    radial-gradient(circle at 58% 50%, transparent 0 58%, rgba(133, 171, 75, .10) 59% 63%, transparent 64%);
  box-shadow: none;
  transform: rotate(-12deg);
}

.care-services__container::after {
  right: -80px;
  top: 80px;
  width: 240px;
  height: 330px;
  opacity: .32;
  background:
    linear-gradient(102deg, transparent 49%, #4f7c3c 50%, transparent 51%) 118px 0 / 2px 100% no-repeat,
    radial-gradient(ellipse at 27% 24%, rgba(92, 143, 65, .62) 0 15%, transparent 16%),
    radial-gradient(ellipse at 70% 18%, rgba(92, 143, 65, .48) 0 14%, transparent 15%),
    radial-gradient(ellipse at 31% 50%, rgba(92, 143, 65, .48) 0 16%, transparent 17%),
    radial-gradient(ellipse at 74% 44%, rgba(92, 143, 65, .40) 0 15%, transparent 16%),
    radial-gradient(ellipse at 36% 77%, rgba(92, 143, 65, .35) 0 15%, transparent 16%);
  transform: rotate(-10deg);
}

.care-services__intro {
  position: relative;
}

.care-services__intro::before {
  content: "";
  position: absolute;
  left: -55px;
  top: 115px;
  width: 140px;
  height: 190px;
  opacity: .18;
  background:
    linear-gradient(100deg, transparent 49%, #4d793b 50%, transparent 51%) 68px 0 / 2px 100% no-repeat,
    radial-gradient(ellipse at 28% 24%, rgba(100, 147, 67, .78) 0 16%, transparent 17%),
    radial-gradient(ellipse at 70% 38%, rgba(100, 147, 67, .66) 0 15%, transparent 16%),
    radial-gradient(ellipse at 32% 61%, rgba(100, 147, 67, .60) 0 15%, transparent 16%);
  transform: rotate(12deg);
  filter: blur(.2px);
}

.care-services__hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 70px -18px -20px 72px;
  border-radius: 240px 0 0 240px;
  background: linear-gradient(135deg, rgba(62, 111, 47, .17), rgba(145, 179, 83, .08));
  transform: translate(18px, 18px);
}

.care-services__hero::after {
  content: "";
  position: absolute;
  z-index: -2;
  right: -18px;
  bottom: -12px;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(123, 166, 67, .16), transparent 68%);
  filter: blur(4px);
}

.care-services__grid {
  position: relative;
  padding-top: 18px;
}

.care-services__grid::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: -4%;
  right: -4%;
  top: 40%;
  height: 270px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(77, 124, 52, .06), transparent 72%);
  filter: blur(6px);
}

.care-services__trust {
  position: relative;
}

.care-services__trust::before,
.care-services__trust::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 110px;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(97, 143, 59, .35));
}

.care-services__trust::before {
  right: 100%;
  margin-right: 18px;
}

.care-services__trust::after {
  left: 100%;
  margin-left: 18px;
  transform: rotate(180deg);
}

@media (max-width: 1180px) {
  .care-services__container {
    grid-template-columns: 1fr;
  }
  .care-services__intro {
    text-align: center;
  }
  .care-services__intro h2 {
    font-size: clamp(58px, 9vw, 88px);
    line-height: .92;
  }
  .care-services__intro p {
    margin-inline: auto;
  }
  .care-services__hero {
    padding-top: 0;
  }
  .care-services__hero-frame {
    height: 460px;
    border-radius: 45px;
  }
  .care-services__badge {
    top: auto;
    bottom: 20px;
  }
  .care-services__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 760px) {
  .care-services {
    padding-top: 25px;
  }
  .care-services__container {
    width: min(100% - 20px, 620px);
    gap: 24px;
  }
  .care-services__intro h2 {
    margin-top: 25px;
    font-size: clamp(48px, 15vw, 68px);
  }
  .care-services__hero-frame {
    height: 360px;
    border-radius: 28px;
  }
  .care-services__badge {
    right: 14px;
    bottom: 14px;
    width: 145px;
    min-height: 160px;
    border-radius: 32px;
  }
  .care-services__grid {
    grid-template-columns: 1fr;
  }
  .service-card {
    min-height: 250px;
  }
  .care-services__trust {
    width: 100%;
    grid-template-columns: repeat(2, 1fr);
    border-radius: 24px;
    gap: 8px 0;
  }
  .care-services__trust > div:nth-child(2) {
    border-right: 0;
  }
}

@media (max-width: 480px) {
  .service-card {
    grid-template-columns: 1fr;
    min-height: 430px;
  }
  .service-card__content {
    min-height: 245px;
  }
  .service-card__media {
    min-height: 185px;
  }
  .service-card__media::after {
    background: linear-gradient(180deg, rgba(255,255,255,.92), transparent 55%);
  }
}


@media (max-width: 1180px) {
  .care-services__container::before {
    left: -150px;
    top: 420px;
  }

  .care-services__container::after {
    right: -110px;
    top: 320px;
  }

  .care-services__intro::before {
    display: none;
  }

  .care-services__hero::before {
    inset: -8px 12px -16px 12px;
    border-radius: 52px;
  }
}

@media (max-width: 760px) {
  .care-services__container::before,
  .care-services__container::after,
  .care-services__trust::before,
  .care-services__trust::after {
    display: none;
  }

  .care-services__hero::before {
    inset: -8px 6px -10px 6px;
    border-radius: 34px;
  }
}


/* Family Connect */

:root{--forest:#173f26;--deep:#0e3420;--green:#527d2f;--soft:#779a47;--gold:#c99b2a;--cream:#fbf8ef;--ink:#173126;--muted:#5b625c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}
.family-connect{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  padding:72px 0 58px;
  isolation:isolate;
  background:
    radial-gradient(circle at 10% 15%,rgba(151,188,83,.24),transparent 25%),
    radial-gradient(circle at 87% 12%,rgba(215,181,91,.18),transparent 24%),
    radial-gradient(circle at 88% 82%,rgba(82,126,62,.14),transparent 28%),
    radial-gradient(circle at 12% 88%,rgba(128,168,73,.13),transparent 25%),
    linear-gradient(122deg,#f5f7e8 0%,#fffdf8 47%,#f4f6e8 100%);
}
.family-connect:before{content:"";position:absolute;inset:0;opacity:.22;pointer-events:none;background:repeating-linear-gradient(118deg,transparent 0 50px,rgba(75,112,49,.025) 51px 52px),radial-gradient(circle at 1px 1px,rgba(78,118,54,.12) 1.5px,transparent 1.6px) 94% 8%/18px 18px no-repeat}
.fc-container{position:relative;z-index:2;width:min(1480px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:minmax(560px,1fr) minmax(560px,.95fr);gap:64px;align-items:center}
.fc-visual{position:relative;min-height:850px}
.photo-ring{position:absolute;inset:-28px 0 -18px -140px;border-radius:0 52% 52% 0;border:2px solid rgba(73,111,52,.34);transform:rotate(-1deg)}
.photo-wrap{position:absolute;inset:-8px 20px 12px -170px;overflow:hidden;border-radius:0 52% 52% 0;border:9px solid rgba(255,255,255,.95);box-shadow:24px 30px 70px rgba(48,74,40,.16)}
.photo-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,57,32,.05),transparent 45%)}
.fc-photo{width:100%;height:100%;object-fit:cover;object-position:center 46%;transition:transform .7s ease}
.promise-card{position:absolute;left:-10px;bottom:82px;width:350px;min-height:160px;display:grid;grid-template-columns:82px 1fr;align-items:center;gap:18px;padding:20px 24px;color:white;border-radius:34px;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.12),transparent 28%),linear-gradient(145deg,rgba(54,102,48,.96),rgba(20,66,37,.96));border:2px solid var(--gold);box-shadow:0 20px 45px rgba(33,63,36,.3);backdrop-filter:blur(12px)}
.promise-icon{width:78px;height:78px;display:grid;place-items:center;border-radius:50%;background:white;color:#5d8c39;border:4px solid rgba(255,255,255,.65);box-shadow:0 0 0 2px #d0b05b;font-size:40px}
.promise-card span{display:block;font-size:19px}.promise-card strong{display:block;margin-top:3px;font-size:21px}.promise-card p{margin:14px 0 0;font-size:14px;line-height:1.5;opacity:.92}
.fc-content{max-width:680px;padding-right:8px}.eyebrow{display:flex;align-items:center;justify-content:center;gap:16px;color:#436b2f}.eyebrow>span{width:50px;height:1px;background:var(--gold)}.eyebrow-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;color:white;background:linear-gradient(145deg,#5d9037,#2a5d27)}.eyebrow strong{font-size:18px;letter-spacing:.08em}
.fc-content h2{margin:24px 0 18px;font-family:"Playfair Display",serif;font-size:clamp(62px,5.1vw,88px);line-height:.98;font-weight:600;letter-spacing:-.045em;color:#143421}.fc-content h2 em{display:block;margin-top:12px;color:#527c2d;font-weight:600}
.divider{display:flex;align-items:center;gap:22px;margin:28px 0 24px}.divider span{height:1px;flex:1;background:rgba(190,148,40,.75)}.divider b{color:var(--gold);font-size:25px}
.lead{margin:0 0 28px;color:#283e34;font-size:19px;line-height:1.55}
.timeline{position:relative;display:grid;gap:10px}.timeline:before{content:"";position:absolute;left:-28px;top:45px;bottom:45px;border-left:1px dashed rgba(201,155,42,.7)}
.fc-item{position:relative;display:grid;grid-template-columns:74px 52px 1fr;align-items:center;min-height:88px;padding:8px 24px 8px 8px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(251,249,243,.9));border:1px solid rgba(70,103,51,.09);box-shadow:0 14px 35px rgba(56,75,43,.1);transition:.35s}
.fc-item:before{content:"";position:absolute;left:-34px;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(255,253,247,.95)}.fc-item:hover{transform:translateX(8px);box-shadow:0 20px 44px rgba(56,75,43,.16)}
.item-icon{width:66px;height:66px;display:grid;place-items:center;border-radius:50%;color:white;background:linear-gradient(145deg,#5d9138,#285b27);border:2px solid rgba(201,155,42,.7);font-size:24px}.resident-journey .num{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:white;background:#2b5f2d;font-weight:700}
.fc-item h3{margin:0 0 3px;font-family:"Playfair Display",serif;font-size:22px;color:#143421}.fc-item p{margin:0;color:var(--muted);font-size:15px}
.cta{width:min(390px,100%);min-height:60px;display:flex;align-items:center;justify-content:center;gap:14px;margin:26px auto 0;padding:14px 26px;border-radius:999px;color:white;text-decoration:none;font-size:19px;font-weight:700;background:linear-gradient(145deg,#315f35,#153f2b);border:2px solid var(--gold);box-shadow:0 16px 34px rgba(31,65,39,.2);transition:.3s}.cta:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(31,65,39,.28)}.cta span{color:#e1b442;font-size:26px}
.orb{position:absolute;border-radius:50%;filter:blur(55px)}.orb-one{width:280px;height:280px;left:-100px;top:250px;background:rgba(140,178,83,.16)}.orb-two{width:260px;height:260px;right:-80px;bottom:-40px;background:rgba(210,173,78,.12)}
.reveal,.reveal-card{opacity:0;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.resident-journey .left{transform:translateX(-38px)}.resident-journey .right{transform:translateX(38px)}.resident-journey .reveal-card{transform:translateY(28px)}.is-visible{opacity:1;transform:translate(0,0)}
@media(max-width:1180px){.fc-container{grid-template-columns:1fr;width:min(980px,calc(100% - 36px))}.fc-content{order:1;max-width:800px;margin:auto;text-align:center}.fc-visual{order:2;min-height:650px}.photo-ring{inset:-8px 18px;border-radius:48px}.photo-wrap{inset:0 25px;border-radius:44px}.promise-card{left:55px;bottom:30px}.timeline:before,.fc-item:before{display:none}.lead{max-width:760px;margin-inline:auto}}
@media(max-width:720px){.family-connect{padding:42px 0 34px}.fc-container{width:min(100% - 20px,620px);gap:34px}.eyebrow{gap:9px}.eyebrow>span{width:24px}.eyebrow strong{font-size:13px}.eyebrow-icon{width:43px;height:43px}.fc-content h2{font-size:clamp(48px,14vw,65px)}.lead{font-size:16px}.fc-visual{min-height:500px}.photo-wrap{inset:0;border-width:5px;border-radius:30px}.photo-ring{inset:-8px;border-radius:34px}.promise-card{left:18px;right:18px;bottom:18px;width:auto;min-height:135px;grid-template-columns:62px 1fr;border-radius:28px}.promise-icon{width:60px;height:60px}.fc-item{grid-template-columns:58px 42px 1fr;border-radius:28px;min-height:94px;padding:10px 16px 10px 8px}.item-icon{width:52px;height:52px}.resident-journey .num{width:36px;height:36px;font-size:14px}.fc-item h3{font-size:18px}.fc-item p{font-size:13px}}
@media(max-width:460px){.fc-visual{min-height:460px}.promise-card{grid-template-columns:1fr;text-align:center}.promise-icon{margin:auto}.fc-item{grid-template-columns:52px 1fr}.resident-journey .num{position:absolute;right:14px;top:14px}.fc-item>div:last-child{padding-right:34px}}


/* =========================================================
   CREATIVE FOREVER LIFE BACKGROUND
========================================================= */
.family-connect::after{
  content:"";
  position:absolute;
  z-index:-3;
  left:-12%;
  right:-12%;
  bottom:-330px;
  height:650px;
  border-radius:50%;
  background:
    radial-gradient(ellipse at center,rgba(83,133,55,.13),transparent 67%),
    radial-gradient(ellipse at 65% 35%,rgba(209,173,78,.08),transparent 58%);
  filter:blur(8px);
  pointer-events:none;
}

.bg-circle{
  position:absolute;
  z-index:-2;
  border-radius:50%;
  pointer-events:none;
  filter:blur(2px);
}
.bg-circle-1{
  width:520px;
  height:520px;
  left:-270px;
  top:170px;
  border:1px solid rgba(75,120,48,.18);
  box-shadow:
    inset 0 0 0 54px rgba(126,169,76,.035),
    inset 0 0 0 110px rgba(126,169,76,.028);
}
.bg-circle-2{
  width:360px;
  height:360px;
  right:-150px;
  top:60px;
  background:radial-gradient(circle,rgba(208,170,70,.11),transparent 68%);
}
.bg-circle-3{
  width:300px;
  height:300px;
  right:120px;
  bottom:-100px;
  background:radial-gradient(circle,rgba(89,139,61,.11),transparent 70%);
}

.botanical{
  position:absolute;
  z-index:-1;
  width:230px;
  height:280px;
  opacity:.24;
  pointer-events:none;
  background:
    linear-gradient(102deg,transparent 49%,rgba(62,105,44,.75) 50%,transparent 51%) 50% 0/2px 100% no-repeat,
    radial-gradient(ellipse at 26% 20%,rgba(92,143,64,.72) 0 14%,transparent 15%),
    radial-gradient(ellipse at 72% 34%,rgba(92,143,64,.60) 0 15%,transparent 16%),
    radial-gradient(ellipse at 30% 54%,rgba(92,143,64,.54) 0 16%,transparent 17%),
    radial-gradient(ellipse at 75% 70%,rgba(92,143,64,.45) 0 15%,transparent 16%);
}
.botanical-top-left{
  left:-65px;
  top:-65px;
  transform:rotate(28deg);
}
.botanical-top-right{
  right:-35px;
  top:-20px;
  transform:rotate(-24deg) scaleX(-1);
}
.botanical-bottom-left{
  left:-50px;
  bottom:-90px;
  transform:rotate(145deg);
}
.botanical-bottom-right{
  right:-55px;
  bottom:-80px;
  transform:rotate(-135deg) scaleX(-1);
}

.floating-leaf{
  position:absolute;
  z-index:1;
  width:22px;
  height:42px;
  border-radius:100% 0 100% 0;
  background:linear-gradient(145deg,rgba(117,161,69,.52),rgba(66,112,49,.22));
  box-shadow:0 8px 18px rgba(59,101,45,.1);
  pointer-events:none;
  animation:fcLeafFloat 9s ease-in-out infinite;
}
.leaf-a{left:44%;top:7%;transform:rotate(25deg)}
.leaf-b{right:8%;top:48%;animation-delay:-3s;transform:rotate(-35deg) scale(.8)}
.leaf-c{left:7%;bottom:10%;animation-delay:-6s;transform:rotate(55deg) scale(.7)}

@keyframes fcLeafFloat{
  0%,100%{translate:0 0;rotate:0deg}
  50%{translate:0 -18px;rotate:8deg}
}

.fc-container::before{
  content:"";
  position:absolute;
  z-index:-1;
  right:35%;
  top:5%;
  width:420px;
  height:420px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(213,179,88,.12),transparent 70%);
  filter:blur(28px);
  pointer-events:none;
}

.fc-visual::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:7% -5% 5% -12%;
  border-radius:0 55% 55% 0;
  background:
    radial-gradient(circle at 65% 48%,rgba(85,137,56,.16),transparent 63%),
    linear-gradient(135deg,rgba(118,159,71,.10),rgba(205,169,78,.035));
  filter:blur(3px);
}

.fc-content{
  position:relative;
}
.fc-content::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-25px -35px -20px -35px;
  border-radius:50px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.38),rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.35);
  backdrop-filter:blur(2px);
  pointer-events:none;
}

.timeline::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:8%;
  right:5%;
  top:15%;
  bottom:10%;
  border-radius:42px;
  background:radial-gradient(ellipse,rgba(89,134,61,.07),transparent 70%);
  filter:blur(8px);
}

@media(max-width:1180px){
  .bg-circle-1{left:-330px;top:410px}
  .bg-circle-2{right:-190px;top:300px}
  .botanical-top-left,.botanical-top-right{opacity:.15}
  .fc-content::after{inset:-20px -18px}
}

@media(max-width:720px){
  .family-connect{padding:48px 0 38px}
  .bg-circle,.botanical,.floating-leaf{opacity:.12}
  .botanical-top-left,.botanical-top-right{display:none}
  .fc-content::after{inset:-12px -5px;border-radius:30px}
}

/* =========================================================
   FINAL WEBSITE INTEGRATION FIXES
   Prevent later sections from changing the approved Hero.
========================================================= */

/* Restore and lock the Hero badge */
.hero .eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 11px 25px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, rgba(18,104,39,.78), rgba(51,119,31,.5)) !important;
  border: 1px solid rgba(183,239,84,.3) !important;
  color: #ecffb0 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: .75px !important;
  text-align: left !important;
  white-space: nowrap !important;
}
.hero .eyebrow > span:not(.eyebrow__heart) {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  white-space: nowrap !important;
}
.hero .eyebrow__heart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 27px !important;
  height: 27px !important;
  color: var(--lime) !important;
  background: none !important;
  font-size: 28px !important;
  line-height: 1 !important;
}

/* Desktop navigation: fit every item and keep the CTA fully visible */
.hero .nav.shell {
  width: min(1660px, calc(100% - 48px)) !important;
  gap: 24px !important;
}
.hero .brand {
  min-width: 300px !important;
  gap: 15px !important;
  flex: 0 0 auto !important;
}
.hero .brand__mark {
  width: 76px !important;
  height: 76px !important;
}
.hero .brand__copy strong {
  font-size: 33px !important;
}
.hero .brand__copy small {
  font-size: 12px !important;
}
.hero .nav__links {
  min-width: 0 !important;
  gap: clamp(18px, 1.45vw, 30px) !important;
  justify-content: center !important;
}
.hero .nav__links a {
  flex: 0 0 auto !important;
  font-size: clamp(14px, .92vw, 16px) !important;
  color: #fff !important;
}
.hero .nav__links a.active,
.hero .nav__links a:hover {
  color: var(--lime-soft) !important;
}
.hero .visit-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  min-width: 174px !important;
  min-height: 54px !important;
  gap: 10px !important;
  padding: 12px 22px !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg,#0ba536,#047d25) !important;
  box-shadow: 0 12px 28px rgba(0,55,13,.38), inset 0 1px rgba(255,255,255,.35) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  overflow: visible !important;
}
.hero .visit-btn__icon {
  flex: 0 0 25px !important;
  width: 25px !important;
  height: 25px !important;
  color: #087424 !important;
  background: #e5ffc1 !important;
}

/* Scope Family Connect's generic elements so they never affect the Hero */
.family-connect .eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: #436b2f;
  font-size: inherit;
  letter-spacing: normal;
  white-space: normal;
}
.family-connect .eyebrow > span {
  display: block;
  width: 50px;
  height: 1px;
  background: var(--gold);
}

/* Remove the unwanted separator above Care Services */
.care-services::before {
  content: none !important;
  display: none !important;
}

@media (max-width: 1450px) and (min-width: 981px) {
  .hero .nav.shell { gap: 18px !important; }
  .hero .brand { min-width: 250px !important; }
  .hero .brand__mark { width: 66px !important; height: 66px !important; }
  .hero .brand__copy strong { font-size: 28px !important; }
  .hero .brand__copy small { font-size: 10px !important; }
  .hero .nav__links { gap: 16px !important; }
  .hero .nav__links a { font-size: 13px !important; }
  .hero .visit-btn { min-width: 150px !important; padding-inline: 16px !important; font-size: 13px !important; }
}

@media (max-width: 980px) {
  .hero .nav.shell { width: min(100% - 30px, 930px) !important; }
  .hero .brand { min-width: 0 !important; }
  .hero .visit-btn { display: none !important; }
  .hero .eyebrow {
    white-space: normal !important;
    max-width: 100% !important;
  }
}

@media (max-width: 680px) {
  .hero .eyebrow {
    gap: 8px !important;
    min-height: 44px !important;
    padding: 9px 14px !important;
    font-size: 10px !important;
    letter-spacing: .45px !important;
  }
  .hero .eyebrow__heart {
    width: 21px !important;
    height: 21px !important;
    font-size: 21px !important;
  }
  .family-connect .eyebrow { gap: 9px; }
  .family-connect .eyebrow > span { width: 24px; }
}


/* =========================================================
   APPROVED OUR RESIDENCES SECTION
========================================================= */

:root{--forest:#123f31;--deep:#073226;--green:#6f9547;--gold:#c99324;--cream:#f8f4ea;--paper:#fffdfa;--ink:#15372d;--muted:#5f6761;--shadow:0 24px 60px rgba(33,58,42,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font-family:"DM Sans",sans-serif;color:var(--ink)}
.residences{
  position:relative;
  overflow:hidden;
  padding:64px 0 52px;
  isolation:isolate;
  background:
    radial-gradient(circle at 7% 10%,rgba(148,190,76,.28),transparent 23%),
    radial-gradient(circle at 91% 11%,rgba(229,191,77,.20),transparent 22%),
    radial-gradient(circle at 12% 74%,rgba(84,139,58,.17),transparent 25%),
    radial-gradient(circle at 88% 82%,rgba(205,151,48,.14),transparent 26%),
    linear-gradient(118deg,#f3f7e4 0%,#fffdf7 43%,#f8f2df 100%);
}
.residences:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-4;
  opacity:.28;
  pointer-events:none;
  background:
    radial-gradient(circle at 1px 1px,rgba(64,105,49,.14) 1.5px,transparent 1.7px) 94% 7%/20px 20px no-repeat,
    radial-gradient(circle at 1px 1px,rgba(184,137,34,.10) 1.4px,transparent 1.6px) 5% 91%/22px 22px no-repeat,
    repeating-linear-gradient(122deg,transparent 0 62px,rgba(51,92,47,.025) 63px 64px);
}
.residences__container{position:relative;z-index:2;width:min(1480px,calc(100% - 48px));margin:auto}
.residences__header{display:grid;grid-template-columns:1.25fr .75fr;gap:55px;align-items:end;margin-bottom:28px}
.residences__eyebrow{display:inline-flex;align-items:center;padding:10px 16px;border:1px solid rgba(91,130,56,.35);border-radius:999px;color:#4e762f;font-size:14px;font-weight:700;letter-spacing:.08em}
.residences__header h2{margin:18px 0 0;font-family:"Playfair Display",serif;font-size:clamp(54px,5.2vw,82px);line-height:.95;letter-spacing:-.045em;font-weight:600}.residences__header h2 em{display:block;color:#6f9446}
.residences__header p{margin:0 0 25px;font-size:17px;line-height:1.6;color:var(--muted)}
.residences__divider{display:flex;align-items:center;gap:18px;width:70%;margin-top:20px}.residences__divider span{height:1px;flex:1;background:#91a77b}.residences__divider b{color:#7b9c4e}
.residence-card{position:relative;display:grid;grid-template-columns:1.18fr .82fr;min-height:500px;overflow:hidden;border-radius:30px;margin-top:24px;box-shadow:var(--shadow)}
.residence-card__image{position:relative;overflow:hidden}.residence-card__image:after{content:"";position:absolute;inset:0;pointer-events:none}
.residence-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.residence-card:hover .residence-card__image img{transform:scale(1.035)}
.residence-card__content{padding:64px 58px;position:relative;z-index:2}
.residence-card__meta{display:flex;align-items:center;gap:16px;margin-bottom:18px}.residence-card__meta span{font-family:"Playfair Display",serif;font-size:34px;color:#91aa54}.residence-card__meta b{color:#b5c376;letter-spacing:.08em}
.residence-card h3{margin:0;font-family:"Playfair Display",serif;font-size:clamp(46px,4vw,68px);line-height:.95;font-weight:600}.residence-card h3 em{display:block;margin-top:8px;font-weight:600}
.residence-card p{font-size:17px;line-height:1.55;margin:24px 0 28px}
.residence-card__features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.residence-card__features div{text-align:center}.residence-card__features span{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 8px;border-radius:50%;font-size:25px}.residence-card__features b{font-size:13px;line-height:1.25}
.residence-card__actions{display:flex;align-items:center;gap:28px;margin-top:28px}.residence-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-width:310px;padding:14px 16px 14px 22px;border-radius:999px;text-decoration:none;font-weight:700}.residence-btn span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#40652d}.residence-link{text-decoration:none;font-weight:600}
.residence-card__badge{position:absolute;right:30px;top:28px;width:128px;height:128px;display:grid;place-items:center;border-radius:50%;font-size:46px;z-index:3}
.residence-card--ambuluwawa{background:linear-gradient(135deg,#0c3e31,#073426);color:#fff}.residence-card--ambuluwawa .residence-card__image:after{background:linear-gradient(90deg,transparent 62%,rgba(7,52,38,.9))}.residence-card--ambuluwawa h3 em{color:#8fab56}.residence-card--ambuluwawa .residence-card__features span{border:1px solid rgba(174,196,105,.45);color:#c5d68a}.residence-card--ambuluwawa .residence-btn{background:linear-gradient(135deg,#8e9c4b,#637b39);color:#fff;border:1px solid rgba(255,255,255,.4)}.residence-card--ambuluwawa .residence-link{color:#fff}.residence-card--ambuluwawa .residence-card__badge{background:linear-gradient(145deg,#84984b,#5d7937);color:#fff}
.residence-card--ampitiya{grid-template-columns:.82fr 1.18fr;background:linear-gradient(135deg,#fffdf8,#f6efe2);color:var(--ink)}.residence-card--ampitiya .residence-card__image{border-radius:50% 0 0 50%}.residence-card--ampitiya .residence-card__image:after{background:linear-gradient(90deg,rgba(255,252,246,.92),transparent 35%)}.residence-card--ampitiya h3 em{color:var(--gold)}.residence-card--ampitiya .residence-card__meta span,.residence-card--ampitiya .residence-card__meta b{color:var(--gold)}.residence-card--ampitiya .residence-card__features span{border:1px solid rgba(196,147,36,.35);color:var(--gold)}.residence-card--ampitiya .residence-btn{background:linear-gradient(135deg,#c69226,#a86d12);color:#fff}.residence-card--ampitiya .residence-link{color:#70582b}.residence-card__badge--gold{background:linear-gradient(145deg,#d29d30,#b87714);color:#fff;display:flex;flex-direction:column;font-size:32px;text-align:center}.residence-card__badge--gold small{font-size:12px;line-height:1.25;margin-top:4px}
.residences__trust{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:18px;align-items:center;margin-top:28px;padding:18px 28px;border-radius:24px;background:rgba(255,255,255,.8);box-shadow:var(--shadow);border:1px solid rgba(58,92,51,.08)}.residences__trust>div{display:flex;align-items:center;gap:14px}.residences__trust span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(77,120,54,.25);color:#527d38}.residences__trust-title span{background:#5a8737;color:#fff}.residences__trust b,.residences__trust strong{font-size:13px;line-height:1.25}
.residences__glow{position:absolute;border-radius:50%;filter:blur(50px)}.residences__glow--one{width:300px;height:300px;left:-120px;top:300px;background:rgba(130,169,75,.14)}.residences__glow--two{width:260px;height:260px;right:-80px;bottom:20px;background:rgba(203,166,75,.11)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.resident-journey .is-visible{opacity:1;transform:none}
@media(max-width:1100px){.residences__header{grid-template-columns:1fr}.residence-card,.residence-card--ampitiya{grid-template-columns:1fr}.residence-card__image{min-height:420px}.residence-card--ampitiya .residence-card__content{order:2}.residence-card--ampitiya .residence-card__image{order:1;border-radius:0}.residence-card__badge{width:100px;height:100px}.residences__trust{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.residences{padding:38px 0}.residences__container{width:min(100% - 20px,620px)}.residences__header h2{font-size:clamp(46px,13vw,62px)}.residence-card{border-radius:22px}.residence-card__content{padding:34px 22px}.residence-card__features{grid-template-columns:repeat(2,1fr)}.residence-card__actions{flex-direction:column;align-items:stretch}.residence-btn{min-width:0;width:100%}.residence-link{text-align:center}.residences__trust{grid-template-columns:1fr}.residence-card__badge{right:14px;top:14px;width:82px;height:82px;font-size:32px}}


.residences:after{
  content:"";
  position:absolute;
  z-index:-5;
  left:-10%;
  right:-10%;
  bottom:-360px;
  height:720px;
  border-radius:50%;
  background:
    radial-gradient(ellipse at center,rgba(78,130,54,.15),transparent 68%),
    radial-gradient(ellipse at 70% 28%,rgba(215,170,59,.10),transparent 58%);
  filter:blur(10px);
  pointer-events:none;
}

.residences__decor{
  position:absolute;
  z-index:-1;
  width:260px;
  height:340px;
  opacity:.28;
  pointer-events:none;
  background:
    linear-gradient(103deg,transparent 49%,rgba(54,98,39,.78) 50%,transparent 51%) 50% 0/2px 100% no-repeat,
    radial-gradient(ellipse at 25% 20%,rgba(91,145,57,.70) 0 14%,transparent 15%),
    radial-gradient(ellipse at 73% 34%,rgba(91,145,57,.58) 0 15%,transparent 16%),
    radial-gradient(ellipse at 29% 54%,rgba(91,145,57,.52) 0 16%,transparent 17%),
    radial-gradient(ellipse at 75% 72%,rgba(91,145,57,.44) 0 15%,transparent 16%);
  filter:drop-shadow(0 12px 18px rgba(57,100,42,.08));
}
.residences__decor--left{
  left:-70px;
  bottom:-75px;
  transform:rotate(31deg);
}
.residences__decor--right{
  right:-45px;
  top:-70px;
  transform:rotate(-28deg) scaleX(-1);
}

.residences__ring{
  position:absolute;
  z-index:-2;
  border-radius:50%;
  pointer-events:none;
}
.residences__ring--one{
  width:480px;
  height:480px;
  left:-270px;
  top:240px;
  border:1px solid rgba(82,129,54,.18);
  box-shadow:
    inset 0 0 0 55px rgba(117,159,69,.035),
    inset 0 0 0 115px rgba(117,159,69,.025);
}
.residences__ring--two{
  width:340px;
  height:340px;
  right:-170px;
  top:420px;
  border:1px solid rgba(198,147,39,.15);
  box-shadow:inset 0 0 0 70px rgba(211,169,66,.035);
}

.residences__leaf-float{
  position:absolute;
  z-index:1;
  width:22px;
  height:42px;
  border-radius:100% 0 100% 0;
  background:linear-gradient(145deg,rgba(120,164,69,.56),rgba(61,111,45,.25));
  box-shadow:0 8px 18px rgba(59,101,45,.10);
  pointer-events:none;
  animation:residenceLeafFloat 10s ease-in-out infinite;
}
.residences__leaf-float--one{left:46%;top:4%;transform:rotate(24deg)}
.residences__leaf-float--two{right:8%;top:44%;animation-delay:-3s;transform:rotate(-32deg) scale(.82)}
.residences__leaf-float--three{left:8%;bottom:9%;animation-delay:-6s;transform:rotate(58deg) scale(.72)}

@keyframes residenceLeafFloat{
  0%,100%{translate:0 0;rotate:0deg}
  50%{translate:0 -17px;rotate:8deg}
}

.residences__container:before{
  content:"";
  position:absolute;
  z-index:-2;
  left:5%;
  right:5%;
  top:160px;
  height:300px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(101,153,66,.075),transparent 72%);
  filter:blur(8px);
  pointer-events:none;
}

.residences__header{
  position:relative;
}
.residences__header:after{
  content:"";
  position:absolute;
  z-index:-1;
  right:8%;
  top:-70px;
  width:390px;
  height:270px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(221,183,81,.12),transparent 68%);
  filter:blur(24px);
}

.residence-card--ambuluwawa{
  box-shadow:
    0 30px 75px rgba(25,61,45,.19),
    0 0 0 1px rgba(255,255,255,.12);
}
.residence-card--ambuluwawa:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 94% 12%,rgba(168,190,91,.14),transparent 24%),
    linear-gradient(135deg,transparent,rgba(103,145,67,.05));
}

.residence-card--ampitiya{
  box-shadow:
    0 30px 75px rgba(108,77,27,.13),
    0 0 0 1px rgba(208,170,81,.08);
}
.residence-card--ampitiya:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 14%,rgba(224,186,91,.13),transparent 25%),
    radial-gradient(circle at 88% 85%,rgba(109,151,69,.08),transparent 22%);
}

.residences__trust{
  position:relative;
  background:
    radial-gradient(circle at 10% 10%,rgba(132,171,83,.09),transparent 25%),
    linear-gradient(135deg,rgba(255,255,255,.92),rgba(250,247,238,.82));
  backdrop-filter:blur(12px);
}
.residences__trust:before,
.residences__trust:after{
  content:"";
  position:absolute;
  top:50%;
  width:90px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(101,143,63,.30));
}
.residences__trust:before{right:100%;margin-right:18px}
.residences__trust:after{left:100%;margin-left:18px;transform:rotate(180deg)}

@media(max-width:1100px){
  .residences__decor{opacity:.17}
  .residences__ring--one{left:-330px}
  .residences__ring--two{right:-220px}
}

@media(max-width:720px){
  .residences{padding:42px 0}
  .residences__decor,
  .residences__ring,
  .residences__leaf-float,
  .residences__trust:before,
  .residences__trust:after{
    display:none;
  }
  .residences__header:after{
    width:260px;
    height:220px;
    right:-80px;
  }
}


/* Residences compact width and padding adjustment */
.residences .residences__container{
  width:min(1540px, calc(100% - 24px));
}
.residences .residence-card__content{
  padding:48px 42px;
}
.residences .residence-card{
  margin-top:16px;
}
.residences{
  padding:48px 0 38px;
}
@media(max-width:720px){
  .residences .residences__container{
    width:calc(100% - 14px);
  }
  .residences .residence-card__content{
    padding:28px 18px;
  }
}

/* =========================================================
   APPROVED RESIDENT JOURNEY SECTION
========================================================= */

:root{--f:#123f31;--g:#6f944b;--gold:#d2a12b;--cream:#faf7ef;--ink:#17372d;--muted:#5f6862}
*{box-sizing:border-box}body{margin:0;font-family:"DM Sans",sans-serif;background:var(--cream);color:var(--ink)}
.resident-journey{position:relative;overflow:hidden;padding-bottom:56px;background:radial-gradient(circle at 8% 12%,rgba(152,187,88,.18),transparent 24%),radial-gradient(circle at 92% 12%,rgba(220,182,77,.16),transparent 22%),linear-gradient(115deg,#f8f5ec,#fffdf9 50%,#f7f4e9)}
.journey-shell{width:min(1520px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:.92fr 1.08fr}
.journey-intro{min-height:435px;padding:38px 0 20px 84px;display:flex;flex-direction:column;justify-content:center}.resident-journey .kicker{display:flex;gap:16px;align-items:center;letter-spacing:.14em}.resident-journey .kicker span,.resident-journey .mini span{height:1px;background:var(--gold);flex:1}.resident-journey .kicker span{max-width:48px}.resident-journey .mini{display:flex;gap:12px;align-items:center;width:170px;margin:15px auto 6px}.resident-journey .mini b{color:var(--gold)}
.journey-intro h2{margin:0;font-family:"Playfair Display",serif;font-size:clamp(58px,5.5vw,88px);line-height:.94;letter-spacing:-.045em}.journey-intro h2 em{display:block;color:var(--g);margin-top:10px}.journey-intro p{max-width:540px;margin:20px 0 0 28px;font-size:18px;line-height:1.55}
.journey-visual{position:relative;min-height:435px}.resident-journey .ring{position:absolute;inset:-34px -30px -18px -90px;border-radius:56% 0 0 56%;border:2px solid rgba(92,129,58,.4)}.resident-journey .photo{position:absolute;inset:-18px -30px 0 -80px;overflow:hidden;border-radius:56% 0 0 56%;border:8px solid #fff;box-shadow:0 28px 70px rgba(43,66,39,.18)}.resident-journey .photo img{width:100%;height:100%;object-fit:cover;transition:.7s}.resident-journey .sign{position:absolute;right:42px;top:92px;width:180px;min-height:245px;display:grid;place-content:center;text-align:center;padding:20px;color:#fff6df;background:linear-gradient(rgba(52,47,28,.92),rgba(67,56,29,.92));border:5px solid rgba(79,67,39,.75);box-shadow:0 18px 34px rgba(42,45,29,.28)}.resident-journey .sign span,.resident-journey .sign em{font-family:"Playfair Display",serif;font-size:27px}.resident-journey .sign em{color:#e1b94c;font-size:31px}
.journey-track{grid-column:1/-1;position:relative;display:grid;grid-template-columns:repeat(5,1fr);margin-top:-18px;padding:82px 18px 0;border-radius:50px;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(250,247,238,.92));box-shadow:0 24px 65px rgba(43,68,45,.11)}.resident-journey .line{position:absolute;left:7%;top:-7px;width:86%;height:92px}.resident-journey .line path{fill:none;stroke:rgba(81,120,58,.45);stroke-width:2}
.resident-journey .step{position:relative;padding:0 10px 18px}.resident-journey .step:not(:last-child):after{content:"";position:absolute;right:0;top:30px;bottom:120px;width:1px;background:rgba(201,161,61,.28)}.resident-journey .num{position:absolute;left:50%;top:-130px;width:74px;height:74px;display:grid;place-items:center;border-radius:50%;transform:translateX(-50%);background:linear-gradient(145deg,#19583e,#0e3d2f);color:#fff;font-size:30px;font-weight:700;border:3px solid var(--gold)}.resident-journey .card{text-align:center;padding:0 12px 8px}.resident-journey .icon{width:78px;height:78px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;background:#fff;color:#174835;font-size:34px;box-shadow:0 12px 26px rgba(59,78,50,.14)}.resident-journey .card h3{min-height:76px;margin:0;font-family:"Playfair Display",serif;font-size:27px;line-height:1.05}.resident-journey .card>i{display:block;width:40px;height:2px;margin:13px auto;background:linear-gradient(90deg,var(--gold),var(--g))}.resident-journey .card p{min-height:78px;margin:0 auto 18px;max-width:230px;font-size:15px;line-height:1.5;color:var(--muted)}.resident-journey .card img{width:100%;height:150px;object-fit:cover;border-radius:38px 38px 18px 18px;box-shadow:0 12px 28px rgba(49,72,50,.12)}
.resident-journey .reveal,.resident-journey .reveal-card{opacity:0;transition:.8s}.resident-journey .left{transform:translateX(-36px)}.resident-journey .right{transform:translateX(36px)}.resident-journey .reveal-card{transform:translateY(28px)}.resident-journey .is-visible{opacity:1;transform:none}
@media(max-width:1150px){.journey-shell{grid-template-columns:1fr;width:min(980px,calc(100% - 30px))}.journey-intro{text-align:center;padding:45px 20px 25px;min-height:auto}.journey-intro p{margin-inline:auto}.journey-visual{min-height:520px}.resident-journey .ring{inset:-8px 10px}.resident-journey .photo{inset:0 20px;border-radius:44px}.journey-track{grid-template-columns:repeat(2,1fr);gap:26px 0;margin-top:22px;padding-top:34px}.resident-journey .line{display:none}.resident-journey .num{position:relative;top:auto;left:auto;transform:none;margin:0 auto 18px}.resident-journey .step:after{display:none!important}}
@media(max-width:720px){.journey-shell{width:min(100% - 18px,620px)}.journey-intro h2{font-size:clamp(47px,13vw,64px)}.journey-visual{min-height:430px}.resident-journey .photo{inset:0;border-width:5px;border-radius:28px}.resident-journey .ring{inset:-7px;border-radius:34px}.resident-journey .sign{right:16px;top:65px;width:145px;min-height:195px}.journey-track{grid-template-columns:1fr;border-radius:28px;padding:28px 10px 8px}.resident-journey .card p{min-height:auto}.resident-journey .card img{height:190px}}


/* =========================================================
   RESIDENT JOURNEY LAYOUT FIXES
========================================================= */
.journey-shell{
  width:min(1540px,calc(100% - 30px));
  grid-template-columns:minmax(520px,.88fr) minmax(680px,1.12fr);
  column-gap:34px;
}

.journey-intro{
  min-width:0;
  min-height:455px;
  padding:38px 12px 30px 68px;
  overflow:visible;
}

.journey-intro h2{
  max-width:650px;
  font-size:clamp(54px,4.65vw,78px);
  line-height:.96;
  overflow-wrap:normal;
}

.journey-intro p{
  max-width:550px;
  margin:22px 0 0 25px;
}

.journey-visual{
  min-width:0;
  min-height:455px;
  z-index:1;
}

.journey-visual .resident-journey .ring{
  inset:-20px -8px -10px -48px;
  border-radius:50% 0 0 50%;
}

.journey-visual .resident-journey .photo{
  inset:-8px -8px 0 -40px;
  border-radius:50% 0 0 50%;
}

.journey-visual .resident-journey .photo img{
  object-position:center 49%;
}

.resident-journey .sign{
  display:none !important;
}

.journey-track{
  z-index:5;
  margin-top:0;
  padding:94px 18px 0;
  overflow:visible;
}

.journey-track::before{
  top:-62px;
  height:122px;
}

.resident-journey .line{
  top:2px;
  height:72px;
}

.resident-journey .step{
  min-width:0;
  padding:0 11px 20px;
}

.resident-journey .num{
  top:-125px;
  width:70px;
  height:70px;
  font-size:27px;
  z-index:8;
}

.resident-journey .card{
  min-width:0;
  padding:0 14px 12px;
}

.resident-journey .card h3{
  min-height:74px;
  font-size:25px;
}

.resident-journey .card p{
  min-height:86px;
  max-width:220px;
  font-size:14px;
}

.resident-journey .card img{
  height:145px;
}

/* Hide accidental duplicate badge if browser/layout duplication occurs */
.journey-track > .resident-journey .step:nth-of-type(n+6){
  display:none !important;
}

@media(max-width:1250px){
  .journey-shell{
    grid-template-columns:minmax(470px,.9fr) minmax(590px,1.1fr);
  }

  .journey-intro{
    padding-left:45px;
  }

  .journey-intro h2{
    font-size:clamp(50px,4.7vw,68px);
  }
}

@media(max-width:1150px){
  .journey-shell{
    grid-template-columns:1fr;
    width:min(980px,calc(100% - 28px));
  }

  .journey-intro{
    padding:45px 20px 28px;
    text-align:center;
  }

  .journey-intro h2{
    max-width:850px;
    margin-inline:auto;
  }

  .journey-intro p{
    margin-inline:auto;
  }

  .journey-visual{
    min-height:520px;
  }

  .journey-visual .resident-journey .ring{
    inset:-8px 10px;
    border-radius:48px;
  }

  .journey-visual .resident-journey .photo{
    inset:0 18px;
    border-radius:44px;
  }

  .journey-track{
    margin-top:28px;
    padding-top:34px;
  }

  .resident-journey .num{
    top:auto;
  }
}

@media(max-width:720px){
  .journey-shell{
    width:min(100% - 16px,620px);
  }

  .journey-intro{
    padding-inline:12px;
  }

  .journey-intro h2{
    font-size:clamp(44px,12.5vw,60px);
  }

  .journey-visual{
    min-height:390px;
  }

  .journey-visual .resident-journey .photo{
    inset:0;
    border-radius:26px;
  }

  .journey-visual .resident-journey .ring{
    inset:-6px;
    border-radius:30px;
  }

  .journey-track{
    margin-top:22px;
  }

  .resident-journey .card h3{
    min-height:auto;
  }

  .resident-journey .card p{
    min-height:auto;
  }
}


/* =========================================================
   FAMILY CONNECT SIZE & LAYOUT LOCK
   Prevents other section classes from changing this section.
========================================================= */
.family-connect .fc-container{
  width:min(1480px,calc(100% - 48px)) !important;
  grid-template-columns:minmax(560px,1fr) minmax(560px,.95fr) !important;
  gap:64px !important;
}

.family-connect .fc-content{
  max-width:680px !important;
  padding-right:8px !important;
}

.family-connect .fc-content h2{
  max-width:none !important;
  margin:24px 0 18px !important;
  font-size:clamp(62px,5.1vw,88px) !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
}

.family-connect .fc-content h2 em{
  display:block !important;
  margin-top:12px !important;
}

.family-connect .fc-visual{
  min-height:850px !important;
}

.family-connect .fc-item{
  min-height:88px !important;
  grid-template-columns:74px 52px 1fr !important;
  padding:8px 24px 8px 8px !important;
}

.family-connect .item-icon{
  width:66px !important;
  height:66px !important;
}

.family-connect .num{
  position:static !important;
  width:44px !important;
  height:44px !important;
  transform:none !important;
  margin:0 !important;
  font-size:17px !important;
}

.family-connect .fc-item h3{
  min-height:auto !important;
  margin:0 0 3px !important;
  font-size:22px !important;
}

.family-connect .fc-item p{
  min-height:auto !important;
  max-width:none !important;
  margin:0 !important;
  font-size:15px !important;
}

@media(max-width:1180px){
  .family-connect .fc-container{
    grid-template-columns:1fr !important;
    width:min(980px,calc(100% - 36px)) !important;
  }

  .family-connect .fc-content{
    max-width:800px !important;
    margin:0 auto !important;
    text-align:center !important;
  }

  .family-connect .fc-visual{
    min-height:650px !important;
  }
}

@media(max-width:720px){
  .family-connect .fc-container{
    width:min(100% - 20px,620px) !important;
    gap:34px !important;
  }

  .family-connect .fc-content h2{
    font-size:clamp(48px,14vw,65px) !important;
  }

  .family-connect .fc-visual{
    min-height:500px !important;
  }

  .family-connect .fc-item{
    grid-template-columns:58px 42px 1fr !important;
    min-height:94px !important;
    padding:10px 16px 10px 8px !important;
  }

  .family-connect .item-icon{
    width:52px !important;
    height:52px !important;
  }

  .family-connect .num{
    width:36px !important;
    height:36px !important;
    font-size:14px !important;
  }

  .family-connect .fc-item h3{
    font-size:18px !important;
  }

  .family-connect .fc-item p{
    font-size:13px !important;
  }
}


/* =========================================================
   GLOBAL REVEAL VISIBILITY FIX
   Ensures every approved section becomes visible after JS adds
   the shared is-visible class.
========================================================= */
.is-visible{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
}

.reveal.is-visible,
.reveal-card.is-visible{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
}

/* Fallback: content remains visible when IntersectionObserver is unavailable */
.no-intersection-observer .reveal,
.no-intersection-observer .reveal-card{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
}

/* =========================================================
   APPROVED ALTERNATIVE CARE GUIDE / FAQ SECTION
========================================================= */

:root{
  --cg-forest:#0d3b32;
  --cg-deep:#082c26;
  --cg-green:#4f7d48;
  --cg-gold:#c7922a;
  --cg-cream:#f7f1e7;
  --cg-paper:#fffdf8;
  --cg-ink:#183a31;
  --cg-muted:#66706a;
  --cg-line:rgba(24,58,49,.12);
}

*{box-sizing:border-box}
body{margin:0;background:#f7f3ea;font-family:"DM Sans",sans-serif;color:var(--cg-ink)}

.care-guide{
  min-height:100vh;
  padding:72px 0;
  background:
    linear-gradient(90deg,rgba(13,59,50,.035) 1px,transparent 1px),
    linear-gradient(rgba(13,59,50,.035) 1px,transparent 1px),
    radial-gradient(circle at 10% 20%,rgba(122,155,84,.18),transparent 25%),
    radial-gradient(circle at 90% 80%,rgba(205,153,48,.12),transparent 22%),
    linear-gradient(135deg,#f4f6e8,#fffaf2 55%,#f7efe2);
  background-size:42px 42px,42px 42px,auto,auto,auto;
}

.care-guide__shell{
  width:min(1440px,calc(100% - 48px));
  margin:auto;
}

.care-guide__header{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:60px;
  align-items:end;
  margin-bottom:28px;
}

.care-guide__label{
  display:inline-block;
  padding:9px 14px;
  border-left:4px solid var(--cg-gold);
  background:rgba(255,255,255,.6);
  font-size:12px;
  letter-spacing:.14em;
  font-weight:700;
}

.care-guide__header h2{
  margin:16px 0 0;
  font-family:"Playfair Display",serif;
  font-size:clamp(58px,5.2vw,84px);
  line-height:.95;
  letter-spacing:-.045em;
}

.care-guide__header h2 em{
  color:#6d9149;
}

.care-guide__header p{
  max-width:560px;
  margin:0 0 12px;
  font-size:18px;
  line-height:1.6;
  color:var(--cg-muted);
}

.care-guide__categories{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:24px;
}

.care-guide__category{
  border:1px solid rgba(13,59,50,.15);
  border-radius:999px;
  padding:12px 20px;
  background:rgba(255,255,255,.65);
  color:var(--cg-forest);
  font:600 14px "DM Sans",sans-serif;
  cursor:pointer;
  transition:.25s;
}

.care-guide__category:hover{
  transform:translateY(-2px);
}

.care-guide__category.active{
  color:#fff;
  background:var(--cg-forest);
  border-color:var(--cg-forest);
  box-shadow:0 12px 25px rgba(13,59,50,.18);
}

.care-guide__layout{
  display:grid;
  grid-template-columns:430px 1fr;
  gap:24px;
  align-items:stretch;
}

.care-guide__feature{
  position:relative;
  min-height:670px;
  overflow:hidden;
  border-radius:34px;
  background:var(--cg-forest);
  box-shadow:0 28px 65px rgba(33,57,43,.18);
}

.care-guide__photo{
  height:48%;
  overflow:hidden;
}

.care-guide__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.care-guide__feature-overlay{
  position:absolute;
  inset:auto 0 0;
  min-height:58%;
  padding:42px 34px 34px;
  color:#fff;
  background:
    radial-gradient(circle at 80% 20%,rgba(200,146,42,.16),transparent 28%),
    linear-gradient(180deg,rgba(13,59,50,.88),var(--cg-deep));
  clip-path:polygon(0 13%,100% 0,100% 100%,0 100%);
}

.care-guide__feature-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin-top:16px;
  border-radius:50%;
  color:var(--cg-forest);
  background:#f4e9ce;
  font-size:26px;
}

.care-guide__feature-overlay small{
  display:block;
  margin-top:22px;
  color:#d6b65c;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.care-guide__feature-overlay h3{
  margin:7px 0 12px;
  font-family:"Playfair Display",serif;
  font-size:36px;
}

.care-guide__feature-overlay p{
  margin:0;
  color:rgba(255,255,255,.82);
  line-height:1.6;
}

.care-guide__feature-overlay a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:24px;
  color:#fff;
  text-decoration:none;
  font-weight:700;
}

.care-guide__feature-overlay a span{
  color:#d8ac42;
}

.care-guide__questions{
  display:grid;
  gap:12px;
  align-content:start;
}

.care-guide__item{
  position:relative;
  overflow:hidden;
  border:1px solid var(--cg-line);
  border-radius:22px;
  background:rgba(255,255,255,.82);
  box-shadow:0 12px 28px rgba(44,66,51,.08);
  transition:.3s;
}

.care-guide__item:hover{
  transform:translateX(5px);
}

.care-guide__question{
  width:100%;
  min-height:100px;
  display:grid;
  grid-template-columns:58px 1fr 46px;
  align-items:center;
  gap:16px;
  padding:16px 20px;
  border:0;
  background:transparent;
  color:var(--cg-ink);
  text-align:left;
  font-family:inherit;
  cursor:pointer;
}

.care-guide__number{
  font-family:"Playfair Display",serif;
  font-size:28px;
  color:#a77822;
}

.care-guide__question b{
  font-size:19px;
}

.care-guide__toggle{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  justify-self:end;
  border-radius:50%;
  background:#f3ecdd;
  color:var(--cg-forest);
  font-size:22px;
}

.care-guide__answer{
  max-height:0;
  overflow:hidden;
  opacity:0;
  padding:0 78px;
  transition:.4s;
}

.care-guide__item.open{
  background:linear-gradient(135deg,#fffdf9,#f4f1e7);
  box-shadow:0 18px 35px rgba(44,66,51,.13);
}

.care-guide__item.open .care-guide__answer{
  max-height:180px;
  opacity:1;
  padding:0 78px 24px;
}

.care-guide__answer p{
  margin:0;
  color:var(--cg-muted);
  line-height:1.65;
}

@media(max-width:1050px){
  .care-guide__header{grid-template-columns:1fr}
  .care-guide__layout{grid-template-columns:1fr}
  .care-guide__feature{min-height:520px}
  .care-guide__photo{height:100%}
  .care-guide__feature-overlay{
    left:auto;
    top:0;
    width:48%;
    min-height:100%;
    clip-path:polygon(14% 0,100% 0,100% 100%,0 100%);
    padding:48px 34px 30px 70px;
  }
}

@media(max-width:700px){
  .care-guide{padding:44px 0}
  .care-guide__shell{width:min(100% - 18px,620px)}
  .care-guide__header h2{font-size:clamp(46px,13vw,64px)}
  .care-guide__feature{min-height:570px}
  .care-guide__photo{height:48%}
  .care-guide__feature-overlay{
    top:auto;
    left:0;
    width:100%;
    min-height:58%;
    clip-path:polygon(0 13%,100% 0,100% 100%,0 100%);
    padding:42px 24px 24px;
  }
  .care-guide__question{
    grid-template-columns:42px 1fr 38px;
    min-height:88px;
    padding:12px;
  }
  .care-guide__question b{font-size:16px}
  .care-guide__answer,
  .care-guide__item.open .care-guide__answer{padding-left:58px;padding-right:18px}
}

/* =========================================================
   APPROVED FULL-WIDTH MOBILE-FIXED FOOTER
========================================================= */

:root{
  --footer-deep:#052f27;
  --footer-deeper:#03251f;
  --footer-green:#174b3f;
  --footer-olive:#687b39;
  --footer-gold:#c9952d;
  --footer-cream:#f8f0df;
  --footer-white:#fffdf7;
  --footer-muted:rgba(255,255,255,.72);
  --footer-line:rgba(211,163,58,.42);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",sans-serif;background:#052f27}

.fl-footer{
  position:relative;
  width:100%;
  overflow:hidden;
  color:var(--footer-white);
  background:var(--footer-deeper);
}

.fl-footer__inner{
  width:min(1480px,calc(100% - 48px));
  margin:0 auto;
}

.fl-footer__cta{
  position:relative;
  min-height:560px;
  overflow:hidden;
}

.fl-footer__cta-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 44%;
}

.fl-footer__cta-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(3,43,34,.99) 0%,rgba(4,48,38,.94) 28%,rgba(5,43,34,.64) 52%,rgba(6,33,26,.18) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.34));
}

.fl-footer__cta-inner{
  position:relative;
  z-index:2;
  min-height:560px;
  display:flex;
  align-items:center;
}

.fl-footer__cta-copy{
  max-width:690px;
  padding:52px 0;
}

.fl-footer__eyebrow{
  display:flex;
  align-items:center;
  gap:15px;
  color:#dfab45;
  letter-spacing:.11em;
}

.fl-footer__eyebrow span{
  width:42px;
  height:2px;
  background:#d39b32;
}

.fl-footer__eyebrow strong{font-size:14px}

.fl-footer__cta h2{
  margin:24px 0 18px;
  font-family:"Playfair Display",serif;
  font-size:clamp(60px,5.2vw,88px);
  line-height:.95;
  letter-spacing:-.045em;
  font-weight:600;
}

.fl-footer__cta h2 em{
  display:block;
  margin-top:10px;
  color:#8da054;
}

.fl-footer__divider{
  width:470px;
  max-width:100%;
  display:flex;
  align-items:center;
  gap:14px;
  margin:22px 0 18px;
}

.fl-footer__divider span{
  flex:1;
  height:1px;
  background:rgba(210,158,51,.62);
}

.fl-footer__divider b{
  color:#c99834;
  font-size:22px;
}

.fl-footer__cta-copy p{
  max-width:610px;
  margin:0;
  font-size:18px;
  line-height:1.58;
  color:rgba(255,255,255,.88);
}

.fl-footer__actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:24px;
}

.fl-footer__btn{
  min-height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:12px 24px;
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  transition:.3s ease;
}

.fl-footer__btn:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(0,0,0,.24);
}

.fl-footer__btn--primary{
  min-width:270px;
  background:linear-gradient(145deg,#788941,#5f7133);
  border:1px solid rgba(255,255,255,.18);
}

.fl-footer__btn--primary>span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#617136;
  background:#fff;
}

.fl-footer__btn--primary b{font-size:22px}

.fl-footer__btn--outline{
  min-width:260px;
  border:1px solid #c89a3c;
  background:rgba(8,48,39,.48);
}

.fl-footer__btn--outline>span{
  color:#d3a344;
  font-size:22px;
}

.fl-footer__benefit-strip{
  position:relative;
  z-index:4;
  background:linear-gradient(145deg,#0c3c32,#082f28);
  border-top:1px solid rgba(211,163,58,.34);
  border-bottom:1px solid rgba(211,163,58,.34);
}

.fl-footer__benefits{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}

.fl-footer__benefits article{
  min-height:135px;
  display:grid;
  grid-template-columns:72px 1fr;
  align-items:center;
  gap:18px;
  padding:24px 28px;
  border-right:1px solid rgba(255,255,255,.15);
}

.fl-footer__benefits article:last-child{border-right:0}

.fl-footer__benefit-icon{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#d1a03b;
  border:1px solid rgba(211,161,61,.65);
  font-size:29px;
}

.fl-footer__benefits h3{
  margin:0 0 6px;
  font-size:18px;
}

.fl-footer__benefits p{
  margin:0;
  color:var(--footer-muted);
  font-size:13px;
  line-height:1.48;
}

.fl-footer__content{
  position:relative;
  padding:54px 0 42px;
  background:
    radial-gradient(circle at 8% 20%,rgba(101,139,69,.10),transparent 23%),
    radial-gradient(circle at 90% 85%,rgba(198,145,41,.08),transparent 22%),
    linear-gradient(145deg,#07362d 0%,#052a24 54%,#04251f 100%);
}

.fl-footer__grid{
  display:grid;
  grid-template-columns:1.2fr .65fr .9fr 1.25fr;
  gap:42px;
  align-items:start;
}

.fl-footer__brand-head{
  display:flex;
  align-items:center;
  gap:16px;
}

.fl-footer__logo-mark{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border:1px solid #c99b3d;
  border-radius:16px;
  color:#d7a748;
  font-family:"Playfair Display",serif;
  font-size:32px;
}

.fl-footer__brand h3{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:31px;
}

.fl-footer__brand-head span{
  display:block;
  margin-top:4px;
  color:#cda04a;
  font-size:10px;
  letter-spacing:.10em;
}

.fl-footer__brand>p{
  max-width:390px;
  margin:18px 0 22px;
  color:var(--footer-muted);
  font-size:14px;
  line-height:1.68;
}

.fl-footer__socials{
  display:flex;
  gap:12px;
}

.fl-footer__socials a{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.20);
  border-radius:50%;
  color:#fff;
  text-decoration:none;
  transition:.25s;
}

.fl-footer__socials a:hover{
  color:#082f28;
  background:#d3a343;
  transform:translateY(-3px);
}

.fl-footer__links h4,
.fl-footer__contact h4{
  position:relative;
  margin:0 0 26px;
  font-size:18px;
}

.fl-footer__links h4::after,
.fl-footer__contact h4::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-10px;
  width:30px;
  height:2px;
  background:#c9952d;
}

.fl-footer__links ul{
  list-style:none;
  margin:0;
  padding:0;
}

.fl-footer__links li+li{margin-top:13px}

.fl-footer__links a{
  color:rgba(255,255,255,.82);
  text-decoration:none;
  font-size:14px;
}

.fl-footer__links a::before{
  content:"›";
  margin-right:10px;
  color:#d09a32;
  font-size:18px;
}

.fl-footer__contact>a:not(.fl-footer__visit-card),
.fl-footer__contact>p{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 16px;
  color:rgba(255,255,255,.82);
  text-decoration:none;
  font-size:14px;
}

.fl-footer__contact>a span,
.fl-footer__contact>p span{
  color:#d1a03c;
  font-size:20px;
}

.fl-footer__visit-card{
  min-height:80px;
  display:grid;
  grid-template-columns:50px 1fr 28px;
  align-items:center;
  gap:12px;
  margin-top:22px;
  padding:12px 15px;
  border:1px solid rgba(203,153,54,.48);
  border-radius:20px;
  color:#fff;
  text-decoration:none;
  background:rgba(255,255,255,.035);
}

.fl-footer__visit-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#d3a23c;
  background:rgba(201,151,45,.10);
}

.fl-footer__visit-card b,
.fl-footer__visit-card small{display:block}

.fl-footer__visit-card small{
  margin-top:3px;
  color:rgba(255,255,255,.62);
  font-size:10px;
}

.fl-footer__visit-card i{
  font-style:normal;
  font-size:22px;
}

.fl-footer__quote{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  min-height:270px;
  overflow:hidden;
  border-radius:28px;
  background:#eee5d4;
  box-shadow:0 16px 36px rgba(0,0,0,.16);
}

.fl-footer__quote-image{overflow:hidden}

.fl-footer__quote-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.fl-footer__quote-copy{
  padding:28px 25px;
  color:#263b2d;
  background:linear-gradient(145deg,#efe7d8,#e7ddcb);
}

.fl-footer__quote-mark{
  display:block;
  color:#897231;
  font-family:"Playfair Display",serif;
  font-size:50px;
  line-height:.7;
}

.fl-footer__quote-copy p{
  margin:10px 0 0;
  font-family:"Playfair Display",serif;
  font-size:30px;
  line-height:1.18;
}

.fl-footer__quote-copy em{
  display:block;
  margin-top:5px;
  color:#607541;
}

.fl-footer__quote-heart{
  display:block;
  margin-top:18px;
  color:#7b843d;
  font-size:31px;
}

.fl-footer__bottom{
  width:100%;
  border-top:1px solid rgba(255,255,255,.10);
  background:#031f1a;
}

.fl-footer__bottom-inner{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:rgba(255,255,255,.58);
  font-size:12px;
}

.fl-footer__bottom-inner div{
  display:flex;
  gap:20px;
}

.fl-footer__bottom a{
  color:inherit;
  text-decoration:none;
}

.fl-footer__floating{
  position:fixed;
  z-index:20;
  right:24px;
  bottom:22px;
  min-width:175px;
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:8px 18px 8px 8px;
  border:1px solid #d1a03a;
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  background:linear-gradient(145deg,#657a37,#425629);
  box-shadow:0 14px 30px rgba(0,0,0,.24);
}

.fl-footer__floating span{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#5c6e35;
  background:#fff;
  font-size:22px;
}

.fl-footer .reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s ease,transform .8s ease;
}

.fl-footer .reveal.is-visible{
  opacity:1;
  transform:none;
}

@media(max-width:1180px){
  .fl-footer__benefits{
    grid-template-columns:repeat(2,1fr);
  }

  .fl-footer__benefits article:nth-child(2){
    border-right:0;
  }

  .fl-footer__benefits article:nth-child(-n+2){
    border-bottom:1px solid rgba(255,255,255,.14);
  }

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

@media(max-width:760px){
  .fl-footer__inner{
    width:min(100% - 20px,620px);
  }

  .fl-footer__cta,
  .fl-footer__cta-inner{
    min-height:680px;
  }

  .fl-footer__cta-image{
    object-position:65% 50%;
  }

  .fl-footer__cta-overlay{
    background:linear-gradient(180deg,rgba(4,43,35,.78),rgba(4,43,35,.98));
  }

  .fl-footer__cta-copy{
    padding:46px 0;
  }

  .fl-footer__cta h2{
    font-size:clamp(48px,13vw,64px);
  }

  .fl-footer__actions{
    flex-direction:column;
  }

  .fl-footer__btn{
    width:100%;
  }

  .fl-footer__benefits{
    grid-template-columns:1fr;
  }

  .fl-footer__benefits article{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14);
  }

  .fl-footer__benefits article:last-child{
    border-bottom:0;
  }

  .fl-footer__grid{
    grid-template-columns:1fr;
  }

  .fl-footer__quote{
    min-height:300px;
  }

  .fl-footer__bottom-inner{
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    padding:16px 0;
  }

  .fl-footer__floating{
    right:12px;
    bottom:12px;
    min-width:150px;
    min-height:50px;
    font-size:13px;
  }
}


/* =========================================================
   MOBILE COMPATIBILITY FIX
========================================================= */
@media(max-width:760px){
  .fl-footer{
    overflow:hidden;
  }

  .fl-footer__inner{
    width:calc(100% - 24px);
  }

  .fl-footer__cta,
  .fl-footer__cta-inner{
    min-height:720px;
  }

  .fl-footer__cta-image{
    object-position:67% center;
    transform:scale(1.03);
  }

  .fl-footer__cta-overlay{
    background:
      linear-gradient(180deg,
        rgba(3,43,34,.78) 0%,
        rgba(3,43,34,.90) 34%,
        rgba(3,43,34,.98) 68%,
        rgba(3,43,34,1) 100%);
  }

  .fl-footer__cta-inner{
    align-items:flex-start;
  }

  .fl-footer__cta-copy{
    width:100%;
    max-width:none;
    padding:70px 0 38px;
  }

  .fl-footer__eyebrow{
    gap:10px;
  }

  .fl-footer__eyebrow span{
    width:42px;
    flex:0 0 42px;
  }

  .fl-footer__eyebrow strong{
    font-size:12px;
    letter-spacing:.09em;
    white-space:nowrap;
  }

  .fl-footer__cta h2{
    max-width:100%;
    margin:24px 0 16px;
    font-size:clamp(42px,11.2vw,58px);
    line-height:.96;
    letter-spacing:-.04em;
    overflow-wrap:normal;
    word-break:normal;
  }

  .fl-footer__cta h2 br{
    display:none;
  }

  .fl-footer__cta h2 em{
    margin-top:10px;
    line-height:1;
  }

  .fl-footer__divider{
    width:100%;
    margin:20px 0 18px;
  }

  .fl-footer__cta-copy p{
    max-width:100%;
    font-size:16px;
    line-height:1.6;
    overflow-wrap:anywhere;
  }

  .fl-footer__actions{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    width:100%;
    margin-top:26px;
  }

  .fl-footer__btn{
    width:100%;
    min-width:0;
    min-height:58px;
    padding:11px 16px;
    font-size:15px;
  }

  .fl-footer__btn--primary{
    justify-content:space-between;
  }

  .fl-footer__btn--primary>span{
    width:34px;
    height:34px;
    flex:0 0 34px;
  }

  .fl-footer__btn--primary b{
    margin-left:auto;
  }

  .fl-footer__btn--outline{
    justify-content:center;
  }

  .fl-footer__benefits{
    grid-template-columns:1fr;
  }

  .fl-footer__benefits article{
    grid-template-columns:58px 1fr;
    min-height:108px;
    padding:18px 4px;
  }

  .fl-footer__benefit-icon{
    width:52px;
    height:52px;
    font-size:24px;
  }

  .fl-footer__benefits h3{
    font-size:16px;
  }

  .fl-footer__benefits p{
    font-size:12px;
  }

  .fl-footer__content{
    padding:42px 0 28px;
  }

  .fl-footer__grid{
    gap:34px;
  }

  .fl-footer__quote{
    grid-template-columns:1fr;
    min-height:0;
  }

  .fl-footer__quote-image{
    height:210px;
  }

  .fl-footer__quote-copy{
    padding:24px 22px;
  }

  .fl-footer__quote-copy p{
    font-size:27px;
  }

  .fl-footer__bottom-inner{
    gap:10px;
    text-align:left;
  }

  .fl-footer__bottom-inner div{
    flex-wrap:wrap;
    gap:12px;
  }

  .fl-footer__floating{
    right:10px;
    bottom:10px;
    min-width:145px;
    min-height:48px;
    padding-right:14px;
  }

  .fl-footer__floating span{
    width:36px;
    height:36px;
  }
}

@media(max-width:420px){
  .fl-footer__inner{
    width:calc(100% - 18px);
  }

  .fl-footer__cta,
  .fl-footer__cta-inner{
    min-height:750px;
  }

  .fl-footer__cta-copy{
    padding-top:60px;
  }

  .fl-footer__eyebrow span{
    width:30px;
    flex-basis:30px;
  }

  .fl-footer__eyebrow strong{
    font-size:11px;
  }

  .fl-footer__cta h2{
    font-size:clamp(39px,10.8vw,50px);
  }

  .fl-footer__cta-copy p{
    font-size:15px;
  }

  .fl-footer__btn{
    font-size:14px;
  }
}


/* =========================================================
   ORIGINAL FOREVER LIFE LOGO
========================================================= */
.brand-logo-wrap{
  width:76px;
  height:76px;
  flex:0 0 76px;
  overflow:hidden;
  border-radius:18px;
  background:#fff7e7;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}

.brand-logo-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

header .brand,
header .logo,
.hero .brand,
.navbar .brand{
  display:flex;
  align-items:center;
  gap:16px;
}

.fl-footer__logo-image-wrap{
  width:64px;
  height:64px;
  flex:0 0 64px;
  overflow:hidden;
  border-radius:16px;
  background:#fff7e7;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}

.fl-footer__logo-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

@media(max-width:760px){
  .brand-logo-wrap{
    width:56px;
    height:56px;
    flex-basis:56px;
    border-radius:14px;
  }

  .fl-footer__logo-image-wrap{
    width:56px;
    height:56px;
    flex-basis:56px;
  }
}


/* =========================================================
   RESTORED ORIGINAL PREMIUM NAVBAR
========================================================= */
.hero .nav.shell{
  width:min(1660px,calc(100% - 48px)) !important;
  min-height:120px !important;
  height:auto !important;
  display:flex !important;
  align-items:center !important;
  gap:24px !important;
  padding:18px 0 !important;
}

.hero .brand{
  min-width:300px !important;
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  gap:15px !important;
  color:#fff !important;
  text-decoration:none !important;
}

.hero .brand__mark{
  width:76px !important;
  height:76px !important;
  flex:0 0 76px !important;
  overflow:hidden !important;
  border-radius:18px !important;
  padding:0 !important;
}

.hero .brand__mark img,
.hero .brand-logo-image{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.hero .brand__copy strong{
  font-size:33px !important;
  color:#fff !important;
  white-space:nowrap !important;
}

.hero .brand__copy small{
  font-size:11px !important;
  color:#fff !important;
  white-space:nowrap !important;
}

.hero .nav__links{
  min-width:0 !important;
  flex:1 1 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(16px,1.35vw,28px) !important;
  margin:0 !important;
  padding:0 !important;
}

.hero .nav__links a{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:42px !important;
  flex:0 0 auto !important;
  padding:0 !important;
  color:#fff !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  font-size:clamp(13px,.88vw,16px) !important;
  font-weight:700 !important;
  line-height:1 !important;
  text-shadow:0 2px 12px rgba(0,0,0,.35) !important;
}

.hero .nav__links a::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:3px !important;
  border-radius:4px !important;
  background:var(--lime) !important;
  transform:scaleX(0) !important;
  transform-origin:center !important;
  transition:transform .3s ease !important;
}

.hero .nav__links a:hover,
.hero .nav__links a.active{
  color:var(--lime-soft) !important;
}

.hero .nav__links a:hover::after,
.hero .nav__links a.active::after{
  transform:scaleX(1) !important;
}

.hero .visit-btn{
  display:inline-flex !important;
  flex:0 0 auto !important;
  min-width:174px !important;
  min-height:54px !important;
}

@media(max-width:1450px) and (min-width:981px){
  .hero .nav.shell{
    gap:15px !important;
  }

  .hero .brand{
    min-width:235px !important;
    gap:11px !important;
  }

  .hero .brand__mark{
    width:62px !important;
    height:62px !important;
    flex-basis:62px !important;
  }

  .hero .brand__copy strong{
    font-size:27px !important;
  }

  .hero .brand__copy small{
    font-size:9px !important;
  }

  .hero .nav__links{
    gap:13px !important;
  }

  .hero .nav__links a{
    font-size:12px !important;
  }

  .hero .visit-btn{
    min-width:145px !important;
    padding:11px 14px !important;
    font-size:12px !important;
  }
}

@media(max-width:980px){
  .hero .nav.shell{
    width:calc(100% - 30px) !important;
    min-height:96px !important;
    padding:14px 0 !important;
  }

  .hero .brand{
    min-width:0 !important;
  }

  .hero .brand__mark{
    width:60px !important;
    height:60px !important;
    flex-basis:60px !important;
  }

  .hero .brand__copy strong{
    font-size:25px !important;
  }

  .hero .brand__copy small{
    font-size:8px !important;
  }

  .hero .menu-toggle{
    display:block !important;
    position:relative !important;
    z-index:30 !important;
  }

  .hero .visit-btn{
    display:none !important;
  }

  .hero .nav__links{
    display:none !important;
  }

  .hero .nav.menu-open .nav__links{
    position:absolute !important;
    top:92px !important;
    left:0 !important;
    right:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:12px !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:22px !important;
    background:rgba(3,45,17,.97) !important;
    box-shadow:0 22px 50px rgba(0,0,0,.35) !important;
    backdrop-filter:blur(18px) !important;
  }

  .hero .nav.menu-open .nav__links a{
    width:100% !important;
    min-height:48px !important;
    justify-content:flex-start !important;
    padding:0 16px !important;
    border-radius:12px !important;
    font-size:15px !important;
  }

  .hero .nav.menu-open .nav__links a:hover,
  .hero .nav.menu-open .nav__links a.active{
    background:rgba(141,224,38,.12) !important;
  }

  .hero .nav.menu-open .nav__links a::after{
    display:none !important;
  }
}

@media(max-width:520px){
  .hero .nav.shell{
    width:calc(100% - 20px) !important;
  }

  .hero .brand{
    gap:9px !important;
  }

  .hero .brand__mark{
    width:54px !important;
    height:54px !important;
    flex-basis:54px !important;
    border-radius:13px !important;
  }

  .hero .brand__copy strong{
    font-size:22px !important;
  }

  .hero .brand__copy small{
    font-size:7px !important;
    letter-spacing:.5px !important;
  }
}


/* =========================================================
   FOREVER LIFE — ANIMATED WHATSAPP CARE BUTTON
========================================================= */
.fl-whatsapp-float{
  position:fixed;
  z-index:2500;
  right:22px;
  bottom:22px;
  min-height:58px;
  display:inline-flex;
  align-items:center;
  gap:11px;
  padding:7px 17px 7px 7px;
  border:1px solid rgba(226,190,91,.72);
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  font-family:"DM Sans",sans-serif;
  font-size:13px;
  font-weight:700;
  background:linear-gradient(145deg,#176b43,#0b5037);
  box-shadow:0 16px 38px rgba(3,42,28,.30);
  isolation:isolate;
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease;
}
.fl-whatsapp-float:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 48px rgba(3,42,28,.38);
  background:linear-gradient(145deg,#218254,#0d5c40);
}
.fl-whatsapp-float__icon{
  position:relative;
  z-index:2;
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#0c5b3b;
  background:#f4f5dc;
  box-shadow:inset 0 0 0 1px rgba(46,100,59,.10);
}
.fl-whatsapp-float__icon svg{width:25px;height:25px;display:block}
.fl-whatsapp-float__pulse{
  position:absolute;
  left:7px;
  top:7px;
  width:44px;
  height:44px;
  border:1px solid rgba(226,190,91,.78);
  border-radius:50%;
  animation:flWhatsappPulse 2.2s ease-out infinite;
  pointer-events:none;
}
.fl-whatsapp-float__label{white-space:nowrap}
@keyframes flWhatsappPulse{
  0%{transform:scale(.85);opacity:.9}
  75%,100%{transform:scale(1.75);opacity:0}
}
@media(max-width:680px){
  .fl-whatsapp-float{
    right:14px;
    bottom:14px;
    width:58px;
    min-width:58px;
    height:58px;
    min-height:58px;
    padding:7px;
    justify-content:center;
  }
  .fl-whatsapp-float__label{display:none}
}
@media(prefers-reduced-motion:reduce){
  .fl-whatsapp-float,.fl-whatsapp-float__pulse{animation:none!important;transition:none!important}
}


/* TARGETED NAVBAR LOGO BORDER FIX — HOME & CONTACT */
.hero .brand__mark,
.contact-page .brand__mark,
body .brand__mark{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}
.hero .brand__mark img,
body .brand__mark img{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}


/* =========================================================
   MOBILE SERVICE CARD IMAGE CLARITY FIX
========================================================= */
@media(max-width:600px){
  .care-services__grid{
    gap:16px;
  }

  .service-card{
    grid-template-columns:1fr !important;
    min-height:0 !important;
    border-radius:22px;
  }

  .service-card__content{
    min-height:235px;
    padding:58px 22px 54px;
  }

  .service-card__media{
    min-height:260px !important;
    height:260px;
    overflow:hidden;
    background:#e8eee8;
  }

  .service-card__media::after{
    background:linear-gradient(
      180deg,
      rgba(255,255,255,.12) 0%,
      rgba(255,255,255,0) 28%,
      rgba(5,48,38,.08) 100%
    ) !important;
  }

  .service-card__media img,
  .service-card .fl-safe-image{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
    filter:none !important;
    opacity:1 !important;
    transform:none !important;
    image-rendering:auto;
  }

  .service-card__number{
    width:52px;
    height:52px;
  }
}


/* =========================================================
   FOOTER ORIGINAL SOCIAL BRAND ICONS
========================================================= */
.fl-footer__socials{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
}

.fl-footer__socials a{
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  flex:0 0 43px;
}

.fl-footer__socials svg{
  width:19px;
  height:19px;
  display:block;
  fill:currentColor;
}

.fl-footer__socials svg rect,
.fl-footer__socials svg circle{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}

.fl-footer__socials svg .social-play{
  fill:var(--footer-deeper,#052f27);
}

.fl-footer__socials a:hover svg .social-play{
  fill:#fff;
}

/* Mobile: remove the decorative quote image and quote text card only. */
@media(max-width:760px){
  .fl-footer__quote{
    display:none !important;
  }

  .fl-footer__grid{
    grid-template-columns:1fr !important;
  }
}
