.elementor-kit-40{--e-global-color-primary:#74331D;--e-global-color-secondary:#74331D;--e-global-color-text:#74331D;--e-global-color-accent:#74331D;--e-global-typography-primary-font-family:"Nunito";--e-global-typography-primary-font-size:50px;--e-global-typography-primary-font-weight:300;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-secondary-font-family:"Nunito";--e-global-typography-secondary-font-size:25px;--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-text-transform:none;--e-global-typography-text-font-family:"Nunito";--e-global-typography-text-font-size:20px;--e-global-typography-text-font-weight:300;--e-global-typography-accent-font-family:"Nunito";--e-global-typography-accent-font-size:20px;--e-global-typography-accent-font-weight:300;color:var( --e-global-color-secondary );font-family:"Nunito Sans", Sans-serif;font-size:18px;}.elementor-kit-40 e-page-transition{background-color:#FFBC7D;}.site-header{background-color:var( --e-global-color-primary );padding-inline-end:0px;padding-inline-start:0px;}.elementor-kit-40 a{color:var( --e-global-color-secondary );}.elementor-kit-40 h1{color:var( --e-global-color-secondary );font-family:"Nunito", Sans-serif;font-size:24px;text-transform:uppercase;}.elementor-kit-40 h2{color:#FFFFFF;font-family:"Nunito", Sans-serif;font-size:60px;font-weight:300;letter-spacing:0.7px;}.elementor-kit-40 h6{font-family:"Nunito", Sans-serif;font-size:14px;font-weight:500;letter-spacing:0.7px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-40 h6{font-size:12px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================
   LUXURY FADE (DESKTOP ONLY)
========================= */

/* Default animation */
.fade-up-repeat {
  opacity: 0;
  transform: scale(0.98);
  transition: opacity 1.6s cubic-bezier(0.22, 1, 0.36, 1),
              transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.fade-up-repeat.active {
  opacity: 1;
  transform: scale(1);
}

/* Visible in Elementor editor */
.elementor-editor-active .fade-up-repeat {
  opacity: 1 !important;
  transform: none !important;
}

/* =========================
   MOBILE OVERRIDE
========================= */

@media (max-width: 768px) {

  .fade-up-repeat {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

}
/* =========================
   RESPONSIVE TYPOGRAPHY SYSTEM
========================= */

/* Heading (Desktop = 24px) */
h1, h2, h3 {
  font-size: clamp(18px, 2vw, 24px);
}

/* Body Text (Desktop = 18px) */
p {
  font-size: clamp(15px, 1.2vw, 18px);
}

/* Buttons (Desktop = 15px) */
button,
.elementor-button {
  font-size: clamp(14px, 1vw, 15px);
}
/* =========================
   GLOBAL IMAGE RESPONSIVENESS
========================= */

img {
  max-width: 100%;
  height: auto;
  display: block;
}
/* =========================
   MOBILE MENU – FULL HEIGHT
   START
========================= */

@media (max-width: 768px) {

  .elementor-nav-menu--dropdown {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: #ECECE2;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    z-index: 10000; /* higher than header */
    margin: 0 !important;
  }

}

/* =========================
   MOBILE MENU – FULL HEIGHT
   END
========================= */
/* =========================
   MOBILE MENU – TOGGLE ABOVE OVERLAY
   START
========================= */

@media (max-width: 768px) {

  .elementor-menu-toggle {
    position: relative !important;
    z-index: 10001 !important;
  }

}

/* =========================
   MOBILE MENU – TOGGLE ABOVE OVERLAY
   END
========================= */

/* =========================
   FORCE UNIFORM IMAGE GRID
========================= */

.image-grid .elementor-widget-image {
  width: 100%;
  aspect-ratio: 4 / 5; /* square grid */
  overflow: hidden;
}

.image-grid .elementor-widget-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* =========================
   FORCE UNIFORM IMAGE GRID end
========================= */
 =========================
/* =========================
   HOUSE NINE STYLE IMAGE ZOOM
   START
========================= */

.image-zoom-wrap {
  overflow: hidden;
}

.image-zoom-wrap img {
  transform: scale(1);
  transition: transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.image-zoom-wrap:hover img {
  transform: scale(1.07);
}

/* =========================
   HOUSE NINE STYLE IMAGE ZOOM
 }
 /* ===================
 /* =========================
   HEADER BASE STYLE
========================= */

.main-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10000;
  background: transparent;
  transition: background 0.35s ease,
              box-shadow 0.35s ease,
              color 0.35s ease;
}

/* =========================
   HEADER SCROLLED STATE
========================= */

.main-header.scrolled {
  background-color: rgba(247, 247, 242, 0.75) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 5px 20px rgba(0,0,0,0.04);
}

/* Change ALL text inside header when scrolled */
.main-header.scrolled,
.main-header.scrolled * {
  color: #74331D !important;
}

/* =========================
   SPECIFIC PAGES – HEADER TEXT START COLOUR
========================= */
.page-id-688 .main-header,
.page-id-715 .main-header,
.page-id-1509 .main-header,
.page-id-688 .main-header *,
.page-id-715 .main-header *,
.page-id-1509 .main-header * {
  color: #74331D !important;
}

/* =========================
  PADDING ON TEXT CONTAINERS START
========================= */
.smart-padding {
  padding-left: clamp(30px, 6vw, 150px);
  padding-right: clamp(30px, 6vw, 150px);
}
/* =========================
   PADDING ON TEXT CONTAINERS END
========================= */
/* =========================
   IMAGE SCROLL REVEAL ON VIEW
========================= */

.image-scroll-up {
  overflow: hidden;
}

.image-scroll-up img {
  transform: translateY(8%);
  transition: transform 1.1s ease;
  will-change: transform;
}

.image-scroll-up.active img {
  transform: translateY(0);
}

/* ========================= */
/* ========================================
POPUP ABOVE HEADER (MOBILE FIX)
======================================== */

/* Elementor popup wrapper */
.elementor-popup-modal{
    z-index: 99999 !important;
}

/* Popup overlay */
.dialog-widget-overlay{
    z-index: 99998 !important;
}

/* ===== END POPUP FIX ===== *//* End custom CSS */