*{box-sizing:border-box}.fg-shell{width:min(1600px,calc(100% - 28px));margin:auto}.fg-hero{position:relative;min-height:100vh;overflow:hidden;color:#fff;background:#062f27}.fg-nav{position:relative;z-index:20}.fg-hero__images{position:absolute;inset:0;display:grid;grid-template-columns:1.15fr .85fr;gap:2px}.fg-hero__img{width:100%;height:100%;object-fit:cover}.fg-hero__img--one{object-position:center}.fg-hero__img--two{object-position:center}.fg-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,43,34,.95),rgba(4,43,34,.70) 42%,rgba(4,38,31,.28)),linear-gradient(180deg,rgba(0,0,0,.12),rgba(3,31,25,.62))}.fg-hero__content{position:relative;z-index:4;padding-top:110px}.fg-kicker{display:inline-flex;align-items:center;gap:13px;color:#d8ad4d;font-size:13px;font-weight:700;letter-spacing:.14em}.fg-kicker:before{content:"";width:43px;height:2px;background:#d2a347}.fg-hero h1{max-width:980px;margin:24px 0 22px;font:600 clamp(72px,7vw,118px)/.91 "Playfair Display",serif;letter-spacing:-.055em}.fg-hero h1 em{display:block;color:#a4bc6e}.fg-hero__content>p{max-width:700px;color:rgba(255,255,255,.82);font-size:19px;line-height:1.65}.fg-scroll{min-height:57px;display:inline-flex;align-items:center;gap:24px;margin-top:28px;padding:12px 22px;border:1px solid #cfa13f;border-radius:999px;color:#fff;text-decoration:none;font-weight:700;background:rgba(6,55,43,.52);backdrop-filter:blur(12px)}.fg-scroll span{font-size:21px}.fg-hero__stats{position:absolute;z-index:5;left:50%;bottom:24px;width:min(1500px,calc(100% - 50px));transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(206,163,69,.45);border-radius:25px;background:rgba(5,55,43,.78);backdrop-filter:blur(15px)}.fg-hero__stats article{display:flex;align-items:center;justify-content:center;gap:14px;min-height:80px;border-right:1px solid rgba(255,255,255,.13)}.fg-hero__stats article:last-child{border:0}.fg-hero__stats b{color:#d9ad4d;font:600 34px "Playfair Display",serif}.fg-hero__stats span{font-size:13px}.fg-main{background:#f8f4e9}.fg-intro{position:relative;overflow:hidden;padding:92px 0 80px;background:radial-gradient(circle at 7% 12%,rgba(122,165,72,.20),transparent 23%),radial-gradient(circle at 93% 5%,rgba(205,159,58,.14),transparent 22%),linear-gradient(135deg,#f1f6e5,#fffdf8 52%,#f8efe0)}.fg-intro:after{content:"";position:absolute;right:-230px;top:180px;width:520px;height:520px;border:1px solid rgba(80,123,61,.14);border-radius:50%;box-shadow:0 0 0 52px rgba(80,123,61,.03),0 0 0 104px rgba(80,123,61,.02)}.fg-heading{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end}.fg-kicker--dark{color:#5e813f}.fg-heading h2{margin:14px 0 0;color:#153d31;font:600 clamp(58px,5vw,84px)/.96 "Playfair Display",serif;letter-spacing:-.045em}.fg-heading h2 em{display:block;color:#75984e}.fg-heading>p{max-width:580px;margin:0 0 8px;color:#667169;font-size:17px;line-height:1.7}.fg-switch{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:38px 0 26px}.fg-switch button{position:relative;min-height:105px;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:15px;padding:17px 22px;border:1px solid rgba(70,111,58,.13);border-radius:24px;color:#183d31;text-align:left;background:rgba(255,255,255,.74);box-shadow:0 15px 35px rgba(49,76,53,.08);cursor:pointer;transition:.35s}.fg-switch button.active{color:#fff;border-color:#cfa23f;background:linear-gradient(145deg,#0c4938,#063128);box-shadow:0 22px 48px rgba(36,68,48,.20)}.fg-switch__number{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#547d39;font:600 20px "Playfair Display",serif}.fg-switch button.active .fg-switch__number{color:#153c30;background:#d8b257}.fg-switch b,.fg-switch small{display:block}.fg-switch b{font:600 24px "Playfair Display",serif}.fg-switch small{margin-top:4px;opacity:.68}.fg-switch i{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.08em}.fg-current{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:104px;margin-bottom:22px;padding:18px 24px;border:1px solid rgba(77,116,63,.12);border-radius:23px;background:rgba(255,255,255,.66)}.fg-current>div{display:flex;align-items:center;gap:18px}.fg-current>div>span{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;color:#fff;background:#315f31;font:600 24px "Playfair Display",serif}.fg-current small{color:#72864d;font-size:10px;font-weight:700;letter-spacing:.11em}.fg-current h3{margin:5px 0 0;font:600 27px "Playfair Display",serif}.fg-current>p{max-width:470px;margin:0;color:#69736a;line-height:1.6;font-size:14px}.fg-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:14px;transition:opacity .35s,transform .35s}.fg-grid.is-hidden{display:none}.fg-card{position:relative;overflow:hidden;padding:0;border:0;border-radius:24px;background:#113d31;cursor:pointer;box-shadow:0 14px 30px rgba(38,65,44,.10)}.fg-card.wide{grid-column:span 2}.fg-card.tall{grid-row:span 2}.fg-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .4s ease}.fg-card:hover img{transform:scale(1.06);filter:saturate(1.08)}.fg-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(4,34,27,.88))}.fg-card__meta{position:absolute;left:19px;right:17px;bottom:16px;display:grid;grid-template-columns:1fr 42px;align-items:end;color:#fff;text-align:left}.fg-card__meta small,.fg-card__meta strong{display:block}.fg-card__meta small{grid-column:1;color:#d8b25c;font-size:9px;font-weight:700;letter-spacing:.12em}.fg-card__meta strong{grid-column:1;margin-top:5px;font:600 22px "Playfair Display",serif}.fg-card__meta i{grid-column:2;grid-row:1/3;width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.38);border-radius:50%;font-style:normal;font-size:22px;background:rgba(255,255,255,.08)}.fg-gallery-cta{position:relative;z-index:2;min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:22px;padding:18px 24px;border:1px solid rgba(80,119,64,.14);border-radius:23px;background:rgba(255,255,255,.75)}.fg-gallery-cta>div{display:flex;align-items:center;gap:14px}.fg-gallery-cta>div>span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#547b38;font-size:23px}.fg-gallery-cta p{margin:0;color:#687169}.fg-gallery-cta strong{color:#193d31}.fg-gallery-cta a{min-height:51px;display:inline-flex;align-items:center;gap:18px;padding:10px 20px;border-radius:999px;color:#fff;text-decoration:none;font-weight:700;background:#416f32}.fg-lightbox{position:fixed;z-index:2000;inset:0;display:none;place-items:center;padding:30px;background:rgba(2,23,18,.96);backdrop-filter:blur(12px)}.fg-lightbox.open{display:grid}.fg-lightbox figure{margin:0;max-width:min(1250px,88vw)}.fg-lightbox img{display:block;max-width:100%;max-height:80vh;margin:auto;border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.55)}.fg-lightbox figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:15px;color:#fff}.fg-lightbox figcaption small{color:#d5aa4e;letter-spacing:.1em}.fg-lightbox figcaption strong{font:600 21px "Playfair Display",serif}.fg-lightbox__close,.fg-lightbox__nav{position:absolute;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:50%;color:#fff;background:rgba(255,255,255,.07);cursor:pointer}.fg-lightbox__close{right:24px;top:20px;width:50px;height:50px;font-size:30px}.fg-lightbox__nav{top:50%;width:52px;height:52px;font-size:22px}.fg-lightbox__prev{left:24px}.fg-lightbox__next{right:24px}@media(max-width:1050px){.fg-shell{width:min(100% - 20px,980px)}.fg-hero__images{grid-template-columns:1fr}.fg-hero__img--two{display:none}.fg-heading{grid-template-columns:1fr;gap:18px}.fg-grid{grid-template-columns:repeat(2,1fr)}.fg-current{align-items:flex-start;flex-direction:column}.fg-switch{grid-template-columns:1fr}.fg-hero__content{padding-top:75px}}@media(max-width:680px){.fg-shell{width:calc(100% - 14px)}.fg-hero{min-height:900px}.fg-hero__content{padding-top:70px;text-align:center}.fg-kicker{justify-content:center}.fg-hero h1{font-size:clamp(55px,15vw,76px)}.fg-hero__content>p{font-size:16px}.fg-hero__stats{width:calc(100% - 16px);grid-template-columns:1fr;bottom:12px;border-radius:22px}.fg-hero__stats article{min-height:59px;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.fg-intro{padding:65px 0 55px}.fg-heading h2{font-size:clamp(46px,13vw,62px)}.fg-switch button{grid-template-columns:52px 1fr}.fg-switch i{display:none}.fg-current{padding:16px}.fg-current h3{font-size:22px}.fg-grid{grid-template-columns:1fr;grid-auto-rows:300px}.fg-card.wide,.fg-card.tall{grid-column:auto;grid-row:auto}.fg-gallery-cta{flex-direction:column;align-items:stretch}.fg-gallery-cta a{justify-content:center}.fg-lightbox{padding:12px}.fg-lightbox__nav{top:auto;bottom:20px}.fg-lightbox__prev{left:24px}.fg-lightbox__next{right:24px}.fg-lightbox figcaption{padding:0 4px;flex-direction:column;gap:4px}}
/* =========================================================
   GALLERY HERO + EDITORIAL PHOTO WALL FIX
   - CTA remains visible above the statistics bar
   - Compact image gaps
   - Natural editorial image proportions
   - No empty grid spaces
========================================================= */

.fg-hero{
  min-height:940px;
}

.fg-hero__content{
  padding-top:72px;
  padding-bottom:190px;
}

.fg-hero h1{
  max-width:870px;
  margin:20px 0 18px;
  font-size:clamp(66px,6vw,100px);
  line-height:.91;
}

.fg-hero__content>p{
  max-width:650px;
  margin-bottom:0;
}

.fg-scroll{
  position:relative;
  z-index:8;
  margin-top:24px;
}

.fg-hero__stats{
  bottom:18px;
}

/* Replace the rigid grid with a clean editorial photo wall. */
.fg-grid{
  display:block;
  columns:3;
  column-gap:10px;
  grid-template-columns:none;
  grid-auto-rows:initial;
  gap:0;
}

.fg-grid.is-hidden{
  display:none;
}

.fg-card,
.fg-card.wide,
.fg-card.tall{
  position:relative;
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  margin:0 0 10px;
  break-inside:avoid;
  overflow:hidden;
  border-radius:18px;
  box-shadow:0 10px 25px rgba(38,65,44,.10);
}

.fg-card img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
}

/* Balanced editorial rhythm without large blank areas. */
.fg-grid .fg-card:nth-child(6n + 1){aspect-ratio:1.32/1}
.fg-grid .fg-card:nth-child(6n + 2){aspect-ratio:.78/1}
.fg-grid .fg-card:nth-child(6n + 3){aspect-ratio:1/1}
.fg-grid .fg-card:nth-child(6n + 4){aspect-ratio:.86/1}
.fg-grid .fg-card:nth-child(6n + 5){aspect-ratio:1.45/1}
.fg-grid .fg-card:nth-child(6n + 6){aspect-ratio:1/1.08}

.fg-card__shade{
  background:linear-gradient(180deg,transparent 50%,rgba(4,34,27,.88));
}

.fg-card__meta{
  left:16px;
  right:14px;
  bottom:14px;
}

.fg-card__meta strong{
  font-size:20px;
}

.fg-card__meta i{
  width:38px;
  height:38px;
}

@media(max-width:1050px){
  .fg-hero{
    min-height:900px;
  }

  .fg-hero__content{
    padding-top:60px;
    padding-bottom:175px;
  }

  .fg-grid{
    columns:2;
    column-gap:9px;
  }

  .fg-card,
  .fg-card.wide,
  .fg-card.tall{
    margin-bottom:9px;
  }
}

@media(max-width:680px){
  .fg-hero{
    min-height:980px;
  }

  .fg-hero__content{
    padding-top:48px;
    padding-bottom:245px;
  }

  .fg-hero h1{
    font-size:clamp(49px,13.5vw,68px);
    line-height:.94;
  }

  .fg-scroll{
    width:100%;
    justify-content:center;
    margin-top:20px;
  }

  .fg-hero__stats{
    bottom:10px;
  }

  .fg-grid{
    columns:1;
    column-gap:0;
  }

  .fg-card,
  .fg-card.wide,
  .fg-card.tall{
    margin-bottom:8px;
    border-radius:16px;
  }

  .fg-grid .fg-card:nth-child(n){
    aspect-ratio:1.2/1;
  }

  .fg-grid .fg-card:nth-child(3n + 2){
    aspect-ratio:.88/1;
  }
}


/* =========================================================
   REFERENCE-STYLE TRUE MASONRY GALLERY
   Inspired by the supplied compact three-column collage:
   - natural image proportions
   - narrow white gutters
   - no empty blocks
   - dense portrait/landscape flow
========================================================= */

.fg-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-auto-rows:8px !important;
  grid-auto-flow:dense !important;
  column-gap:8px !important;
  row-gap:0 !important;
  columns:auto !important;
  padding:8px !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:0 18px 48px rgba(38,65,44,.12) !important;
}

.fg-grid.is-hidden{
  display:none !important;
}

.fg-card,
.fg-card.wide,
.fg-card.tall{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  break-inside:auto !important;
  grid-column:auto !important;
  grid-row-end:span var(--masonry-span, 35) !important;
  aspect-ratio:auto !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:3px !important;
  background:#e8e8e8 !important;
  box-shadow:none !important;
}

.fg-card img{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:contain !important;
  border-radius:3px !important;
}

.fg-grid .fg-card:nth-child(n){
  aspect-ratio:auto !important;
}

.fg-card__shade{
  background:linear-gradient(180deg,transparent 55%,rgba(4,34,27,.80)) !important;
  opacity:.76;
  transition:opacity .3s ease;
}

.fg-card:hover .fg-card__shade{
  opacity:1;
}

.fg-card:hover img{
  transform:scale(1.025) !important;
}

.fg-card__meta{
  left:12px !important;
  right:10px !important;
  bottom:10px !important;
}

.fg-card__meta small{
  font-size:8px !important;
}

.fg-card__meta strong{
  margin-top:3px !important;
  font-size:17px !important;
}

.fg-card__meta i{
  width:32px !important;
  height:32px !important;
  font-size:17px !important;
}

@media(max-width:980px){
  .fg-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:7px !important;
    padding:7px !important;
  }
}

@media(max-width:600px){
  .fg-grid{
    grid-template-columns:1fr !important;
    grid-auto-rows:7px !important;
    column-gap:0 !important;
    padding:6px !important;
  }

  .fg-card,
  .fg-card.wide,
  .fg-card.tall{
    border-radius:3px !important;
  }

  .fg-card img{
    border-radius:3px !important;
  }
}


/* New Ampitiya image: placed directly below Standard Room without changing the gallery layout */
.fg-grid[data-gallery="ampitiya"] .ampitiya-new-interior{
  aspect-ratio:.78/1 !important;
}
.fg-grid[data-gallery="ampitiya"] .ampitiya-new-interior img{
  width:100%;
  height:100%;
  object-fit:cover;
}


/* =========================================================
   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}
}


/* =========================================================
   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;
  }
}


/* =========================================================
   REAL BRAND SOCIAL ICONS + BOOKING BUTTON
========================================================= */
.fl-footer__socials--brand{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.fl-footer__socials--brand a{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:0!important;box-shadow:0 8px 20px rgba(0,0,0,.18);transition:transform .25s ease,box-shadow .25s ease;overflow:hidden}
.fl-footer__socials--brand a:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 14px 28px rgba(0,0,0,.26)}
.fl-footer__socials--brand svg{width:22px;height:22px;display:block}
.fl-footer__socials--brand .social-facebook{background:#1877F2;color:#fff}
.fl-footer__socials--brand .social-facebook svg{fill:currentColor}
.fl-footer__socials--brand .social-tiktok{background:#000;color:#fff;box-shadow:inset 3px 0 0 #25F4EE,inset -3px 0 0 #FE2C55,0 8px 20px rgba(0,0,0,.18)}
.fl-footer__socials--brand .social-tiktok svg{fill:currentColor}
.fl-footer__socials--brand .social-instagram{background:radial-gradient(circle at 30% 107%,#fdf497 0 5%,#fdf497 5% 10%,#fd5949 35%,#d6249f 60%,#285AEB 90%);color:#fff}
.fl-footer__socials--brand .social-instagram svg{fill:none;stroke:currentColor;stroke-width:1.8}
.fl-footer__socials--brand .social-youtube{background:#FF0000;color:#fff}
.fl-footer__socials--brand .social-youtube svg>path:first-child{fill:currentColor}.fl-footer__socials--brand .social-youtube .play{fill:#FF0000}
.fl-footer__socials--brand .social-x{background:#000;color:#fff}.fl-footer__socials--brand .social-x svg{fill:currentColor}
.fl-book-now-fixed{position:fixed;right:22px;bottom:94px;z-index:2499;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:1px solid rgba(226,190,91,.78);border-radius:999px;color:#fff!important;text-decoration:none;font-family:"DM Sans",sans-serif;font-size:14px;font-weight:800;background:linear-gradient(145deg,#176b43,#0b5037);box-shadow:0 15px 34px rgba(3,42,28,.30);transition:transform .25s ease,box-shadow .25s ease}
.fl-book-now-fixed:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(3,42,28,.38)}
@media(max-width:680px){.fl-book-now-fixed{right:14px;bottom:82px;min-height:46px;padding:0 16px;font-size:12px}}
