/* ---------- LOADER ---------- */

.wf-design-mode .loader,
.wf-preview-mode .loader {
  display: none;
}

[data-load-reset] {
  opacity: 0;
}

.loader__logo-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.loader__logo-item {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.loader__logo-img {
  width: auto;
  height: auto;
  max-width: 400px;
  max-height: 200px;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

/* ---------- HIDE SCROLLBAR ---------- */

body::-webkit-scrollbar {
  display: none;
}

body {
  -ms-overflow-style: none;
}

html {
  scrollbar-width: none;
}

/* ---------- DEFAULT ---------- */

*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  scroll-behavior: initial;
}

html,
body {
  font-family: 'Quicksand', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

svg {
  max-width: none;
  height: auto;
  box-sizing: border-box;
  vertical-align: middle;
}

::selection {
  color: white;
  text-shadow: none;
  background-color: var(--brand--green-alt-1);
}

a {
  color: inherit;
  text-decoration: none;
}

p {
  margin: 0;
}

/* ---------- UTILITIES ----------*/

.u--inherit * {
  color: inherit;
}

.u--rel {
  position: relative;
  z-index: 1;
}

.u--abs {
  position: absolute;
  inset: 0% auto auto 0%;
}

.u--abs-center {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
}

.u--bg {
  position: absolute;
  inset: 0% 0% 0% 0%;
}

.u--hide {
  display: none
}

@media screen and (max-width: 991px) {

  .u--hide,
  .u--hide-tablet {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .u--hide-mobile-l {
    display: none !important;
  }
}

@media screen and (max-width: 479px) {
  .u--hide-mobile {
    display: none !important;
  }
}

/* ---------- FOCUS STATE---------- */

*[tabindex]:focus-visible,
input[type=file]:focus-visible {
  outline: 0.125rem solid #4d65ff;
  outline-offset: 0.125rem;
}

/* ---------- Webflow RichText ---------- */

.w-richtext> :not(div):first-child,
.w-richtext>div:first-child> :first-child {
  margin-top: 0 !important;
}

.w-richtext> :last-child,
.w-richtext ol li:last-child,
.w-richtext ul li:last-child {
  margin-bottom: 0 !important;
}


.is--masked-to-top {
  mask-image: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 60%);
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
}

.is--masked-to-bottom {
  mask-image: linear-gradient(to top, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 80%);
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
}

.is--masked-top-bottom {
  mask-image: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 20%, rgba(0, 0, 0, 1) 80%, rgba(0, 0, 0, 0) 100%);
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
}

.wf-design-mode .rounded-bg {
  display: none;
}



:root {
  --t-bezier: cubic-bezier(0.5, 0.5, 0, 1);
  --brand--green-alt-1: #000000;
  --brand--green-3: #000000;
  --color--green-3: #000000;
  --brand--green: #000000;
  --color--green: #000000;
  --green: #000000;
}

/* ---------- LAYOUT GRID ---------- */

html:not(.wf-design-mode) .grid-system {
  display: none;
}

/* ---------- NAVIGATION ---------- */

.navigation {}

.navigation__overlay {
  transition: all 700ms var(--t-bezier);
}

.hamburger-nav__bg {
  transition: all 700ms var(--t-bezier);
}

.hamburger-nav__group {
  opacity: 0;
  transform: scale(0.15) rotate(0.001deg);
  visibility: hidden;
  transition:
    all 500ms var(--t-bezier),
    transform 700ms var(--t-bezier);
}

.hamburger-nav__dot {
  opacity: 0;
  transform: scale(0) rotate(0.001deg);
  transition: all 700ms var(--t-bezier);
}

.hamburger-nav__img {
  opacity: 0;
  transform: scale(0) rotate(15deg);
  transition: all 700ms var(--t-bezier);
}

/* Hover : Unselected items */

.hamburger-nav:has(.hamburger-nav__link:hover) .hamburger-nav__dot {
  transform: scale(0) translateX(50%) rotate(0.001deg);
  opacity: 0;
}

.hamburger-nav:has(.hamburger-nav__link:hover) .hamburger-nav__img {
  transform: scale(0) rotate(15deg);
  opacity: 0;
}

/* Hover : Selected item */

.hamburger-nav .hamburger-nav__link:hover .hamburger-nav__dot {
  transform: scale(1) translateX(50%) rotate(0.001deg);
  opacity: 0.5;
}

.hamburger-nav .hamburger-nav__link:hover .hamburger-nav__img {
  transform: scale(1) rotate(0.001deg);
  opacity: 1;
}

/* Active Link  */

.hamburger-nav__link.w--current .hamburger-nav__text {
  opacity: 1;
}

.hamburger-nav__link.w--current .hamburger-nav__dot {
  transform: scale(1) translateX(50%) rotate(0.001deg);
  opacity: 1;
}

.hamburger-nav__link.w--current .hamburger-nav__img {
  transform: scale(1) rotate(0.001deg);
  opacity: 1;
}

/* Hamburger Button  */

.hamburger-nav__toggle {
  transform: translate(0em, 0em) rotate(0.001deg);
  transition: transform 700ms var(--t-bezier);
}

.hamburger-nav__toggle .hamburger-nav__toggle-bar {
  transform: translateY(-0.15em) rotate(0.001deg);
  transition: transform 700ms var(--t-bezier);
}

.hamburger-nav__toggle:hover .hamburger-nav__toggle-bar {
  transform: translateY(0.15em) rotate(0.001deg);
}

.hamburger-nav__toggle .hamburger-nav__toggle-bar:nth-child(2) {
  transform: translateY(0.15em) rotate(0.001deg);
  transition: transform 700ms var(--t-bezier);
}

.hamburger-nav__toggle:hover .hamburger-nav__toggle-bar:nth-child(2) {
  transform: translateY(-0.15em) rotate(0.001deg);
}

/* Active State */

[data-navigation-status="active"] .navigation__dark-bg {
  opacity: 0.5;
  visibility: visible;
}

[data-navigation-status="active"] .hamburger-nav__bg {
  width: 100%;
  height: 100%;
}

[data-navigation-status="active"] .hamburger-nav__group {
  transform: scale(1) rotate(0.001deg);
  opacity: 1;
  visibility: visible;
}

[data-navigation-status="active"] .hamburger-nav__toggle {
  transform: translate(-1em, 1em) rotate(0.001deg);
}

[data-navigation-status="active"] .hamburger-nav__toggle .hamburger-nav__toggle-bar {
  transform: translateY(0em) rotate(45deg);
}

[data-navigation-status="active"] .hamburger-nav__toggle .hamburger-nav__toggle-bar:nth-child(2) {
  transform: translateY(0em) rotate(-45deg);
}

/* ---------- PRIMARY BUTTONS ---------- */

[data-button-anim-target] {
  transition: all 0.525s var(--t-bezier);
}

.button-primary__text {
  --text-duplicate-distance: 1.5em;
  text-shadow: 0px var(--text-duplicate-distance) var(--color--white);
}

@media (hover:hover) and (pointer:fine) {
  .button-primary:hover .button-primary__text {
    transform: translate(0px, calc(-1 * var(--text-duplicate-distance)));
  }

  .button-primary:hover .button-primary__bg {
    transform: translate(0px, 0%) rotate(0deg);
  }

  .button-primary:hover .button-primary__icon-arrow {
    transform: translate(180%, 0px);
  }

  .button-primary:hover .button-primary__icon-bg {
    background-color: var(--color--white);
  }

  .button-primary:hover .button-primary__icon-wrap {
    color: var(--brand--green-3);
  }

}

/* ---------- PREVIEW FOLLOWER ---------- */

.preview-follower__inner {
  transition: opacity 0.1s ease, transform 0.6s var(--t-bezier);
}

/* html:not(.wf-design-mode) */
.preview-follower__inner {
  opacity: 0;
  transform: scale(0);
}

.preview-follower [data-follower-visual] {
  display: block;
  width: 100%;
  height: 100%;
  z-index: 0;
}


@media screen and (min-width: 992px) {
  html:not(.wf-design-mode) {
    .preview-item:last-of-type {
      border-bottom-width: 0em;
    }
  }
}

@media (hover: hover) and (min-width: 992px) {
  html:not(.wf-design-mode) {

    body:has([data-follower-collection]:hover) .preview-follower__inner {
      opacity: 1;
      transform: scale(1);
    }

    body:has([data-follower-collection]:hover) .preview-follower__label {
      opacity: 1;
      transform: translate(0px, 0%);
    }
  }
}

/* ---------- USPS ---------- */

@media (hover: hover) and (min-width: 992px) {
  body:has(.usps-item:hover) .usps-item:not(:hover) .usps-item__inner {
    opacity: 0.8;
  }

  .usps-item__inner {
    transition: all 0.6s var(--t-bezier);
  }

  .usps-item__bg {
    opacity: 0;
    transition: opacity 0.4s ease, transform 0.5s var(--t-bezier);
  }

  .usps-item:hover .usps-item__inner {
    color: var(--color--white);
  }

  .usps-item:hover .usps-item__bg {
    transform: translate(0, 0%) rotate(0deg);
    opacity: 1;
  }
}

/* ---------- NAVBAR ---------- */

[data-header] {
  transition-property: transform, opacity;
  transition-duration: 800ms;
  transition-timing-function: var(--t-bezier);
}

[data-header] .header__bg {
  transition: opacity 0.6s ease
}

.header__logo {
  height: auto;
  max-height: 60px;
  width: auto;
  max-width: 200px;
  object-fit: contain;
  display: block;
}

.cover__title-plaza {
  text-decoration: underline;
}

[data-scrolling-direction="down"] {
  [data-header] {
    transform: translateY(-150%);
    opacity: 0;
  }
}

[data-scrolling-direction="up"] {
  [data-header] {
    transform: translateY(0);
    opacity: 1;
  }
}

[data-scrolling-started="true"] {
  [data-header] .header__bg {
    opacity: 0.5;
  }
}

/* ---------- MODAL ---------- */

[data-modal-group-status] {
  transition: all 0.5s var(--t-bezier);
}

[data-modal-group-status="active"] {
  opacity: 1;
  visibility: visible;
}

[data-modal-name][data-modal-status="active"] {
  display: flex;
  transform: translateY('0%');
}

/* ---------- FORMS ---------- */

/* Field: Error */
[data-validate].is--error input,
[data-validate].is--error textarea,
[data-validate].is--error select {
  color: var(--color--error);
  border-color: var(--color--error);

  &::placeholder {
    opacity: 0.5;
    color: var(--color--error);
  }
}

[data-validate].is--error .form-field-icon.is--error,
[data-validate].is--error .radiocheck-field-icon.is--error {
  opacity: 1;
}

/* Field: Success */
[data-validate].is--success .form-field-icon.is--success,
[data-validate].is--success .radiocheck-field-icon.is--success {
  opacity: 1;
}

/* Field: Custom Radio or Checkbox */
[data-form-validate] .radiocheck-field input:focus-visible~.radiocheck-custom {
  background-color: var(--color--white);
  color: var(--color--green-3),
}

[data-form-validate] .radiocheck-field input:focus-visible:checked~.radiocheck-custom,
[data-form-validate] .radiocheck-field input:checked~.radiocheck-custom {
  background-color: var(--color--green-3);
  color: var(--color--white),
}

[data-form-validate] .radiocheck-field .radiocheck-label.is--small {
  margin-top: 0.125em;
}

[data-validate].is--error .radiocheck-custom {
  border-color: var(--color--error);
}

[data-validate].is--error input:checked~.radiocheck-custom {
  border-color: var(--color--error);
}

/* Field: Select */
[data-form-validate] select:has(option[value=""]:checked) {
  color: rgba(19, 19, 19, 0.3);
}

/* ---------- PIMSTER ---------- */

pimster-gallery-widget {
  height: 100% !important;
}

pimster-gallery-widget {
  padding-right: 2.5em;
}

/* ---------- SWIPER ---------- */

.swiper-slide {
  height: auto !important;
}


/* ------------------------- Scaling System by Osmo [https://osmo.supply/] -------------------------  */

/* Desktop */
:root {
  --size-unit: 16;
  /* body font-size in design - no px */
  --size-container-ideal: 1728;
  /* screen-size in design - no px */
  --size-container-min: 992px;
  --size-container-max: 1920px;
  --size-container: clamp(var(--size-container-min), 100vw, var(--size-container-max));
  --size-font: calc(var(--size-container) / (var(--size-container-ideal) / var(--size-unit)));
}

/* Tablet */
@media screen and (max-width: 991px) {
  :root {
    --size-container-ideal: 834;
    /* screen-size in design - no px */
    --size-container-min: 768px;
    --size-container-max: 991px;
  }
}

/* Mobile Landscape */
@media screen and (max-width: 767px) {
  :root {
    --size-container-ideal: 550;
    /* screen-size in design - no px */
    --size-container-min: 480px;
    --size-container-max: 767px;
  }
}

/* Mobile Portrait */
@media screen and (max-width: 479px) {
  :root {
    --size-container-ideal: 390;
    /* screen-size in design - no px */
    --size-container-min: 320px;
    --size-container-max: 479px;
  }
}

body {
  font-size: var(--size-font);
}

/* ---------- HIDE COOKIESCRIPT ---------- */

[id*="cookie"],
[class*="cookie"],
[id*="CookieScript"],
[class*="CookieScript"],
[id*="cookiescript"],
[class*="cookiescript"],
.cookiescriptlogo,
path.cookiescriptlogo,
svg .cookiescriptlogo,
[data-cookie],
[data-cookiescript] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
}

.big-text__title--small {
  font-size: 0.75em;
}

/* ---------- EXPERIENCE MODAL ---------- */

.experience-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1000;
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  /* Prevent clicks when hidden */
}

.experience-modal.is--active {
  display: flex;
  opacity: 1;
  pointer-events: auto;
}

.experience-modal__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.4);
  /* Removed blur */
  z-index: -1;
}

/* ... existing code ... */

.experience-modal__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: #F5F5DC;
  /* Beige */
  border: 1px solid #D4AF37;
  /* Gold border */
  border-radius: 50%;
  /* Circular */
  color: #1a1a1a;
  /* Dark icon */
  cursor: pointer;
  z-index: 1003;
  padding: 1rem;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
}

.experience-modal__nav:hover {
  background-color: #D4AF37;
  /* Gold hover */
  color: white;
  transform: translateY(-50%) scale(1.1);
}

.experience-modal__wrapper {
  width: 85%;
  max-width: 1100px;
  height: 70vh;
  /* Reduced height */
  background-color: #ffffff;
  /* White background */
  border-radius: 24px;
  /* Increased radius */
  overflow: hidden;
  position: relative;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
  transform-origin: center center;
  border: 4px solid white;
  /* Thick white border */
}

.experience-modal__content {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  /* Adjusted ratio */
  height: 100%;
}

.experience-modal__left {
  position: relative;
  height: 100%;
  background-color: #f0f0f0;
  overflow: hidden;
}

.experience-modal__image-wrapper {
  width: 100%;
  height: 100%;
}

.experience-modal__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.experience-modal__right {
  padding: 3rem;
  color: white;
  /* White text */
  background-color: #000;
  /* Black background */
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  position: relative;
  border-left: 4px solid white;
}

.experience-modal__close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  z-index: 10;
  cursor: pointer;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.1);
  /* Subtle white bg */
  border-radius: 50%;
  transition: all 0.3s ease;
}

.experience-modal__close:hover {
  background-color: rgba(255, 255, 255, 0.2);
  transform: rotate(90deg);
}

.experience-modal__close .hamburger-nav__toggle {
  transform: none;
  width: 20px;
  height: 20px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.experience-modal__close .hamburger-nav__toggle-bar {
  background-color: white;
  /* White bars */
  width: 100%;
  height: 2px;
  position: absolute;
  transition: transform 0.3s ease;
}

.experience-modal__close .hamburger-nav__toggle-bar:first-child {
  transform: rotate(45deg);
}

.experience-modal__close .hamburger-nav__toggle-bar:last-child {
  transform: rotate(-45deg);
}

.experience-modal__title {
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
  line-height: 1.1;
  font-weight: 400;
  color: white;
  /* White */
}

.experience-modal__subtitle {
  font-size: 1rem;
  color: #ffd700;
  /* Gold */
  margin-bottom: 2rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
}

.experience-modal__description {
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.8);
  /* Off-white */
  margin-bottom: 2rem;
}

.experience-modal__divider {
  height: 1px;
  background-color: rgba(255, 255, 255, 0.1);
  width: 100%;
  margin-bottom: 2rem;
}

.experience-modal__details p {
  color: rgba(255, 255, 255, 0.5);
  /* Dim white */
  font-style: italic;
  font-size: 0.9rem;
}

@media screen and (max-width: 991px) {
  .experience-modal__content {
    grid-template-columns: 1fr;
    grid-template-rows: 40% 60%;
  }

  .experience-modal__wrapper {
    height: 80vh;
    width: 90%;
  }

  .experience-modal__title {
    font-size: 2rem;
  }

  .experience-modal__right {
    padding: 2rem;
    border-left: none;
    border-top: 4px solid white;
  }
}

.experience-modal__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  z-index: 1003;
  padding: 1rem;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.experience-modal__nav:hover {
  color: white;
  transform: translateY(-50%) scale(1.2);
}

.experience-modal__nav--prev {
  left: 2%;
}

.experience-modal__nav--next {
  right: 2%;
}

@media screen and (max-width: 991px) {
  .experience-modal__nav {
    top: auto;
    bottom: 2rem;
    transform: none;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    padding: 0.5rem;
    width: 48px;
    height: 48px;
  }

  .experience-modal__nav:hover {
    transform: scale(1.1);
  }

  .experience-modal__nav--prev {
    left: 2rem;
  }

  .experience-modal__nav--next {
    right: 2rem;
  }

  .experience-modal__nav svg {
    width: 24px;
    height: 24px;
  }
}

/* CTA Button */
.experience-modal__cta {
  background-color: #ffffff;
  color: #000000;
  border: 1px solid #000000;
  padding: 1rem 2rem;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  border-radius: 50px;
  /* Oval */
  transition: all 0.3s ease;
  width: 100%;
  margin-top: 1rem;
}

.experience-modal__cta:hover {
  background-color: #000000;
  color: #ffffff;
  border-color: #000000;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Fix for Contact Modal Z-Index */
.modal {
  z-index: 2000;
}

.experience-form__hidden {
  display: none;
}

@media screen and (max-width: 767px) {
  /* Prevent parent containers from clipping */
  .section__experience {
    overflow-x: visible !important;
    overflow-y: visible;
  }

  .experience__layout {
    overflow-x: visible !important;
    overflow-y: visible;
  }

  .experience__inner {
    overflow-x: visible !important;
    overflow-y: visible;
  }

  .experience__cards {
    display: flex !important;
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    gap: 1.5em;
    padding-bottom: 1em;
    padding-left: 1.25em;
    padding-right: 1.25em;
  }

  .experience__cards::-webkit-scrollbar {
    display: none;
  }

  .experience__cards > * {
    flex: 0 0 auto;
    scroll-snap-align: start;
    min-width: 85vw;
    max-width: 85vw;
  }

  /* Override external CSS width conflict */
  .experience__cards > .experience-card__wrap {
    width: 85vw !important;
    min-width: 85vw !important;
    max-width: 85vw !important;
    aspect-ratio: auto;
    height: auto;
  }

  /* Ensure cards maintain their design but allow scrolling */
  .experience-card {
    /* Keep overflow: clip for rounded corners, but ensure it doesn't block scrolling */
    position: relative;
  }
}
/* Reduce black overlay on hero video, restoring green hue but lighter */
.cover__bg__overlay {
    background-image: linear-gradient(180deg, rgba(1, 48, 42, 0), rgba(1, 48, 42, 0.6) 95%) !important;
    opacity: 1; 
}
