.elementor-8678 .elementor-element.elementor-element-efbff86{--display:flex;}/* Start custom CSS for html, class: .elementor-element-c9d2f11 */:root{
  --cm-gold:#c89a58;
  --cm-gold-light:#e0bc82;
  --cm-white:#f7f5f1;
  --cm-dark:#071016;
  --cm-dark-2:#0c1518;
  --cm-max:1536px;
}

.cm-site{
  position:relative;
  width:100%;
  overflow:hidden;
  background:var(--cm-dark);
  color:var(--cm-white);
  font-family:"Montserrat","Arial",sans-serif;
  scroll-behavior:smooth;
}

.cm-site *{box-sizing:border-box}
.cm-site a{color:inherit}
.cm-site a:focus-visible,
.cm-menu-toggle:focus-visible{outline:1px solid var(--cm-gold);outline-offset:5px}

.cm-progress{
  position:fixed;
  z-index:9999;
  top:0;left:0;
  width:100%;
  height:2px;
  background:rgba(255,255,255,.08);
}
.cm-progress span{
  display:block;
  width:0;
  height:100%;
  background:var(--cm-gold);
  transition:width .08s linear;
}

.cm-hero{
  position:relative;
  min-height:100svh;
  width:100%;
  overflow:hidden;
  isolation:isolate;
  display:flex;
  flex-direction:column;
}

.cm-hero-bg{
  position:absolute;
  z-index:-4;
  inset:-4%;
  background-image:var(--cm-bg-image);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  transform:scale(1.04);
  will-change:transform;
}

.cm-overlay{
  position:absolute;
  z-index:-3;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(3,9,13,.98) 0%,
      rgba(3,9,13,.91) 19%,
      rgba(3,9,13,.62) 36%,
      rgba(3,9,13,.18) 55%,
      rgba(3,9,13,0) 74%),
    linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.08) 52%,rgba(0,0,0,.25));
}

.cm-vignette{
  position:absolute;
  z-index:-2;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse at 72% 52%,transparent 0 42%,rgba(0,0,0,.24) 100%);
}

.cm-header{
  position:relative;
  z-index:10;
  width:min(90%,var(--cm-max));
  margin:0 auto;
  padding:54px 0 0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:40px;
}

.cm-brand{
  display:inline-flex;
  flex-direction:column;
  text-decoration:none;
  min-width:310px;
}

.cm-brand-small{
  font-weight:300;
  font-size:clamp(18px,1.8vw,27px);
  letter-spacing:.26em;
  line-height:1.1;
}

.cm-brand-main{
  color:var(--cm-gold);
  font-family:"Cormorant Garamond","Times New Roman",serif;
  font-size:clamp(54px,5.3vw,78px);
  letter-spacing:.12em;
  line-height:.92;
  margin-top:7px;
}

.cm-brand-line{
  position:relative;
  display:block;
  width:310px;
  height:24px;
  border-top:1px solid rgba(200,154,88,.9);
  margin-top:18px;
  text-align:center;
}

.cm-brand-line:before,.cm-brand-line:after{
  content:"";
  position:absolute;
  top:-1px;
  width:38%;
  border-top:1px solid rgba(200,154,88,.9);
}
.cm-brand-line:before{left:0}.cm-brand-line:after{right:0}
.cm-leaf{
  position:relative;
  top:-14px;
  padding:0 10px;
  color:var(--cm-gold);
  font-size:23px;
}

.cm-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding-top:12px;
}
.cm-nav a{
  position:relative;
  color:rgba(255,255,255,.94);
  text-decoration:none;
  font-size:clamp(14px,1.25vw,19px);
  font-weight:300;
  letter-spacing:.08em;
  padding:0 25px;
  transition:color .25s ease;
}
.cm-nav a + a{border-left:1px solid rgba(200,154,88,.85)}
.cm-nav a:after{
  content:"";
  position:absolute;
  left:25px;right:25px;bottom:-9px;
  height:1px;
  background:var(--cm-gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s ease;
}
.cm-nav a:hover,.cm-nav a.cm-active{color:var(--cm-gold-light)}
.cm-nav a:hover:after,.cm-nav a.cm-active:after{transform:scaleX(1)}

.cm-menu-toggle{
  display:none;
  background:none;
  border:0;
  color:var(--cm-white);
  cursor:pointer;
}

.cm-content{
  position:relative;
  z-index:3;
  width:min(90%,var(--cm-max));
  margin:auto auto 0;
  padding:70px 0 48px;
}

.cm-headline-link,.cm-description,.cm-intro,.cm-location{text-decoration:none}
.cm-headline-link{display:inline-block}
.cm-content h1{
  margin:0;
  max-width:590px;
  font-size:clamp(38px,4.1vw,61px);
  line-height:1.08;
  font-weight:300;
  letter-spacing:.015em;
}
.cm-content h1 span{color:var(--cm-gold)}

.cm-description{
  display:block;
  margin-top:34px;
  max-width:560px;
  font-size:clamp(16px,1.35vw,21px);
  line-height:1.7;
  font-weight:300;
}
.cm-divider{
  width:64px;
  border-top:1px solid var(--cm-gold);
  margin:29px 0 18px;
}
.cm-intro{
  display:block;
  max-width:520px;
  font-size:clamp(15px,1.25vw,19px);
  line-height:1.65;
  font-weight:300;
}
.cm-button{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  min-height:78px;
  min-width:365px;
  margin-top:20px;
  padding:15px 24px 15px 28px;
  border:1px solid var(--cm-gold);
  color:var(--cm-gold)!important;
  text-decoration:none;
  font-size:clamp(18px,1.65vw,25px);
  font-weight:300;
  letter-spacing:.14em;
  transition:background .3s ease,color .3s ease,transform .3s ease;
}
.cm-button i{
  font-style:normal;
  font-size:25px;
  opacity:.7;
  transition:transform .3s ease;
}
.cm-button:hover{
  background:var(--cm-gold);
  color:#101010!important;
  transform:translateY(-3px);
}
.cm-button:hover i{transform:translateX(6px)}

.cm-location{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:44px;
  font-size:clamp(14px,1.15vw,18px);
  font-weight:300;
}
.cm-pin{color:var(--cm-gold);font-size:17px}

.cm-scroll-cue{
  position:absolute;
  z-index:5;
  right:5%;
  bottom:36px;
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  font-size:9px;
  letter-spacing:.25em;
  opacity:.7;
  writing-mode:vertical-rl;
}
.cm-scroll-cue i{
  display:block;
  width:1px;
  height:55px;
  background:var(--cm-gold);
  position:relative;
  overflow:hidden;
}
.cm-scroll-cue i:after{
  content:"";
  position:absolute;
  top:-100%;
  left:0;
  width:100%;
  height:100%;
  background:white;
  animation:cm-scroll-line 2s ease-in-out infinite;
}
@keyframes cm-scroll-line{50%{top:100%}100%{top:100%}}

.cm-reveal{
  opacity:0;
  transform:translateY(25px);
  animation:cm-reveal .9s cubic-bezier(.2,.7,.2,1) forwards;
}
.cm-delay-1{animation-delay:.18s}
.cm-delay-2{animation-delay:.35s}
.cm-delay-3{animation-delay:.52s}
.cm-delay-4{animation-delay:.68s}
@keyframes cm-reveal{to{opacity:1;transform:none}}

.cm-section{
  min-height:72vh;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.cm-section-inner{
  width:min(82%,1100px);
  margin:0 auto;
  display:grid;
  grid-template-columns:120px minmax(0,700px);
  gap:45px;
  align-items:start;
}
.cm-section-number{
  color:var(--cm-gold);
  font-family:"Cormorant Garamond",serif;
  font-size:26px;
  padding-top:10px;
}
.cm-eyebrow{
  display:block;
  color:var(--cm-gold);
  font-size:12px;
  letter-spacing:.32em;
  margin-bottom:25px;
}
.cm-section h2{
  margin:0;
  font-size:clamp(42px,5vw,72px);
  line-height:1.02;
  font-weight:300;
}
.cm-section h2 em{
  color:var(--cm-gold);
  font-family:"Cormorant Garamond",serif;
  font-style:italic;
  font-weight:400;
}
.cm-section p{
  max-width:650px;
  margin:30px 0;
  font-size:18px;
  line-height:1.8;
  font-weight:300;
}
.cm-section-light{background:#f1eee7;color:#111a1c}
.cm-section-dark{background:var(--cm-dark-2)}
.cm-section-contact{
  background:
    linear-gradient(90deg,rgba(7,16,22,.98),rgba(7,16,22,.85)),
    url("../images/casa-madera-bg.jpg") center/cover;
}
.cm-text-link{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:8px;
  font-size:15px;
  letter-spacing:.08em;
}
.cm-text-link span{color:var(--cm-gold);margin-left:12px;transition:margin .25s}
.cm-text-link:hover span{margin-left:20px}
.cm-contact-button{
  display:inline-flex;
  padding:17px 27px;
  border:1px solid var(--cm-gold);
  color:var(--cm-gold)!important;
  text-decoration:none;
  letter-spacing:.12em;
  font-size:14px;
  transition:.3s ease;
}
.cm-contact-button:hover{background:var(--cm-gold);color:#111!important}

@media (max-width:1000px){
  .cm-header{padding-top:35px}
  .cm-nav a{padding:0 14px}
  .cm-content{padding-top:70px}
  .cm-overlay{
    background:
      linear-gradient(90deg,rgba(3,9,13,.97),rgba(3,9,13,.73) 50%,rgba(3,9,13,.28)),
      linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.2));
  }
}

@media (max-width:760px){
  .cm-hero{min-height:100svh}
  .cm-hero-bg{background-position:62% center}
  .cm-header{width:88%;padding-top:26px;display:block}
  .cm-brand{min-width:0}
  .cm-brand-small{font-size:16px}
  .cm-brand-main{font-size:51px}
  .cm-brand-line{width:250px}
  .cm-menu-toggle{
    display:flex;
    position:absolute;
    right:0;top:31px;
    flex-direction:column;
    align-items:flex-end;
    gap:4px;
    padding:8px 0;
  }
  .cm-menu-toggle span{width:27px;height:1px;background:var(--cm-white)}
  .cm-menu-toggle b{font-size:8px;font-weight:300;letter-spacing:.2em;margin-top:3px}
  .cm-nav{
    display:none;
    margin-top:25px;
    padding:18px 0 3px;
    justify-content:flex-start;
    flex-wrap:wrap;
    row-gap:14px;
    border-top:1px solid rgba(200,154,88,.35);
  }
  .cm-nav.cm-open{display:flex}
  .cm-nav a{font-size:12px;padding:0 11px}
  .cm-nav a:first-child{padding-left:0}
  .cm-content{width:88%;padding:70px 0 35px}
  .cm-content h1{font-size:36px}
  .cm-description{font-size:16px}
  .cm-button{min-width:0;width:100%;max-width:340px;min-height:65px;font-size:18px}
  .cm-location{font-size:14px;margin-top:30px}
  .cm-scroll-cue{display:none}
  .cm-overlay{
    background:
      linear-gradient(90deg,rgba(3,9,13,.97) 0%,rgba(3,9,13,.82) 50%,rgba(3,9,13,.35) 100%),
      linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.35));
  }
  .cm-section{min-height:68vh;padding:80px 0}
  .cm-section-inner{width:84%;display:block}
  .cm-section-number{margin-bottom:25px}
  .cm-section h2{font-size:44px}
  .cm-section p{font-size:16px}
}

@media (max-width:420px){
  .cm-content h1{font-size:31px}
  .cm-nav a{padding:0 8px;font-size:11px}
}/* End custom CSS */