:root {
  --brandColor: #003C51;
  --purple: #760C6F;
  --gold: #DAAA66;
}

@font-face {
  font-family: 'Didot';
  src: url('fonts/Didot.woff2') format('woff2'),
      url('fonts/Didot.woff') format('woff'),
      url('fonts/Didot.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

.host-grotesk-300 {
  font-family: "Host Grotesk", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

.host-grotesk-400 {
  font-family: "Host Grotesk", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.host-grotesk-700 {
  font-family: "Host Grotesk", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.bodoni-moda-300 {
  font-family: "Bodoni Moda", serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

.bodoni-moda-400 {
  font-family: "Bodoni Moda", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Host Grotesk", sans-serif;
  font-size: 18px;
  color: #000000;
  font-weight: 400;
}

a {
  transition: all 0.32s ease-out;
  text-decoration: none;
}

a:hover {
  color: var(--brandColor);
  text-decoration: none;
}

::placeholder {
  color: #000;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #000;
}

::-ms-input-placeholder {
  color: #000;
}

/* COMMON STYLES */
.fw-bo { font-weight: 700; }
.fw-sb { font-weight: 600; }
.fw-md { font-weight: 500; }
.fw-re { font-weight: 400; }
.fw-it { font-weight: 400; font-style: italic; }
.fw-li { font-weight: 300; }

.fs-100 { font-size: 100px; }
.fs-85 { font-size: 85px; }
.fs-75 { font-size: 75px; }
.fs-58 { font-size: 58px; }
.fs-52 { font-size: 52px; }
.fs-50 { font-size: 50px; }
.fs-40 { font-size: 40px; }
.fs-36 { font-size: 36px; }
.fs-32 { font-size: 32px; }
.fs-28 { font-size: 28px; }
.fs-26 { font-size: 26px; }
.fs-24 { font-size: 24px; }
.fs-22 { font-size: 22px; }
.fs-20 { font-size: 20px; }
.fs-17 { font-size: 17px; }
.fs-16 { font-size: 16px; }
.fs-14 { font-size: 14px; }

.ls-1 { letter-spacing: 1px; }
.ls-2 { letter-spacing: 2px; }

.lh-1 { line-height: 1; }
.lh-2 { line-height: 2; }
.lh-15 { line-height: 1.5; }

.border-23 { border-radius: 23px; }

.bg-grey { background-color: #484c4c !important; }
.bg-light-grey { background-color: #F2F2F2 !important; }
.bg-d-grey { background-color: #181717; }
.bg-brand { background-color: var(--brandColor) !important; }

.text-brand { color: var(--brandColor) !important; }
.text-purple { color: var(--purple) !important; }
.text-pastel-green { color: #E6D67E !important; }
.text-black { color: #000 !important; }
.text-cream { color: #F5ECDE; }
.text-shadow { text-shadow: 4px 4px 4px rgba(0,0,0,.4); }

.btn-brand {
  background-color: #FFF;
  border: 5px solid var(--brandColor);
  display: inline-block;
  transition: all 0.32s ease-out;
  color: #000;
  font-weight: 500;
  font-size: 28px;
  padding: 15px 25px;
  letter-spacing: 1.5px;
}

.btn-brand.active,
.btn-brand:hover {
  background-color: var(--brandColor);
  color: #FFF !important;
}

.btn-brand-white {
  background-color: #FFF;
  border: 5px solid var(--brandColor);
  border-radius: 20px;
  display: inline-block;
  transition: all 0.32s ease-out;
  color: #000;
  font-weight: 500;
  font-size: 24px;
  padding: 15px 25px;
  letter-spacing: 1.5px;
}

.btn-brand-white.active,
.btn-brand-white:hover {
  background-color: #fff;
  color: #000 !important;
  border-radius: 20px;
}

.btn-fp {
  border: 2px solid var(--brandColor);
  text-align: center;
  display: block;
  font-size: 22px;
  padding: 10px;
}

.btn-fp.active {
  background-color: var(--brandColor);
  color: #FFF;
}

.btn-learn-more {
  border-radius: 38.038px;
  background: #F3EFE8;
  display: inline-flex;
  padding: 6px 15.27px;
  align-items: center;
  gap: 7.925px;
  color: #000;
  font-family: "Host Grotesk";
  font-size: 12.56px;
  font-style: normal;
  font-weight: 300;
  text-align: right;
}

.btn-learn-more:hover .arrow-icon {
  content: url('/images/right-cream-circle-arrow.png');
}

/* Land holdings hero */
.land-holdings-section {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  display: flex;
  align-items: center;
}

.land-holdings-slider {
  position: relative;
  width: 100%;
  height: 100vh;
}

.land-holdings-slide {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
}

.land-holdings-slide.active {
  display: block;
  opacity: 1;
}

.land-holdings-backdrop {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 1;
}

.land-holdings-content {
  position: relative;
  z-index: 2;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 80px 150px 90px;
  max-width: 100%;
}

.land-holdings-header {
  text-align: center;
  padding-top: 40px;
}

.land-holdings-title {
  font-size: clamp(28px, 10.5vw, 89px);
  letter-spacing: 0.5em;
  text-transform: uppercase;
  font-weight: 300;
  margin: 0;
}

.land-holdings-main {
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.land-holdings-location {
  font-size: clamp(72px, 10vw, 120px);
  letter-spacing: 0.2em;
  font-weight: 400;
  margin: 0 0 20px 0;
  line-height: 1.1;
}

.land-holdings-subtitle {
  font-size: clamp(18px, 2.5vw, 28px);
  letter-spacing: 0.15em;
  margin: 0;
  font-weight: 300;
}

.land-holdings-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding-bottom: 20px;
  position: relative;
  gap: 30px;
}

.land-holdings-stats-row {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: center;
  flex-wrap: wrap;
}

.land-holdings-stat {
  display: flex;
  align-items: center;
  gap: 12px;
}

.land-holdings-icon {
  width: 36px;
  height: 36px;
  object-fit: contain;
  flex-shrink: 0;
}

.stat-label {
  font-size: 14px;
  margin: 0;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  white-space: nowrap;
}

.stat-value {
  font-size: 18px;
  margin: 0;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.land-holdings-btn-wrapper {
  align-self: center;
  margin-top: auto;
}

.land-holdings-btn {
  background: #F3EFE8;
  border: 1px solid #F3EFE8;
  color: #000;
  font-size: 14px;
  font-weight: 300;
  padding: 10px 20px;
  border-radius: 38.038px;
  display: inline-flex;
  align-items: center;
  gap: 7.925px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.land-holdings-btn:hover {
  background: rgba(243, 239, 232, 0.9);
  color: #000;
}

.land-holdings-btn .arrow-icon {
  width: 20px;
  height: 20px;
  background-image: url('/images/right-cream-circle-arrow.png');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: inline-block;
  flex-shrink: 0;
}

.land-holdings-scrollbar {
  position: absolute;
  right: 20px;
  top: 100px;
  bottom: 100px;
  width: 20px;
  z-index: 3;
  pointer-events: none;
  opacity: 0.52;
  transition: opacity 0.3s ease;
}

.land-holdings-slide.active .land-holdings-scrollbar {
  opacity: 1;
  pointer-events: auto;
}

.land-holdings-scrollbar-track {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 20px;
  background: #c6c6c6bf;
  pointer-events: auto;
  cursor: pointer;
}

.land-holdings-scrollbar-thumb {
  position: absolute;
  right: 0;
  width: 20px;
  background: #FFFFFF;
  transition: all 0.3s ease;
  border-radius: 10px;
  pointer-events: auto;
  cursor: grab;
  user-select: none;
}

.land-holdings-scrollbar-thumb:active {
  cursor: grabbing;
}

.land-holdings-scrollbar-thumb::before,
.land-holdings-scrollbar-thumb::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 2px;
  background: #000000;
}

.land-holdings-scrollbar-thumb::before {
  top: 50%;
  transform: translate(-50%, calc(-50% - 3px));
}

.land-holdings-scrollbar-thumb::after {
  top: 50%;
  transform: translate(-50%, calc(-50% + 3px));
}

.land-holdings-controls {
  position: absolute;
  right: 30px;
  bottom: 30px;
  display: flex;
  gap: 12px;
  z-index: 4;
}

.land-holdings-controls .slider-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
}

.land-holdings-controls .slider-btn img {
  width: 42px;
  height: 42px;
}

@media (max-width: 1200px) {
  .land-holdings-content {
    padding: 60px 100px 70px;
  }
}

@media (max-width: 991px) {
  .land-holdings-content {
    padding: 50px 60px 60px;
  }

  .land-holdings-title {
    letter-spacing: 0.3em;
    font-size: clamp(24px, 3vw, 40px);
  }

  .land-holdings-location {
    font-size: clamp(56px, 8vw, 96px);
  }

  .land-holdings-footer {
    gap: 25px;
  }

  .land-holdings-stats-row {
    gap: 30px;
  }

  .land-holdings-btn-wrapper {
    align-self: center;
  }
}

@media (max-width: 768px) {
  .land-holdings-content {
    padding: 40px 30px 50px;
  }

  .land-holdings-stats-row {
    gap: 20px;
    flex-direction: column;
  }

  .land-holdings-icon {
    width: 32px;
    height: 32px;
  }

  .stat-label {
    font-size: 12px;
  }

  .stat-value {
    font-size: 16px;
  }

  .land-holdings-controls {
    right: 15px;
    bottom: 15px;
  }

  .land-holdings-controls .slider-btn img {
    width: 36px;
    height: 36px;
  }
}

.btn-open-map {
  border-radius: 38.038px;
  background: #F3EFE8;
  display: inline-flex;
  padding: 6px 18px;
  align-items: center;
  gap: 7.925px;
  color: #000;
  font-family: "Host Grotesk";
  font-size: 15px;
  font-style: normal;
  font-weight: 300;
  text-align: right;
  border: 1px solid #F3EFE8;
}

.btn-open-map:hover {
  background: #181717;
  color: #F3EFE8;
}

.btn-apply-now {
  border-radius: 38.038px;
  background: #2A2725;
  display: inline-flex;
  padding: 6px 15.27px;
  align-items: center;
  gap: 7.925px;
  color: #F3EFE8;
  font-family: "Host Grotesk";
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  text-align: right;
}

.btn-apply-now:hover {
  background: #F3EFE8;
  color: #2A2725;
}

.btn-apply-now .arrow-icon {
  border: 1px solid #2A2725;
  border-radius: 50px;
}

#hero-video {
  border-radius: 0px 0px 50px 51px;
}

.hover-side {
  color: var(--brandColor);
  background-color: white;
  transform: rotateX(-90deg) translateZ(38px);
  border-radius: 9px;
}

.btn-read-more { width: 150px; }

.btn-sm {
  font-size: 15px;
  font-weight: 500;
  padding: 5px 10px;
}

.btn-blue {
  background-color: #FFFFFF;
  font-size: 22px;
  font-weight: 500;
  color: #000;
  padding: 15px 25px;
  border: 1px solid #003C51;
  display: block;
  text-align: center;
  margin: 5px auto;
  white-space: nowrap;
}

.btn-blue.active,
.btn-blue:hover {
  background-color: #003C51;
  color: #FFF;
}

.has-bg {
  background-position: center;
  background-size: cover;
}

.bg-gray {
  background-color: #cfcece;
}

.img-linked,
.img-linked2 {
  transition: all 0.32s ease-out;
}

.img-linked:hover {
  transform: scale(.951);
  cursor: pointer;
}

.img-linked2:hover {
  transform: scale(1.25);
  cursor: pointer;
  border: 10px solid #FFF;
  border-radius: 15px;
  position: absolute;
  z-index: 9;
  box-shadow: 0 0 10px #000;
}

.text-linked { color: inherit; }
.text-linked:hover { color: inherit; text-decoration: underline; }
.text-linked-nu:hover { text-decoration: none; }
.text-linked-co:hover { color: #DAAA66; }
.text-linked-co2:hover { color: var(--purple); }

.hero-caption {
  position: absolute;
  bottom: 78px;
  right: 150px;
  left: 150px;
}

#accordionCareers .accordion {
  background-color: white;
}

#accordionCareers .accordion-header {
  margin-bottom: 0;
  border-bottom: 1px solid black;
}

#accordionCareers .accordion-item {
  background-color: white;
  border: none;
  border-radius: 0;
}

#accordionCareers .accordion-button:not(.collapsed) {
  background-color: white;
  box-shadow: none;
}

#accordionCareers .accordion-header h2 {
  color: #000;
}

#accordionCareers .accordion-button:not(.collapsed)::after {
  background-image: url(../images/accordion-up.png);
  width: 40px;
  height: 40px;
  background-size: 40px;
  transform: none;
}

#accordionCareers .accordion-button::after {
  background-image: url(../images/accordion-down.png);
  width: 40px;
  height: 40px;
  background-size: 40px;
}

#accordionCareers .accordion-body {
  padding: 0;
}

#accordionCareers .accordion-button {
  background-color: white;
}

#accordionCareers .accordion-button:focus {
  box-shadow: none;
}

#accordionCareers .accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}

/* Navigation & Footer */
#topNavigation {
  padding: 15px;
  height: 100px;
  background-color: rgba(255,255,255,0);
}

#topNavigation .img-logo {
  width: 210px;
}

#mainNav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1099;
  width: 100%;
  height: auto;
  background-color: black;
  padding-top: 40px;
  padding-bottom: 50px;
  display: none;
}

#mainNav .img-logo {
  width: 210px;
}

#mainNav .nav-items {
  padding-left: 0px;
  list-style-type: none;
  margin-bottom: 40px;
}

#mainNav .nav-items li {
  margin-bottom: 20px;
}

#mainNav .nav-link {
  color: #FFF;
  font-weight: 600;
  font-size: 18px;
}

#mainNav .nav-link.nav-community {
  font-size: 18px;
}

#mainNav .nav-link span {
  font-style: italic;
  font-weight: 400;
}

#mainNav .nav-link.activeNav,
#mainNav .nav-link:hover {
  color: #DAAA66;
}

footer .footer-bckground {
  background-color: #F3EFE8;
  border-radius: 50px 50px 0px 0px;
}

footer .img-logo {
  width: 225px;
}

.btn-guide {
  border: 1px solid #B2B2B2;
  display: inline-block;
  margin: 10px;
  min-width: 350px;
}

.btn-guide:hover {
  background-color: #CCC;
}

.btn-guide p {
  color: #000;
  padding: 15px 10px;
  margin-bottom: 0;
}

.btn-guide span {
  display: block;
  background-color: #003C51;
  color: #FFF;
  padding: 5px 15px;
}

.only-btn {
  pointer-events: none;
}

/* PROJECT CSS */
#projectNavigation {
  margin-top: 3px;
  top: 100px;
  background-color: #FFF;
  padding-bottom: 20px;
}

#projectNavigation .navbar-toggler {
  border: none;
  margin-left: auto;
}

#projectNavigation .navbar-toggler:focus {
  box-shadow: none;
}

#projectNavigation .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='uuid-251ef793-7c79-4019-8016-ce9794b4ada5' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46.5 46.5'%3E%3Cdefs%3E%3Cstyle%3E.uuid-348a4003-537e-4715-ad8d-6ab56b55cd86%7Bfill:none;stroke:%23fff;stroke-miterlimit:10;stroke-width:2px;%7D%3C/style%3E%3C/defs%3E%3Ccircle cx='23.25' cy='23.25' r='23.25'/%3E%3Cg%3E%3Cline class='uuid-348a4003-537e-4715-ad8d-6ab56b55cd86' x1='12.42' y1='17.17' x2='34.08' y2='17.17'/%3E%3Cline class='uuid-348a4003-537e-4715-ad8d-6ab56b55cd86' x1='12.42' y1='23' x2='34.08' y2='23'/%3E%3Cline class='uuid-348a4003-537e-4715-ad8d-6ab56b55cd86' x1='12.42' y1='28.83' x2='28.25' y2='28.83'/%3E%3C/g%3E%3C/svg%3E");
}

#buyers-guide .hero {
  margin-top: 75px;
}

.proj-nav-logo {
  position: fixed;
  top: 30px;
  width: 100px;
  left: 50%;
  transform: translate(-50%);
  z-index: 1044;
  transition: all .27s ease-in-out;
}

#proj_welcome .proj-nav-logo {
  top: -200px;
  opacity: 0;
  width: 150px;
}

#projectNavigation .nav-item {
  padding: 5px 18px;
}

#projectNavigation .nav-link {
  font-size: 16px;
  color: #000;
  font-weight: 400;
  position: relative;
  display: inline-block;
  padding: 0;
  white-space: nowrap;
}

#projectNavigation .nav-link::after {
  content: '';
  position: absolute;
  height: 1px;
  top: 100%;
  left: 0;
  width: 0;
  background-color: #000;
  transition: all .25s linear;
}

#projectNavigation .nav-link:hover,
#projectNavigation .nav-link.activeNav {
  color: var(--purple);
}

#projectNavigation .nav-link:hover::after {
  width: 100%;
}

.thumb-box {
  overflow: hidden;
  height: 352px;
  border-radius: 23px;
}

/* Contact Us Page Styles */
#contact-us #topNavigation {
  background-color: rgba(255,255,255,1) !important;
  border-bottom: 1px solid #FFF;
}

#contact-us #topNavigation img[src="/images/logo-dellray-white.png"] {
  display: none !important;
}

#contact-us #topNavigation img[src="/images/logo-dellray-blue.png"] {
  display: block !important;
}

.contact-us-section {
  min-height: calc(95vh - 100px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-us-section .container-fluid {
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

.contact-us-title-section {
  background-color: #FFFFFF;
  padding: 80px 20px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-us-title-wrapper {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

.contact-us-title {
  font-size: 85px;
  color: #2A2725;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin: 0;
  line-height: 1;
}

.contact-us-info-section {
  background-color: var(--brandColor);
  padding: 100px 20px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-us-info-wrapper {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

.contact-us-headquarters {
  font-size: 40px;
  color: #FFFFFF;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 30px;
  line-height: 1.2;
}

.contact-us-address {
  font-size: 20px;
  color: #FFFFFF;
  margin-bottom: 10px;
  line-height: 1.6;
}

.contact-us-email {
  font-size: 20px;
  color: #FFFFFF;
  margin-top: 20px;
  margin-bottom: 0;
}

.contact-email-link {
  color: #FFFFFF;
  text-decoration: underline;
  transition: all 0.32s ease-out;
}

.contact-email-link:hover {
  color: #F5ECDE;
  text-decoration: underline;
}



/* Welcome Stats Section */
.welcome-stats-section {
  /* background-color: #181717; */
  padding: 40px 20px;
  position: relative;
  z-index: 2;
  background-color: #000;
  isolation: isolate; /* prevent bleed/overlap with adjacent media layers */
  margin-bottom: 10px; /* small gap before following section */
}

.welcome-stats-section .container {
  max-width: 1440px;
}

.stat-item {
  padding: 30px 20px;
  text-align: center;
  position: relative;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.stat-item:last-child {
  border-right: none;
}

.stat-number {
  font-size: 58px;
  color: #F5ECDE;
  line-height: 1.1;
  margin-bottom: 15px;
  font-weight: 400;
}

.stat-label {
  font-size: 14px;
  color: #F5ECDE;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  line-height: 1.4;
  margin-bottom: 5px;
}

.stat-sublabel {
  font-size: 14px;
  color: #F5ECDE;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  line-height: 1.4;
  opacity: 0.9;
}

/* Project Categories Section */
.project-categories-section {
  background-color: #2A2725;
  padding: 40px 20px;
  position: relative;
}

.project-categories-section .container {
  max-width: 1440px;
}

.category-item {
  padding: 40px 30px;
  text-align: center;
  position: relative;
  border-right: 1px solid rgba(255, 255, 255, 0.3);
  cursor: pointer;
  transition: all 0.32s ease-out;
}

.category-item:last-child {
  border-right: none;
}

.category-item-active .category-title,
.category-item-active .category-subtitle {
  color: #F5ECDE;
}

.category-title {
  font-size: 36px;
  text-transform: uppercase;
  line-height: 1.2;
  margin-bottom: 10px;
  font-weight: 400;
  color: #888888;
}

.category-subtitle {
  font-size: 36px;
  text-transform: uppercase;
  line-height: 1.2;
  font-weight: 400;
  color: #888888;
}

.category-link {
  text-decoration: none;
  display: block;
  transition: all 0.32s ease-out;
}

.category-link:hover .category-title,
.category-link:hover .category-subtitle {
  color: #F5ECDE;
}

.category-item:not(.category-item-active):hover .category-title,
.category-item:not(.category-item-active):hover .category-subtitle {
  color: #F5ECDE;
}

/* Residential Projects Section */
.residential-projects-section {
  padding: 80px 20px;
  position: relative;
}

.residential-projects-section .container {
  max-width: 1440px;
}

.residential-projects-title {
  font-size: 120px;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 1.2;
}

.residential-projects-slider {
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}

.residential-projects-track {
  display: flex;
  transition: transform 0.5s ease-in-out;
  gap: 20px;
  margin-top: 70px;
  will-change: transform;
  transform: translateX(0%);
}

.residential-projects-track .col-xs-12 {
  flex: 0 0 calc(33.333% - 14px);
  min-width: calc(33.333% - 14px);
}

.slider-progress-bar {
  width: 80%;
  height: 14px;
  background: linear-gradient(90deg, #3f3f3f 0%, #4a4a4a 100%);
  /* border-radius: 999px; */
  position: relative;
  overflow: visible;
}

.slider-progress-fill {
  position: absolute;
  top: 50%;
  left: 0;
  height: 100%;
  background: linear-gradient(90deg, #f7f7f7 0%, #ffffff 60%, #d8d8d8 100%);
  /* border-radius: 999px; */
  transition: width 0.3s ease;
  width: 33.333%;
  transform: translateY(-50%);
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.45);
  min-width: 0%;
}

.slider-progress-handle {
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
  width: 44px;
  height: 20px;
  background: #ffffff;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  color: #111;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1px;
}

.slider-progress-icon {
  line-height: 1;
}

.residential-slider-controls {
  display: flex;
  justify-content: end;
  align-items: center;
}

.slider-nav-buttons {
  display: flex;
  gap: 20px;
  align-items: center;
}

.slider-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.slider-btn:hover {
  opacity: 0.7;
}

.slider-btn img {
  width: 40px;
  height: 40px;
}

.slider-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* Commercial Projects Section */
.commercial-projects-section {
  padding: 80px 20px;
  position: relative;
}

.commercial-projects-section .container {
  max-width: 1440px;
}

.commercial-projects-title {
  font-size: 120px;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 1.2;
}

.commercial-projects-slider {
  position: relative;
  overflow: hidden;
  margin-top: 70px;
}

.commercial-projects-track {
  display: flex;
  transition: transform 0.5s ease-in-out;
  gap: 20px;
  will-change: transform;
  transform: translateX(0%);
}

.commercial-projects-track .col-xs-12 {
  flex: 0 0 calc(33.333% - 14px);
  min-width: calc(33.333% - 14px);
}

.commercial-slider-controls {
  display: flex;
  justify-content: end;
  align-items: center;
}


/* ============================================
   CONSOLIDATED MEDIA QUERIES
   ============================================ */

/* Min-width: 1400px */
@media (min-width: 1400px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1440px;
  }
}

/* Min-width: 1299px */
@media screen and (min-width: 1299px) {
  .custom-container {
    width: 100%;
    padding-left: 10%;
  }
  .cus-col-6 {
    padding-left: 20%;
  }
}

/* Min-width: 768px */
@media screen and (min-width: 768px) {
  #mainNav .nav-link {
    font-size: 22px;
  }
  .col-count-md-2 {
    column-count: 2;
  }
}

/* Min-width: 578px */
@media screen and (min-width: 578px) {
  #mainNav .nav-items {
    padding-left: 20px;
  }
  #mainNav .nav-link {
    font-size: 22px;
  }
  #mainNav .nav-link.nav-community {
    padding-left: 10px;
  }
}

/* Max-width: 1199px */
@media screen and (max-width: 1199px) {
  .fs-100 { font-size: 90px; }
  .fs-58 { font-size: 50px; }
  .fs-50 { font-size: 45px; }
  .fs-40 { font-size: 36px; }
  .hero { height: 650px; }
  .stat-number { font-size: 50px; }
  .welcome-stats-section { padding: 60px 20px; }
  .category-title,
  .category-subtitle { font-size: 32px; }
  .project-categories-section { padding: 50px 20px; }
}

/* Max-width: 991px */
@media screen and (max-width: 991px) {
  .fs-100 { font-size: 80px; }
  .fs-85 { font-size: 65px; }
  .fs-58 { font-size: 44px; }
  .fs-50 { font-size: 36px; }
  .fs-40 { font-size: 32px; }
  .fs-28 { font-size: 27px; }
  .fs-26 { font-size: 24px; }
  .fs-24 { font-size: 23px; }
  .fs-22 { font-size: 20px; line-height: 1.75 !important; }
  .fs-20 { font-size: 18px; }
  .btn-brand { font-size: 24px; padding: 12px 24px; letter-spacing: 1px; }
  .hero { height: 550px; }
  #mainNav { overflow-y: scroll; height: 100%; }
  #topNavigation { background-color: rgba(255,255,255,.7); height: 75px; }
  #topNavigation .img-logo { filter: brightness(1); width: 165px; }
  #btnClose { top: 12px; }
  .contact-us-title { font-size: 65px; }
  .contact-us-headquarters { font-size: 32px; }
  .contact-us-address,
  .contact-us-email { font-size: 18px; }
  .contact-us-title-section { padding: 60px 20px; }
  .contact-us-info-section { padding: 80px 20px; }
  .contact-us-section { min-height: calc(74vh - 100px); }
  .stat-number { font-size: 44px; }
  .stat-item { border-right: none; border-bottom: 1px solid rgba(255, 255, 255, 0.2); padding: 25px 20px; }
  .stat-item:last-child { border-bottom: none; }
  .welcome-stats-section { padding: 50px 20px; }
  .category-item { border-right: none; border-bottom: 1px solid rgba(255, 255, 255, 0.3); padding: 30px 20px; }
  .category-item:last-child { border-bottom: none; }
  .category-title,
  .category-subtitle { font-size: 28px; }
  .project-categories-section { padding: 40px 20px; }
  .residential-projects-title { font-size: 44px; }
  .residential-projects-section { padding: 60px 20px; }
  .residential-projects-track .col-xs-12 { flex: 0 0 calc(50% - 10px); min-width: calc(50% - 10px);  }
  .commercial-projects-title { font-size: 44px; }
  .commercial-projects-section { padding: 60px 20px; }
  .commercial-projects-track .col-xs-12 { flex: 0 0 calc(50% - 10px); min-width: calc(50% - 10px); }
}

/* Max-width: 767px */
@media screen and (max-width: 767px) {
  .fs-100 { font-size: 60px; }
  .fs-85 { font-size: 55px; }
  .fs-58 { font-size: 38px; }
  .fs-50 { font-size: 30px; }
  .fs-40 { font-size: 28px; }
  .fs-28 { font-size: 26px; }
  .fs-26 { font-size: 24px; }
  .fs-24 { font-size: 22px; }
  .fs-22 { font-size: 19px; }
  .fs-20 { font-size: 18px; }
  .btn-brand { font-size: 22px; padding: 10px 20px; }
  .hero-caption {
    bottom: 49px;
    right: 50px;
    left: 50px;
  }
  .hero { height: 450px; }
  #topNavigation { padding: 8px 15px; height: 65px; }
  .img-logo { width: 150px !important; }
  #mainNav { padding-top: 35px; }
  #mainNav .nav-items { margin-bottom: 20px; }
  #btnClose { font-size: 36px; }
  .contact-us-title { font-size: 55px; }
  .contact-us-headquarters { font-size: 28px; }
  .contact-us-address,
  .contact-us-email { font-size: 17px; }
  .contact-us-title-section { padding: 50px 15px; }
  .contact-us-info-section { padding: 60px 15px; }
  .contact-us-section { padding: 65px 0; }
  .stat-number { font-size: 38px; }
  .stat-label,
  .stat-sublabel { font-size: 13px; }
  .welcome-stats-section { padding: 40px 15px; }
  .stat-item { padding: 20px 15px; }
  .category-item { padding: 25px 15px; }
  .category-title,
  .category-subtitle { font-size: 24px; }
  .project-categories-section { padding: 35px 15px; }
  .residential-projects-title { font-size: 38px; }
  .residential-projects-section { padding: 50px 15px; }
  .residential-projects-track .col-xs-12 { flex: 0 0 calc(50% - 10px); min-width: calc(50% - 10px); }
  .commercial-projects-title { font-size: 38px; }
  .commercial-projects-section { padding: 50px 15px; }
  .commercial-projects-track .col-xs-12 { flex: 0 0 calc(50% - 10px); min-width: calc(50% - 10px); }
}

/* Max-width: 576px */
@media screen and (max-width: 576px) {
  .fs-100 { font-size: 40px; }
  .fs-85 { font-size: 35px; }
  .fs-58 { font-size: 32px; }
  .fs-50 { font-size: 26px; }
  .fs-40 { font-size: 24px; }
  .fs-28 { font-size: 23px; }
  .fs-26 { font-size: 21px; }
  .fs-24 { font-size: 20px; }
  .fs-22 { font-size: 18px !important; }
  .fs-20 { font-size: 16px; }
  .btn-brand { font-size: 18px; padding: 8px 16px; }
  .hero-caption {
    bottom: 39px;
    right: 30px;
    left: 30px;
  }
  .hero { height: 350px; }
  .btn-guide { min-width: 275px; }
  .img-logo { width: 108px !important; }
  .contact-us-title { font-size: 35px; }
  .contact-us-headquarters { font-size: 24px; margin-bottom: 20px; }
  .contact-us-address,
  .contact-us-email { font-size: 16px; }
  .contact-us-title-section { padding: 40px 15px; }
  .contact-us-info-section { padding: 50px 15px; }
  .contact-us-section { padding: 65px 0; }
  .stat-number { font-size: 32px; }
  .stat-label,
  .stat-sublabel { font-size: 12px; letter-spacing: 1px; }
  .welcome-stats-section { padding: 35px 15px; }
  .stat-item { padding: 18px 10px; }
  .category-item { padding: 20px 10px; }
  .category-title,
  .category-subtitle { font-size: 20px; }
  .project-categories-section { padding: 30px 15px; }
  .residential-projects-title { font-size: 32px; }
  .residential-projects-section { padding: 40px 15px; }
  .residential-projects-track .col-xs-12 { flex: 0 0 100%; min-width: 100%; }
  .residential-projects-track { gap: 15px; margin-top: 28px;}
  .commercial-projects-title { font-size: 32px; }
  .commercial-projects-section { padding: 40px 15px; }
  .commercial-projects-track .col-xs-12 { flex: 0 0 100%; min-width: 100%; }
  .commercial-projects-track { gap: 15px; margin-top: 28px; }
}


.img-logo-our-companies {
  max-width: 210px;
  display: block;
  margin: 0 auto;
}

/* Welcome to the Future Section */
.welcome-to-the-future-section {
  background-color: #2A2725;
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  width: 100%;
}

.welcome-to-the-future-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 100vh;
  position: relative;
  width: 100%;
}

.welcome-to-the-future-text {
  padding: 80px 20px 40px;
  text-align: center;
  z-index: 2;
  position: relative;
  width: 100%;
}

.welcome-text {
  font-size: clamp(32px, 4vw, 64px);
  color: #d5d0c7;
  display: block;
  margin-bottom: 10px;
  letter-spacing: 0.1em;
  font-weight: 300;
}

.dellray-group-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.dellray-text {
  font-size: clamp(48px, 6vw, 96px);
  color: #f4f4f4;
  display: inline-block;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 400;
  position: relative;
}

.dellray-text::first-letter {
  position: relative;
}

.group-text {
  font-size: clamp(20px, 2.5vw, 36px);
  color: #f2f2f2;
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: 400;
  margin-top: -0.2em;
  align-self: flex-start;
}

.welcome-to-the-future-scene {
  flex: 1;
  position: relative;
  width: 100%;
  max-width: 1200px;
  min-height: 70vh;
  margin: 0 auto 40px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
}

.architectural-scene {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #2A2725;
}

.scene-floor {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 45%;
  background: linear-gradient(180deg, 
    rgba(70, 70, 70, 0.7) 0%,
    rgba(50, 50, 50, 0.85) 50%,
    rgba(40, 40, 40, 0.95) 100%);
  background-image: 
    linear-gradient(180deg, rgba(135, 206, 235, 0.1) 0%, transparent 30%),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(255, 255, 255, 0.05) 3px,
      rgba(255, 255, 255, 0.05) 6px
    );
  box-shadow: 
    inset 0 0 100px rgba(0, 0, 0, 0.5),
    inset 0 -20px 50px rgba(135, 206, 235, 0.15);
  filter: blur(0.5px);
}

.scene-ledge {
  position: absolute;
  bottom: 45%;
  left: 0;
  right: 0;
  height: 8%;
  background: linear-gradient(180deg, 
    #8B7355 0%,
    #A68B6F 50%,
    #8B7355 100%);
  box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.3);
}

.scene-pillars {
  position: absolute;
  bottom: 45%;
  left: 0;
  right: 0;
  height: 55%;
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  padding: 0 5%;
  z-index: 1;
}

.pillar {
  width: 8%;
  height: 100%;
  background: linear-gradient(180deg,
    rgba(240, 240, 240, 0.95) 0%,
    rgba(220, 220, 220, 0.9) 100%);
  box-shadow: 
    inset -2px 0 10px rgba(0, 0, 0, 0.1),
    inset 2px 0 10px rgba(0, 0, 0, 0.1);
  border-left: 1px solid rgba(255, 255, 255, 0.3);
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}

.scene-sky {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 45%;
  background: linear-gradient(180deg,
    #87CEEB 0%,
    #B0E0E6 50%,
    #E0F6FF 100%);
  background-image: 
    radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.8) 0%, transparent 50%),
    radial-gradient(circle at 70% 40%, rgba(255, 255, 255, 0.6) 0%, transparent 40%);
  z-index: 0;
}

.scene-marker {
  position: absolute;
  bottom: 20%;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 60px;
  z-index: 3;
}

.marker-top {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 40px;
  background-color: #DC143C;
  border-radius: 50%;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  z-index: 2;
}

.marker-base {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 20px;
  background-color: #228B22;
  border-radius: 0 0 25px 25px;
  z-index: 1;
}

.marker-letter {
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  color: #FFFFFF;
  font-family: "Host Grotesk", sans-serif;
  font-size: 24px;
  font-weight: 700;
  z-index: 3;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Video Background and Scroll State */
.welcome-video-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease-in-out, visibility 1s ease-in-out;
  z-index: 1;
  overflow: hidden;
}

.welcome-video-background::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.3) 0%,
    rgba(0, 0, 0, 0.2) 50%,
    rgba(0, 0, 0, 0.4) 100%
  );
  z-index: 1;
  pointer-events: none;
}

.welcome-bg-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: relative;
  z-index: 0;
}

.welcome-content-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 5%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease-in-out, visibility 1s ease-in-out;
  z-index: 2;
}

.welcome-content-wrapper {
  max-width: 1440px;
  width: 100%;
  padding: 0 60px;
  text-align: center;
}

.welcome-title-section {
  margin-bottom: 50px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: center;
  gap: 28px;
}

.welcome-text-overlay {
  font-size: clamp(54px, 6vw, 120px);
  color: #f6f2ea;
  display: block;
  margin-bottom: 0;
  letter-spacing: 0.05em;
  font-weight: 400;
}

.dellray-group-wrapper-overlay {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.dellray-logo-overlay {
  width: clamp(260px, 28vw, 420px);
  height: auto;
  display: block;
}

.group-text-overlay {
  font-size: clamp(22px, 2.4vw, 40px);
  color: #f8f6f2;
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: 400;
  margin-top: 2px;
}

.welcome-description {
  font-size: clamp(18px, 2vw, 26px);
  color: #f1ede5;
  line-height: 1.5;
  margin-bottom: 34px;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  font-weight: 300;
  letter-spacing: 0.02em;
}

.btn-learn-more-welcome {
  border-radius: 999px;
  background: #f3efe8;
  display: inline-flex;
  padding: 16px 26px 16px 32px;
  align-items: center;
  gap: 14px;
  color: #1f1a17;
  font-family: "Host Grotesk", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  text-decoration: none;
  border: 1px solid #f3efe8;
  transition: all 0.3s ease;
  box-shadow: 0 12px 32px rgba(0,0,0,0.18);
}

.btn-learn-more-welcome:hover {
  background: #2a2725;
  color: #f3efe8;
  border-color: #2a2725;
  box-shadow: 0 16px 36px rgba(0,0,0,0.22);
}

.arrow-icon-welcome {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #1f1a17 url('/images/right-cream-circle-arrow.png') center/60% no-repeat;
  display: inline-block;
  transition: all 0.3s ease;
}

.btn-learn-more-welcome:hover .arrow-icon-welcome {
  background: #f3efe8 url('/images/right-cream-circle-arrow-fill.png') center/60% no-repeat;
}

/* Giving Back Section */
.giving-back-section {
  position: relative;
  overflow: hidden;
  min-height: 90vh;
  background-color: #0f0d0c;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.giving-back-backdrop {
  position: absolute;
  inset: 0;
  background: url('/images/giving-back-banner.jpg') center center / cover no-repeat;
  transform: scale(1.01);
  filter: saturate(1.02);
  z-index: 1;
}

.giving-back-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.35) 38%, rgba(0, 0, 0, 0.05) 70%, rgba(0, 0, 0, 0) 100%);
  z-index: 2;
}

.giving-back-content {
  position: relative;
  z-index: 3;
  padding: 40px 0;
  min-height: 75vh;
  display: flex;
  align-items: center;
}

.giving-back-title {
  font-size: clamp(52px, 6.5vw, 82px);
  letter-spacing: 0.05em;
  color: #f4ede2;
  margin-bottom: 28px;
}

.giving-back-copy {
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.8;
  color: #f1ede5;
  max-width: 720px;
  margin-bottom: 0;
}

.giving-back-logos-wrapper {
  position: relative;
  z-index: 3;
  width: 100%;
  padding: 32px 0 44px;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.2) 100%);
  overflow: hidden;
}

.giving-back-logos-marquee {
  width: 100%;
  padding: 0 10vw;
}

.giving-back-logos-track {
  display: flex;
  align-items: center;
  gap: 18px;
  animation: givingBackMarquee 30s linear infinite;
  will-change: transform;
}

.giving-back-logos-track:hover {
  animation-play-state: paused;
}

.giving-back-logo-card {
  flex: 0 0 65px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* .giving-back-logo-card img {
  max-width: 100%;
  max-height: 70px;
  object-fit: contain;
} */

@keyframes givingBackMarquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@media (max-width: 991px) {
  .giving-back-content {
    padding: 100px 0 40px;
  }
  .giving-back-copy {
    max-width: 100%;
  }
  .giving-back-logos-marquee {
    padding: 0 6vw;
  }
  .giving-back-logo-card {
    flex-basis: 150px;
  }
}

@media (max-width: 767px) {
  .giving-back-content {
    padding: 80px 0 30px;
  }
  .giving-back-title {
    margin-bottom: 18px;
  }
  .giving-back-logos-wrapper {
    padding: 26px 0 30px;
  }
  .giving-back-logos-marquee {
    padding: 0 4vw;
  }
  .giving-back-logo-card {
    flex-basis: 140px;
    min-height: 96px;
  }
}

/* Scroll State - When section is scrolled into view */
.welcome-to-the-future-section.scrolled .welcome-to-the-future-text.initial-state,
.welcome-to-the-future-section.scrolled .welcome-to-the-future-scene.initial-state {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease-in-out, visibility 1s ease-in-out;
}

.welcome-to-the-future-section.scrolled .welcome-video-background {
  opacity: 1;
  visibility: visible;
}

.welcome-to-the-future-section.scrolled .welcome-content-overlay.scroll-state {
  opacity: 1;
  visibility: visible;
}

/* Initial state transitions */
.welcome-to-the-future-text.initial-state,
.welcome-to-the-future-scene.initial-state {
  transition: opacity 1s ease-in-out, visibility 1s ease-in-out;
  opacity: 1;
  visibility: visible;
}

@media (max-width: 991px) {
  .welcome-to-the-future-text {
    padding: 60px 60px 30px;
  }
  
  .welcome-to-the-future-scene {
    min-height: 50vh;
  }
  
  .welcome-content-wrapper {
    padding: 0 60px;
  }
  
  .welcome-content-overlay {
    padding-bottom: 12%;
  }
}

@media (max-width: 767px) {
  .welcome-to-the-future-text {
    padding: 40px 30px 20px;
  }
  
  .welcome-to-the-future-scene {
    min-height: 40vh;
  }
  
  .scene-marker {
    width: 50px;
    height: 50px;
  }
  
  .marker-top {
    width: 35px;
    height: 35px;
  }
  
  .marker-base {
    width: 45px;
    height: 18px;
  }
  
  .marker-letter {
    font-size: 20px;
    top: 6px;
  }
  
  .welcome-content-wrapper {
    padding: 0 30px;
  }
  
  .welcome-content-overlay {
    padding-bottom: 10%;
  }
  
  .welcome-description {
    font-size: clamp(13px, 2vw, 18px);
  }
}


/* .logo-white,
.logo-blue {
    display: none;
} */



/* body.with-hero .logo-white {
    display: inline-block;
}

body.with-hero .logo-blue {
    display: none;
} */


/* body.without-hero .logo-blue {
    display: inline-block;
}

body.without-hero .logo-white {
    display: none;
}
 */

/*

News 

*/

.container-news{
  max-width: 885px;
}