.elementor-7 .elementor-element.elementor-element-69530d9{--display:flex;}.elementor-7 .elementor-element.elementor-element-333199f{width:100%;max-width:100%;}.elementor-7 .elementor-element.elementor-element-af63219{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:360px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-7 .elementor-element.elementor-element-f237bcb{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-7 .elementor-element.elementor-element-d776c93{--display:flex;}.elementor-7 .elementor-element.elementor-element-0a36d8e > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-e981a23{--display:flex;}.elementor-7 .elementor-element.elementor-element-7252c6f > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-c834274{--display:flex;}.elementor-7 .elementor-element.elementor-element-9ffb5e6 > .elementor-widget-container{margin:-50px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-9ffb5e6.elementor-element{--align-self:center;}.elementor-7 .elementor-element.elementor-element-1d3571b{--display:flex;--margin-top:-50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-7 .elementor-element.elementor-element-b0f594e > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-40dcfea{--display:flex;}.elementor-7 .elementor-element.elementor-element-3b6e862 > .elementor-widget-container{margin:-4px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-98db269{--display:flex;}.elementor-7 .elementor-element.elementor-element-3be26e3 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-0327846{--display:flex;}.elementor-7 .elementor-element.elementor-element-ece277b > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-0377408{--display:flex;}.elementor-7 .elementor-element.elementor-element-c792291 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-4a532c2{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-062229e{width:100%;max-width:100%;}.elementor-7 .elementor-element.elementor-element-062229e > .elementor-widget-container{margin:50px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-b72d26e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7 .elementor-element.elementor-element-97d68fd{width:100%;max-width:100%;}.elementor-7 .elementor-element.elementor-element-97d68fd > .elementor-widget-container{margin:-10px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-d605606{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7 .elementor-element.elementor-element-c5d0b33{width:100%;max-width:100%;}.elementor-7 .elementor-element.elementor-element-365e386{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7 .elementor-element.elementor-element-1b5247d{width:100%;max-width:100%;}.elementor-7 .elementor-element.elementor-element-bfcabb4{--display:flex;}.elementor-7 .elementor-element.elementor-element-06867d0{width:100%;max-width:100%;}.elementor-7 .elementor-element.elementor-element-b74e1b5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7 .elementor-element.elementor-element-6c9d575{width:100%;max-width:100%;}.elementor-7 .elementor-element.elementor-element-3c7106e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7 .elementor-element.elementor-element-f999ee6{width:100%;max-width:100%;}.elementor-7 .elementor-element.elementor-element-881a98d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:1024px){.elementor-7 .elementor-element.elementor-element-af63219{--grid-auto-flow:row;}.elementor-7 .elementor-element.elementor-element-f237bcb{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-7 .elementor-element.elementor-element-af63219{--content-width:75%;}.elementor-7 .elementor-element.elementor-element-f237bcb{--content-width:100%;}.elementor-7 .elementor-element.elementor-element-c834274{--content-width:100%;}.elementor-7 .elementor-element.elementor-element-d605606{--content-width:100%;}.elementor-7 .elementor-element.elementor-element-365e386{--content-width:100%;}.elementor-7 .elementor-element.elementor-element-bfcabb4{--content-width:100%;}.elementor-7 .elementor-element.elementor-element-881a98d{--content-width:100%;}}@media(max-width:767px){.elementor-7 .elementor-element.elementor-element-af63219{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-7 .elementor-element.elementor-element-f237bcb{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for html, class: .elementor-element-333199f */<style>
  .texto-portada.fixed {
    position: fixed;
    top: 35%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 99;
    text-align: center;
    padding: 2rem;
    background: transparent;
    pointer-events: none;
    transition: opacity 0.4s ease;
    max-width: 100%;
  }

  .texto-portada.fixed h1 {
    font-family: 'Playfair Display', serif;
    font-size: 9vw;
    font-weight: 600;
    letter-spacing: 0.05em;
    margin: 0;
    white-space: nowrap;
    color: black;
  }

  .texto-portada.fixed .subtitulo {
    font-family: 'Montserrat', sans-serif;
    font-size: calc(9vw * 0.13);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-top: 0.8rem;
    color: black;
    white-space: nowrap;
  }

  @media (max-width: 768px) {
    .texto-portada.fixed h1 {
      font-size: 13vw;
    }

    .texto-portada.fixed .subtitulo {
      font-size: calc(13vw * 0.13);
    }
  }

  @media (max-width: 480px) {
    .texto-portada.fixed h1 {
      font-size: 15vw;
    }

    .texto-portada.fixed .subtitulo {
      font-size: calc(15vw * 0.13);
    }
  }
</style>/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-69530d9 */<style>
  /* --- utilidades globales muy suaves --- */
  .ez-wrap{max-width:1200px;margin:0 auto;padding:0 1.25rem}
  .ez-lead{font-size:clamp(1rem,1.05vw,1.125rem);line-height:1.8;color:#444}
  .ez-muted{color:#666}
  .ez-h2{font-family:"Playfair Display",serif;font-weight:600;line-height:1.2;
         font-size:clamp(28px,3.2vw,44px);margin:0 0 .75rem}
  .ez-h3{font-family:"Playfair Display",serif;font-weight:600;line-height:1.25;
         font-size:clamp(22px,2.2vw,28px);margin:2rem 0 .5rem}
  .ez-list{margin:.25rem 0 1rem 1.15rem}
  .ez-list li{margin:.15rem 0}
  .ez-cta{display:inline-block;margin-top:1rem;border:1.5px solid #1a1a1a;
          padding:.8rem 1.4rem;text-decoration:none;letter-spacing:.08em;
          text-transform:uppercase;font-size:.85rem;color:#1a1a1a;transition:.25s}
  .ez-cta:hover{background:#1a1a1a;color:#fff}
  .ez-gap{margin-top:1rem}
  /* imagen opcional */
  .ez-figure{margin:1rem 0 1.25rem}
  .ez-figure img{width:100%;height:auto;display:block}
</style>/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4735cc2 *//* ==============================================
   HERO GALLERY — ESTUDIO ZOE
   ============================================== */

/* CONTENEDOR GENERAL */
.ez-hero-gallery {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1.5rem 3rem;
}

/* 4 COLUMNAS EN DESKTOP: FLEX */
.ez-hero-columns {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
}

/* CADA COLUMNA */
.ez-col {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  flex: 1;
}

/* CADA IMAGEN */
.ez-item {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 3 / 4;
}

.ez-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* OFFSETS DESKTOP */
.ez-col-1 { margin-top: 0rem; }
.ez-col-2 { margin-top: 3rem; }
.ez-col-3 { margin-top: 6rem; }
.ez-col-4 { margin-top: 2rem; }

/* ==============================================
   TABLET
   ============================================== */
@media (max-width: 1024px) {
  .ez-hero-gallery {
    padding-inline: 1.25rem;
  }

  .ez-hero-columns {
    gap: 1rem;
  }

  .ez-col-3 { margin-top: 4rem; }
}

/* ==============================================
   MÓVIL — 2 COLUMNAS EN GRID
   ============================================== */
@media (max-width: 768px) {

  .ez-hero-gallery {
    padding-inline: 1rem;
  }

  /* Cambiamos FLEX → GRID */
  .ez-hero-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 0.75rem;
    row-gap: 1.5rem;
  }

  .ez-col {
    flex: none !important;
    width: auto !important;
  }

  /* offsets móviles */
  .ez-col-1,
  .ez-col-3 {
    margin-top: 0;          /* columna izquierda */
  }

  .ez-col-2,
  .ez-col-4 {
    margin-top: 1.75rem;    /* columna derecha más baja */
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0a36d8e */.section-header {
  text-align: center;
  margin: 60px auto;
  position: relative;
  max-width: 800px;
}

.section-header hr {
  border: none;
  border-top: 1px solid #e0e0e0;
  margin: 0 auto;
  width: 100%;
  height: 1px;
}

.section-header span {
  position: relative;
  top: -14px;
  background: #fff;
  padding: 0 20px;
  color: #999;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-family: 'Playfair Display', serif;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3be26e3 */.section-header {
  text-align: center;
  margin: 60px auto;
  position: relative;
  max-width: 800px;
}

.section-header hr {
  border: none;
  border-top: 1px solid #e0e0e0;
  margin: 0 auto;
  width: 100%;
  height: 1px;
}

.section-header span {
  position: relative;
  top: -14px;
  background: #fff;
  padding: 0 20px;
  color: #999;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-family: 'Playfair Display', serif;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ece277b */.section-header {
  text-align: center;
  margin: 60px auto;
  position: relative;
  max-width: 800px;
}

.section-header hr {
  border: none;
  border-top: 1px solid #e0e0e0;
  margin: 0 auto;
  width: 100%;
  height: 1px;
}

.section-header span {
  position: relative;
  top: -14px;
  background: #fff;
  padding: 0 20px;
  color: #999;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-family: 'Playfair Display', serif;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c792291 */.section-header {
  text-align: center;
  margin: 60px auto;
  position: relative;
  max-width: 800px;
}

.section-header hr {
  border: none;
  border-top: 1px solid #e0e0e0;
  margin: 0 auto;
  width: 100%;
  height: 1px;
}

.section-header span {
  position: relative;
  top: -14px;
  background: #fff;
  padding: 0 20px;
  color: #999;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-family: 'Playfair Display', serif;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-97d68fd */.lucia-secasa-feature {
  background: #f8f8f8;
  padding: 60px 20px;
  font-family: 'Playfair Display', serif;
}

.lucia-secasa-container {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 1000px;
  margin: 0 auto;
  gap: 16px; /* antes 24px */
  flex-wrap: wrap;
}

.lucia-secasa-image img {
  width: 100%;
  max-width: 300px; /* más pequeño para acercar */
  border-radius: 0px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

.lucia-secasa-text {
  max-width: 500px;
  text-align: left;
  padding: 0 10px;
}

.lucia-secasa-quote {
  font-size: 1.4rem;
  font-style: italic;
  margin-bottom: 20px;
  color: #333;
}

.lucia-secasa-link {
  font-size: 1rem;
  font-weight: bold;
  color: #000;
  text-decoration: none;
  border-bottom: 1px solid #000;
  transition: all 0.3s ease;
}

.lucia-secasa-link:hover {
  color: #666;
  border-color: #666;
}

@media (max-width: 768px) {
  .lucia-secasa-container {
    flex-direction: column;
    text-align: center;
  }

  .lucia-secasa-text {
    text-align: center;
    padding: 0;
  }

  .lucia-secasa-image img {
    width: 100%;
    max-width: 100%;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c5d0b33 */.collage-layout {
  background: #f6f2ee;
  padding: 100px 20px;
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cta-bg-images {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.cta-bg-images img {
  position: absolute;
  width: 300px;
  height: auto;
  object-fit: cover;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  /* sin border-radius */
}

/* Estilo collage solapado y desordenado */
.img-1 { top: 5%; left: 5%; transform: rotate(0deg); z-index: 1; }
.img-2 { top: 20%; left: 25%; transform: rotate(0deg); z-index: 2; }
.img-3 { top: 50%; left: 10%; transform: rotate(0deg); z-index: 3; }
.img-4 { top: 40%; left: 40%; transform: rotate(0deg); z-index: 2; }
.img-5 { top: 10%; left: 60%; transform: rotate(2deg); z-index: 1; }
.img-6 { top: 35%; left: 75%; transform: rotate(0deg); z-index: 2; }
.img-7 { top: 60%; left: 60%; transform: rotate(0deg); z-index: 1; }

.cta-text {
  position: relative;
  z-index: 10;
  max-width: 700px;
  text-align: center;
  font-family: 'Playfair Display', serif;
  padding: 40px;
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 20px 40px rgba(0,0,0,0.05);
  /* sin border-radius */
}

.cta-title {
  font-size: 2.8em;
  margin-bottom: 20px;
}

.cta-subtext {
  font-size: 1.1em;
  color: #555;
  margin-bottom: 30px;
}

.cta-button {
  background: #000;
  color: #fff;
  padding: 14px 28px;
  text-decoration: none;
  font-size: 16px;
  transition: background 0.3s ease;
  /* sin border-radius */
}

.cta-button:hover {
  background: #444;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1b5247d */.collage-layout {
  background: #f6f2ee;
  padding: 100px 20px;
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cta-bg-images {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.cta-bg-images img {
  position: absolute;
  width: 300px;
  height: auto;
  object-fit: cover;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  /* sin border-radius */
}

/* Estilo collage solapado y desordenado */
.img-1 { top: 5%; left: 5%; transform: rotate(0deg); z-index: 1; }
.img-2 { top: 20%; left: 25%; transform: rotate(0deg); z-index: 2; }
.img-3 { top: 50%; left: 10%; transform: rotate(0deg); z-index: 3; }
.img-4 { top: 40%; left: 40%; transform: rotate(0deg); z-index: 2; }
.img-5 { top: 10%; left: 60%; transform: rotate(2deg); z-index: 1; }
.img-6 { top: 35%; left: 75%; transform: rotate(0deg); z-index: 2; }
.img-7 { top: 60%; left: 60%; transform: rotate(0deg); z-index: 1; }

.cta-text {
  position: relative;
  z-index: 10;
  max-width: 700px;
  text-align: center;
  font-family: 'Playfair Display', serif;
  padding: 40px;
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 20px 40px rgba(0,0,0,0.05);
  /* sin border-radius */
}

.cta-title {
  font-size: 2.8em;
  margin-bottom: 20px;
}

.cta-subtext {
  font-size: 1.1em;
  color: #555;
  margin-bottom: 30px;
}

.cta-button {
  background: #000;
  color: #fff;
  padding: 14px 28px;
  text-decoration: none;
  font-size: 16px;
  transition: background 0.3s ease;
  /* sin border-radius */
}

.cta-button:hover {
  background: #444;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f999ee6 *//* ===============================
   ESTUDIO ZOE - MIAMI HOME BLOCK
   =============================== */

.ez-miami-home {
  padding: 80px 20px;
  background: #ffffff;
}

.ez-miami-wrap {
  max-width: 850px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 60px;
  align-items: center;
}

.ez-miami-text {
  max-width: 580px;
}

.ez-miami-eyebrow {
  font-size: 12px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #bfa26a;
  margin-bottom: 12px;
}

.ez-miami-title {
  font-family: "Playfair Display", serif;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.15;
  margin-bottom: 16px;
  color: #000;
}

.ez-miami-desc {
  font-size: 16px;
  line-height: 1.6;
  color: #444;
  margin-bottom: 26px;
  max-width: 520px;
}

.ez-miami-btn {
  display: inline-block;
  background: #000;
  color: #fff;
  text-decoration: none;
  padding: 14px 32px;
  border-radius: 50px;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: all .3s ease;
}

.ez-miami-btn:hover {
  background: #bfa26a;
  transform: translateY(-2px);
}

.ez-miami-image img {
  width: 100%;
  height: auto;
  border-radius: px;
  box-shadow: 0 10px 35px rgb/* End custom CSS */