/* Laptop and desktop refinements for Essence. Mobile layouts remain unchanged. */
#essence-re-title-hq { display: none; }
@media (min-width: 900px) {
  /* Holiday accommodation cards: three consistently sized cards per row. */
  body:has(#results) #results {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 22px !important;
  }
  body:has(#results) #results > .resultsTitle,
  body:has(#results) #results > .hint,
  body:has(#results) #results > .essence-holiday-pagination { grid-column: 1 / -1 !important; }
  body:has(#results) #results > article.card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-width: 0 !important;
  }
  body:has(#results) #results > article.card > .body { flex: 1 1 auto !important; display: flex !important; flex-direction: column !important; }
  body:has(#results) #results > article.card .cardBottom { margin-top: auto !important; }

  /* Three matching property cards on every Real Estate result view. */
  #realestate .overlay-inner { width: min(100% - 64px, 1360px) !important; max-width: 1360px !important; margin-inline: auto !important; }
  #realestate .property-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: 1fr !important;
    align-items: stretch !important;
    gap: 22px !important;
    width: 100% !important;
  }
  #realestate .property-list > .property-item {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-width: 0 !important;
    border-radius: 24px !important;
  }
  #realestate .property-list > .property-item .admin-re-gallery { width: calc(100% - 24px) !important; margin: 12px 12px 0 !important; aspect-ratio: 1.58 / 1 !important; border-radius: 19px !important; }
  #realestate .property-list > .property-item .admin-re-gallery .property-photo { border-radius: 19px !important; }
  #realestate .property-list > .property-item .property-content { display: flex !important; flex: 1 1 auto !important; flex-direction: column !important; padding: 24px 22px 22px !important; }
  #realestate .property-list > .property-item .admin-re-kicker { gap: 9px !important; margin-bottom: 17px !important; font-size: 10px !important; letter-spacing: .22em !important; }
  #realestate .property-list > .property-item .admin-re-kicker:after { width: 34px !important; flex: 0 0 34px !important; }
  #realestate .property-list > .property-item h3 { font-size: clamp(23px, 2vw, 31px) !important; line-height: 1.08 !important; letter-spacing: .045em !important; overflow-wrap: anywhere !important; }
  #realestate .property-list > .property-item .property-location { gap: 8px !important; margin-bottom: 18px !important; font-size: 11px !important; letter-spacing: .12em !important; }
  #realestate .property-list > .property-item .property-location i { font-size: 16px !important; }
  #realestate .property-list > .property-item .admin-re-facts { margin-bottom: 18px !important; padding: 15px 0 14px !important; border-radius: 17px !important; }
  #realestate .property-list > .property-item .admin-re-stat { gap: 5px !important; padding: 0 7px !important; }
  #realestate .property-list > .property-item .admin-re-stat i { font-size: 21px !important; }
  #realestate .property-list > .property-item .admin-re-stat strong { font-size: 15px !important; white-space: normal !important; }
  #realestate .property-list > .property-item .admin-re-stat small { font-size: 7px !important; letter-spacing: .12em !important; white-space: normal !important; }
  #realestate .property-list > .property-item .admin-re-description { margin-bottom: 18px !important; padding-bottom: 18px !important; }
  #realestate .property-list > .property-item .admin-re-description p { font-size: 13px !important; line-height: 1.5 !important; }
  #realestate .property-list > .property-item .property-bottom { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 15px !important; margin-top: auto !important; }
  #realestate .property-list > .property-item .admin-price-wrap { align-self: stretch !important; }
  #realestate .property-list > .property-item .property-price { font-size: clamp(34px, 3vw, 45px) !important; }
  #realestate .property-list > .property-item .essence-re-contact { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  #realestate .re-invest-hero {
    min-height: 310px !important;
    margin: 0 0 22px !important;
    border-radius: 28px !important;
    background-image: linear-gradient(90deg, rgba(20,24,23,.46), rgba(20,24,23,.05) 72%), url('/assets/branding/real-estate-hero-hq.webp') !important;
    background-position: center 53% !important;
    background-size: cover !important;
  }
  #realestate .re-invest-hero-copy { left: 42px !important; right: 42px !important; bottom: 34px !important; color: #fff !important; }
  #realestate .re-invest-hero-copy h2 { font-size: clamp(52px, 6vw, 84px) !important; color: #fff !important; text-shadow: 0 2px 24px rgba(0,0,0,.22) !important; }
  #realestate .re-invest-hero-copy p,
  #realestate .re-invest-hero-copy small { color: #fff !important; text-shadow: 0 1px 12px rgba(0,0,0,.34) !important; }
}

/* The homepage architectural hero follows the supplied framed-villa reference. */
@media (min-width: 900px) {
  html body .home-shell { background: linear-gradient(180deg, #b8cee6 0%, #d7d8e6 55%, #ead0d4 100%) !important; }
  html body .home-shell > .hero-space.home-photo-hero {
    height: min(860px, 90svh) !important;
    min-height: 690px !important;
    overflow: hidden !important;
    background: transparent !important;
  }
  html body .home-photo-hero > .essence-desktop-exclusive-photo {
    display: block !important;
    position: absolute !important;
    top: 17% !important;
    left: 3.8% !important;
    width: 92.4% !important;
    height: 73% !important;
    object-fit: cover !important;
    object-position: center 55% !important;
    border: 6px solid rgba(255,255,255,.96) !important;
    border-radius: 28px !important;
    box-sizing: border-box !important;
    box-shadow: 0 22px 70px rgba(34,39,51,.14) !important;
    z-index: 0 !important;
  }
  html body .home-photo-hero > .essence-static-hero-photo { display: none !important; }
  html body .home-photo-hero::before {
    top: 3.2% !important; left: 3.8% !important; width: 92.4% !important; height: 74px !important;
    border-radius: 999px !important; background: rgba(255,255,255,.34) !important;
    border: 1px solid rgba(255,255,255,.65) !important; backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
  }
  html body .home-photo-hero > #essence-logo-header-left-20261001 {
    top: calc(3.2% + 12px) !important; left: 7% !important; width: 225px !important; height: 48px !important;
    max-height: 48px !important; transform: none !important; object-fit: contain !important; object-position: left center !important;
  }
  html body .home-photo-hero > #essence-re-visible-wordmark {
    display: none !important;
  }
  html body .home-photo-hero > #essence-re-title-hq {
    display: block !important; position: absolute !important; top: 24% !important; left: 7% !important;
    z-index: 1 !important; width: 76% !important; margin: 0 !important; color: #fff !important;
    font: 500 clamp(76px, 9.1vw, 148px)/.88 Montserrat, Arial, sans-serif !important;
    letter-spacing: -.055em !important; text-transform: uppercase !important;
    text-shadow: 0 2px 18px rgba(0,0,0,.12) !important; white-space: nowrap !important;
  }
  html body .home-photo-hero #essence-home-property-nav-20261011 {
    top: calc(3.2% + 21px) !important; left: 30% !important; right: 16% !important; width: 54% !important;
    padding: 0 !important; border: 0 !important; display: flex !important; justify-content: center !important;
    gap: clamp(12px, 1.8vw, 26px) !important; z-index: 3 !important;
  }
  html body .home-photo-hero #essence-home-property-nav-20261011 a {
    color: #18212b !important; font-size: clamp(9px, .75vw, 12px) !important; letter-spacing: .07em !important;
  }
  html body.essence-home .home-photo-hero > #essencePriveBtn {
    top: calc(3.2% + 18px) !important; right: 8.2% !important; width: 40px !important; height: 40px !important;
    min-width: 40px !important; min-height: 40px !important; border: 1px solid rgba(35,40,44,.18) !important;
    border-radius: 50% !important; background: rgba(255,255,255,.78) !important; box-shadow: 0 3px 14px rgba(0,0,0,.08) !important;
  }
  html body.essence-home .home-photo-hero > #essencePriveBtn::after {
    left: 45px !important; top: 50% !important; transform: translateY(-50%) !important;
    font: 500 11px/1 Arial,Helvetica,sans-serif !important; letter-spacing: .20em !important; color: #18212b !important;
  }
  html body .home-photo-hero #essence-check-properties-bottom-20261001 {
    bottom: 7.3% !important; left: 50% !important; right: auto !important; transform: translateX(-50%) !important;
    width: min(410px, 38%) !important; max-width: 410px !important; min-height: 64px !important; padding: 13px 23px !important;
    color: #17191a !important; background: rgba(255,255,255,.94) !important; border: 1px solid rgba(255,255,255,.98) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.16) !important; font-size: 14px !important; letter-spacing: .13em !important;
  }
  html body .home-photo-hero #essence-check-properties-bottom-20261001 .essence-check-arrow {
    display: grid !important; place-items: center !important; width: 34px !important; height: 34px !important;
    border-radius: 50% !important; color: #fff !important; background: #141718 !important; font-size: 21px !important;
  }
  html body .home-photo-hero #essence-statistics-desktop-80-20261002 { top: 69% !important; left: 7% !important; width: min(38%, 470px) !important; }
}


/* 2026-10-11 desktop homepage hero refinement. Mobile remains on its existing layout. */
.essence-home-property-nav,
.essence-home-socials,
.essence-home-hero-intro,
.essence-home-hero-stats,
.essence-home-hero-slogan { display:none; }

@media (min-width: 1024px) {
  html body.essence-home .home-shell > .home-photo-hero {
    height: min(930px, 100svh) !important;
    min-height: 760px !important;
  }

  html body.essence-home .home-photo-hero > #essence-logo-header-left-20261001 {
    top: calc(2.5% + 10px) !important;
    left: 50% !important;
    width: 250px !important;
    height: 54px !important;
    max-height: 54px !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: translateX(-50%) !important;
    z-index: 2147483006 !important;
  }

  html body.essence-home .home-photo-hero > #essence-re-title-hq {
    display: block !important;
    position: absolute !important;
    top: 26% !important;
    left: 4% !important;
    width: 92% !important;
    margin: 0 !important;
    color: rgba(255,255,255,.72) !important;
    font-family: Montserrat, Arial, sans-serif !important;
    font-size: clamp(112px, 13.8vw, 224px) !important;
    font-weight: 600 !important;
    line-height: .86 !important;
    letter-spacing: -.072em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    white-space: nowrap !important;
    text-shadow: 0 2px 24px rgba(0,0,0,.08) !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }

  html body.essence-home .home-photo-hero > .essence-home-hero-intro {
    display: block !important;
    position: absolute !important;
    top: 21.5% !important;
    left: 6.3% !important;
    width: min(270px, 20%) !important;
    margin: 0 !important;
    color: rgba(255,255,255,.96) !important;
    font: 400 clamp(12px, .92vw, 15px)/1.55 Montserrat, Arial, sans-serif !important;
    text-shadow: 0 1px 12px rgba(0,0,0,.24) !important;
    z-index: 3 !important;
  }

  html body.essence-home .home-photo-hero #essence-home-property-nav-20261011 {
    position: absolute !important;
    top: 46% !important;
    left: 50% !important;
    right: auto !important;
    width: min(92%, 1260px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: clamp(7px, .7vw, 12px) !important;
    transform: translateX(-50%) !important;
    z-index: 4 !important;
  }

  html body.essence-home .home-photo-hero #essence-home-property-nav-20261011 a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 39px !important;
    padding: 0 clamp(11px, 1.15vw, 18px) !important;
    color: rgba(255,255,255,.96) !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    border-radius: 999px !important;
    font: 500 clamp(10px, .78vw, 13px)/1.1 Montserrat, Arial, sans-serif !important;
    letter-spacing: .01em !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease !important;
  }

  html body.essence-home .home-photo-hero #essence-home-property-nav-20261011 a:first-child,
  html body.essence-home .home-photo-hero #essence-home-property-nav-20261011 a:hover,
  html body.essence-home .home-photo-hero #essence-home-property-nav-20261011 a:focus-visible {
    color: #17202a !important;
    background: rgba(255,255,255,.96) !important;
    border-color: rgba(255,255,255,.98) !important;
    outline: none !important;
  }

  html body.essence-home .home-photo-hero .essence-home-socials {
    position: absolute !important;
    top: calc(2.5% + 17px) !important;
    right: calc(4.4% + 112px) !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    z-index: 2147483007 !important;
  }

  html body.essence-home .home-photo-hero .essence-home-socials a {
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    color: rgba(255,255,255,.94) !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.68) !important;
    border-radius: 50% !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    transition: background .18s ease, color .18s ease, transform .18s ease !important;
  }

  html body.essence-home .home-photo-hero .essence-home-socials a:hover,
  html body.essence-home .home-photo-hero .essence-home-socials a:focus-visible {
    color: #17202a !important;
    background: rgba(255,255,255,.96) !important;
    transform: translateY(-1px) !important;
    outline: none !important;
  }

  html body.essence-home .home-photo-hero .essence-home-socials svg {
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.55 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  html body.essence-home .home-photo-hero > #essencePriveBtn {
    top: calc(2.5% + 14px) !important;
    right: 4.4% !important;
    left: auto !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    background: rgba(255,255,255,.88) !important;
    border: 1px solid rgba(255,255,255,.92) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.12) !important;
    z-index: 2147483008 !important;
  }

  html body.essence-home .home-photo-hero > #essencePriveBtn::after {
    left: 44px !important;
    color: #17202a !important;
    font-size: 10px !important;
    letter-spacing: .16em !important;
  }

  html body.essence-home .home-photo-hero > .essence-home-hero-stats {
    display: flex !important;
    position: absolute !important;
    top: 62% !important;
    right: 6.3% !important;
    width: clamp(220px, 20%, 300px) !important;
    flex-direction: column !important;
    gap: 13px !important;
    z-index: 3 !important;
  }

  html body.essence-home .home-photo-hero .essence-home-stat {
    min-height: 112px !important;
    box-sizing: border-box !important;
    padding: 18px 22px !important;
    color: #fff !important;
    background: rgba(255,255,255,.18) !important;
    border: 1px solid rgba(255,255,255,.38) !important;
    border-radius: 24px !important;
    box-shadow: 0 10px 34px rgba(0,0,0,.12) !important;
    backdrop-filter: blur(18px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(135%) !important;
  }

  html body.essence-home .home-photo-hero .essence-home-stat strong {
    display: block !important;
    margin: 0 0 8px !important;
    color: #fff !important;
    font: 400 clamp(34px, 3vw, 48px)/1 Montserrat, Arial, sans-serif !important;
    letter-spacing: -.04em !important;
  }

  html body.essence-home .home-photo-hero .essence-home-stat span {
    display: block !important;
    color: rgba(255,255,255,.87) !important;
    font: 500 9px/1.4 Montserrat, Arial, sans-serif !important;
    letter-spacing: .19em !important;
  }

  html body.essence-home .home-photo-hero > .essence-home-hero-slogan {
    display: block !important;
    position: absolute !important;
    left: 6.3% !important;
    bottom: 13.5% !important;
    width: min(300px, 24%) !important;
    margin: 0 !important;
    color: rgba(255,255,255,.98) !important;
    font: 500 clamp(18px, 1.65vw, 26px)/1.3 Montserrat, Arial, sans-serif !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.3) !important;
    z-index: 3 !important;
  }

  html body.essence-home .home-photo-hero #essence-check-properties-bottom-20261001 {
    bottom: 7.5% !important;
    left: 50% !important;
    right: auto !important;
    width: min(420px, 38%) !important;
    max-width: 420px !important;
    min-height: 62px !important;
    padding: 12px 24px !important;
    color: rgba(255,255,255,.98) !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.78) !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.13) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    transform: translateX(-50%) !important;
  }

  html body.essence-home .home-photo-hero #essence-check-properties-bottom-20261001 .essence-check-arrow {
    color: #18212b !important;
    background: rgba(255,255,255,.96) !important;
  }
}
