.elementor-kit-9{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing: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-header{padding-inline-end:0px;padding-inline-start:0px;}.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-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --LSBackground:#F5F4F0; --LSSurface:#FFFFFF; --LSInk:#20323D; --LSMuted:#78736B; --LSBorder:#E8E4DC; --LSOlive:#5A6A48; --LSNavy:#1E3A4C; --LSCoral:#D76A4A; --LSMares:#CBB48F; --LSDisplayFont:Jost; --LSContainer:1180px; --LSRadius:18px; }
/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600&display=swap');

:root {
  --ls-bg: #f5f4f0;
  --ls-surface: #ffffff;
  --ls-ink: #20323d;
  --ls-muted: #78736b;
  --ls-border: #e8e4dc;
  --ls-olive: #5a6a48;
  --ls-navy: #1e3a4c;
  --ls-coral: #d76a4a;
  --ls-mares: #cbb48f;
  --ls-shadow: 0 1px 2px rgba(32, 50, 61, .04), 0 18px 44px -26px rgba(32, 50, 61, .28);
  --ls-radius: 18px;
  --ls-wide: 1296px;
  --ls-gutter: clamp(20px, 3vw, 42px);
}

/* Elementor Atomic compatibility -------------------------------------------------
 * Atomic widgets expose their semantic identifier through data-id instead of the
 * elementor-element-{id} class used by containers. These rules bridge both
 * rendering modes and keep the design stable after Elementor regenerates CSS.
 */

/* Atomic typography */
body :is(
  [data-id="hero-home-eyebrow"], [data-id="philosophy-home-eyebrow"],
  [data-id="services-home-eyebrow"], [data-id="pillars-home-eyebrow"],
  [data-id="featured-home-eyebrow"], [data-id="cta-home-eyebrow"],
  [data-id="hero-sale-eyebrow"], [data-id="intro-sale-eyebrow"],
  [data-id="team-sale-eyebrow"], [data-id="values-sale-eyebrow"],
  [data-id="process-sale-eyebrow"], [data-id="faq-sale-eyebrow"],
  [data-id="cta-sale-eyebrow"], [data-id="hero-rent-eyebrow"],
  [data-id="modalities-rent-eyebrow"], [data-id="owners-rent-eyebrow"],
  [data-id="faq-rent-eyebrow"], [data-id="cta-rent-eyebrow"],
  [data-id="hero-contact-eyebrow"], [data-id="contact-main-eyebrow"],
  [data-id="contact-note-eyebrow"], [data-id="archive-eyebrow"],
  [data-id="single-property-operation"]
) {
  color: var(--ls-olive) !important;
  font-family: "Jost", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .21em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
}

body :is(
  [data-id="philosophy-home-title"], [data-id="services-home-title"],
  [data-id="pillars-home-title"], [data-id="featured-home-title"],
  [data-id="cta-home-title"], [data-id="intro-sale-title"],
  [data-id="team-sale-title"], [data-id="values-sale-title"],
  [data-id="process-sale-title"], [data-id="faq-sale-title"],
  [data-id="cta-sale-title"], [data-id="modalities-rent-title"],
  [data-id="owners-rent-title"], [data-id="faq-rent-title"],
  [data-id="cta-rent-title"], [data-id="contact-main-title"],
  [data-id="contact-note-title"], [data-id="archive-title"],
  [data-id="single-property-gallery-title"], [data-id="single-property-cta-title"]
) {
  font-size: clamp(34px, 4vw, 56px) !important;
  font-weight: 500 !important;
  letter-spacing: -.025em !important;
  line-height: 1.08 !important;
}

body :is(
  [data-id="hero-home-lead"], [data-id="philosophy-home-copy"],
  [data-id="philosophy-home-copy-two"], [data-id="featured-home-copy"],
  [data-id="cta-home-copy"], [data-id="hero-sale-lead"],
  [data-id="intro-sale-copy"], [data-id="cta-sale-copy"],
  [data-id="hero-rent-lead"], [data-id="owners-rent-copy"],
  [data-id="cta-rent-copy"], [data-id="hero-contact-lead"],
  [data-id="contact-main-text"], [data-id="contact-note-copy"],
  [data-id="archive-lead"], [data-id="single-property-subtitle"],
  [data-id="single-property-cta-copy"]
) {
  color: var(--ls-muted) !important;
  font-size: clamp(17px, 1.5vw, 20px) !important;
  line-height: 1.65 !important;
}

/* Atomic buttons */
body :is(
  [data-id="hero-home-primary"], [data-id="hero-home-secondary"],
  [data-id="hero-sale-button"], [data-id="hero-rent-button"],
  [data-id="featured-home-button"], [data-id="owners-rent-button"],
  [data-id="cta-home-button"], [data-id="cta-sale-button"],
  [data-id="cta-rent-button"], [data-id="single-property-contact"],
  [data-id="property-card-link"], [data-id="rent-long-button"],
  [data-id="rent-seasonal-button"], [data-id="rent-holiday-button"]
) {
  width: max-content !important;
  min-height: 48px !important;
  padding: 13px 25px !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: "Jost", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .11em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}
body :is(
  [data-id="hero-home-primary"], [data-id="hero-sale-button"],
  [data-id="hero-rent-button"], [data-id="owners-rent-button"],
  [data-id="single-property-contact"]
) { background: var(--ls-navy) !important; color: #fff !important; }
body :is(
  [data-id="hero-home-secondary"], [data-id="featured-home-button"],
  [data-id="property-card-link"], [data-id="rent-long-button"],
  [data-id="rent-seasonal-button"], [data-id="rent-holiday-button"]
) { background: transparent !important; color: var(--ls-ink) !important; border-color: var(--ls-border) !important; }
body :is(
  [data-id="cta-home-button"], [data-id="cta-sale-button"], [data-id="cta-rent-button"]
) { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.45) !important; }

/* Atomic header */
[data-id="site-brand-title"], [data-id="site-footer-title"] {
  color: var(--ls-ink) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  line-height: 1.1 !important;
}
[data-id="site-brand-subtitle"], [data-id="site-footer-subtitle"] {
  color: var(--ls-muted) !important;
  font-size: 8.5px !important;
  font-weight: 400 !important;
  letter-spacing: .22em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}
.elementor-element-site-nav {
  width: auto !important;
  flex: 1 1 auto !important;
  flex-wrap: nowrap !important;
}
.elementor-element-site-header-in { flex-wrap: nowrap !important; }
.elementor-element-site-brand {
  width: auto !important;
  flex: 0 0 auto !important;
}
body [data-id^="nav-"] {
  min-width: 0 !important;
  min-height: auto !important;
  padding: 7px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--ls-ink) !important;
  box-shadow: none !important;
  font-family: "Jost", sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .09em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
body [data-id="nav-contact"] { display: none !important; }
body [data-id="nav-talk"] {
  min-height: 44px !important;
  padding: 12px 22px !important;
  background: var(--ls-navy) !important;
  border: 1px solid var(--ls-navy) !important;
  border-radius: 999px !important;
  color: #fff !important;
}

/* Atomic home */
body [data-id="hero-home-title"] {
  max-width: 8ch;
  font-size: clamp(52px, 6vw, 88px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.01 !important;
}
body [data-id="hero-home-lead"] { max-width: 34ch; }
body :is(
  [data-id="service-venta-title"], [data-id="service-larga-title"],
  [data-id="service-temporal-title"], [data-id="service-vacacional-title"]
) { color: #fff !important; font-size: 28px !important; font-weight: 500 !important; line-height: 1.12 !important; }
body :is(
  [data-id="service-venta-copy"], [data-id="service-larga-copy"],
  [data-id="service-temporal-copy"], [data-id="service-vacacional-copy"]
) { color: rgba(255,255,255,.8) !important; font-size: 14px !important; line-height: 1.55 !important; }
body :is(
  [data-id="service-venta-go"], [data-id="service-larga-go"],
  [data-id="service-temporal-go"], [data-id="service-vacacional-go"]
) { color: #fff !important; font-family: "Jost", sans-serif !important; font-size: 12px !important; letter-spacing: .12em !important; text-transform: uppercase !important; }
body :is([data-id="pillar-close-title"], [data-id="pillar-transparent-title"], [data-id="pillar-local-title"]) {
  font-size: 24px !important; font-weight: 500 !important; line-height: 1.2 !important;
}
body :is([data-id="pillar-close-copy"], [data-id="pillar-transparent-copy"], [data-id="pillar-local-copy"]) {
  color: var(--ls-muted) !important; font-size: 15px !important;
}

/* Atomic internal pages */
body :is([data-id="hero-sale-title"], [data-id="hero-rent-title"], [data-id="hero-contact-title"]) {
  max-width: 10ch;
  font-size: clamp(52px, 6.5vw, 92px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.01 !important;
}
body :is(
  [data-id="team-eva-name"], [data-id="team-fabian-name"],
  [data-id="value-market-title"], [data-id="value-attention-title"],
  [data-id="value-communication-title"], [data-id="value-integral-title"],
  [data-id="rent-long-title"], [data-id="rent-seasonal-title"], [data-id="rent-holiday-title"]
) { font-size: 26px !important; font-weight: 500 !important; line-height: 1.16 !important; }
body :is(
  [data-id="team-eva-role"], [data-id="team-fabian-role"],
  [data-id="rent-long-kicker"], [data-id="rent-seasonal-kicker"], [data-id="rent-holiday-kicker"]
) { color: var(--ls-olive) !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: .17em !important; text-transform: uppercase !important; }
body :is(
  [data-id="team-eva-copy"], [data-id="team-fabian-copy"],
  [data-id="value-market-copy"], [data-id="value-attention-copy"],
  [data-id="value-communication-copy"], [data-id="value-integral-copy"],
  [data-id="rent-long-copy"], [data-id="rent-seasonal-copy"], [data-id="rent-holiday-copy"]
) { color: var(--ls-muted) !important; font-size: 15px !important; line-height: 1.65 !important; }
body :is(
  [data-id$="-q"]
) { color: var(--ls-ink) !important; font-size: 18px !important; font-weight: 500 !important; line-height: 1.35 !important; }
body :is(
  [data-id$="-a"]
) { color: var(--ls-muted) !important; font-size: 15px !important; line-height: 1.65 !important; }

/* Atomic property cards and single-property fields */
body [data-id="property-card-operation"] {
  width: max-content; padding: 6px 11px; border-radius: 999px;
  background: var(--ls-bg) !important; color: var(--ls-olive) !important;
  font-size: 10px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important;
}
body [data-id="property-card-location"] { color: var(--ls-muted) !important; font-size: 12px !important; letter-spacing: .08em !important; text-transform: uppercase !important; }
body [data-id="property-card-title"] { font-size: 25px !important; font-weight: 500 !important; line-height: 1.15 !important; }
body :is([data-id="property-card-rooms"], [data-id="property-card-baths"], [data-id="property-card-capacity"]) { color: var(--ls-muted) !important; font-size: 13px !important; }
body [data-id="property-card-price"] { font-family: "Jost", sans-serif !important; font-size: 22px !important; font-weight: 500 !important; }
body [data-id="single-property-title"] { max-width: 13ch; font-size: clamp(48px, 6vw, 82px) !important; font-weight: 500 !important; letter-spacing: -.035em !important; line-height: 1.01 !important; }
body :is([data-id="single-property-rooms"], [data-id="single-property-baths"], [data-id="single-property-capacity"], [data-id="single-property-minimum"]) { font-family: "Jost", sans-serif !important; font-size: 15px !important; font-weight: 500 !important; }
body [data-id="single-property-price-label"] { color: var(--ls-muted) !important; font-size: 11px !important; letter-spacing: .14em !important; text-transform: uppercase !important; }
body [data-id="single-property-price"] { font-family: "Jost", sans-serif !important; font-size: 34px !important; font-weight: 500 !important; }
body :is([data-id$="-features-title"], [data-id$="-services-title"], [data-id$="-distances-title"], [data-id$="-conditions-title"]) { font-size: 20px !important; font-weight: 500 !important; }
body :is([data-id$="-features-value"], [data-id$="-services-value"], [data-id$="-distances-value"], [data-id$="-conditions-value"]) { color: var(--ls-muted) !important; font-size: 15px !important; line-height: 1.7 !important; }

/* Atomic footer */
body :is([data-id="footer-link-sale"], [data-id="footer-link-rent"], [data-id="footer-link-properties"], [data-id="footer-link-contact"]) {
  padding: 0 !important; background: transparent !important; border: 0 !important; color: rgba(255,255,255,.82) !important;
  font-family: "Jost", sans-serif !important; font-size: 11px !important; letter-spacing: .1em !important; text-transform: uppercase !important;
}
body :is([data-id="footer-copyright"], [data-id="footer-legal"]) { color: rgba(255,255,255,.58) !important; font-size: 12px !important; }

@media (max-width: 767px) {
  body [data-id="hero-home-title"],
  body :is([data-id="hero-sale-title"], [data-id="hero-rent-title"], [data-id="hero-contact-title"]),
  body [data-id="single-property-title"] { font-size: clamp(42px, 13vw, 60px) !important; }
  [data-id="site-brand-title"] { font-size: 17px !important; }
  [data-id="site-brand-subtitle"] { font-size: 7px !important; }
  .elementor-element-site-header-in {
    flex-direction: column !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    padding-block: 12px !important;
  }
  .elementor-element-site-brand {
    width: auto !important;
    min-width: 0 !important;
    align-self: center !important;
  }
  .elementor-element-site-nav {
    width: 100% !important;
    flex: 0 0 auto !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    overflow-x: auto !important;
    padding: 3px 0 5px !important;
    scrollbar-width: none;
  }
  .elementor-element-site-nav::-webkit-scrollbar { display: none; }
  body [data-id^="nav-"] { flex: 0 0 auto !important; font-size: 10px !important; }
  body [data-id="nav-talk"] { display: none !important; }
}

html { scroll-behavior: smooth; }
html, body { overflow-x: clip; }
body {
  background: var(--ls-bg) !important;
  color: var(--ls-ink) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif !important;
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body :where(h1, h2, h3, h4, .e-heading-base) {
  font-family: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  color: var(--ls-ink);
  text-wrap: balance;
}

body :where(p, .e-paragraph-base) { text-wrap: pretty; }
body .elementor { --e-global-color-primary: var(--ls-navy); }

/* Shared section geometry */
body :is(
  .elementor-element-hero-home, .elementor-element-philosophy-home,
  .elementor-element-services-home, .elementor-element-pillars-home,
  .elementor-element-featured-home, .elementor-element-cta-home,
  .elementor-element-hero-sale, .elementor-element-intro-sale,
  .elementor-element-team-sale, .elementor-element-values-sale,
  .elementor-element-process-sale, .elementor-element-faq-sale,
  .elementor-element-cta-sale, .elementor-element-hero-rent,
  .elementor-element-modalities-rent, .elementor-element-owners-rent,
  .elementor-element-faq-rent, .elementor-element-cta-rent,
  .elementor-element-hero-contact, .elementor-element-contact-main,
  .elementor-element-contact-note, .elementor-element-archive-hero,
  .elementor-element-archive-catalogue, .elementor-element-single-property-hero,
  .elementor-element-single-property-facts, .elementor-element-single-property-content,
  .elementor-element-single-property-cta
) {
  width: 100% !important;
  padding-inline: var(--ls-gutter) !important;
}

body :is(
  .elementor-element-philosophy-home, .elementor-element-services-home,
  .elementor-element-pillars-home, .elementor-element-featured-home,
  .elementor-element-intro-sale, .elementor-element-team-sale,
  .elementor-element-values-sale, .elementor-element-process-sale,
  .elementor-element-faq-sale, .elementor-element-modalities-rent,
  .elementor-element-owners-rent, .elementor-element-faq-rent,
  .elementor-element-contact-main, .elementor-element-contact-note,
  .elementor-element-archive-catalogue, .elementor-element-single-property-facts,
  .elementor-element-single-property-content
) {
  border-top: 1px solid var(--ls-border);
}

body :is(
  .elementor-element-hero-home-in, .elementor-element-philosophy-home-in,
  .elementor-element-services-home-in, .elementor-element-pillars-home-in,
  .elementor-element-featured-home-in, .elementor-element-cta-home-in,
  .elementor-element-hero-sale-in, .elementor-element-intro-sale-in,
  .elementor-element-team-sale-in, .elementor-element-values-sale-in,
  .elementor-element-process-sale-in, .elementor-element-faq-sale-in,
  .elementor-element-cta-sale-in, .elementor-element-hero-rent-in,
  .elementor-element-modalities-rent-in, .elementor-element-owners-rent-in,
  .elementor-element-faq-rent-in, .elementor-element-cta-rent-in,
  .elementor-element-hero-contact-in, .elementor-element-contact-main-in,
  .elementor-element-contact-note-in, .elementor-element-archive-hero-in,
  .elementor-element-archive-catalogue-in, .elementor-element-single-property-hero-in,
  .elementor-element-single-property-facts-in, .elementor-element-single-property-content-in,
  .elementor-element-single-property-cta-in
) {
  width: 100% !important;
  max-width: var(--ls-wide) !important;
  margin-inline: auto !important;
}

body :is(
  .elementor-element-hero-home-eyebrow, .elementor-element-philosophy-home-eyebrow,
  .elementor-element-services-home-eyebrow, .elementor-element-pillars-home-eyebrow,
  .elementor-element-featured-home-eyebrow, .elementor-element-cta-home-eyebrow,
  .elementor-element-hero-sale-eyebrow, .elementor-element-intro-sale-eyebrow,
  .elementor-element-team-sale-eyebrow, .elementor-element-values-sale-eyebrow,
  .elementor-element-process-sale-eyebrow, .elementor-element-faq-sale-eyebrow,
  .elementor-element-cta-sale-eyebrow, .elementor-element-hero-rent-eyebrow,
  .elementor-element-modalities-rent-eyebrow, .elementor-element-owners-rent-eyebrow,
  .elementor-element-faq-rent-eyebrow, .elementor-element-cta-rent-eyebrow,
  .elementor-element-hero-contact-eyebrow, .elementor-element-contact-main-eyebrow,
  .elementor-element-contact-note-eyebrow, .elementor-element-archive-eyebrow,
  .elementor-element-single-property-operation
) {
  color: var(--ls-olive) !important;
  font-family: "Jost", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .21em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
}

body :is(
  .elementor-element-philosophy-home-title, .elementor-element-services-home-title,
  .elementor-element-pillars-home-title, .elementor-element-featured-home-title,
  .elementor-element-cta-home-title, .elementor-element-intro-sale-title,
  .elementor-element-team-sale-title, .elementor-element-values-sale-title,
  .elementor-element-process-sale-title, .elementor-element-faq-sale-title,
  .elementor-element-cta-sale-title, .elementor-element-modalities-rent-title,
  .elementor-element-owners-rent-title, .elementor-element-faq-rent-title,
  .elementor-element-cta-rent-title, .elementor-element-contact-main-title,
  .elementor-element-contact-note-title, .elementor-element-archive-title,
  .elementor-element-single-property-gallery-title, .elementor-element-single-property-cta-title
) {
  font-size: clamp(34px, 4vw, 56px) !important;
  font-weight: 500 !important;
  letter-spacing: -.025em !important;
  line-height: 1.08 !important;
}

body :is(
  .elementor-element-hero-home-lead, .elementor-element-philosophy-home-copy,
  .elementor-element-philosophy-home-copy-two, .elementor-element-featured-home-copy,
  .elementor-element-cta-home-copy, .elementor-element-hero-sale-lead,
  .elementor-element-intro-sale-copy, .elementor-element-cta-sale-copy,
  .elementor-element-hero-rent-lead, .elementor-element-owners-rent-copy,
  .elementor-element-cta-rent-copy, .elementor-element-hero-contact-lead,
  .elementor-element-contact-main-text, .elementor-element-contact-note-copy,
  .elementor-element-archive-lead, .elementor-element-single-property-subtitle,
  .elementor-element-single-property-cta-copy
) {
  color: var(--ls-muted) !important;
  font-size: clamp(17px, 1.5vw, 20px) !important;
  line-height: 1.65 !important;
}

/* Buttons */
body :is(
  .elementor-element-hero-home-primary, .elementor-element-hero-sale-button,
  .elementor-element-hero-rent-button, .elementor-element-owners-rent-button,
  .elementor-element-hero-home-secondary, .elementor-element-featured-home-button,
  .elementor-element-cta-home-button, .elementor-element-cta-sale-button,
  .elementor-element-cta-rent-button, .elementor-element-single-property-contact,
  .elementor-element-property-card-link
) {
  width: max-content !important;
  min-height: 48px !important;
  padding: 13px 25px !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: "Jost", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
  transition: transform .18s ease, background .18s ease, color .18s ease !important;
}

body :is(
  .elementor-element-hero-home-primary, .elementor-element-hero-sale-button,
  .elementor-element-hero-rent-button, .elementor-element-owners-rent-button,
  .elementor-element-single-property-contact
) { background: var(--ls-navy) !important; color: #fff !important; }

body :is(
  .elementor-element-hero-home-secondary, .elementor-element-featured-home-button,
  .elementor-element-property-card-link
) { background: transparent !important; color: var(--ls-ink) !important; border-color: var(--ls-border) !important; }

body :is(
  .elementor-element-cta-home-button, .elementor-element-cta-sale-button,
  .elementor-element-cta-rent-button
) { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.45) !important; }

body :is(
  .elementor-element-hero-home-primary, .elementor-element-hero-home-secondary,
  .elementor-element-hero-sale-button, .elementor-element-hero-rent-button,
  .elementor-element-featured-home-button, .elementor-element-owners-rent-button,
  .elementor-element-cta-home-button, .elementor-element-cta-sale-button,
  .elementor-element-cta-rent-button, .elementor-element-single-property-contact,
  .elementor-element-property-card-link
):hover { transform: translateY(-2px); }

/* Header */
.elementor-location-header {
  position: sticky !important;
  top: 0;
  z-index: 60;
}
.admin-bar .elementor-location-header { top: 32px; }
.elementor-element-site-header {
  background: rgba(255,255,255,.94) !important;
  border-bottom: 1px solid var(--ls-border) !important;
  backdrop-filter: blur(14px) saturate(1.1);
}
.elementor-element-site-header-in {
  width: 100% !important;
  max-width: 1360px !important;
  min-height: 78px !important;
  margin-inline: auto !important;
  padding: 14px 32px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
}
.elementor-element-site-brand {
  position: relative;
  padding-left: 44px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 1px !important;
  min-width: 300px;
}
.elementor-element-site-brand::before,
.elementor-element-site-footer-brand::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 31px;
  height: 31px;
  transform: translateY(-50%);
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56' fill='none' stroke='%235a6a48' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M29 6L29 50L7 44L7 14Z'/%3E%3Cpath d='M35 6L35 50L57 44L57 14Z'/%3E%3Cpath d='M11 20L26 22M11 27L26 29M11 34L26 36M11 41L26 43'/%3E%3Cpath d='M53 20L38 22M53 27L38 29M53 34L38 36M53 41L38 43'/%3E%3C/svg%3E");
}
.elementor-element-site-brand-title,
.elementor-element-site-footer-title {
  color: var(--ls-ink) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  line-height: 1.1 !important;
}
.elementor-element-site-brand-subtitle,
.elementor-element-site-footer-subtitle {
  color: var(--ls-muted) !important;
  font-size: 8.5px !important;
  font-weight: 400 !important;
  letter-spacing: .22em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}
.elementor-element-site-nav {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 24px !important;
}
body :is(
  .elementor-element-nav-home, .elementor-element-nav-sale,
  .elementor-element-nav-rent, .elementor-element-nav-properties,
  .elementor-element-nav-faq, .elementor-element-nav-contact
) {
  min-height: auto !important;
  padding: 7px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--ls-ink) !important;
  box-shadow: none !important;
  font-family: "Jost", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}
body :is(
  .elementor-element-nav-home, .elementor-element-nav-sale,
  .elementor-element-nav-rent, .elementor-element-nav-properties,
  .elementor-element-nav-faq, .elementor-element-nav-contact
):hover { color: var(--ls-olive) !important; }
.elementor-element-nav-talk {
  min-height: 48px !important;
  padding: 13px 25px !important;
  background: var(--ls-navy) !important;
  border: 1px solid var(--ls-navy) !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-family: "Jost", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

/* Home order */
.elementor-48 { display: flex !important; flex-direction: column !important; }
.elementor-48 > .elementor-element-hero-home { order: 1; }
.elementor-48 > .elementor-element-services-home { order: 2; }
.elementor-48 > .elementor-element-philosophy-home { order: 3; }
.elementor-48 > .elementor-element-pillars-home { order: 4; }
.elementor-48 > .elementor-element-featured-home { order: 5; }
.elementor-48 > .elementor-element-cta-home { order: 6; }

/* Home hero */
.elementor-element-hero-home { padding-block: clamp(64px, 8vw, 116px) !important; }
.elementor-element-hero-home-in {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr) !important;
  grid-template-rows: auto auto auto auto !important;
  align-items: center !important;
  column-gap: clamp(52px, 7vw, 104px) !important;
  row-gap: 22px !important;
}
.elementor-element-hero-home-in::after {
  content: "";
  grid-column: 2;
  grid-row: 1 / 5;
  align-self: stretch;
  min-height: clamp(520px, 62vw, 720px);
  background: center / cover no-repeat url('https://courteous-onyx-mule.178-211-133-102.cpanel.site/wp-content/uploads/2026/07/Entrada-min.webp');
  border: 1px solid var(--ls-border);
  border-radius: var(--ls-radius);
  box-shadow: var(--ls-shadow);
}
.elementor-element-hero-home-eyebrow,
.elementor-element-hero-home-title,
.elementor-element-hero-home-lead,
.elementor-element-hero-home-actions { grid-column: 1; }
.elementor-element-hero-home-title {
  max-width: 8ch;
  font-size: clamp(52px, 6vw, 88px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.01 !important;
}
.elementor-element-hero-home-lead { max-width: 34ch; }
.elementor-element-hero-home-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 8px;
}
.elementor-element-hero-home-signature { display: none !important; }

/* Divisions */
.elementor-element-services-home { padding-block: clamp(72px, 8vw, 108px) !important; }
.elementor-element-services-home-in { gap: 28px !important; }
.elementor-element-services-home-title { max-width: 18ch; }
.elementor-element-services-home-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 22px;
}
body :is(
  .elementor-element-service-venta, .elementor-element-service-larga,
  .elementor-element-service-temporal, .elementor-element-service-vacacional
) {
  position: relative;
  min-height: 310px !important;
  padding: 28px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  border: 0 !important;
  border-radius: var(--ls-radius) !important;
  overflow: hidden;
  transition: transform .28s ease, box-shadow .28s ease;
}
.elementor-element-service-venta { background: var(--ls-mares) !important; }
.elementor-element-service-larga { background: var(--ls-olive) !important; }
.elementor-element-service-temporal { background: var(--ls-coral) !important; }
.elementor-element-service-vacacional { background: var(--ls-navy) !important; }
body :is(
  .elementor-element-service-venta, .elementor-element-service-larga,
  .elementor-element-service-temporal, .elementor-element-service-vacacional
)::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 28px;
  width: 34px;
  height: 34px;
  opacity: .82;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56' fill='none' stroke='currentColor' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M29 6L29 50L7 44L7 14Z'/%3E%3Cpath d='M35 6L35 50L57 44L57 14Z'/%3E%3Cpath d='M11 20L26 22M11 27L26 29M11 34L26 36M11 41L26 43'/%3E%3Cpath d='M53 20L38 22M53 27L38 29M53 34L38 36M53 41L38 43'/%3E%3C/svg%3E");
}
body :is(
  .elementor-element-service-venta, .elementor-element-service-larga,
  .elementor-element-service-temporal, .elementor-element-service-vacacional
):hover { transform: translateY(-5px); box-shadow: var(--ls-shadow); }
body :is(
  .elementor-element-service-venta-title, .elementor-element-service-larga-title,
  .elementor-element-service-temporal-title, .elementor-element-service-vacacional-title
) { font-size: 30px !important; font-weight: 600 !important; color: #fff !important; }
.elementor-element-service-venta-title { color: var(--ls-ink) !important; }
body :is(
  .elementor-element-service-venta-copy, .elementor-element-service-larga-copy,
  .elementor-element-service-temporal-copy, .elementor-element-service-vacacional-copy,
  .elementor-element-service-venta-go, .elementor-element-service-larga-go,
  .elementor-element-service-temporal-go, .elementor-element-service-vacacional-go
) { color: rgba(255,255,255,.78) !important; }
body :is(.elementor-element-service-venta-copy, .elementor-element-service-venta-go) { color: rgba(32,50,61,.72) !important; }
body :is(
  .elementor-element-service-venta-go, .elementor-element-service-larga-go,
  .elementor-element-service-temporal-go, .elementor-element-service-vacacional-go
) { font-size: 12px !important; letter-spacing: .1em !important; text-transform: uppercase !important; }

/* Home philosophy */
.elementor-element-philosophy-home { padding-block: clamp(72px, 8vw, 112px) !important; }
.elementor-element-philosophy-home-in {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto auto !important;
  align-items: center !important;
  column-gap: clamp(52px, 7vw, 100px) !important;
  row-gap: 16px !important;
}
.elementor-element-philosophy-home-in::before {
  content: "";
  grid-column: 1;
  grid-row: 1 / 5;
  align-self: stretch;
  min-height: 620px;
  background: center / cover no-repeat url('https://courteous-onyx-mule.178-211-133-102.cpanel.site/wp-content/uploads/2026/07/Piscina-min.webp');
  border-radius: var(--ls-radius);
  border: 1px solid var(--ls-border);
}
.elementor-element-philosophy-home-eyebrow,
.elementor-element-philosophy-home-title,
.elementor-element-philosophy-home-copy,
.elementor-element-philosophy-home-copy-two { grid-column: 2; }
.elementor-element-philosophy-home-eyebrow { grid-row: 1; }
.elementor-element-philosophy-home-title { grid-row: 2; max-width: 14ch; }
.elementor-element-philosophy-home-copy { grid-row: 3; }
.elementor-element-philosophy-home-copy-two { grid-row: 4; }

/* Pillars */
.elementor-element-pillars-home { padding-block: clamp(58px, 6vw, 82px) !important; }
.elementor-element-pillars-home-in { gap: 30px !important; }
.elementor-element-pillars-home-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(26px, 4vw, 54px) !important;
}
body :is(.elementor-element-pillar-close, .elementor-element-pillar-transparent, .elementor-element-pillar-local) {
  padding: 28px 0 0 !important;
  border-top: 1px solid var(--ls-border) !important;
  background: transparent !important;
  gap: 10px !important;
}
body :is(.elementor-element-pillar-close-title, .elementor-element-pillar-transparent-title, .elementor-element-pillar-local-title) {
  font-size: 24px !important;
  font-weight: 600 !important;
}
body :is(.elementor-element-pillar-close-copy, .elementor-element-pillar-transparent-copy, .elementor-element-pillar-local-copy) {
  color: var(--ls-muted) !important;
  font-size: 15px !important;
}

/* Featured properties */
.elementor-element-featured-home { padding-block: clamp(72px, 8vw, 110px) !important; }
.elementor-element-featured-home-in { gap: 18px !important; }
.elementor-element-property-home-loop { width: 100% !important; margin-top: 26px; }

/* Shared CTA bands */
body :is(.elementor-element-cta-home, .elementor-element-cta-sale, .elementor-element-cta-rent, .elementor-element-single-property-cta) {
  padding-block: clamp(64px, 8vw, 104px) !important;
  background: var(--ls-bg) !important;
}
body :is(.elementor-element-cta-home-in, .elementor-element-cta-sale-in, .elementor-element-cta-rent-in, .elementor-element-single-property-cta-in) {
  position: relative;
  padding: clamp(44px, 7vw, 82px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 18px !important;
  background: var(--ls-navy) !important;
  border-radius: 24px !important;
  color: #fff !important;
  overflow: hidden;
}
body :is(.elementor-element-cta-home-in, .elementor-element-cta-sale-in, .elementor-element-cta-rent-in, .elementor-element-single-property-cta-in)::before {
  content: "";
  width: 46px;
  height: 46px;
  opacity: .72;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56' fill='none' stroke='%23ffffff' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M29 6L29 50L7 44L7 14Z'/%3E%3Cpath d='M35 6L35 50L57 44L57 14Z'/%3E%3Cpath d='M11 20L26 22M11 27L26 29M11 34L26 36M11 41L26 43'/%3E%3Cpath d='M53 20L38 22M53 27L38 29M53 34L38 36M53 41L38 43'/%3E%3C/svg%3E");
}
body :is(.elementor-element-cta-home-title, .elementor-element-cta-sale-title, .elementor-element-cta-rent-title, .elementor-element-single-property-cta-title) { color: #fff !important; max-width: 22ch; }
body :is(.elementor-element-cta-home-copy, .elementor-element-cta-sale-copy, .elementor-element-cta-rent-copy, .elementor-element-single-property-cta-copy) { color: rgba(255,255,255,.72) !important; max-width: 58ch; }

/* Sale and rental heroes */
body :is(.elementor-element-hero-sale, .elementor-element-hero-rent) { padding-block: clamp(64px, 8vw, 112px) !important; }
body :is(.elementor-element-hero-sale-in, .elementor-element-hero-rent-in) {
  display: grid !important;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr) !important;
  grid-template-rows: auto auto auto auto !important;
  align-items: center !important;
  column-gap: clamp(52px, 7vw, 104px) !important;
  row-gap: 22px !important;
}
body :is(.elementor-element-hero-sale-eyebrow, .elementor-element-hero-sale-title, .elementor-element-hero-sale-lead, .elementor-element-hero-sale-button,
         .elementor-element-hero-rent-eyebrow, .elementor-element-hero-rent-title, .elementor-element-hero-rent-lead, .elementor-element-hero-rent-button) { grid-column: 1; }
body :is(.elementor-element-hero-sale-title, .elementor-element-hero-rent-title) {
  max-width: 12ch;
  font-size: clamp(48px, 5vw, 76px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.03 !important;
}
.elementor-element-hero-sale-in::after,
.elementor-element-hero-rent-in::after {
  content: "";
  grid-column: 2;
  grid-row: 1 / 5;
  align-self: stretch;
  min-height: clamp(520px, 56vw, 690px);
  border: 1px solid var(--ls-border);
  border-radius: var(--ls-radius);
  box-shadow: var(--ls-shadow);
}
.elementor-element-hero-sale-in::after { background: center / cover no-repeat url('https://courteous-onyx-mule.178-211-133-102.cpanel.site/wp-content/uploads/2026/07/1_A1A2329.jpg'); }
.elementor-element-hero-rent-in::after { background: center / cover no-repeat url('https://courteous-onyx-mule.178-211-133-102.cpanel.site/wp-content/uploads/2026/07/Villa-Herdain-min-1.jpg'); }

/* Sale */
.elementor-element-intro-sale { padding-block: clamp(48px, 6vw, 74px) !important; }
.elementor-element-intro-sale-in { max-width: 860px !important; text-align: center !important; gap: 14px !important; }
.elementor-element-intro-sale-eyebrow { display: none !important; }
.elementor-element-intro-sale-title { font-size: clamp(24px, 3vw, 36px) !important; line-height: 1.34 !important; }
.elementor-element-team-sale, .elementor-element-values-sale,
.elementor-element-process-sale, .elementor-element-faq-sale { padding-block: clamp(70px, 8vw, 110px) !important; }
.elementor-element-team-sale-in, .elementor-element-values-sale-in,
.elementor-element-process-sale-in, .elementor-element-faq-sale-in { gap: 34px !important; }
.elementor-element-team-sale-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(32px, 5vw, 68px) !important;
}
body :is(.elementor-element-team-fabian, .elementor-element-team-eva) { gap: 12px !important; }
body :is(.elementor-element-team-fabian-photo, .elementor-element-team-eva-photo) {
  position: relative;
  min-height: 620px !important;
  margin-bottom: 16px;
  border: 1px solid var(--ls-border) !important;
  border-radius: var(--ls-radius) !important;
  background: #e7eadf !important;
}
.elementor-element-team-eva-photo { background: #efe8dc !important; }
body :is(.elementor-element-team-fabian-photo, .elementor-element-team-eva-photo)::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 64px;
  height: 56px;
  opacity: .2;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56' fill='none' stroke='%2320323d' stroke-width='2.1'%3E%3Cpath d='M29 6L29 50L7 44L7 14Z'/%3E%3Cpath d='M35 6L35 50L57 44L57 14Z'/%3E%3C/svg%3E");
}
body :is(.elementor-element-team-fabian-name, .elementor-element-team-eva-name) { font-size: 30px !important; font-weight: 600 !important; }
body :is(.elementor-element-team-fabian-role, .elementor-element-team-eva-role) { color: var(--ls-olive) !important; font-size: 11px !important; letter-spacing: .16em !important; text-transform: uppercase !important; }
body :is(.elementor-element-team-fabian-copy, .elementor-element-team-eva-copy) { color: var(--ls-muted) !important; }
.elementor-element-values-sale-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 36px 64px !important;
}
body :is(.elementor-element-value-attention, .elementor-element-value-communication, .elementor-element-value-market, .elementor-element-value-integral) {
  padding: 28px 0 0 !important;
  border-top: 1px solid var(--ls-border) !important;
  background: transparent !important;
  gap: 10px !important;
}
body :is(.elementor-element-value-attention-title, .elementor-element-value-communication-title, .elementor-element-value-market-title, .elementor-element-value-integral-title) { font-size: 24px !important; font-weight: 600 !important; }
body :is(.elementor-element-value-attention-copy, .elementor-element-value-communication-copy, .elementor-element-value-market-copy, .elementor-element-value-integral-copy) { color: var(--ls-muted) !important; }
.elementor-element-process-sale-in {
  display: grid !important;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) !important;
  align-items: start !important;
  gap: clamp(48px, 8vw, 120px) !important;
}
.elementor-element-process-sale-copy {
  padding: 30px 0 !important;
  border-top: 1px solid var(--ls-border);
  border-bottom: 1px solid var(--ls-border);
  color: var(--ls-muted) !important;
  font-size: 19px !important;
  line-height: 2.3 !important;
}

/* FAQ rows */
.elementor-element-faq-sale-in,
.elementor-element-faq-rent-in {
  display: grid !important;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) !important;
  align-items: start !important;
  gap: clamp(48px, 8vw, 120px) !important;
}
.elementor-element-faq-sale-grid,
.elementor-element-faq-rent-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  border-top: 1px solid var(--ls-border);
}
body :is(.elementor-element-faq-price, .elementor-element-faq-volume, .elementor-element-faq-docs, .elementor-element-faq-time,
         .elementor-element-faq-rent-types, .elementor-element-faq-rent-management, .elementor-element-faq-rent-tenants,
         .elementor-element-faq-rent-furniture, .elementor-element-faq-rent-license) {
  padding: 24px 8px !important;
  border-bottom: 1px solid var(--ls-border) !important;
  background: transparent !important;
  gap: 10px !important;
}
body :is(.elementor-element-faq-price-q, .elementor-element-faq-volume-q, .elementor-element-faq-docs-q, .elementor-element-faq-time-q,
         .elementor-element-faq-rent-types-q, .elementor-element-faq-rent-management-q, .elementor-element-faq-rent-tenants-q,
         .elementor-element-faq-rent-furniture-q, .elementor-element-faq-rent-license-q) { font-size: 21px !important; font-weight: 600 !important; }
body :is(.elementor-element-faq-price-a, .elementor-element-faq-volume-a, .elementor-element-faq-docs-a, .elementor-element-faq-time-a,
         .elementor-element-faq-rent-types-a, .elementor-element-faq-rent-management-a, .elementor-element-faq-rent-tenants-a,
         .elementor-element-faq-rent-furniture-a, .elementor-element-faq-rent-license-a) { color: var(--ls-muted) !important; }

/* Rental modalities */
.elementor-element-modalities-rent { padding-block: clamp(72px, 8vw, 112px) !important; }
.elementor-element-modalities-rent-in { gap: 32px !important; }
.elementor-element-modalities-rent-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(72px, 10vw, 132px) !important;
  margin-top: 28px;
}
body :is(.elementor-element-rent-long, .elementor-element-rent-seasonal, .elementor-element-rent-holiday) {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: auto auto auto auto !important;
  align-items: center !important;
  column-gap: clamp(50px, 8vw, 110px) !important;
  row-gap: 16px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
body :is(.elementor-element-rent-long, .elementor-element-rent-holiday) > * { grid-column: 1; }
.elementor-element-rent-seasonal > * { grid-column: 2; }
body :is(.elementor-element-rent-long, .elementor-element-rent-seasonal, .elementor-element-rent-holiday)::after {
  content: "";
  grid-row: 1 / 5;
  min-height: 560px;
  border: 1px solid var(--ls-border);
  border-radius: var(--ls-radius);
  box-shadow: var(--ls-shadow);
}
body :is(.elementor-element-rent-long, .elementor-element-rent-holiday)::after { grid-column: 2; }
.elementor-element-rent-seasonal::after { grid-column: 1; }
.elementor-element-rent-long::after { background: center / cover no-repeat url('https://courteous-onyx-mule.178-211-133-102.cpanel.site/wp-content/uploads/2026/07/DJI_0010-min.jpg'); }
.elementor-element-rent-seasonal::after { background: center / cover no-repeat url('https://courteous-onyx-mule.178-211-133-102.cpanel.site/wp-content/uploads/2026/07/3A1A7977.jpg'); }
.elementor-element-rent-holiday::after { background: center / cover no-repeat url('https://courteous-onyx-mule.178-211-133-102.cpanel.site/wp-content/uploads/2026/07/1-1-scaled-1.jpg'); }
body :is(.elementor-element-rent-long-kicker, .elementor-element-rent-seasonal-kicker, .elementor-element-rent-holiday-kicker) { font-size: 11px !important; letter-spacing: .17em !important; text-transform: uppercase !important; }
.elementor-element-rent-long-kicker { color: var(--ls-olive) !important; }
.elementor-element-rent-seasonal-kicker { color: var(--ls-coral) !important; }
.elementor-element-rent-holiday-kicker { color: var(--ls-navy) !important; }
body :is(.elementor-element-rent-long-title, .elementor-element-rent-seasonal-title, .elementor-element-rent-holiday-title) { font-size: clamp(36px, 4vw, 56px) !important; font-weight: 500 !important; }
body :is(.elementor-element-rent-long-copy, .elementor-element-rent-seasonal-copy, .elementor-element-rent-holiday-copy) { color: var(--ls-muted) !important; font-size: 18px !important; line-height: 1.65 !important; }
body :is(.elementor-element-rent-long-button, .elementor-element-rent-seasonal-button, .elementor-element-rent-holiday-button) {
  width: max-content !important;
  min-height: 48px !important;
  padding: 13px 25px !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 12px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}
.elementor-element-rent-long-button { background: var(--ls-olive) !important; }
.elementor-element-rent-seasonal-button { background: var(--ls-coral) !important; }
.elementor-element-rent-holiday-button { background: var(--ls-navy) !important; }
.elementor-element-owners-rent { padding-block: clamp(70px, 8vw, 110px) !important; }
.elementor-element-owners-rent-in { max-width: 900px !important; align-items: center !important; text-align: center !important; gap: 20px !important; }
.elementor-element-faq-rent { padding-block: clamp(70px, 8vw, 110px) !important; }

/* Contact */
.elementor-element-hero-contact { padding-block: clamp(64px, 8vw, 104px) !important; }
.elementor-element-hero-contact-in { max-width: 720px !important; margin-left: max(0px, calc((100vw - var(--ls-wide)) / 2)) !important; gap: 18px !important; }
.elementor-element-hero-contact-title {
  font-size: clamp(52px, 6vw, 82px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.02 !important;
}
.elementor-element-contact-main { padding-block: 8px clamp(72px, 8vw, 112px) !important; }
.elementor-element-contact-main-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr) !important;
  align-items: start !important;
  gap: clamp(36px, 6vw, 84px) !important;
}
.elementor-element-contact-form-panel {
  order: 1;
  padding: clamp(24px, 3vw, 34px) !important;
  background: var(--ls-surface) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: var(--ls-radius) !important;
  box-shadow: var(--ls-shadow);
}
.elementor-element-contact-main-copy { order: 2; gap: 18px !important; }
.elementor-element-contact-details { margin-top: 16px; padding-top: 20px !important; border-top: 1px solid var(--ls-border); gap: 14px !important; }
.elementor-element-contact-email { color: var(--ls-olive) !important; font-size: 18px !important; }
.elementor-element-contact-hours { color: var(--ls-muted) !important; }
.elementor-element-contact-form-panel .elementor-form-fields-wrapper { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.elementor-element-contact-form-panel .elementor-field-group { width: 100% !important; margin: 0 !important; }
.elementor-element-contact-form-panel :is(.elementor-field-group-field_message, .elementor-field-type-submit) { grid-column: 1 / -1; }
.elementor-element-contact-form-panel :is(input, select, textarea) {
  min-height: 50px !important;
  padding: 13px 15px !important;
  background: var(--ls-surface) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: 12px !important;
  color: var(--ls-ink) !important;
  font: inherit !important;
  box-shadow: none !important;
}
.elementor-element-contact-form-panel textarea { min-height: 148px !important; }
.elementor-element-contact-form-panel :is(input, select, textarea):focus { border-color: var(--ls-olive) !important; box-shadow: 0 0 0 3px rgba(90,106,72,.12) !important; }
.elementor-element-contact-form-panel .elementor-field-label { margin-bottom: 7px !important; color: var(--ls-muted) !important; font-family: "Jost", sans-serif !important; font-size: 11px !important; letter-spacing: .08em !important; text-transform: uppercase !important; }
.elementor-element-contact-form-panel .elementor-button {
  min-height: 49px !important;
  padding: 13px 25px !important;
  background: var(--ls-navy) !important;
  border: 1px solid var(--ls-navy) !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-family: "Jost", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}
.elementor-element-contact-note { padding-block: clamp(52px, 6vw, 82px) !important; }
.elementor-element-contact-note-in { max-width: 860px !important; text-align: center !important; align-items: center !important; gap: 16px !important; }

/* Archive */
.elementor-element-archive-hero { padding-block: clamp(64px, 8vw, 104px) !important; }
.elementor-element-archive-hero-in { max-width: 760px !important; margin-left: max(0px, calc((100vw - var(--ls-wide)) / 2)) !important; gap: 18px !important; }
.elementor-element-archive-title { font-size: clamp(52px, 6vw, 82px) !important; line-height: 1.02 !important; letter-spacing: -.035em !important; }
.elementor-element-archive-catalogue { padding-block: 18px clamp(72px, 8vw, 112px) !important; }
.elementor-element-archive-filter-note { display: none !important; }

/* Property cards */
.elementor-element-property-card {
  position: relative;
  height: 100%;
  overflow: hidden;
  background: var(--ls-surface) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: var(--ls-radius) !important;
  box-shadow: none !important;
  transition: transform .28s ease, box-shadow .28s ease;
}
.elementor-element-property-card:hover { transform: translateY(-5px); box-shadow: var(--ls-shadow) !important; }
.elementor-element-property-card-image { width: 100% !important; aspect-ratio: 4 / 3; overflow: hidden; }
.elementor-element-property-card-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform .5s ease; }
.elementor-element-property-card:hover .elementor-element-property-card-image img { transform: scale(1.025); }
.elementor-element-property-card-body { padding: 20px 22px 24px !important; gap: 10px !important; }
.elementor-element-property-card-operation {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  width: max-content !important;
  padding: 6px 11px !important;
  background: var(--ls-navy) !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.elementor-element-property-card-location { color: var(--ls-muted) !important; font-size: 11px !important; letter-spacing: .1em !important; text-transform: uppercase !important; }
.elementor-element-property-card-title { font-size: 24px !important; font-weight: 600 !important; line-height: 1.2 !important; }
.elementor-element-property-card-facts {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--ls-border);
}
body :is(.elementor-element-property-card-rooms, .elementor-element-property-card-baths, .elementor-element-property-card-capacity) { color: var(--ls-muted) !important; font-size: 13px !important; }
.elementor-element-property-card-price { margin-top: 5px; font-size: 22px !important; font-weight: 600 !important; white-space: pre-line; }
.elementor-element-property-card-link { min-height: auto !important; padding: 7px 0 !important; border: 0 !important; color: var(--ls-olive) !important; }

/* Single property */
.elementor-element-single-property-hero { padding-block: clamp(54px, 7vw, 94px) 38px !important; }
.elementor-element-single-property-hero-in { gap: 18px !important; }
.elementor-element-single-property-title { max-width: 18ch !important; font-size: clamp(50px, 6vw, 84px) !important; font-weight: 500 !important; line-height: 1.02 !important; letter-spacing: -.035em !important; }
.elementor-element-single-property-image { width: 100% !important; margin-top: 26px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 22px; border: 1px solid var(--ls-border); }
.elementor-element-single-property-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.elementor-element-single-property-facts { padding-block: 0 54px !important; border-top: 0 !important; }
.elementor-element-single-property-facts-row {
  padding: 22px 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1px !important;
  background: var(--ls-surface) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: var(--ls-radius) !important;
  overflow: hidden;
}
body :is(.elementor-element-single-property-rooms, .elementor-element-single-property-baths, .elementor-element-single-property-capacity, .elementor-element-single-property-minimum) {
  padding: 10px 22px !important;
  border-right: 1px solid var(--ls-border);
  color: var(--ls-ink) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  text-align: center;
}
.elementor-element-single-property-minimum { border-right: 0; }
.elementor-element-single-property-content { padding-block: clamp(66px, 8vw, 108px) !important; }
.elementor-element-single-property-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, .8fr) !important;
  align-items: start !important;
  gap: clamp(42px, 7vw, 96px) !important;
}
.elementor-element-single-property-main { gap: 34px !important; }
.elementor-element-single-property-post-content { color: var(--ls-muted); font-size: 19px; line-height: 1.7; }
.elementor-element-single-property-gallery-title { margin-top: 12px; font-size: 36px !important; }
.elementor-element-single-property-gallery { width: 100%; overflow: hidden; border-radius: var(--ls-radius); }
.ls-property-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.ls-property-gallery-item {
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border: 1px solid var(--ls-border);
  border-radius: 12px;
  background: #eeeae3;
}
.ls-property-gallery-image {
  width: 100% !important;
  height: 100% !important;
  display: block;
  object-fit: cover;
  transition: transform .35s ease;
}
.ls-property-gallery-item:hover .ls-property-gallery-image { transform: scale(1.025); }
@media (max-width: 1024px) {
  .ls-property-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .ls-property-gallery-grid { grid-template-columns: 1fr; }
}
body :is(.elementor-element-single-property-features, .elementor-element-single-property-services, .elementor-element-single-property-distances) {
  padding: 28px 0 0 !important;
  border-top: 1px solid var(--ls-border) !important;
  gap: 10px !important;
}
body :is(.elementor-element-single-property-features-title, .elementor-element-single-property-services-title, .elementor-element-single-property-distances-title, .elementor-element-single-property-conditions-title) { font-size: 24px !important; font-weight: 600 !important; }
body :is(.elementor-element-single-property-features-value, .elementor-element-single-property-services-value, .elementor-element-single-property-distances-value, .elementor-element-single-property-conditions-value) { color: var(--ls-muted) !important; line-height: 1.7 !important; white-space: pre-line; }
.elementor-element-single-property-sidebar {
  position: sticky;
  top: 118px;
  padding: 30px !important;
  background: var(--ls-surface) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: var(--ls-radius) !important;
  box-shadow: var(--ls-shadow);
  gap: 18px !important;
}
.elementor-element-single-property-price-label { color: var(--ls-muted) !important; font-size: 11px !important; letter-spacing: .12em !important; text-transform: uppercase !important; }
.elementor-element-single-property-price { font-size: 32px !important; font-weight: 600 !important; white-space: pre-line; }
.elementor-element-single-property-conditions { padding-top: 20px !important; border-top: 1px solid var(--ls-border); gap: 10px !important; }

/* Footer */
.elementor-element-site-footer {
  padding-inline: var(--ls-gutter) !important;
  background: var(--ls-bg) !important;
  border-top: 1px solid var(--ls-border) !important;
  color: var(--ls-ink) !important;
}
.elementor-element-site-footer-in {
  width: 100% !important;
  max-width: var(--ls-wide) !important;
  margin-inline: auto !important;
  padding-block: 64px 32px !important;
  gap: 46px !important;
}
.elementor-element-site-footer-top {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.25fr) minmax(0, 1.75fr) !important;
  gap: clamp(48px, 7vw, 110px) !important;
  align-items: start !important;
}
.elementor-element-site-footer-brand { position: relative; padding-left: 44px !important; gap: 4px !important; }
.elementor-element-site-footer-copy { max-width: 38ch; margin-top: 12px; color: var(--ls-muted) !important; }
.elementor-element-site-footer-links {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
}
body :is(.elementor-element-footer-link-sale, .elementor-element-footer-link-rent, .elementor-element-footer-link-properties, .elementor-element-footer-link-contact) {
  color: var(--ls-ink) !important;
  font-family: "Jost", sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
.elementor-element-site-footer-bottom {
  padding-top: 24px !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  gap: 18px !important;
  border-top: 1px solid var(--ls-border);
}
body :is(.elementor-element-footer-copyright, .elementor-element-footer-legal) { color: var(--ls-muted) !important; font-size: 13px !important; }

/* Focus and motion */
body :is(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--ls-olive) !important; outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) {
  .elementor-element-property-card,
  body :is(.elementor-element-service-venta, .elementor-element-service-larga, .elementor-element-service-temporal, .elementor-element-service-vacacional) { transition-duration: .28s; }
}

@media (max-width: 1100px) {
  .elementor-element-site-header-in { min-height: 74px !important; padding-inline: 24px !important; }
  .elementor-element-site-brand { min-width: 250px; }
  .elementor-element-site-nav { gap: 16px !important; }
  body :is(.elementor-element-nav-home, .elementor-element-nav-sale, .elementor-element-nav-rent, .elementor-element-nav-properties, .elementor-element-nav-faq, .elementor-element-nav-contact) { font-size: 11px !important; }
  .elementor-element-services-home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .elementor-element-site-footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 860px) {
  .admin-bar .elementor-location-header { top: 46px; }
  .elementor-element-site-header-in { flex-direction: column !important; align-items: stretch !important; gap: 10px !important; padding-block: 12px !important; }
  .elementor-element-site-brand { min-width: 0; align-self: flex-start; }
  .elementor-element-site-nav {
    width: 100% !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    overflow-x: auto;
    padding: 3px 0 5px;
    scrollbar-width: none;
  }
  .elementor-element-site-nav::-webkit-scrollbar { display: none; }
  .elementor-element-nav-talk { display: none !important; }
  .elementor-element-hero-home-in,
  body :is(.elementor-element-hero-sale-in, .elementor-element-hero-rent-in),
  .elementor-element-philosophy-home-in,
  .elementor-element-process-sale-in,
  .elementor-element-faq-sale-in,
  .elementor-element-faq-rent-in,
  .elementor-element-contact-main-grid,
  .elementor-element-single-property-layout,
  .elementor-element-site-footer-top { grid-template-columns: 1fr !important; }
  .elementor-element-hero-home-in::after,
  .elementor-element-hero-sale-in::after,
  .elementor-element-hero-rent-in::after { grid-column: 1; grid-row: 5; min-height: 520px; margin-top: 20px; }
  .elementor-element-philosophy-home-in::before { grid-column: 1; grid-row: 1; min-height: 500px; margin-bottom: 24px; }
  .elementor-element-philosophy-home-eyebrow,
  .elementor-element-philosophy-home-title,
  .elementor-element-philosophy-home-copy,
  .elementor-element-philosophy-home-copy-two { grid-column: 1; }
  .elementor-element-philosophy-home-eyebrow { grid-row: 2; }
  .elementor-element-philosophy-home-title { grid-row: 3; }
  .elementor-element-philosophy-home-copy { grid-row: 4; }
  .elementor-element-philosophy-home-copy-two { grid-row: 5; }
  .elementor-element-pillars-home-grid,
  .elementor-element-team-sale-grid,
  .elementor-element-values-sale-grid { grid-template-columns: 1fr !important; }
  body :is(.elementor-element-rent-long, .elementor-element-rent-seasonal, .elementor-element-rent-holiday) { grid-template-columns: 1fr !important; }
  body :is(.elementor-element-rent-long, .elementor-element-rent-seasonal, .elementor-element-rent-holiday) > * { grid-column: 1; }
  body :is(.elementor-element-rent-long, .elementor-element-rent-seasonal, .elementor-element-rent-holiday)::after { grid-column: 1; grid-row: 5; min-height: 460px; margin-top: 18px; }
  .elementor-element-contact-form-panel { order: 1; }
  .elementor-element-contact-main-copy { order: 2; }
  .elementor-element-single-property-sidebar { position: static; }
  .elementor-element-site-footer-brand { max-width: 520px; }
}

@media (max-width: 620px) {
  :root { --ls-gutter: 20px; }
  .admin-bar .elementor-location-header { top: 0; }
  .elementor-element-site-brand-title { font-size: 18px !important; }
  .elementor-element-site-brand-subtitle { font-size: 7.5px !important; }
  .elementor-element-site-nav { gap: 16px !important; }
  body :is(.elementor-element-nav-home, .elementor-element-nav-sale, .elementor-element-nav-rent, .elementor-element-nav-properties, .elementor-element-nav-faq, .elementor-element-nav-contact) { font-size: 10.5px !important; white-space: nowrap; }
  .elementor-element-hero-home-title { max-width: 10ch; font-size: clamp(48px, 15vw, 66px) !important; }
  body :is(.elementor-element-hero-sale-title, .elementor-element-hero-rent-title, .elementor-element-hero-contact-title, .elementor-element-archive-title, .elementor-element-single-property-title) { font-size: clamp(44px, 13vw, 62px) !important; }
  .elementor-element-hero-home-in::after,
  .elementor-element-hero-sale-in::after,
  .elementor-element-hero-rent-in::after { min-height: 430px; }
  .elementor-element-services-home-grid { grid-template-columns: 1fr !important; }
  body :is(.elementor-element-service-venta, .elementor-element-service-larga, .elementor-element-service-temporal, .elementor-element-service-vacacional) { min-height: 270px !important; }
  .elementor-element-philosophy-home-in::before { min-height: 420px; }
  body :is(.elementor-element-team-fabian-photo, .elementor-element-team-eva-photo) { min-height: 470px !important; }
  .elementor-element-contact-form-panel .elementor-form-fields-wrapper { grid-template-columns: 1fr; }
  .elementor-element-contact-form-panel .elementor-field-group { grid-column: 1 !important; }
  .elementor-element-single-property-facts-row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body :is(.elementor-element-single-property-rooms, .elementor-element-single-property-baths, .elementor-element-single-property-capacity, .elementor-element-single-property-minimum) { border-bottom: 1px solid var(--ls-border); }
  .elementor-element-single-property-baths,
  .elementor-element-single-property-minimum { border-right: 0; }
  .elementor-element-single-property-capacity,
  .elementor-element-single-property-minimum { border-bottom: 0 !important; }
  .elementor-element-single-property-image { aspect-ratio: 4 / 3; }
  .elementor-element-site-footer-links { grid-template-columns: 1fr 1fr !important; }
  .elementor-element-site-footer-bottom { flex-direction: column !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}/* End custom CSS */