:root{
  --olive:#6D897A;
  --olive-2:#4E6358;
  --olive-3:#3C4B43;
  --mint:#85A795;
  --card:rgba(78,99,88,.94);
  --card-border:rgba(60,75,67,.42);
  --text:#ffffff;
  --text-soft:rgba(255,255,255,.88);
  --text-dim:rgba(255,255,255,.72);
  --shadow:rgba(34,45,40,.18);
  --radius:20px;
  --radius-sm:14px;
  --available:rgba(69, 179, 92, .55);
  --reserved:rgba(255, 182, 54, .62);
  --sold:rgba(214, 76, 76, .62);
  --on-hold:rgba(86, 141, 255, .62);
}

*{box-sizing:border-box}

html,body{min-height:100%}

body{
  margin:0;
  color:var(--text);
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:#0f1714;
}

.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:1100;
  padding:18px 0;
  background:transparent;
  border-bottom:1px solid transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none;
  transition:
    padding .22s ease,
    background .22s ease,
    border-color .22s ease,
    backdrop-filter .22s ease,
    -webkit-backdrop-filter .22s ease;
}

.site-header.is-condensed{
  padding:8px 0;
  background:transparent;
  border-bottom:1px solid transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none;
}

.site-header__inner,
.hero-video__inner{
  width:min(1480px, 94vw);
  margin:0 auto;
}

.site-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.site-header__brand{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}

.header-logo{
  width:160px;
  height:auto;
  display:block;
  filter:drop-shadow(0 16px 24px rgba(0,0,0,.22));
  transition:width .22s ease, filter .22s ease, opacity .22s ease;
}

.site-header.is-condensed .header-logo{
  width:104px;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.16));
}

.menu-toggle{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  width:54px;
  height:54px;
  padding:0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(0,0,0,.14);
  cursor:pointer;
  transition:
    transform .2s ease,
    background .22s ease,
    border-color .22s ease,
    width .22s ease,
    height .22s ease,
    gap .22s ease;
}

.site-header.is-condensed .menu-toggle{
  gap:4px;
  width:38px;
  height:38px;
  background:rgba(0,0,0,.08);
  border-color:rgba(255,255,255,.10);
}

.menu-toggle:hover{
  transform:translateY(-1px);
  background:rgba(0,0,0,.20);
  border-color:rgba(255,255,255,.22);
}

.menu-toggle span{
  display:block;
  width:22px;
  height:2px;
  margin:0 auto;
  border-radius:999px;
  background:#ffffff;
  transition:transform .2s ease, opacity .2s ease, width .22s ease;
}

.site-header.is-condensed .menu-toggle span{
  width:16px;
}

body.menu-open{
  overflow:hidden;
}

body.menu-open .menu-toggle span:nth-child(1){
  transform:translateY(8px) rotate(45deg);
}

body.menu-open .menu-toggle span:nth-child(2){
  opacity:0;
}

body.menu-open .menu-toggle span:nth-child(3){
  transform:translateY(-8px) rotate(-45deg);
}

.menu-backdrop{
  position:fixed;
  inset:0;
  z-index:1090;
  background:rgba(7,12,10,.54);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}

body.menu-open .menu-backdrop{
  opacity:1;
  pointer-events:auto;
}

  .menu-drawer{
    position:fixed;
    top:0;
    right:0;
    z-index:1105;
    width:min(360px, 92vw);
    height:100dvh;
    display:flex;
    flex-direction:column;
    background:rgba(78,99,88,.97);
    border-left:1px solid rgba(255,255,255,.10);
    box-shadow:-24px 0 60px rgba(0,0,0,.34);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    overflow:hidden;
    transform:translateX(100%);
    transition:transform .22s ease;
  }

  body.menu-open .menu-drawer{
    transform:translateX(0);
  }

  .menu-drawer__header{
    position:relative;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding:28px 24px 10px;
    min-height:132px;
  }

  .menu-drawer__header strong{
    display:none;
  }

  .menu-drawer__brand{
    display:block;
    width:min(210px, 72%);
    text-decoration:none;
  }

  .menu-drawer__brand-logo{
    display:block;
    width:100%;
    height:auto;
    margin:0 auto;
    filter:drop-shadow(0 10px 18px rgba(0,0,0,.12));
  }

  .menu-close{
    position:absolute;
    top:14px;
    right:16px;
    width:42px;
    height:42px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:rgba(255,255,255,.88);
    font-size:40px;
    line-height:1;
    cursor:pointer;
    transition:transform .18s ease, color .18s ease, opacity .18s ease;
  }

  .menu-close:hover{
    color:#ffffff;
    transform:scale(1.04);
  }

  .menu-drawer__body{
    flex:1;
    display:flex;
    flex-direction:column;
    min-height:0;
  }

  .menu-drawer__nav{
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:22px;
    padding:10px 32px 28px;
    text-align:center;
  }

  .menu-drawer__nav a{
    display:block;
    padding:0;
    border:0;
    border-radius:0;
    text-decoration:none;
    color:var(--text-soft);
    background:transparent;
    font-weight:700;
    font-size:clamp(17px, 2.2vw, 21px);
    line-height:1.35;
    letter-spacing:.02em;
    transition:color .18s ease, opacity .18s ease;
  }

  .menu-drawer__nav a:hover,
  .menu-drawer__nav a:focus-visible{
    color:#ffffff;
    background:transparent;
    outline:none;
  }

  .menu-drawer__footer{
    position:relative;
    margin-top:auto;
    padding:26px 20px 22px;
    text-align:center;
    background:linear-gradient(180deg, rgba(15,23,20,0) 0%, rgba(15,23,20,.72) 28%, rgba(15,23,20,.96) 100%);
  }

  .menu-drawer__footer::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-18px;
    height:30px;
    background:linear-gradient(180deg, rgba(15,23,20,0) 0%, rgba(15,23,20,.60) 100%);
    clip-path:polygon(0 100%, 12% 72%, 25% 85%, 39% 62%, 52% 78%, 67% 58%, 80% 72%, 91% 52%, 100% 68%, 100% 100%);
  }

  .menu-drawer__footer a{
    color:rgba(255,255,255,.92);
    text-decoration:none;
    font-size:13px;
    font-weight:600;
    letter-spacing:.03em;
  }

  .menu-drawer__footer a:hover{
    text-decoration:underline;
  }

.hero-video{
  position:relative;
  width:100%;
  min-height:100vh;
  min-height:100svh;
  min-height:100dvh;
  overflow:hidden;
  display:flex;
  align-items:flex-start;
  isolation:isolate;
}

.hero-video::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(19,27,24,.50);
  clip-path:polygon(0 225px, 100% 0, 0 0);
  z-index:2;
  pointer-events:none;
  opacity:1;
  will-change:clip-path, opacity;
  animation:heroTriangleReveal 4.8s cubic-bezier(.22,.61,.36,1) both;
}

@keyframes heroTriangleReveal{
  0%{
    clip-path:polygon(0 225px, 0 0, 0 0);
    opacity:0;
  }
  100%{
    clip-path:polygon(0 225px, 100% 0, 0 0);
    opacity:1;
  }
}

  .hero-video__media{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:0;
  }

  .hero-video__scrim{
    position:absolute;
    inset:0;
    z-index:1;
    background:
      linear-gradient(180deg, rgba(19, 27, 24, 0) 0%, rgba(19, 27, 24, 0.089) 50%, rgba(19, 27, 24, 0.13) 100%);
  }

  .hero-video__inner{
    position:relative;
    z-index:3;
    padding:156px 0 72px;
  }

.hero-shell{
  max-width:min(760px, 92vw);
  color:#ffffff;
}

.hero-kicker{
  margin:0 0 14px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:12px;
  font-weight:800;
  color:rgba(255,255,255,.82);
}

.hero-shell h1{
  margin:0 0 18px;
  font-size:clamp(38px, 5vw, 74px);
  line-height:.98;
  max-width:11ch;
}

.hero-lead{
  margin:0;
  max-width:62ch;
  font-size:18px;
  line-height:1.8;
  color:rgba(255,255,255,.86);
}

.hero-kicker,
.hero-shell h1,
.hero-lead{
  text-shadow:5px 5px 10px rgba(0,0,0,.50);
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.hero-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  border:1px solid transparent;
  transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}

.hero-action:hover{
  transform:translateY(-1px);
}

.hero-action--solid{
  background:#ffffff;
  color:#24302b;
}

.hero-action--ghost{
  background:transparent;
  color:#ffffff;
  border-color:rgba(255,255,255,.46);
}

.content-band{
  padding:64px 0;
}

  .content-band--alt{
    background:linear-gradient(180deg, rgba(78,99,88,.58) 0%, rgba(78,99,88,.53) 100%);
  }

  .content-band--plan{
    padding:44px 0 36px;
  }

  .content-band--plan .section-shell{
        width:min(1320px, calc(100vw - 120px)) !important;
        max-width:min(1320px, calc(100vw - 120px)) !important;
        margin-left:auto !important;
        margin-right:auto !important;
        padding:0 !important;
      }

      .content-band--plan .layout-grid{
        display:grid;
        width:100%;
        max-width:none;
        grid-template-columns:minmax(0, 1fr) 320px;
        gap:20px;
        align-items:stretch;
      }

    .content-band--plan .main-column,
    .content-band--plan .side-column{
      display:flex;
      width:100%;
      min-width:0;
    }

  .content-band--plan #estate-plan{
    scroll-margin-top:118px;
  }

#estate-living{
  scroll-margin-top:0px;
  background-image:
    linear-gradient(rgba(106, 121, 98, 0.7), rgba(106, 121, 98, 0.7)),
    url('/assets/img/backgrounds/background3.png');
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  background-color:#000000;
}

#estate-living .docs-shell{
  width:min(1480px, calc(100vw - 120px));
  max-width:min(1480px, calc(100vw - 120px));
  min-height:calc(100svh - 128px);
  min-height:calc(100dvh - 128px);
  display:flex;
  align-items:center;
}

#estate-living .docs-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:28px;
  align-items:stretch;
}

#estate-living .docs-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  padding:20px;
  border-radius:34px;
  background:rgba(255,255,255,.94);
  color:#20302a;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}

#estate-living .docs-card__media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:240px;
  border-radius:26px;
  background:#050708;
  overflow:hidden;
}

#estate-living .docs-card__media--placeholder{
  position:relative;
  background:
    radial-gradient(circle at 50% 35%, rgba(255,255,255,.08), rgba(255,255,255,0) 42%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)),
    #050708;
  border:1px solid rgba(255,255,255,.06);
}

#estate-living .docs-card__media--placeholder span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.82);
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

#estate-living .docs-card__media--logo{
  padding:26px;
}

#estate-living .docs-card__media--logo a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
}

#estate-living .docs-card__media--logo img{
  display:block;
  max-width:222px;
  width:100%;
  height:auto;
}

#estate-living .docs-card__body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  padding:20px 6px 4px;
  text-align:center;
}

#estate-living .docs-card__body h3{
  margin:0 0 16px;
  color:#15274d;
  font-size:clamp(20px, 2vw, 28px);
  line-height:1.08;
  font-weight:800;
  text-transform:uppercase;
}

#estate-living .docs-card__body p{
  margin:0;
  color:#334844;
  font-size:15px;
  line-height:1.8;
}

#estate-living .docs-card__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  margin:0 0 14px;
  padding:8px 14px;
  border-radius:999px;
  background:#15274d;
  color:#ffffff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

#estate-living .docs-card__panel{
  margin-top:18px;
  text-align:left;
  border-radius:20px;
  background:rgba(21,39,77,.06);
  border:1px solid rgba(21,39,77,.12);
  overflow:hidden;
}

#estate-living .docs-card__panel summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 16px;
  color:#15274d;
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

#estate-living .docs-card__panel summary::-webkit-details-marker{
  display:none;
}

#estate-living .docs-card__panel[open] summary{
  border-bottom:1px solid rgba(21,39,77,.10);
}

#estate-living .docs-card__panel-body{
  display:grid;
  gap:10px;
  padding:14px;
}

#estate-living .docs-card__file-link,
#estate-living .docs-card__download-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:14px;
  text-decoration:none;
  transition:transform .18s ease, background-color .18s ease, color .18s ease;
}

#estate-living .docs-card__file-link{
  background:rgba(255,255,255,.88);
  color:#15274d;
  font-weight:700;
}

#estate-living .docs-card__download-link{
  background:rgba(21,39,77,.10);
  color:#20302a;
  font-size:13px;
  font-weight:700;
}

#estate-living .docs-card__file-link:hover,
#estate-living .docs-card__download-link:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,1);
}

#estate-living .docs-card__downloads{
  display:grid;
  gap:12px;
  justify-content:center;
  margin:0 0 22px;
}

#estate-living .docs-card__downloads a{
  display:inline-flex;
  justify-content:center;
}

#estate-living .docs-card__downloads img{
  display:block;
  width:133px;
  height:auto;
}

@media (max-width:1320px){
  #estate-living .docs-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:720px){
  #estate-living .docs-grid{
    grid-template-columns:1fr;
  }

  #estate-living .docs-card{
    border-radius:28px;
    padding:16px;
  }

  #estate-living .docs-card__media{
    min-height:220px;
    border-radius:22px;
  }

    #estate-living .docs-card__body{
      padding:18px 2px 2px;
    }

    #estate-living .docs-card__panel-body{
      padding:12px;
    }

    #estate-living .docs-card__file-link,
    #estate-living .docs-card__download-link{
      padding:12px;
    }
}

  .section-shell{
      max-width:1200px;
      margin:0 auto;
      padding:0 12px;
    }

.section-shell--split{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:48px;
  align-items:start;
}

#estate-living .section-shell--split{
  min-height:calc(100svh - 118px);
  min-height:calc(100dvh - 118px);
  align-items:center;
  align-content:center;
}

#estate-living .section-copy{
  max-width:520px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.section-kicker{
    display:inline-block;
    margin:0 0 14px;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:12px;
    font-weight:800;
    color:rgba(255,255,255,.68);
  }

  .section-heading h2,
  .section-copy h2{
    margin:0 0 18px;
    color:#ffffff;
    font-size:clamp(30px, 4vw, 54px);
    line-height:1.04;
  }

  .section-heading p,
  .section-copy p{
    margin:0 0 18px;
    color:rgba(255,255,255,.82);
    font-size:12px;
    line-height:1.8;
  }

  #welcome .section-copy{
    max-width:760px;
    margin:0 auto;
    text-align:center;
  }

  .style-card h3{
    margin:0 0 10px;
    color:#ffffff;
    font-size:20px;
    line-height:1.2;
  }

  .style-card p{
    margin:0;
    color:rgba(255,255,255,.78);
    line-height:1.7;
  }

  .feature-list li{
    padding:0 0 12px;
    border-bottom:1px solid rgba(255,255,255,.16);
    color:rgba(255,255,255,.82);
    line-height:1.7;
  }

  .feature-list li{
    padding:0 0 12px;
    border-bottom:1px solid rgba(78,99,88,.18);
    color:#4f6058;
    line-height:1.7;
  }

    .style-gallery-band{
      position:relative;
      margin:0;
      min-height:100svh;
      padding:clamp(70px, 2vh, 22px) 0 clamp(10px, 1.6vh, 16px);
      background:linear-gradient(180deg, #c7d0be 0%, #a8b59c 28%, #7e8d73 68%, #66755e 100%);
      overflow:hidden;
      scroll-margin-top:0;
      display:flex;
      align-items:flex-start;
    }

    .style-gallery-band::before{
      content:"";
      position:absolute;
      inset:auto auto -140px -120px;
      width:420px;
      height:420px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 72%);
      pointer-events:none;
    }

    .style-gallery-band::after{
      content:"";
      position:absolute;
      inset:-160px -120px auto auto;
      width:460px;
      height:460px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(109,137,122,.18) 0%, rgba(109,137,122,0) 72%);
      pointer-events:none;
    }

    .style-gallery-shell{
      position:relative;
      width:min(1440px, 100%);
      margin:0 auto;
      padding:0 clamp(18px, 2.4vw, 28px);
    }

    .style-gallery{
      position:relative;
      display:grid;
      gap:clamp(10px, 1.2vh, 16px);
      width:100%;
    }

    .section-kicker--dark{
      color:rgba(25,39,32,.64);
    }

    .style-gallery__intro{
      display:grid;
      grid-template-columns:minmax(260px, .74fr) minmax(340px, 1fr);
      gap:clamp(14px, 1.5vw, 22px);
      align-items:start;
    }

    .style-gallery__copy{
      max-width:520px;
    }

    .style-gallery__copy h2{
      margin:0 0 10px;
      color:#16261f;
      font-size:clamp(28px, 3.2vw, 50px);
      line-height:.94;
      letter-spacing:-.03em;
    }

    .style-gallery__copy p{
      margin:0;
      max-width:54ch;
      color:rgba(22,38,31,.84);
      font-size:clamp(13px, .92vw, 15px);
      line-height:1.48;
    }

    .style-grid--gallery{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:10px;
      align-self:start;
    }

    .style-grid--gallery .style-card{
      padding:14px 15px;
      border-radius:18px;
      background:rgba(255,255,255,.16);
      border:1px solid rgba(255,255,255,.34);
      box-shadow:0 10px 22px rgba(24,36,32,.06);
      backdrop-filter:blur(14px);
      -webkit-backdrop-filter:blur(14px);
    }

    .style-grid--gallery .style-card h3{
      margin:0 0 6px;
      color:#1c2c24;
      font-size:16px;
      line-height:1.14;
    }

    .style-grid--gallery .style-card p{
      margin:0;
      color:rgba(28,44,36,.82);
      font-size:12px;
      line-height:1.42;
    }

    .style-gallery__header{
      max-width:620px;
      margin:0 auto;
      text-align:center;
    }

    .style-gallery__header p{
      margin:0 auto;
      max-width:56ch;
      color:rgba(28,44,36,.80);
      font-size:clamp(16px, 1.25vw, 19px);
      line-height:1.7;
    }

    .style-gallery__viewport{
      position:relative;
      padding:0 62px 44px;
    }

    .style-gallery__stage{
      position:relative;
      display:flex;
      align-items:center;
      justify-content:center;
      min-height:clamp(440px, 42vh, 620px);
      perspective:1800px;
      transform-style:preserve-3d;
    }

    .style-gallery__stage::after{
      content:"";
      position:absolute;
      left:50%;
      bottom:8px;
      width:min(74%, 820px);
      height:56px;
      transform:translateX(-50%);
      background:radial-gradient(ellipse at center, rgba(30,44,38,.22) 0%, rgba(30,44,38,0) 72%);
      filter:blur(18px);
      pointer-events:none;
    }

    .style-gallery__slide{
      position:absolute;
      top:50%;
      left:50%;
      width:min(620px, 46vw);
      aspect-ratio:16 / 9;
      margin:0;
      opacity:0;
      transform:translate3d(-50%, -50%, -220px) scale(.72);
      transform-origin:center center;
      transition:transform .72s cubic-bezier(.22,1,.36,1), opacity .6s ease, filter .6s ease;
      filter:blur(1.5px) saturate(.88);
      pointer-events:none;
      z-index:1;
    }

    .style-gallery__slide.is-active,
    .style-gallery__slide[data-position="active"]{
      opacity:1;
      transform:translate3d(-50%, -50%, 140px) scale(1);
      filter:none;
      pointer-events:auto;
      z-index:5;
    }

    .style-gallery__slide[data-position="prev"]{
      opacity:.92;
      transform:translate3d(calc(-50% - 340px), calc(-50% + 10px), -130px) rotateY(18deg) scale(.88);
      filter:saturate(.92) brightness(.96);
      z-index:4;
    }

    .style-gallery__slide[data-position="next"]{
      opacity:.92;
      transform:translate3d(calc(-50% + 340px), calc(-50% + 10px), -130px) rotateY(-18deg) scale(.88);
      filter:saturate(.92) brightness(.96);
      z-index:4;
    }

    .style-gallery__slide[data-position="far-left"]{
      opacity:.5;
      transform:translate3d(calc(-50% - 600px), calc(-50% + 22px), -250px) rotateY(26deg) scale(.74);
      filter:saturate(.82) brightness(.9);
      z-index:3;
    }

    .style-gallery__slide[data-position="far-right"]{
      opacity:.5;
      transform:translate3d(calc(-50% + 600px), calc(-50% + 22px), -250px) rotateY(-26deg) scale(.74);
      filter:saturate(.82) brightness(.9);
      z-index:3;
    }

    .style-gallery__slide[data-position="hidden"]{
      opacity:0;
      transform:translate3d(-50%, calc(-50% + 28px), -320px) scale(.64);
      filter:blur(2px) saturate(.8);
      z-index:1;
    }

    .style-gallery__image-frame{
      width:100%;
      height:100%;
      overflow:hidden;
      border-radius:30px;
      border:1px solid rgba(255,255,255,.78);
      background:rgba(240,244,239,.72);
      box-shadow:0 32px 90px rgba(23,34,30,.16);
    }

    .style-gallery__slide.is-active .style-gallery__image-frame,
    .style-gallery__slide[data-position="active"] .style-gallery__image-frame{
      box-shadow:0 38px 100px rgba(18,28,24,.22);
    }

    .style-gallery__slide img{
      display:block;
      width:100%;
      height:100%;
      object-fit:contain;
      object-position:center center;
    }

    .style-gallery__nav{
      position:absolute;
      top:50%;
      z-index:8;
      width:60px;
      height:60px;
      border:1px solid rgba(255,255,255,.52);
      border-radius:999px;
      background:rgba(255,255,255,.82);
      color:#203128;
      box-shadow:0 18px 34px rgba(24,36,32,.10);
      transform:translateY(-50%);
      display:grid;
      place-items:center;
      cursor:pointer;
      transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
    }

    .style-gallery__nav:hover{
      transform:translateY(-50%) scale(1.04);
      box-shadow:0 22px 40px rgba(24,36,32,.14);
      background:#ffffff;
    }

    .style-gallery__nav--prev{
      left:0;
    }

    .style-gallery__nav--next{
      right:0;
    }

    .style-gallery__nav span{
      font-size:22px;
      line-height:1;
    }

    .style-gallery__controls{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;
    }

    .style-gallery__dot{
      width:11px;
      height:11px;
      padding:0;
      border:0;
      border-radius:999px;
      background:rgba(45,66,54,.26);
      cursor:pointer;
      transition:transform .2s ease, background .2s ease;
    }

    .style-gallery__dot:hover{
      transform:scale(1.12);
      background:rgba(45,66,54,.40);
    }

    .style-gallery__dot.is-active,
    .style-gallery__dot[aria-current="true"]{
      background:#ffffff;
      transform:scale(1.26);
    }

    .style-gallery.is-static .style-gallery__viewport{
      padding:0;
    }

    .style-gallery.is-static .style-gallery__slide{
      position:relative;
      top:auto;
      left:auto;
      width:min(760px, 100%);
      opacity:1;
      transform:none;
      filter:none;
      pointer-events:auto;
    }

    .style-gallery.is-static .style-gallery__stage{
      min-height:0;
      perspective:none;
    }

    .style-gallery.is-static .style-gallery__stage::after,
    .style-gallery.is-static .style-gallery__nav,
    .style-gallery.is-static .style-gallery__controls{
      display:none;
    }

    @media (max-width:1100px){
      .style-gallery-band{
        min-height:0;
        padding:56px 0 64px;
      }

      .style-gallery__intro{
        grid-template-columns:1fr;
        gap:24px;
      }

      .style-grid--gallery{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }

      .style-gallery__viewport{
        padding:0 44px 40px;
      }

      .style-gallery__stage{
        min-height:clamp(400px, 48vw, 500px);
      }

      .style-gallery__slide{
        width:min(500px, 72vw);
      }

      .style-gallery__slide[data-position="prev"]{
        transform:translate3d(calc(-50% - 190px), calc(-50% + 10px), -120px) rotateY(14deg) scale(.84);
      }

      .style-gallery__slide[data-position="next"]{
        transform:translate3d(calc(-50% + 190px), calc(-50% + 10px), -120px) rotateY(-14deg) scale(.84);
      }

      .style-gallery__slide[data-position="far-left"]{
        transform:translate3d(calc(-50% - 290px), calc(-50% + 18px), -220px) rotateY(18deg) scale(.7);
      }

      .style-gallery__slide[data-position="far-right"]{
        transform:translate3d(calc(-50% + 290px), calc(-50% + 18px), -220px) rotateY(-18deg) scale(.7);
      }
    }

    @media (max-width:720px){
      .style-gallery-band{
        min-height:0;
        padding:44px 0 56px;
      }

      .style-gallery-shell{
        padding:0 18px;
      }

      .style-gallery{
        gap:22px;
      }

      .style-gallery__intro{
        gap:18px;
      }

      .style-gallery__copy h2{
        font-size:clamp(34px, 11vw, 48px);
      }

      .style-gallery__copy p,
      .style-gallery__header p{
        font-size:15px;
      }

      .style-grid--gallery{
        grid-template-columns:1fr;
        gap:12px;
      }

      .style-grid--gallery .style-card{
        padding:18px 18px;
        border-radius:22px;
      }

      .style-gallery__viewport{
        padding:0 18px 52px;
      }

      .style-gallery__stage{
        min-height:360px;
        perspective:1800px;
      }

      .style-gallery__slide{
        width:min(340px, 86vw);
        aspect-ratio:16 / 9;
      }

      .style-gallery__slide[data-position="prev"]{
        transform:translate3d(calc(-50% - 74px), calc(-50% + 12px), -110px) rotateY(10deg) scale(.82);
      }

      .style-gallery__slide[data-position="next"]{
        transform:translate3d(calc(-50% + 74px), calc(-50% + 12px), -110px) rotateY(-10deg) scale(.82);
      }

      .style-gallery__slide[data-position="far-left"],
      .style-gallery__slide[data-position="far-right"]{
        opacity:0;
        transform:translate3d(-50%, calc(-50% + 26px), -240px) scale(.66);
      }

      .style-gallery__nav{
        top:auto;
        bottom:0;
        width:48px;
        height:48px;
        transform:none;
      }

      .style-gallery__nav:hover{
        transform:scale(1.04);
      }

      .style-gallery__nav--prev{
        left:calc(50% - 68px);
      }

      .style-gallery__nav--next{
        right:calc(50% - 68px);
      }
    }

    @media (prefers-reduced-motion: reduce){
      .style-gallery__slide,
      .style-gallery__nav,
      .style-gallery__dot{
        transition:none;
      }
    }

  .enquiry-band{
    position:relative;
    margin:0;
    padding:0;
    background:#5c5a5a;
    overflow:hidden;
  }

.enquiry-grid{
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);
  gap:0;
  align-items:stretch;
  min-height:620px;
}

.enquiry-card,
.contact-card,
.map-card{
  border:0;
  box-shadow:none;
  border-radius:0;
}

.enquiry-card{
  background:#5c5a5a;
  color:#ffffff;
  padding:28px 34px 34px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.enquiry-card__header{
  display:grid;
  gap:8px;
}

.enquiry-card .section-kicker{
  color:rgba(255,255,255,.72);
  font-size:11px;
}

.enquiry-card h2{
  margin:0;
  color:#ffffff;
  font-size:clamp(28px, 2.5vw, 40px);
  line-height:1.02;
  max-width:12ch;
}

.enquiry-card p{
  margin:0;
  max-width:58ch;
  color:rgba(255,255,255,.76);
  line-height:1.55;
  font-size:14px;
}

.enquiry-form{
  display:grid;
  gap:12px;
  margin-top:18px;
}

.enquiry-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.enquiry-field label,
.enquiry-group legend{
  display:block;
  margin-bottom:6px;
  color:#ffffff;
  font-weight:700;
  font-size:12px;
}

.enquiry-field input,
.enquiry-field textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.16);
  background:#f5f5f5;
  color:#171717;
  font:inherit;
  font-size:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5);
}

.enquiry-field input{
  min-height:44px;
  padding:0 16px;
  border-radius:999px;
}

.enquiry-field textarea{
  min-height:92px;
  padding:12px 16px;
  border-radius:20px;
  resize:vertical;
}

.enquiry-field input:focus,
.enquiry-field textarea:focus{
  outline:2px solid rgba(255,255,255,.45);
  outline-offset:2px;
}

.enquiry-group{
  margin:0;
  padding:0;
  border:0;
}

.enquiry-checks{
  display:grid;
  gap:8px;
  justify-content:start;
}

.enquiry-checks label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.92);
  font-weight:600;
  font-size:13px;
}

.enquiry-checks input{
  width:16px;
  height:16px;
  accent-color:#6d897a;
}

.enquiry-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.enquiry-actions .hero-action{
  min-height:42px;
  padding:0 18px;
  font-size:13px;
}

.enquiry-submit{
  border:0;
  cursor:pointer;
  background:#3f3d3d;
  border-color:rgba(255,255,255,.12);
  color:#ffffff;
}

.enquiry-whatsapp{
  color:#ffffff !important;
  border-color:rgba(255,255,255,.22) !important;
  background:rgba(255,255,255,.05);
}

.enquiry-note{
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:12px;
  line-height:1.55;
}

.contact-list{
  display:grid;
  gap:14px;
}

.contact-list strong{
  display:block;
  color:#24302b;
}

.contact-list a{
  color:#4f6058;
  text-decoration:none;
}

.contact-list a:hover{
  text-decoration:underline;
}

.map-card{
  position:relative;
  overflow:hidden;
  background:#e7e2db;
  min-height:620px;
}

.map-card--feature::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 22%, rgba(0,0,0,.12) 100%);
  pointer-events:none;
}

.map-frame{
  width:100%;
  height:100%;
  min-height:620px;
  border:0;
  display:block;
}

.map-card__body{
  position:absolute;
  left:24px;
  right:auto;
  bottom:24px;
  z-index:1;
  max-width:300px;
  padding:16px 18px;
  border-radius:22px;
  background:rgba(17,18,22,.72);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 14px 32px rgba(0,0,0,.22);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.map-card__body .section-kicker{
  color:rgba(255,255,255,.66);
  font-size:11px;
}

.map-card__body strong{
  display:block;
  margin:6px 0 8px;
  color:#ffffff;
  font-size:18px;
  line-height:1.2;
}

.map-card__body p{
  margin:0 0 10px;
  color:rgba(255,255,255,.80);
  line-height:1.55;
  font-size:13px;
}

.map-card__link{
  color:#ffffff;
  text-decoration:none;
  font-weight:800;
  font-size:13px;
}

.map-card__link:hover{
  text-decoration:underline;
}

.site-footer{
  position:relative;
  background:linear-gradient(180deg, rgba(61,78,70) 0%, rgba(28,37,34) 100%);
  color:#ffffff;
  overflow:hidden;
  isolation:isolate;
  margin-top:-92px;
  padding-top:92px;
  -webkit-clip-path:polygon(0 0, 100% 92px, 100% 100%, 0 100%);
  clip-path:polygon(0 0, 100% 92px, 100% 100%, 0 100%);
}

.site-footer::before{
  display:none;
}

@keyframes footerDiagonalSlideIn{
  0%{
    transform:translateX(-260px);
  }
  100%{
    transform:translateX(0);
  }
}

.site-footer .section-shell,
.site-footer__legal{
  position:relative;
  z-index:1;
}

.site-footer .section-shell{
  width:min(100%, 1480px);
  padding-left:28px;
  padding-right:28px;
}

.site-footer__grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) repeat(3,minmax(0,1fr));
  gap:24px;
  padding-top:0px;
  padding-bottom:30px;
  align-items:end;
}

.site-footer__brand{
  position:relative;
  display:grid;
  gap:12px;
  align-content:start;
  overflow:visible;
}

.site-footer__logo{
  position:absolute;
  left:0;
  top:6px;
  transform:translateX(calc(-100% - 18px));
  display:block;
  width:220px;
  max-width:none;
  height:auto;
  margin:0;
  z-index:1;
}

.site-footer__eyebrow{
  display:block;
  color:rgba(255,255,255,.60);
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.site-footer h3,
.site-footer h4{
  color:#ffffff;
}

.site-footer h3{
  margin:0;
  font-size:clamp(24px, 2.2vw, 34px);
  line-height:1;
  max-width:12ch;
}

.site-footer h4{
  margin:6px 0 8px;
  font-size:15px;
  line-height:1.3;
}

.site-footer p{
  margin:0;
  color:rgba(255,255,255,.74);
  line-height:1.55;
  font-size:13px;
}

.site-footer a{
  color:rgba(255,255,255,.90);
  text-decoration:none;
}

.site-footer a:hover{
  text-decoration:underline;
}

  .site-footer__legal{
    background:transparent;
    border-top:0;
  }

  .site-footer__legal .section-shell{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px 10px;
    padding-top:8px;
    padding-bottom:16px;
    color:rgba(255,255,255,.78);
    font-size:12px;
  }

  .site-footer__credit{
    display:inline-flex;
    align-items:center;
    gap:6px;
  }

  .site-footer__credit-label{
    white-space:nowrap;
  }

  .site-footer__credit-link{
    display:inline-flex;
    align-items:center;
    line-height:1;
  }

  .site-footer__credit-logo{
    display:block;
    width:auto;
    height:42px;
    max-width:none;
  }

.floating-action{
  position:fixed;
  right:18px;
  z-index:1300;
  width:46px;
  height:46px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:900;
  line-height:1;
  box-shadow:0 12px 24px rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:transform .16s ease, box-shadow .16s ease;
}

.floating-action:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 28px rgba(0,0,0,.28);
}

.floating-action--top{
  bottom:70px;
  background:rgba(38,38,42,.88);
  color:#ffffff;
}

.floating-action--whatsapp{
  bottom:18px;
  background:#1fcb67;
  color:#ffffff;
  border-color:rgba(255,255,255,.24);
}

.floating-action svg{
  display:block;
  width:24px;
  height:24px;
  fill:currentColor;
}

  @media (max-width: 1100px){
    .section-shell--split,
    .style-grid,
    .enquiry-grid{
      grid-template-columns:1fr;
      min-height:auto;
    }

    .map-card,
    .map-frame{
      min-height:560px;
    }

.site-footer__grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:28px;
  padding-top:104px;
}

    .layout-grid{
      grid-template-columns:1fr;
    }
  }

  @media (max-width: 820px){
    .hero-video__inner{
      padding:128px 0 56px;
    }

    .hero-shell{
      max-width:100%;
    }

    .hero-shell h1{
      font-size:clamp(34px, 10vw, 56px);
      max-width:12ch;
    }

    .hero-lead{
      font-size:16px;
    }

    .hero-kicker,
    .hero-shell h1,
    .hero-lead{
      text-shadow:5px 5px 10px rgb(0, 0, 0);
    }

    .hero-actions{
      flex-direction:column;
      align-items:flex-start;
    }

    .hero-action{
      width:100%;
    }

      .content-band{
        padding:42px 0;
      }

      .content-band--plan{
        padding:16px 4px 20px;
      }

      .content-band--plan .section-shell{
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:0 !important;
      }

      .content-band--plan .layout-grid{
        grid-template-columns:1fr;
        gap:24px;
      }

      .content-band--plan .side-column{
        max-width:none;
        justify-self:stretch;
      }

      .section-shell{
        padding:0 4px;
      }

      .section-shell--split,
      .style-grid,
      .site-footer__grid,
      .layout-grid{
        grid-template-columns:1fr;
        gap:24px;
      }

      #estate-living .section-shell--split{
        min-height:auto;
        align-items:start;
        align-content:normal;
      }

      #estate-living .section-copy{
        max-width:none;
        margin:0;
        display:block;
      }

#estate-living .docs-shell{
  width:min(1480px, calc(100vw - 120px));
  max-width:min(1480px, calc(100vw - 120px));
  min-height:calc(100svh - 128px);
  min-height:calc(100dvh - 128px);
  display:flex;
  align-items:center;
}

#estate-living .docs-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:28px;
  align-items:stretch;
}

#estate-living .docs-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  padding:20px;
  border-radius:34px;
  background:rgba(255,255,255,.94);
  color:#20302a;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}

#estate-living .docs-card__media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:240px;
  border-radius:26px;
  background:#050708;
  overflow:hidden;
}

#estate-living .docs-card__media--placeholder{
  position:relative;
  background:
    radial-gradient(circle at 50% 35%, rgba(255,255,255,.08), rgba(255,255,255,0) 42%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)),
    #050708;
  border:1px solid rgba(255,255,255,.06);
}

#estate-living .docs-card__media--placeholder span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.82);
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

#estate-living .docs-card__media--logo{
  padding:26px;
}

#estate-living .docs-card__media--logo a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
}

#estate-living .docs-card__media--logo img{
  display:block;
  max-width:222px;
  width:100%;
  height:auto;
}

#estate-living .docs-card__body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  padding:20px 6px 4px;
  text-align:center;
}

#estate-living .docs-card__body h3{
  margin:0 0 16px;
  color:#15274d;
  font-size:clamp(20px, 2vw, 28px);
  line-height:1.08;
  font-weight:800;
  text-transform:uppercase;
}

#estate-living .docs-card__body p{
  margin:0;
  color:#334844;
  font-size:15px;
  line-height:1.8;
}

#estate-living .docs-card__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  margin:0 0 14px;
  padding:8px 14px;
  border-radius:999px;
  background:#15274d;
  color:#ffffff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

#estate-living .docs-card__panel{
  margin-top:18px;
  text-align:left;
  border-radius:20px;
  background:rgba(21,39,77,.06);
  border:1px solid rgba(21,39,77,.12);
  overflow:hidden;
}

#estate-living .docs-card__panel summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 16px;
  color:#15274d;
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

#estate-living .docs-card__panel summary::-webkit-details-marker{
  display:none;
}

#estate-living .docs-card__panel[open] summary{
  border-bottom:1px solid rgba(21,39,77,.10);
}

#estate-living .docs-card__panel-body{
  display:grid;
  gap:10px;
  padding:14px;
}

#estate-living .docs-card__file-link,
#estate-living .docs-card__download-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:14px;
  text-decoration:none;
  transition:transform .18s ease, background-color .18s ease, color .18s ease;
}

#estate-living .docs-card__file-link{
  background:rgba(255,255,255,.88);
  color:#15274d;
  font-weight:700;
}

#estate-living .docs-card__download-link{
  background:rgba(21,39,77,.10);
  color:#20302a;
  font-size:13px;
  font-weight:700;
}

#estate-living .docs-card__file-link:hover,
#estate-living .docs-card__download-link:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,1);
}

#estate-living .docs-card__downloads{
  display:grid;
  gap:12px;
  justify-content:center;
  margin:0 0 22px;
}

#estate-living .docs-card__downloads a{
  display:inline-flex;
  justify-content:center;
}

#estate-living .docs-card__downloads img{
  display:block;
  width:133px;
  height:auto;
}

@media (max-width:1320px){
  #estate-living .docs-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

      .enquiry-grid{
        grid-template-columns:1fr;
        min-height:auto;
      }

      .enquiry-row{
        grid-template-columns:1fr;
      }

      .enquiry-card{
        padding:40px 20px 88px;
      }

      .map-card,
      .map-frame{
        min-height:420px;
      }

      .map-card__body{
        left:20px;
        right:20px;
        bottom:20px;
        max-width:none;
      }

        .site-footer .section-shell{
          padding-left:20px;
          padding-right:20px;
        }

        .site-footer__brand{
          padding-top:0;
        }

        .site-footer__logo{
          position:static;
          transform:none;
          width:180px;
          max-width:100%;
          margin:0 0 8px 0;
        }

        .site-footer::before{
          top:-48px;
          clip-path:polygon(0 48px, 100% 96px, 100% 100%, 0 100%);
        }

        .site-footer__grid{
          padding-top:72px;
        }

      .floating-action{
        right:16px;
        width:54px;
        height:54px;
      }

      .floating-action--top{
        bottom:86px;
      }

      .floating-action--whatsapp{
        bottom:16px;
      }

    .section-heading h2,
    .section-copy h2{
      font-size:clamp(28px, 8vw, 42px);
    }

    .section-heading p,
    .section-copy p{
      font-size:16px;
    }

    .detail-grid{
      grid-template-columns:1fr;
    }

    .database-modal{
      padding:10px;
    }

    .database-modal__dialog{
      width:calc(100vw - 20px);
      height:calc(100dvh - 20px);
    }

    .database-modal__header{
      padding:18px 18px 0;
    }

    .database-modal__body{
      padding:0 18px 18px;
    }
  }

.hero-card,
.panel-card,
.alert-card{
  border-radius:var(--radius);
  background:var(--card);
  border:1px solid var(--card-border);
  box-shadow:0 26px 60px var(--shadow);
  backdrop-filter:blur(10px);
}

.hero-card{
  padding:40px 42px;
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(380px,1fr);
  gap:24px;
  margin:0;
}

.hero-card--overlay{
  background:rgba(29,40,36,.28);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 34px 80px rgba(0,0,0,.34);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.eyebrow{
  margin:0 0 10px;
  text-transform:uppercase;
  letter-spacing:.10em;
  color:var(--text-soft);
  font-size:13px;
  font-weight:800;
}

.hero-card h1{
  margin:0 0 16px;
  line-height:1.02;
  font-size:clamp(36px, 4.6vw, 64px);
  max-width:12ch;
}

.hero-text{
  margin:0;
  color:var(--text-dim);
  line-height:1.75;
  font-size:18px;
  max-width:74ch;
}

.hero-card__stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
  align-self:start;
}

.stat-box{
  padding:24px 20px;
  border-radius:var(--radius-sm);
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.14);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  min-height:132px;
}

.stat-label{
  color:var(--text-dim);
  font-size:13px;
  font-weight:700;
}

.stat-value{
  font-size:22px;
  line-height:1.1;
}

.alert-card{
  padding:16px 18px;
  margin-bottom:22px;
}

.alert-card--error{
  border-color:rgba(255,100,100,.35);
  background:rgba(120,20,20,.25);
}

  .layout-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.8fr) minmax(340px, .95fr);
    gap:22px;
    align-items:stretch;
  }

  .layout-grid--feature{
    align-items:stretch;
  }

  .main-column,
  .side-column{
    min-width:0;
  }

  .panel-card{
    padding:20px;
  }

  .panel-card--full{
    grid-column:1 / -1;
  }

  .panel-card__header{
    margin-bottom:14px;
  }

  .panel-card__header h2{
    margin:0 0 6px;
    font-size:22px;
    line-height:1.15;
  }

  .panel-card__header p{
    margin:0;
    color:var(--text-dim);
    line-height:1.55;
  }

  #estate-plan{
    position:relative;
    overflow:hidden;
    isolation:isolate;
  }

  #estate-plan::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url('/assets/img/backgrounds/background1.png');
    background-repeat:no-repeat;
    background-position:center center;
    background-size:cover;
    opacity:.10;
    pointer-events:none;
    z-index:0;
  }

  #estate-plan > *{
    position:relative;
    z-index:1;
  }

.plan-stage{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.20);
}

  .plan-image{
    display:block;
    width:100%;
    height:auto;
    background-color:#ffffff;
  }

  .plan-svg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }

  .stand-label{
    display:none;
  }

  .plan-missing{
    min-height:360px;
    display:grid;
    place-items:center;
    text-align:center;
    gap:8px;
    color:var(--text-soft);
    padding:24px;
  }

  .plan-note,
  .empty-state{
    margin-top:14px;
    padding:14px 16px;
    border-radius:var(--radius-sm);
    background:rgba(0,0,0,.14);
    border:1px solid rgba(255,255,255,.10);
    color:var(--text-dim);
    line-height:1.55;
  }

  .side-column{
    display:flex;
    flex-direction:column;
    height:100%;
  }

  .detail-card{
    display:flex;
    flex-direction:column;
    height:100%;
  }

  .detail-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
    flex:1;
    align-content:start;
  }

  .detail-item{
    padding:14px;
    border-radius:var(--radius-sm);
    background:rgba(0,0,0,.14);
    border:1px solid rgba(255,255,255,.10);
    display:flex;
    flex-direction:column;
    gap:6px;
  }

  .detail-item--full{
    grid-column:1 / -1;
  }

  .detail-label{
    color:var(--text-dim);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
  }

  .detail-value{
    font-size:18px;
    line-height:1.3;
  }

  .detail-value--notes{
    font-size:15px;
    color:var(--text-soft);
    font-weight:600;
  }

  .detail-actions{
    margin-top:16px;
    display:flex;
    align-items:stretch;
  }

  .detail-action-button{
    width:100%;
    min-height:52px;
    border-color:rgba(255,255,255,.14);
    background:rgba(255,255,255,.06);
    color:#ffffff;
    cursor:pointer;
  }

  .detail-action-button:hover{
    background:rgba(255,255,255,.12);
  }

  body.stands-modal-open{
    overflow:hidden;
  }

  .database-modal{
    position:fixed;
    inset:0;
    z-index:1400;
    display:flex;
    align-items:stretch;
    justify-content:center;
    padding:16px;
  }

  .database-modal[hidden]{
    display:none;
  }

  .database-modal__backdrop{
    position:absolute;
    inset:0;
    background:rgba(13,19,17,.52);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }

  .database-modal__dialog{
    position:relative;
    z-index:1;
    width:min(1440px, calc(100vw - 32px));
    height:calc(100dvh - 32px);
    padding:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:rgba(35,45,40,.82);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 30px 80px rgba(0,0,0,.34);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    transform:scale(.96);
    opacity:0;
    transition:transform .2s ease, opacity .2s ease;
  }

  .database-modal.is-open .database-modal__dialog{
    transform:scale(1);
    opacity:1;
  }

  .database-modal__header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:24px 24px 0;
  }

  .database-modal__body{
    flex:1;
    min-height:0;
    padding:0 24px 24px;
  }

  .database-modal__close{
    width:46px;
    height:46px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.06);
    color:#ffffff;
    font-size:28px;
    line-height:1;
    cursor:pointer;
    flex:0 0 auto;
  }

  .database-modal__close:hover{
    background:rgba(255,255,255,.12);
  }

  .stand-table-wrap{
    overflow:auto;
    border-radius:var(--radius-sm);
    border:1px solid rgba(255,255,255,.10);
  }

  .stand-table-wrap--modal{
    height:100%;
    min-height:0;
    background:rgba(0,0,0,.12);
  }

.stand-table{
  width:100%;
  border-collapse:collapse;
  min-width:560px;
}

.stand-table th,
.stand-table td{
  padding:12px 14px;
  text-align:left;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-size:14px;
  white-space:nowrap;
}

.stand-table th{
  position:sticky;
  top:0;
  background:rgba(35, 45, 40, .95);
  color:var(--text-soft);
  z-index:1;
}

.stand-row{
  cursor:pointer;
  transition:background .16s ease;
}

.stand-row:hover,
.stand-row:focus-visible{
  background:rgba(255,255,255,.07);
  outline:none;
}

.status-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:800;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.04em;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
}

.status-chip--large{
  width:fit-content;
}

.status-available{background:var(--available)}
.status-reserved{background:var(--reserved)}
.status-sold{background:var(--sold)}
.status-on_hold{background:var(--on-hold)}
.status-hidden{background:rgba(120,120,120,.45)}

  .stand-shape{
    stroke:rgba(255,255,255,.72);
    stroke-width:2;
    opacity:.78;
    cursor:pointer;
    transition:fill .15s ease, opacity .15s ease, stroke .15s ease, stroke-width .15s ease, filter .15s ease;
  }

  .stand-shape.status-available{fill:var(--available)}
  .stand-shape.status-reserved{fill:var(--reserved)}
  .stand-shape.status-sold{fill:var(--sold)}
  .stand-shape.status-on_hold{fill:var(--on-hold)}
  .stand-shape.status-hidden{fill:transparent; opacity:0}

  .stand-shape:hover,
  .stand-shape:focus-visible,
  .stand-shape.is-active{
    fill:#ffe08a;
    opacity:1;
    stroke:#fffdf2;
    stroke-width:4;
    filter:drop-shadow(0 0 12px rgba(255,224,138,.45));
    outline:none;
  }

  .stand-label{
    fill:#1b2521;
    font-size:22px;
    font-weight:900;
    text-anchor:middle;
    dominant-baseline:middle;
    pointer-events:none;
    paint-order:normal;
    stroke:none;
  }

.stand-tooltip{
  position:fixed;
  left:0;
  top:0;
  z-index:9999;
  pointer-events:none;
  width:max-content;
  max-width:min(360px, calc(100vw - 24px));
}

.stand-tooltip[hidden]{
  display:none;
}

.stand-tooltip__inner{
  position:relative;
  padding:16px 18px 15px;
  border-radius:20px;
  background:
    linear-gradient(180deg, rgba(61,78,70,.98) 0%, rgba(28,37,34,.98) 100%);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:
    0 26px 54px #000000b7,
    0 10px 24px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.stand-tooltip__inner::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:19px;
  border:1px solid rgba(255,255,255,.06);
  pointer-events:none;
}

.stand-tooltip__inner::after{
  content:"";
  position:absolute;
  width:18px;
  height:14px;
  background:linear-gradient(180deg, rgba(61,78,70,.98) 0%, rgba(28,37,34,.98) 100%);
  clip-path:polygon(50% 0, 0 100%, 100% 100%);
}

.stand-tooltip[data-side="right"][data-vertical="below"] .stand-tooltip__inner::after{
  top:-11px;
  left:22px;
  transform:rotate(0deg);
}

.stand-tooltip[data-side="left"][data-vertical="below"] .stand-tooltip__inner::after{
  top:-11px;
  right:22px;
  transform:rotate(0deg);
}

.stand-tooltip[data-side="right"][data-vertical="above"] .stand-tooltip__inner::after{
  bottom:-11px;
  left:22px;
  transform:rotate(180deg);
}

.stand-tooltip[data-side="left"][data-vertical="above"] .stand-tooltip__inner::after{
  bottom:-11px;
  right:22px;
  transform:rotate(180deg);
}

.stand-tooltip__topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.stand-tooltip__topline strong{
  color:#ffffff;
  font-size:15px;
  line-height:1.15;
  letter-spacing:.01em;
}

.stand-tooltip__meta{
  display:grid;
  gap:6px;
  color:#eef3ef;
  font-size:14px;
  line-height:1.45;
}

.stand-tooltip__meta--secondary{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(232,239,234,.88);
  font-size:13px;
}

code{
  background:rgba(0,0,0,.22);
  padding:2px 6px;
  border-radius:8px;
}

@media (max-width: 1100px){
  .layout-grid{grid-template-columns:1fr}
}

@media (max-width: 820px){
  .hero-card{
    grid-template-columns:1fr;
  }

  .hero-card__stats{
    grid-template-columns:1fr;
  }

  .detail-grid{
    grid-template-columns:1fr;
  }

  .header-logo{
    width:130px;
  }
}

@media (max-width: 1100px){
  .hero-video{
    min-height:820px;
  }
}

  @media (max-width: 820px){
    .site-header{
      padding:14px 0;
    }

    .hero-video{
      min-height:620px;
    }

    .hero-video__inner{
      padding:96px 0 26px;
    }

    .menu-drawer{
      width:min(320px, 94vw);
    }

    .menu-drawer__header{
      padding:92px 20px 0;
      min-height:auto;
      justify-content:flex-start;
    }

    .menu-drawer__brand{
      width:min(190px, 72%);
      margin:0 auto;
    }

    .menu-drawer__body{
      justify-content:flex-start;
      padding-top:52px;
    }

    .menu-drawer__nav{
      flex:0 0 auto;
      justify-content:flex-start;
      gap:18px;
      padding:0 24px 24px;
      margin-top:0;
    }

    .menu-drawer__nav a{
      font-size:clamp(16px, 5vw, 19px);
    }

    .menu-drawer__footer{
      padding:22px 16px 18px;
    }
  }

.detail-item{
  text-align:center;
  align-items:center;
}

.detail-label,
.detail-value{
  width:100%;
  text-align:center;
}

.detail-item .status-chip{
  margin-inline:auto;
}

.detail-item--price .detail-value{
  white-space:nowrap;
}

.hero-divider-video-band{
  background:#071110;
  padding:32px 0 24px;
}

  .hero-divider-video-band__inner{
    width:min(860px, calc(100% - 96px));
    margin:0 auto;
  }

  .hero-divider-video{
    position:relative;
    overflow:hidden;
    width:100%;
    aspect-ratio:16 / 9;
    height:auto;
    min-height:0;
    border-radius:28px;
    background:#071110;
    cursor:pointer;
    outline:none;
    box-shadow:0 18px 48px rgba(0,0,0,.30);
  }

.hero-divider-video:focus-visible{
  box-shadow:0 0 0 3px rgba(255,255,255,.18), 0 18px 48px rgba(0,0,0,.30);
}

.hero-divider-video::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(5,11,10,.10) 0%, rgba(5,11,10,.02) 38%, rgba(5,11,10,.34) 100%);
  pointer-events:none;
}

.hero-divider-video__media{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#071110;
}

.hero-divider-video__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}

.hero-divider-video__play{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  border-radius:999px;
  background:rgba(17,18,22,.68);
  border:1px solid rgba(255,255,255,.18);
  color:#ffffff;
  font-size:24px;
  line-height:1;
  box-shadow:0 14px 32px rgba(0,0,0,.24);
}

.hero-divider-video__label{
  margin-top:12px;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(17,18,22,.72);
  border:1px solid rgba(255,255,255,.14);
  color:#ffffff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:0 14px 32px rgba(0,0,0,.22);
}

.hero-divider-video.is-playing .hero-divider-video__overlay{
  opacity:0;
  transform:scale(.96);
}

@media (max-width: 820px){
  .hero-divider-video-band{
    padding:20px 0 18px;
  }

    .hero-divider-video-band__inner{
      width:min(720px, calc(100% - 28px));
    }

    .hero-divider-video{
      width:100%;
      aspect-ratio:16 / 9;
      height:auto;
      min-height:0;
      border-radius:22px;
    }

  .hero-divider-video__play{
    width:56px;
    height:56px;
    font-size:20px;
  }

  .hero-divider-video__label{
    font-size:12px;
    padding:9px 14px;
  }
}

@media (min-width: 821px){
  .map-card__body{
    max-width:250px;
    padding:12px 14px;
  }

  .map-card__body .section-kicker{
    font-size:10px;
  }

  .map-card__body strong{
    margin:4px 0 6px;
    font-size:15px;
    line-height:1.18;
  }

  .map-card__body p{
    margin:0 0 8px;
    font-size:11px;
    line-height:1.45;
  }

  .map-card__link{
    font-size:11px;
  }
}

@media (max-width: 820px){
  .hero-video{
    display:block;
    min-height:520px;
  }

  .hero-video__media,
  .hero-video__scrim{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }

  .hero-video__media{
    object-fit:cover;
    object-position:center center;
  }

  .hero-video__inner{
    position:relative;
    z-index:3;
    width:calc(100% - 28px);
    margin:0 auto;
    padding:112px 0 40px;
  }

  .hero-shell{
    width:100%;
    max-width:100%;
  }

  .hero-shell h1{
    max-width:8ch;
    font-size:clamp(36px, 11vw, 48px);
  }

  .hero-lead{
    max-width:30ch;
    font-size:15px;
  }

  .hero-actions{
    width:min(100%, 320px);
    gap:12px;
  }

  .hero-action{
    width:100%;
    justify-content:center;
  }

  .hero-divider-video-band{
    padding:16px 0 18px;
  }

  .hero-divider-video-band__inner{
    width:calc(100% - 28px);
    max-width:360px;
  }

  .hero-divider-video{
    border-radius:20px;
  }

  .hero-divider-video__play{
    width:48px;
    height:48px;
    font-size:18px;
  }

  .hero-divider-video__label{
    font-size:11px;
    padding:8px 12px;
  }
}

/* === MOBILE DOCS HOTFIX START === */
@media (max-width: 820px){
  #estate-living .docs-shell{
    width:min(100%, calc(100vw - 24px)) !important;
    max-width:min(100%, calc(100vw - 24px)) !important;
    min-height:auto !important;
    margin-inline:auto !important;
    align-items:stretch !important;
  }

  #estate-living .docs-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  #estate-living .docs-card{
    width:100% !important;
    max-width:none !important;
    padding:16px !important;
    border-radius:24px !important;
  }

  #estate-living .docs-card__media{
    min-height:148px !important;
    border-radius:20px !important;
  }

  #estate-living .docs-card__media--logo{
    padding:18px !important;
  }

  #estate-living .docs-card__media--logo img{
    max-width:140px !important;
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }

  #estate-living .docs-card__body{
    padding:16px 2px 0 !important;
    text-align:center !important;
  }

  #estate-living .docs-card__badge{
    margin:0 0 12px !important;
    padding:8px 14px !important;
    font-size:11px !important;
    letter-spacing:.12em !important;
  }

  #estate-living .docs-card__body h3{
    margin:0 0 12px !important;
    font-size:clamp(24px, 8vw, 32px) !important;
    line-height:1.02 !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }

  #estate-living .docs-card__body p{
    font-size:16px !important;
    line-height:1.55 !important;
    max-width:none !important;
  }

  #estate-living .docs-card__panel{
    margin-top:16px !important;
    border-radius:16px !important;
  }

  #estate-living .docs-card__panel summary{
    min-height:48px !important;
    padding:12px 14px !important;
    font-size:12px !important;
    letter-spacing:.1em !important;
  }

  #estate-living .docs-card__panel-body{
    gap:10px !important;
    padding:12px !important;
  }

  #estate-living .docs-card__file-link,
  #estate-living .docs-card__download-link{
    padding:12px !important;
    border-radius:12px !important;
    font-size:14px !important;
    line-height:1.35 !important;
  }

  #estate-living .docs-card__file-link{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) auto !important;
    align-items:center !important;
    gap:10px !important;
    text-align:left !important;
  }

  #estate-living .docs-card__file-link > span:first-child{
    min-width:0 !important;
    overflow-wrap:anywhere !important;
  }

  #estate-living .docs-card__download-link{
    display:block !important;
    text-align:center !important;
  }

  #estate-living .docs-card__downloads{
    gap:10px !important;
    margin:0 0 18px !important;
  }

  #estate-living .docs-card__downloads a{
    justify-self:center !important;
    width:100% !important;
    max-width:240px !important;
  }

  #estate-living .docs-card__downloads img{
    display:block !important;
    width:100% !important;
    height:auto !important;
  }
}
/* === MOBILE DOCS HOTFIX END === */

/* === DOCS OLIVE COLOR OVERRIDE START === */
#estate-living .docs-card__body h3{
  color:#334844 !important;
}

#estate-living .docs-card__badge{
  background:#334844 !important;
}

#estate-living .docs-card__panel{
  background:rgba(51,72,68,.06) !important;
  border:1px solid rgba(51,72,68,.12) !important;
}

#estate-living .docs-card__panel summary{
  color:#334844 !important;
}

#estate-living .docs-card__panel[open] summary{
  border-bottom:1px solid rgba(51,72,68,.10) !important;
}

#estate-living .docs-card__file-link{
  color:#334844 !important;
}

#estate-living .docs-card__download-link{
  background:rgba(51,72,68,.10) !important;
  color:#20302a !important;
}
/* === DOCS OLIVE COLOR OVERRIDE END === */

/* === DOCS DESKTOP ACCORDION BOTTOM ALIGN START === */
@media (min-width: 821px){
  #estate-living .docs-card--category .docs-card__panel{
    margin-top:auto !important;
    align-self:stretch !important;
  }
}
/* === DOCS DESKTOP ACCORDION BOTTOM ALIGN END === */


/* === WELCOME BACKGROUND PAINT ONLY START === */
.hero-divider-video-band,
.content-band--welcome{
  background:
    linear-gradient(rgba(44, 54, 39, 0.904), rgba(35, 44, 31, 0.774)),
    url('/assets/img/backgrounds/background2.png') center center / cover no-repeat fixed !important;
}
/* === WELCOME BACKGROUND PAINT ONLY END === */

