:root {
  --ink:#253d43;
  --green:#467d73;
  --cream:#f7f6f0;
  --muted:#607478;
  --line:#dce5df;
}

* {box-sizing:border-box}

html {scroll-behavior:smooth}

body {
  margin:0;
  font:16px/1.65 Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:#fff;
  overflow-x:hidden;
}

a {color:inherit}

.wrap {
  width:calc(100% - 48px);
  max-width:1180px;
  margin:0 auto;
}

header {
  background:#fff;
  border-bottom:1px solid var(--line);
}

nav {
  max-width:1200px;
  margin:auto;
  padding:18px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}

.brand {
  font-weight:800;
  font-size:25px;
  text-decoration:none;
}

.brand span {color:var(--green)}

.links {
  display:flex;
  flex-wrap:wrap;
  gap:17px;
}

.links a {
  text-decoration:none;
  font-size:14px;
}

.hero {
  background:linear-gradient(120deg,#eaf4ef,#faf7ee);
  padding:65px 24px;
}

.hero-grid,
.feature {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:42px;
  align-items:center;
}

.hero-grid > *,
.feature > * {
  min-width:0;
}

h1 {
  font-size:clamp(34px,4vw,54px);
  line-height:1.15;
  margin:12px 0 22px;
}

h2 {
  font-size:clamp(27px,3vw,36px);
  line-height:1.2;
}

h3 {font-size:21px}

p {color:var(--muted)}

.lead {font-size:18px}

.eyebrow {
  text-transform:uppercase;
  letter-spacing:2px;
  color:var(--green);
  font-size:12px;
  font-weight:bold;
}

.button {
  display:inline-block;
  background:var(--green);
  color:#fff;
  padding:12px 20px;
  border-radius:7px;
  text-decoration:none;
  margin:12px 10px 0 0;
  font-size:15px;
}

.button.outline {
  background:transparent;
  border:1px solid var(--green);
  color:var(--green);
}

section {padding:65px 24px}

.soft {background:var(--cream)}

.hero-grid img,
.feature img {
  display:block;
  width:100%;
  max-width:100%;
  height:340px;
  object-fit:contain;
  border-radius:14px;
}

.grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}

.card {
  border:1px solid var(--line);
  border-radius:13px;
  overflow:hidden;
  background:#fff;
  min-width:0;
}

.card img {
  display:block;
  width:100%;
  height:210px;
  object-fit:cover;
}

.card .content {padding:22px}

.card h3 {margin:0 0 12px}

.card a {
  color:var(--green);
  font-weight:bold;
}

.gallery {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.gallery img {
  display:block;
  width:100%;
  height:290px;
  object-fit:contain;
  border-radius:12px;
}

.note {
  padding:22px;
  background:#eaf3ed;
  border-left:4px solid var(--green);
  border-radius:5px;
  margin-top:28px;
}

footer {
  background:#203b40;
  color:#fff;
  padding:40px 24px;
}

footer p,footer a {color:#dcebe5}

@media(max-width:800px) {
  .wrap {width:calc(100% - 32px)}

  .hero-grid,
  .feature,
  .grid,
  .gallery {
    grid-template-columns:1fr;
  }

  .hero-grid img,
  .feature img {
    height:280px;
  }

  .card img {height:230px}

  section,.hero {padding:45px 18px}

  nav {padding:16px}
}


/* Forever55 lifestyle refresh v2 */
.f55-life-hero{background:linear-gradient(135deg,#edf8f5,#fffaf2)}
.f55-life-hero .hero-grid img{width:100%;height:420px;object-fit:cover;border-radius:20px}
.f55-life-hero .lead{font-size:21px;font-weight:600;color:#28716b}
.f55-life-about{background:#fff;padding:70px 20px}
.f55-life-about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:42px;align-items:center}
.f55-life-about-grid>img{width:100%;height:440px;object-fit:cover;border-radius:20px}
.f55-life-about-grid p{line-height:1.8}
@media(max-width:800px){
.f55-life-hero .hero-grid img{height:280px}
.f55-life-about-grid{grid-template-columns:1fr;gap:24px}
.f55-life-about-grid>img{height:260px}
.f55-life-about{padding:45px 18px}
}


/* Forever55 full-width hero refinement */
.f55-life-hero {
  background:
    linear-gradient(90deg,
      rgba(12,47,45,.88) 0%,
      rgba(12,47,45,.67) 43%,
      rgba(12,47,45,.10) 100%),
    url("/assets/images/f55-home-lifestyle.avif") center center/cover no-repeat !important;
  min-height:620px;
  display:flex;
  align-items:center;
  padding:85px 0;
}
.f55-life-hero .hero-grid {
  display:block;
  width:min(1200px,calc(100% - 48px));
}
.f55-life-hero .hero-grid>div {
  max-width:630px;
}
.f55-life-hero .hero-grid>img {
  display:none;
}
.f55-life-hero h1 {
  color:#fff;
  font-size:clamp(42px,5vw,72px);
  line-height:1.08;
}
.f55-life-hero .eyebrow,
.f55-life-hero .lead,
.f55-life-hero p {
  color:#fff;
}
.f55-life-hero .lead {
  font-size:clamp(20px,2vw,26px);
}
.f55-life-hero .button.outline {
  color:#fff;
  border-color:rgba(255,255,255,.8);
}
.f55-life-about-grid>img {
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
}
@media(max-width:800px) {
  .f55-life-hero {
    min-height:560px;
    padding:65px 0;
    background-position:58% center !important;
  }
  .f55-life-hero .hero-grid {
    width:calc(100% - 36px);
  }
}


/* f55-brand-refinement-v1 */
.f55-life-hero {
  background-image:
    linear-gradient(90deg,
      rgba(12,47,45,.65) 0%,
      rgba(12,47,45,.38) 37%,
      rgba(12,47,45,.02) 76%),
    url("/assets/images/f55-home-lifestyle.avif") !important;
  background-position:center center !important;
}
.f55-nav-logo {
  display:block;
  width:155px;
  height:48px;
  object-fit:contain;
}
.f55-club-label {
  font-size:18px;
  font-weight:700;
  color:#28776f;
}
header nav .brand {
  display:flex;
  align-items:center;
  gap:9px;
}
@media(max-width:800px) {
  .f55-life-hero {
    background-image:
      linear-gradient(90deg,
        rgba(12,47,45,.68),
        rgba(12,47,45,.12)),
      url("/assets/images/f55-home-lifestyle.avif") !important;
  }
  .f55-nav-logo {
    width:125px;
    height:40px;
  }
}


/* Forever55 Club approved lifestyle refinement */
.f55-life-hero {
  background-image:
    linear-gradient(
      90deg,
      rgba(255,252,235,.96) 0%,
      rgba(255,252,235,.86) 23%,
      rgba(255,252,235,.48) 42%,
      rgba(255,252,235,.03) 68%
    ),
    url("/assets/images/f55-home-lifestyle.avif") !important;
  background-position:center center !important;
  background-size:cover !important;
}

.f55-life-hero h1 {
  color:#102f32 !important;
}

.f55-life-hero .eyebrow,
.f55-life-hero .lead,
.f55-life-hero p {
  color:#234b4d !important;
}

.f55-life-hero .button.outline {
  color:#176c69 !important;
  border-color:#176c69 !important;
  background:rgba(255,255,255,.65);
}

header nav .brand {
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  text-decoration:none !important;
  white-space:nowrap;
}

.f55-nav-logo {
  width:60px !important;
  height:60px !important;
  object-fit:contain !important;
  flex-shrink:0;
}

.f55-club-label {
  font-size:clamp(20px,2vw,28px) !important;
  font-weight:800 !important;
  color:#18383b !important;
  letter-spacing:-.5px;
}

@media(max-width:800px) {
  .f55-nav-logo {
    width:46px !important;
    height:46px !important;
  }

  .f55-club-label {
    font-size:21px !important;
  }

  .f55-life-hero {
    background-image:
      linear-gradient(
        90deg,
        rgba(255,252,235,.94),
        rgba(255,252,235,.48)
      ),
      url("/assets/images/f55-home-lifestyle.avif") !important;
  }
}

@media(max-width:480px) {
  .f55-life-hero {
    background-position:57% center !important;
  }
}


/* f55-family-visibility-v1 */

/* Reserve a clear left area for the headline,
   and shift the family photograph toward the right. */
.f55-life-hero {
  background-image:
    linear-gradient(
      90deg,
      #fffdf2 0%,
      rgba(255,253,242,.98) 18%,
      rgba(255,253,242,.90) 30%,
      rgba(255,253,242,.25) 49%,
      rgba(255,253,242,0) 65%
    ),
    url("/assets/images/f55-home-lifestyle.avif") !important;

  background-position: center center, right center !important;
  background-size: cover, auto 100% !important;
  background-repeat: no-repeat !important;
  background-color: #fffdf2 !important;
}

.f55-life-hero .hero-grid > div {
  max-width: 510px !important;
}

.f55-life-hero h1 {
  font-size: clamp(40px,4.3vw,64px) !important;
}

@media(max-width:800px) {
  .f55-life-hero {
    background-image:
      linear-gradient(
        180deg,
        rgba(255,253,242,.98) 0%,
        rgba(255,253,242,.88) 42%,
        rgba(255,253,242,.15) 100%
      ),
      url("/assets/images/f55-home-lifestyle.avif") !important;

    background-position: center center, right center !important;
    background-size: cover, auto 100% !important;
  }
}


/* f55-photo-first-hero-v1 */

/* Make the hero a vertical layout with the photograph first. */
.f55-life-hero {
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
  padding:0 !important;
  background:none !important;
}

/* Restore the original photograph as a real image,
   avoiding background-cover cropping. */
.f55-life-hero .hero-grid {
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  max-width:none !important;
  gap:0 !important;
  padding:0 !important;
}

/* Image comes before text visually. */
.f55-life-hero .hero-grid > img {
  display:block !important;
  order:1 !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  border-radius:0 !important;
  margin:0 !important;
}

/* Text becomes a separate, clean section below. */
.f55-life-hero .hero-grid > div {
  order:2 !important;
  width:min(1100px,calc(100% - 40px)) !important;
  max-width:1100px !important;
  margin:0 auto !important;
  padding:55px 0 65px !important;
}

/* Bright, premium typography. */
.f55-life-hero h1 {
  color:#17383b !important;
  font-size:clamp(38px,4.6vw,64px) !important;
  line-height:1.12 !important;
  max-width:850px;
}

.f55-life-hero .eyebrow {
  color:#397f76 !important;
}

.f55-life-hero .lead {
  color:#234e50 !important;
  font-size:clamp(20px,2.1vw,26px) !important;
}

.f55-life-hero p {
  color:#49676a !important;
  max-width:850px;
}

.f55-life-hero .button.outline {
  color:#28776f !important;
  border-color:#28776f !important;
  background:#fff !important;
}

/* The image remains fully visible on phones and tablets. */
@media(max-width:800px) {
  .f55-life-hero {
    padding:0 !important;
    min-height:0 !important;
  }

  .f55-life-hero .hero-grid {
    width:100% !important;
    padding:0 !important;
  }

  .f55-life-hero .hero-grid > img {
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }

  .f55-life-hero .hero-grid > div {
    width:calc(100% - 36px) !important;
    padding:35px 0 45px !important;
  }
}


/* F55 CLUB EDITORIAL V1 */
.f55e-section{padding:76px 22px;background:#fff;color:#263f43}
.f55e-soft{background:#f1f7f4}
.f55e-inner{max-width:1180px;margin:0 auto}
.f55e-feature{display:grid;grid-template-columns:1fr 1fr;
gap:48px;align-items:center}
.f55e-reverse .f55e-photo{order:2}
.f55e-photo img{display:block;width:100%;height:auto;
max-height:460px;object-fit:contain;border-radius:18px}
.f55e-kicker{font-size:12px;letter-spacing:2px;
font-weight:700;color:#478479;margin-bottom:14px}
.f55e-section h2,.f55e-cta h2{font-size:clamp(27px,3vw,39px);
line-height:1.2;margin:0 0 24px;color:#173a3e}
.f55e-section h3{font-size:20px;line-height:1.3;
margin:0 0 12px;color:#173a3e}
.f55e-section p,.f55e-cta p{font-size:16px;
line-height:1.85;margin:0 0 17px}
.f55e-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
gap:20px;margin-top:30px}
.f55e-card{background:#fff;border:1px solid #dbe8e4;
border-radius:16px;padding:26px;
box-shadow:0 8px 24px rgba(20,55,50,.045)}
.f55e-cta{background:#e6f1eb;padding:65px 22px;
text-align:center;color:#27494a}
.f55e-cta .f55e-inner{max-width:850px}
.f55e-button{display:inline-block;margin-top:15px;
background:#438579;color:white!important;padding:15px 26px;
border-radius:8px;text-decoration:none;font-weight:700}
.f55e-button:hover{background:#28675d}
@media(max-width:800px){
.f55e-section{padding:48px 18px}
.f55e-feature{grid-template-columns:1fr;gap:24px}
.f55e-reverse .f55e-photo{order:0}
.f55e-cards{grid-template-columns:1fr}
.f55e-photo img{max-height:none}
.f55e-cta{padding:48px 18px}
}

/* END F55 CLUB EDITORIAL V1 */


/* F55 LICENSING VISUAL V1 */
.f55-showcase {
  padding:75px 22px;
  background:#f4f8f5;
}
.f55-showcase-inner {
  max-width:1180px;
  margin:0 auto;
}
.f55-showcase-intro {
  max-width:850px;
  margin-bottom:35px;
}
.f55-showcase-kicker {
  color:#438579;
  font-size:12px;
  font-weight:800;
  letter-spacing:2px;
}
.f55-showcase h2,
.f55-mission h2 {
  font-size:clamp(28px,3vw,42px);
  color:#183b3e;
  line-height:1.2;
}
.f55-showcase p,
.f55-mission p {
  line-height:1.75;
}
.f55-showcase-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.f55-showcase-card {
  overflow:hidden;
  border-radius:16px;
  background:#fff;
  border:1px solid #dce8e3;
  box-shadow:0 10px 26px rgba(20,55,50,.06);
}
.f55-showcase-card img {
  display:block;
  width:100%;
  height:240px;
  object-fit:cover;
}
.f55-showcase-content {
  padding:26px;
}
.f55-showcase-content h3 {
  margin:0 0 14px;
  color:#183b3e;
  font-size:21px;
}
.f55-showcase-action {
  text-align:center;
  margin-top:35px;
}
.f55-mission {
  padding:75px 22px;
  background:#fff;
  text-align:center;
}
.f55-mission-lead {
  max-width:850px;
  margin:0 auto 35px;
  font-size:18px;
}
.f55-values {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.f55-values>div {
  padding:22px 14px;
  background:#f3f8f5;
  border:1px solid #dce8e3;
  border-radius:14px;
}
.f55-values strong {
  color:#276c62;
}
@media(max-width:850px) {
  .f55-showcase-grid {
    grid-template-columns:1fr;
  }
  .f55-values {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .f55-showcase-card img {
    height:auto;
    max-height:340px;
    object-fit:cover;
  }
}
@media(max-width:480px) {
  .f55-values {
    grid-template-columns:1fr;
  }
}
/* END F55 LICENSING VISUAL V1 */


/* F55 MISSION LAYOUT FIX V2 */
.f55-mission {
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  padding:76px 24px 84px !important;
  margin:0 !important;
  background:#f1f7f4 !important;
  text-align:center !important;
  color:#29474a !important;
}
.f55-mission .f55-showcase-inner {
  display:block !important;
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 !important;
}
.f55-mission .f55-showcase-kicker {
  color:#438579 !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:2px !important;
  margin:0 0 15px !important;
}
.f55-mission h2 {
  color:#173a3e !important;
  font-size:clamp(30px,3.5vw,44px) !important;
  line-height:1.2 !important;
  margin:0 auto 22px !important;
  max-width:900px !important;
  text-align:center !important;
}
.f55-mission .f55-mission-lead {
  font-size:17px !important;
  line-height:1.8 !important;
  color:#476568 !important;
  max-width:850px !important;
  margin:0 auto 40px !important;
  text-align:center !important;
}
.f55-mission .f55-values {
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:16px !important;
  width:100% !important;
  margin:0 auto !important;
}
.f55-mission .f55-values > div {
  display:block !important;
  background:#fff !important;
  border:1px solid #dce8e3 !important;
  border-radius:14px !important;
  padding:25px 16px !important;
  box-shadow:0 6px 20px rgba(20,55,50,.045) !important;
  text-align:center !important;
}
.f55-mission .f55-values strong {
  display:block !important;
  color:#276c62 !important;
  font-size:17px !important;
  margin-bottom:10px !important;
}
.f55-mission .f55-values p {
  color:#5a7072 !important;
  font-size:14px !important;
  line-height:1.6 !important;
  margin:0 !important;
}
@media(max-width:950px) {
  .f55-mission .f55-values {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:650px) {
  .f55-mission {
    padding:52px 18px 60px !important;
  }
  .f55-mission .f55-values {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
}
@media(max-width:390px) {
  .f55-mission .f55-values {
    grid-template-columns:1fr !important;
  }
}
/* END F55 MISSION LAYOUT FIX V2 */
