.elementor-366 .elementor-element.elementor-element-536819a{--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-366 .elementor-element.elementor-element-86a1f76{--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-widget-gallery .elementor-gallery-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-gallery .elementor-gallery-item__description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-gallery{--galleries-title-color-normal:var( --e-global-color-primary );--galleries-title-color-hover:var( --e-global-color-secondary );--galleries-pointer-bg-color-hover:var( --e-global-color-accent );--gallery-title-color-active:var( --e-global-color-secondary );--galleries-pointer-bg-color-active:var( --e-global-color-accent );}.elementor-widget-gallery .elementor-gallery-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-366 .elementor-element.elementor-element-4fe672c .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-366 .elementor-element.elementor-element-4fe672c .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-366 .elementor-element.elementor-element-4fe672c{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-366 .elementor-element.elementor-element-8d975fb{--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-366 .elementor-element.elementor-element-9561690 iframe{height:786px;filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-widget-gallery .elementor-gallery-item__title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-gallery .elementor-gallery-item__description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-gallery .elementor-gallery-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}}@media(max-width:767px){.elementor-widget-gallery .elementor-gallery-item__title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-gallery .elementor-gallery-item__description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-gallery .elementor-gallery-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}}/* Start custom CSS for html, class: .elementor-element-356c878 *//* =========================================================
   TERRACORE EXPERIENCE
   MOBILE FIRST
========================================================= */

#terracore-experience{

  --tc-black:#15130f;
  --tc-cream:#eee9df;
  --tc-paper:#e7e1d5;
  --tc-white:#faf8f3;
  --tc-line:rgba(21,19,15,.17);

  --tc-more:"Moret",serif;
  --tc-freight:"Freight Text Pro",Georgia,serif;
  --tc-acumin:"Acumin Pro",Arial,sans-serif;

  width:100%;
  overflow:hidden;

  background:var(--tc-paper);
  color:var(--tc-black);

}


#terracore-experience *,
#terracore-experience *::before,
#terracore-experience *::after{
  box-sizing:border-box;
}


#terracore-experience img,
#terracore-experience video{

  display:block;
  width:100%;

}


#terracore-experience a{

  color:inherit;
  text-decoration:none;

}


.tc3-wrap{

  width:calc(100% - 40px);
  margin:0 auto;

}


/* =========================================================
   LABEL
========================================================= */

.tc3-label{

  display:flex;
  align-items:center;
  gap:15px;

  margin-bottom:45px;

  font-family:var(--tc-acumin);

  font-size:9px;
  font-weight:600;

  text-transform:uppercase;
  letter-spacing:.18em;

}


.tc3-label::before{

  content:"";

  width:25px;
  height:1px;

  background:currentColor;

  opacity:.4;

}


.tc3-label-light{
  color:var(--tc-cream);
}


/* =========================================================
   BUTTON
========================================================= */

.tc3-btn{

  min-height:53px;

  display:flex;
  align-items:center;
  justify-content:center;

  gap:15px;

  padding:0 15px;

  font-family:var(--tc-acumin);

  font-size:9px;
  font-weight:600;

  text-transform:uppercase;
  letter-spacing:.12em;

  transition:
    transform .3s ease,
    background .3s ease;

}


.tc3-btn:hover{
  transform:translateY(-3px);
}


.tc3-btn-light{

  background:var(--tc-white);
  color:var(--tc-black)!important;

}


.tc3-btn-outline{

  border:1px solid rgba(255,255,255,.65);
  color:#fff!important;

}


.tc3-btn-dark{

  background:var(--tc-black);
  color:var(--tc-white)!important;

}


/* =========================================================
   HERO
========================================================= */

.tc3-hero{

  position:relative;

  height:100svh;
  min-height:650px;

  overflow:hidden;

  color:#fff;

}


.tc3-hero-media,
.tc3-hero-media video{

  position:absolute;
  inset:0;

  width:100%;
  height:100%;

}


.tc3-hero-media video{

  object-fit:cover;
  transform:scale(1.03);

}


.tc3-hero-overlay{

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.30),
      rgba(0,0,0,.06) 45%,
      rgba(0,0,0,.68)
    );

}


.tc3-hero-content{

  position:relative;
  z-index:2;

  height:100%;

  padding:100px 20px 45px;

  display:flex;
  flex-direction:column;

}


.tc3-eyebrow{

  font-family:var(--tc-acumin);

  font-size:9px;
  font-weight:600;

  text-transform:uppercase;
  letter-spacing:.2em;

}


.tc3-hero h1{

  margin:auto 0 45px;

  font-family:var(--tc-more);

  font-size:clamp(80px,22vw,125px);

  font-weight:400;

  line-height:.76;

  letter-spacing:-.06em;

}


.tc3-hero h1 em{

  display:block;

  margin-left:16vw;

  font-style:italic;

}


.tc3-hero-intro{

  margin:0 0 28px;

  font-family:var(--tc-freight);

  font-size:18px;

  line-height:1.2;

}


.tc3-hero-actions{

  display:grid;

  grid-template-columns:1fr 1fr;

  gap:8px;

}


/* =========================================================
   INFO
========================================================= */

.tc3-info{

  padding:100px 0 110px;

}


.tc3-info-intro h2{

  margin:0;

  font-family:var(--tc-more);

  font-size:clamp(70px,18vw,110px);

  font-weight:400;

  line-height:.78;

  letter-spacing:-.06em;

}


.tc3-info-intro h2 em{
  font-style:italic;
}


.tc3-info-grid{

  margin-top:80px;

  border-top:1px solid var(--tc-line);

}


.tc3-info-card{

  padding:30px 0;

  border-bottom:1px solid var(--tc-line);

}


.tc3-card-number{

  font-family:var(--tc-acumin);

  font-size:9px;

  opacity:.45;

}


.tc3-info-card h3{

  margin:14px 0 25px;

  font-family:var(--tc-more);

  font-size:38px;

  font-weight:400;

  line-height:.9;

}


.tc3-info-text{

  font-family:var(--tc-freight);

  font-size:17px;

  line-height:1.4;

}


.tc3-info-text p{
  margin:0 0 20px;
}


.tc3-info-text strong{

  font-family:var(--tc-acumin);

  font-size:9px;

  text-transform:uppercase;
  letter-spacing:.1em;

}


.tc3-services{

  display:flex;
  flex-wrap:wrap;
  gap:7px;

}


.tc3-services span{

  padding:9px 11px;

  border:1px solid var(--tc-line);

  border-radius:100px;

  font-family:var(--tc-acumin);

  font-size:8px;

  text-transform:uppercase;

  letter-spacing:.08em;

}


.tc3-info-note{

  margin-top:65px;

}


.tc3-info-note p{

  margin:0 0 12px;

  font-family:var(--tc-freight);

  font-size:22px;

  line-height:1.2;

}


.tc3-info-note strong{

  font-family:var(--tc-more);

  font-size:30px;

  font-weight:400;

  font-style:italic;

}


/* =========================================================
   PHILOSOPHY
========================================================= */

.tc3-philosophy{

  position:relative;

  color:var(--tc-cream);

}


.tc3-philosophy-media{

  height:72vh;
  min-height:500px;

  overflow:hidden;

}


.tc3-philosophy-media img{

  height:115%;

  object-fit:cover;

  transform:scale(1.08);

}


.tc3-philosophy-overlay{

  position:absolute;
  inset:0;

  background:rgba(0,0,0,.55);

}


.tc3-philosophy-content{

  position:absolute;
  z-index:2;

  inset:0;

  display:flex;
  align-items:flex-end;

  padding-bottom:80px;

}


.tc3-philosophy-content h2{

  margin:0;

  max-width:800px;

  font-family:var(--tc-more);

  font-size:clamp(60px,16vw,100px);

  font-weight:400;

  line-height:.83;

  letter-spacing:-.055em;

}


.tc3-philosophy-content h2 em{

  display:block;

  font-style:italic;

}


.tc3-philosophy-copy{

  margin-top:55px;

  max-width:470px;

  font-family:var(--tc-freight);

  font-size:18px;

  line-height:1.4;

}


.tc3-philosophy-copy p{
  margin:0 0 25px;
}


.tc3-philosophy-copy .tc3-large{

  font-size:21px;
  line-height:1.25;

}


.tc3-philosophy-text{

  padding:105px 0 120px;

}


.tc3-philosophy-statement h2{

  margin:0;

  font-family:var(--tc-more);

  font-size:clamp(65px,17vw,105px);

  font-weight:400;

  line-height:.82;

  letter-spacing:-.055em;

}


.tc3-philosophy-statement h2 em{
  font-style:italic;
}


.tc3-philosophy-columns{

  margin-top:70px;

  display:flex;
  flex-direction:column;
  gap:25px;

  font-family:var(--tc-freight);

  font-size:18px;

  line-height:1.4;

}


.tc3-philosophy-columns p{
  margin:0;
}


/* =========================================================
   MENU
========================================================= */

.tc3-menu{
  background:var(--tc-cream);
}


.tc3-menu-image{

  height:62vh;
  min-height:450px;

  overflow:hidden;

}


.tc3-menu-image img{

  height:115%;

  object-fit:cover;

  transform:scale(1.08);

}


.tc3-menu-content{

  padding:95px 0 110px;

}


.tc3-menu-content h2{

  margin:0;

  font-family:var(--tc-more);

  font-size:clamp(65px,17vw,105px);

  font-weight:400;

  line-height:.8;

  letter-spacing:-.055em;

}


.tc3-menu-content h2 em{
  font-style:italic;
}


.tc3-menu-copy{

  margin:50px 0 40px;

  max-width:430px;

  font-family:var(--tc-freight);

  font-size:18px;

  line-height:1.4;

}


.tc3-menu-copy p{
  margin:0 0 20px;
}


/* =========================================================
   CONTERRANEO
========================================================= */

.tc3-conterraneo{

  display:flex;
  flex-direction:column;

}


.tc3-conterraneo-media{

  height:65vh;
  min-height:480px;

  overflow:hidden;

}


.tc3-conterraneo-media img{

  height:115%;

  object-fit:cover;

  transform:scale(1.08);

}


.tc3-conterraneo-content{

  padding:100px 0 115px;

}


.tc3-conterraneo-content h2{

  margin:0;

  font-family:var(--tc-more);

  font-size:clamp(65px,18vw,110px);

  font-weight:400;

  line-height:.78;

  letter-spacing:-.06em;

}


.tc3-conterraneo-content h2 em{

  display:block;
  font-style:italic;

}


.tc3-conterraneo-copy{

  margin-top:60px;

  max-width:460px;

  font-family:var(--tc-freight);

  font-size:18px;

  line-height:1.4;

}


.tc3-conterraneo-copy p{
  margin:0 0 25px;
}


.tc3-conterraneo-copy .tc3-large{

  font-size:22px;
  line-height:1.25;

}


/* =========================================================
   GROUP
========================================================= */

.tc3-group{

  padding:105px 0 120px;

}


.tc3-group-heading h2{

  margin:0;

  font-family:var(--tc-more);

  font-size:clamp(70px,18vw,115px);

  font-weight:400;

  line-height:.77;

  letter-spacing:-.06em;

}


.tc3-group-heading h2 em{
  font-style:italic;
}


.tc3-group-heading > p{

  margin:55px 0 0;

  max-width:420px;

  font-family:var(--tc-freight);

  font-size:18px;

  line-height:1.4;

}


.tc3-group-brands{

  margin-top:80px;

  border-top:1px solid var(--tc-line);

}


.tc3-brand-card{

  display:flex;
  flex-direction:column;

  padding:27px 0;

  border-bottom:1px solid var(--tc-line);

}


.tc3-brand-card > span{

  font-family:var(--tc-acumin);

  font-size:9px;

  opacity:.4;

}


.tc3-brand-card strong{

  margin-top:12px;

  font-family:var(--tc-more);

  font-size:34px;

  font-weight:400;

  line-height:.9;

}


.tc3-brand-card small{

  margin-top:7px;

  font-family:var(--tc-acumin);

  font-size:8px;

  text-transform:uppercase;

  letter-spacing:.13em;

  opacity:.5;

}


.tc3-brand-current strong{
  font-style:italic;
}


.tc3-group-end{

  margin-top:60px;

  font-family:var(--tc-more);

  font-size:30px;

  line-height:.95;

}


.tc3-group-end em{
  font-style:italic;
}


/* =========================================================
   REVEAL
========================================================= */

.tc3-reveal{

  opacity:0;

  transform:translateY(35px);

  transition:
    opacity 1s cubic-bezier(.2,.7,.2,1),
    transform 1s cubic-bezier(.2,.7,.2,1);

}


.tc3-visible{

  opacity:1!important;

  transform:translateY(0)!important;

}


/* =========================================================
   DESKTOP
========================================================= */

@media(min-width:768px){

  .tc3-wrap{
    width:min(1360px,calc(100% - 100px));
  }


  .tc3-hero-content{
    padding:140px 7vw 70px;
  }


  .tc3-hero h1{

    font-size:clamp(120px,14vw,210px);

    margin:auto 0 70px;

  }


  .tc3-hero-intro{
    font-size:20px;
  }


  .tc3-hero-actions{

    display:flex;
    gap:10px;

  }


  .tc3-btn{
    min-width:175px;
  }


  .tc3-scroll{

    position:absolute;

    right:45px;
    bottom:40px;

    display:flex;

    align-items:center;

    gap:15px;

    font-family:var(--tc-acumin);

    font-size:8px;

    text-transform:uppercase;

    letter-spacing:.14em;

  }


  .tc3-scroll span{

    width:55px;
    height:1px;

    background:#fff;

  }


  .tc3-info{

    padding:170px 0 190px;

  }


  .tc3-info-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    margin-top:120px;

  }


  .tc3-info-card{

    padding:40px;

    min-height:370px;

    border-right:1px solid var(--tc-line);

  }


  .tc3-info-card:first-child{
    padding-left:0;
  }


  .tc3-info-card:last-child{
    border-right:0;
  }


  .tc3-info-note{

    margin-top:100px;
    margin-left:33%;
    max-width:600px;

  }


  .tc3-info-note p{
    font-size:28px;
  }


  .tc3-info-note strong{
    font-size:42px;
  }


  .tc3-philosophy-media{

    height:100vh;
    min-height:750px;

  }


  .tc3-philosophy-content{
    padding-bottom:110px;
  }


  .tc3-philosophy-content h2{

    font-size:clamp(100px,11vw,170px);

  }


  .tc3-philosophy-copy{

    margin-left:33%;
    margin-top:70px;

  }


  .tc3-philosophy-text{

    padding:180px 0 220px;

  }


  .tc3-philosophy-statement h2{

    font-size:clamp(100px,12vw,180px);

  }


  .tc3-philosophy-columns{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:70px;

    margin-top:130px;

    margin-left:33%;

  }


  .tc3-menu{

    display:grid;

    grid-template-columns:1fr 1fr;

  }


  .tc3-menu-image{

    height:100vh;
    min-height:750px;

  }


  .tc3-menu-content{

    padding:130px 7vw;

    display:flex;
    align-items:center;

  }


  .tc3-menu-content h2{

    font-size:clamp(90px,9vw,145px);

  }


  .tc3-menu-copy{
    font-size:20px;
  }


  .tc3-conterraneo{

    display:grid;

    grid-template-columns:1fr 1fr;

  }


  .tc3-conterraneo-media{

    height:100vh;
    min-height:750px;

    order:2;

  }


  .tc3-conterraneo-content{

    padding:130px 7vw;

    display:flex;
    align-items:center;

  }


  .tc3-conterraneo-content h2{

    font-size:clamp(90px,10vw,160px);

  }


  .tc3-conterraneo-copy{

    margin-left:25%;
    margin-top:70px;

  }


  .tc3-conterraneo-content .tc3-text-link{
    margin-left:25%;
  }


  .tc3-group{

    padding:180px 0 210px;

  }


  .tc3-group-heading{

    display:grid;

    grid-template-columns:1.2fr .45fr;

    gap:10vw;

    align-items:end;

  }


  .tc3-group-heading h2{

    font-size:clamp(110px,12vw,190px);

  }


  .tc3-group-heading > p{
    margin:0;
  }


  .tc3-group-brands{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    margin-top:140px;

  }


  .tc3-brand-card{

    padding:40px;

    min-height:220px;

    border-right:1px solid var(--tc-line);
    border-bottom:0;

  }


  .tc3-brand-card:first-child{
    padding-left:0;
  }


  .tc3-brand-card:last-child{
    border-right:0;
  }


  .tc3-brand-card strong{
    font-size:40px;
  }


  .tc3-group-end{

    margin-left:66%;

    margin-top:110px;

    font-size:42px;

  }

}/* End custom CSS */