.comments-area a,.page-content a{text-decoration:underline}.alignright{float:right;margin-left:1rem}.alignleft{float:left;margin-right:1rem}.aligncenter{clear:both;display:block;margin-inline:auto}.alignwide{margin-inline:-80px}.alignfull{margin-inline:calc(50% - 50vw);max-width:100vw}.alignfull,.alignfull img{width:100vw}.wp-caption{margin-block-end:1.25rem;max-width:100%}.wp-caption.alignleft{margin:5px 20px 20px 0}.wp-caption.alignright{margin:5px 0 20px 20px}.wp-caption img{display:block;margin-inline:auto}.wp-caption-text{margin:0}.gallery-caption{display:block;font-size:.8125rem;line-height:1.5;margin:0;padding:.75rem}.pagination{display:flex;justify-content:space-between;margin:20px auto}.sticky{display:block;position:relative}.bypostauthor{font-size:inherit}.hide{display:none!important}.post-password-form{margin:50px auto;max-width:500px}.post-password-form p{align-items:flex-end;display:flex;width:100%}.post-password-form [type=submit]{margin-inline-start:3px}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#eee;clip:auto!important;clip-path:none;color:#333;display:block;font-size:1rem;height:auto;left:5px;line-height:normal;padding:12px 24px;text-decoration:none;top:5px;width:auto;z-index:100000}.post .entry-title a{text-decoration:none}.post .wp-post-image{max-height:500px;-o-object-fit:cover;object-fit:cover;width:100%}@media(max-width:991px){.post .wp-post-image{max-height:400px}}@media(max-width:575px){.post .wp-post-image{max-height:300px}}#comments .comment-list{font-size:.9em;list-style:none;margin:0;padding:0}#comments .comment,#comments .pingback{position:relative}#comments .comment .comment-body,#comments .pingback .comment-body{border-block-end:1px solid #ccc;display:flex;flex-direction:column;padding-block-end:30px;padding-block-start:30px;padding-inline-end:0;padding-inline-start:60px}#comments .comment .avatar,#comments .pingback .avatar{border-radius:50%;left:0;margin-inline-end:10px;position:absolute}body.rtl #comments .comment .avatar,body.rtl #comments .pingback .avatar,html[dir=rtl] #comments .comment .avatar,html[dir=rtl] #comments .pingback .avatar{left:auto;right:0}#comments .comment-meta{display:flex;justify-content:space-between;margin-block-end:.9rem}#comments .comment-metadata,#comments .reply{font-size:11px;line-height:1}#comments .children{list-style:none;margin:0;padding-inline-start:30px;position:relative}#comments .children li:last-child{padding-block-end:0}#comments ol.comment-list .children:before{content:"↪";display:inline-block;font-size:1em;font-weight:400;left:0;line-height:100%;position:absolute;top:45px;width:auto}body.rtl #comments ol.comment-list .children:before,html[dir=rtl] #comments ol.comment-list .children:before{content:"↩";left:auto;right:0}@media(min-width:768px){#comments .comment-author,#comments .comment-metadata{line-height:1}}@media(max-width:767px){#comments .comment .comment-body{padding:30px 0}#comments .children{padding-inline-start:20px}#comments .comment .avatar{float:left;position:inherit}body.rtl #comments .comment .avatar,html[dir=rtl] #comments .comment .avatar{float:right}}.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{margin-inline-end:auto;margin-inline-start:auto;width:100%}@media(max-width:575px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{padding-inline-end:10px;padding-inline-start:10px}}@media(min-width:576px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:500px}.site-footer.footer-full-width .footer-inner,.site-header.header-full-width .header-inner{max-width:100%}}@media(min-width:768px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:600px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}@media(min-width:992px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:800px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}@media(min-width:1200px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:1140px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}.site-header+.elementor{min-height:calc(100vh - 320px)}


/* =========================
   TOBIAS FONT FAMILY
   ========================= */

@font-face {
  font-family: 'Tobias';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/Tobias-Thin.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Tobias';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/Tobias-ThinItalic.woff2') format('woff2');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Tobias';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/Tobias-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Tobias';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/Tobias-LightItalic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Tobias';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/Tobias-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Tobias';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/Tobias-RegularItalic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Tobias';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/Tobias-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Tobias';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/Tobias-MediumItalic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Tobias';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/Tobias-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Tobias';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/Tobias-SemiBoldItalic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Tobias';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/Tobias-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Tobias';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/Tobias-BoldItalic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Tobias';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/Tobias-ExtraBold.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Tobias';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/Tobias-ExtraBoldItalic.woff2') format('woff2');
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Tobias';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/Tobias-Heavy.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}


/* =========================
   BV HEADER / PRELOADER
   ========================= */

:root{
  --bvEase: cubic-bezier(.22,.61,.36,1);
  --bvMoveDur: 2600ms; /* mismo tiempo para TODO */
}

/* ===== Estado inicial ===== */
html.bv-loading body { overflow: hidden; }

.bv-header{
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 9999;
  pointer-events: none;

  /* blindaje */
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Fondo separado del contenido */
.bv-header::before{
  content:"";
  position:absolute;
  inset:0;
  background:#1C4238;
  transition: background 2200ms ease;
  z-index:0;
}

.bv-header__inner{
  position: relative;
  z-index: 1;

  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  margin-top: 0;

  transition:
    height var(--bvMoveDur) var(--bvEase),
    padding var(--bvMoveDur) var(--bvEase),
    justify-content var(--bvMoveDur) var(--bvEase),
    margin-top var(--bvMoveDur) var(--bvEase);
}

.bv-brand{
  position: relative;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  pointer-events: none;

  transform-origin: 0 0;
  will-change: transform;

  /* 🔥 FLIP smooth */
  transition: transform var(--bvMoveDur) var(--bvEase);
}

/* SVG (NO animar max-width, evita jumps) */
.bv-logo{
  display: block;
  width: min(560px, 78vw);
  height: auto;
}

/* Blanco garantizado */
.bv-logo .cls-1{ fill:#F9F0EB; }

/* Giro iso */
#bv-iso{
  transform-box: fill-box;
  transform-origin: center;
  animation: bvSpin 2.7s linear infinite;
}
@keyframes bvSpin { to { transform: rotate(360deg); } }

/* cortar giro */
html.bv-spin-stop #bv-iso{
  animation: none !important;
}

/* ===== wordmark reveal ===== */
.bv-reveal-rect{
  transform-box: fill-box;
  transform-origin: 50% 50%;
  transform: scaleX(0);
  will-change: transform;

  transition: transform 1800ms cubic-bezier(.2,.8,.2,1);
}

/* ===== REVEAL ===== */
html.bv-reveal .bv-reveal-rect{
  transform: scaleX(1);
}

/* Fondo se transparenta SIN afectar logo */
html.bv-reveal .bv-header::before{
  background: rgba(28,66,56,0.35);
}

/* ===== LOADED ===== */
html.bv-loaded body { overflow: auto; }

html.bv-loaded .bv-header{
  pointer-events: auto;
}

html.bv-loaded .bv-header::before{
  background: transparent;
}

html.bv-loaded .bv-header__inner{
  height: 70px;
  justify-content: space-between;
  align-items: center;
  padding: 10px 32px;
}

/* Logo final: lo definís por layout (mantener tu 70px) */
html.bv-loaded .bv-logo{
  height: 50px;
  width: auto;
}

/* ===== NAV ===== */
.bv-nav{
  margin-left: auto;
  gap: 18px;
  align-items: center;
  justify-content: flex-end;

  display: flex;              /* siempre presente para no reflow raro */
  opacity: 0;                 /* se muestra via is-visible */
  visibility: hidden;
  pointer-events: none;

  transition: opacity 900ms var(--bvEase);
}

html.bv-loaded .bv-nav{
  /* existe, pero todavía invisible hasta .is-visible */
}

.bv-nav.is-visible{
  opacity: .92;
  visibility: visible;
  pointer-events: auto;
}

/* Botones header */
.bv-nav .contact-button{
  font-size: 10px;
  padding: 5px 12px;
  letter-spacing: 0.25rem;
  white-space: nowrap;
}

/* Responsive: ocultar botones en mobile si querés */
@media (max-width: 900px){
  .bv-nav{ display: none; }
}

/* reduce motion */
@media (prefers-reduced-motion: reduce){
  #bv-iso{ animation:none; }
  .bv-header__inner,.bv-brand,.bv-reveal-rect,.bv-nav{ transition:none; }
}


/* =========================
   HERO IMAGE (tu regla)
   ========================= */

.elementor-6 .elementor-element.elementor-element-f81b41f img{
  height: 100vh;
  width: 100%;
  object-fit: cover;
  transition: height 1400ms var(--bvEase);
  will-change: height;
}

html.bv-loaded
.elementor-6 .elementor-element.elementor-element-f81b41f img{
  height: 50vh;
}

html.bv-loaded
.elementor-6 .elementor-element-70e2a62 .green-section{
	padding: 4vw 8vw;
	min-height: 50vh;
}

html.bv-nav
.elementor-6 .elementor-element.elementor-element-f81b41f img{
  height: 65vh;
}

/* ✅ FIX: el logo debe estar CENTRADO durante la animación (loading + reveal) */
html.bv-loading .bv-brand,
html.bv-reveal  .bv-brand{
  position: absolute;         /* lo sacamos del flujo del flex para centrarlo exacto */
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -50%, 0); /* centrado real */
}

/* cuando estás en reveal querés que suba un poco para que aparezcan letras */
html.bv-reveal .bv-brand{
  transform: translate3d(-50%, calc(-50% - 6vh), 0); /* ajustá -4vh a -8vh */
}

/* ✅ Estado final: vuelve a ser normal en la fila del header */
html.bv-loaded .bv-brand{
  position: relative;
  left: auto;
  top: auto;
  transform: none;            /* el FLIP se encarga del movimiento/escala */
}

.w-half{
	width: 45% !important;
}

.project-slider{
	background-color: #F0F0F0;
}

@font-face {
  font-family: 'Tobias';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/Tobias-HeavyItalic.woff2') format('woff2');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

/* =========================
   WORK SANS FONT FAMILY
   ========================= */

@font-face {
  font-family: 'Work Sans';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/WorkSans-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Work Sans';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/WorkSans-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Work Sans';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/WorkSans-MediumItalic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Work Sans';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/WorkSans-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Work Sans';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/WorkSans-SemiBoldItalic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Work Sans';
  src: url('/wp-content/themes/hello-elementor/assets/fonts/WorkSans-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

.green-section{
	padding: 6vw 8vw;
	background-color: #1C4238;
	display: flex;
	justify-content: start;
	flex-direction: column;
	gap: 20px;
}

.w-50{
	width: 50%;
}

.section-title{
	font-size: 40px;
	font-family: 'Tobias', serif;
	font-weight: 400;
	color: white;
	line-height: 100%;
}

.section-title .golden{
	color: #DFB478;
}

.section-paragraph{
	font-size: 18px;
	font-family: 'Work Sans', serif;
	font-weight: 400;
	color: white;
	line-height: 160%;
}

.contact-button{
	padding: 10px 36px;
	background-color: #DFB478;
	color: #1C4238;
	font-family: 'Work Sans', serif;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
	letter-spacing: 6px;
	margin-top: 14px;
	width: fit-content;
}

.contact-button:hover{
	color: #1C4238;
	background-color: #FFFFFF;
	transition: background-color 500ms ease
}

.gray-section{
	padding: 7vw 8vw;
	background-color: #F0F0F0;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.duals{
	width: 45%
}

.duals .golden{
	line-height: 110%;
}

.duals .duals-paragraph{
	font-size: 18px;
	font-family: 'Work Sans', serif;
	font-weight: 400;
	color: black;
	line-height: 160%;
}

.page-header{
	display: none;
}

.relative{
	position: relative;
}

.value-cards-wrapper {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  pointer-events: auto;
}

.value-card {
  position: relative;
  background-color: #1C4238;
  display: flex;
  flex-direction: column;
  gap: 26px;
  padding: 40px 26px;
  min-width: 35vw;
}


.card-title{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.card-title h5{
	font-size: 40px;
	font-family: 'Tobias', serif;
	font-weight: 400;
	color: #DFB478;
}

.card-icon{
	width: 24px;
	height: 34px;
}

.card-body{
	font-size: 18px;
	font-family: 'Work Sans', serif;
	font-weight: 400;
	color: white;
	line-height: 160%;
}

.highlighted{
	font-size: 18px;
	font-family: 'Work Sans', serif;
	color: white;
	line-height: 160%;
	font-weight: 600;
}

.project-section{
	padding: 3vw 6vw;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 25px;
	justify-content: center;
}

.project-section .section-title{
	color: #1C4238;
}

.project-section .section-paragraph{
	color: #1C4238;
	width: 50%
}

.comunity-section{
	padding: 6vw 8vw;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 50px;
	justify-content: center;
}

.comunity-image{
	width: 50%;
}

.floating-comunity-image{
	position: absolute;
    width: 40vw;
    right: 8vw;
    top: 6vw;
}

.footer{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	width: 100%;
	background-color: #0D3228;
}

.elementor-element-7d48ac8, .elementor-element-88b0304{
	width: 100%;
}

.footer .footer-logo{
	width: 17%;
}

.footer .copyright{
	font-size: 10px;
	font-family: 'Work Sans', serif;
	color: #DFB478;
	line-height: 160%;
	font-weight: 400;
	width: 40%;
}

.socials{
	display: flex;
	align-items: center;
	gap: 5px;
}


/* =========================
   PROJECT SLIDER (infinite)
   ========================= */

/* Wrapper */
.project-slider{
  position: relative;
  width: 100%;
  background-color: #F0F0F0;
  overflow: hidden;
  height: 70vh;
  /* un poco de aire vertical como en la captura */
  padding: 0;
}

/* Track (lo crea el JS) */
.project-slider .project-track{
  height: 100%;
  display: flex;
  align-items: stretch;
  will-change: transform;
  touch-action: pan-y; /* permite scroll vertical + swipe horizontal */
}

/* Cada slide ocupa el ancho completo (JS le pone width exacto) */
.project-slider .slide{
  flex: 0 0 auto;
  position: relative;

  /* Layout 2 columnas */
  display: grid;
  grid-template-columns: 1.4fr 0.9fr; /* imagen grande + panel derecho */
  align-items: stretch;

  background: #F0F0F0;
}

/* Imagen izquierda */
.project-slider .slide > img{
    display: block;
    width: calc(100% - 75px);
    height: 100%;
    min-height: 520px;
    left: 73px;
    object-fit: contain;
    position: relative;
}

/* Panel derecho (blanco) */
.project-slider .project-info{
  background: #F0F0F0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;

  padding: 48px 60px;
  text-align: left;
}

/* Tipografías iguales al sitio */
.project-slider .project-info h3{
  margin: 0;
  font-family: 'Work Sans', serif;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: 0.5px;
  color: #1C4238;
  text-transform: uppercase;
}

.project-slider .project-info p{
  margin: 0;
  font-family: 'Work Sans', serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 160%;
  color: #1C4238;
}

.project-slider .project-info .highlighted-project-info{
  font-weight: 700;
}

/* Botón (ya tenés .contact-button global, acá lo ajustamos a la captura) */
.project-slider .project-info .project-contact{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-top: 14px;
  padding: 10px 36px;

  background: #1C4238;
  color: #FFFFFF;

  font-family: 'Work Sans', serif;
  font-size: 14px;
  letter-spacing: 6px;
  font-weight: 700;
  text-decoration: none;

  width: fit-content;
}

.project-slider .project-info .project-contact:hover{
  opacity: 0.92;
  color: #FFFFFF;
}

/* Flechas */
.project-slider .prev-arrow,
.project-slider .next-arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;

  width: 72px;
  height: 72px;

  display: flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;
  user-select: none;

  /* look: flecha dentro de un área blanca como la captura */
  background: #F0F0F0;
}

.project-slider .prev-arrow{ left: 0; }
.project-slider .next-arrow{ right: 0; }

.project-slider .prev-arrow svg,
.project-slider .next-arrow svg{
  display: block;
}


/* “Dots” abajo, estilo captura */
.project-slider::after{
  content:"";
  position:absolute;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: #9AA7A2;
  opacity: 0; /* lo apagamos, vamos a usar dots reales abajo */
}

/* Dots reales: los crea el JS si querés (te digo cómo abajo).
   Mientras tanto, te dejo estilo por si los agregás en HTML:
   <div class="project-dots"><button class="dot is-active"></button>...</div>
*/
.project-slider .project-dots{
  position: absolute;
  left: 70%;
  bottom: 22px;
  transform: translateX(-50%);
  z-index: 25;

  display: flex;
  gap: 10px;
  align-items: center;
}

.project-slider .project-dots .dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: transparent;
  border: 1px solid #9AA7A2;
  padding: 0;
  cursor: pointer;
  opacity: 0.9;
}

.project-slider .project-dots .dot.is-active{
  background: #9AA7A2;
}

/* Responsive */
@media (max-width: 1024px){
  .project-slider .slide{
    grid-template-columns: 1.2fr 1fr;
  }

  .project-slider .project-info{
    padding: 36px 34px;
  }

  .project-slider .slide > img{
    min-height: 460px;
  }
}

@media (max-width: 820px){
  .project-slider .slide{
    grid-template-columns: 1fr; /* apila */
  }

  .project-slider .project-info{
    border-left: 0;
    border-top: 1px solid rgba(0,0,0,0.06);
    padding: 28px 22px;
  }

  .project-slider .slide > img{
    min-height: 360px;
  }

  .project-slider .prev-arrow,
  .project-slider .next-arrow{
    width: 58px;
    height: 58px;
  }
}

@media (max-width: 480px){
  .project-slider .slide > img{
    min-height: 300px;
  }

  .project-slider .project-info h3{
    font-size: 22px;
  }

  .project-slider .project-info p{
    font-size: 16px;
  }
}

/* ===============================
   CF7 Layout (como la captura)
   =============================== */

/* Grid del form */
.wpcf7 form.wpcf7-form{
  display: grid;
  grid-template-columns: 1fr 1fr;   /* 2 columnas */
  gap: 26px 34px;                  /* row / col gap */
  align-items: start;
}

/* Sacar márgenes/BR raros que mete CF7 */
.wpcf7 form.wpcf7-form p{
  margin: 0 !important;
}
.wpcf7 form.wpcf7-form br{
  display: none !important;
}

/* Inputs */
.wpcf7 form.wpcf7-form input[type="text"],
.wpcf7 form.wpcf7-form input[type="email"],
.wpcf7 form.wpcf7-form input[type="number"],
.wpcf7 form.wpcf7-form textarea{
  width: 100%;
  background: #fff;
  border: 0;
  border-radius: 0;
  outline: none;
  box-shadow: none;

  font-family: 'Work Sans', serif;
  font-size: 16px;
  font-weight: 400;
  color: #1C4238;

  padding: 16px 22px;
}

/* Altura inputs */
.wpcf7 form.wpcf7-form input[type="text"],
.wpcf7 form.wpcf7-form input[type="email"],
.wpcf7 form.wpcf7-form input[type="number"]{
  height: 56px;
}

/* Textarea full width y alta como en captura */
.wpcf7 form.wpcf7-form p:nth-of-type(5){
  grid-column: 1 / -1;
}
.wpcf7 form.wpcf7-form textarea{
  min-height: 260px;
  resize: vertical; /* si querés fijo: poné resize:none */
}

/* Botón centrado */
.wpcf7 form.wpcf7-form p:last-of-type{
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-top: 8px !important;
}

.wpcf7 form.wpcf7-form input.wpcf7-submit{
  /* ya tenés .contact-button, pero lo refuerzo para que se vea igual */
  padding: 10px 36px;
  background-color: #DFB478;
  color: #1C4238;
  font-family: 'Work Sans', serif;
  font-size: 16px;
  font-weight: 700;
  border: none;
  cursor: pointer;

  letter-spacing: 0.35em;
  text-transform: uppercase;
}

/* Spinner alineado */
.wpcf7 form.wpcf7-form .wpcf7-spinner{
  margin-left: 10px;
}

/* Placeholder */
.wpcf7 form.wpcf7-form ::placeholder{
  color: #1C4238;
  opacity: .9;
}

.wpcf7 form.wpcf7-form label{
	width: 100%;
}

.wpcf7-submit{
	border-radius: 0;
}

/* Responsive */
@media (max-width: 900px){
  .wpcf7 form.wpcf7-form{
    grid-template-columns: 1fr; /* 1 columna */
  }
  .wpcf7 form.wpcf7-form p:nth-of-type(5),
  .wpcf7 form.wpcf7-form p:last-of-type{
    grid-column: 1 / -1;
  }
}

/* Nav a la derecha, misma linea del logo */
.bv-nav{
  margin-left: auto;
  gap: 18px;
  align-items: center;
  justify-content: flex-end;
}

/* Botones del nav: usamos tu .contact-button y ajustamos tamaño para header */
.bv-nav .contact-button{
  font-size: 10px;         /* en nav suele quedar mejor más chico */
  padding: 5px 12px;
  letter-spacing: 0.25rem;
  white-space: nowrap;
}

/* Responsive: si querés que en mobile se oculten */
@media (max-width: 900px){
  html.bv-loaded .bv-nav{ display: none; }
}

/* =========================
   HEADER NAV: fade-in controlado por JS
   ========================= */

/* Nav SIEMPRE en layout (en bv-loaded), pero invisible hasta JS */
html.bv-loaded .bv-nav{
  display: flex;               /* mantiene la línea y el espacio */
  gap: 18px;
  align-items: center;
  justify-content: flex-end;
  margin-left: auto;

  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;

  transition: opacity 900ms cubic-bezier(.22,.61,.36,1),
              transform 900ms cubic-bezier(.22,.61,.36,1);
}

/* Cuando JS dice "ya llegó el logo" */
html.bv-loaded .bv-nav.is-visible{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Botones SOLO del header */
html.bv-loaded .bv-nav .contact-button{
  font-size: 10px;
  padding: 5px 12px;
  letter-spacing: 0.25rem;
  white-space: nowrap;
  margin-top: 0;
}

/* Mobile: si querés ocultarlos */
@media (max-width: 900px){height: 115%;
    object-fit: cover;
  html.bv-loaded .bv-nav{ display: none; }
}

.elementor-6 .elementor-element.elementor-element-97713d4 img{
	aspect-ratio: 800 / 713;
	height: 102%;
    object-fit: cover;
}

.elementor-element-97713d4{
	height: 108vh;
    width: 100%;
}

/* Fondo normal del header inner */
.bv-header__inner{
  position: relative;
}

/* Un “fondo” propio del inner para poder animarlo */
.bv-header__inner::after{
  content:"";
  position:absolute;
  inset:0;
  background: transparent;     /* default */
  opacity: 0;
  transition: opacity 400ms ease, background-color 400ms ease;
  z-index: 0;                  /* atrás del contenido */
  pointer-events: none;
}

/* Asegura que logo + nav queden arriba del fondo */
.bv-header__inner > *{
  position: relative;
  z-index: 1;
}

/* ✅ Cuando scrolleás: dorado */
html.bv-scrolled .bv-header__inner::after{
  background: #DFB478;
  opacity: 1;
}


/* ===== NAV ===== */
.bv-nav{
  margin-left: auto;
  gap: 18px;
  align-items: center;
  justify-content: flex-end;

  display: flex;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition: opacity 600ms var(--bvEase);
}

/* SOLO visible cuando hay scroll */
html.bv-scrolled .bv-nav{
  opacity: .95;
  visibility: visible;
  pointer-events: auto;
}

/* Botones header */
.bv-nav .contact-button{
  font-size: 10px;
  padding: 5px 12px;
  letter-spacing: 0.25rem;
  white-space: nowrap;
}

html.bv-loaded .bv-header__inner{
  height: 40px;
  justify-content: space-between;
  align-items: center;
  padding: 5px 32px;
}

/* Logo final (scrolled) */
html.bv-loaded .bv-logo{
  height: 28px;
  width: auto;
}


/* ===== LOADED (sin scroll) ===== */
html.bv-loaded .bv-header__inner{
  height: 70px;              /* tu alto “normal” */
  justify-content: space-between;
  align-items: center;
  padding: 10px 32px;
}

/* Logo grande cuando está loaded pero NO scrolled */
html.bv-loaded .bv-logo{
  height: 50px;
  width: auto;
  transition: height 450ms var(--bvEase);
}

/* ===== SCROLLED ===== */
html.bv-scrolled .bv-header__inner{
  height: 40px;              /* header compacto */
  padding: 5px 32px;         /* top-bottom 5px */
}

/* Logo chico cuando scrolleás */
html.bv-scrolled .bv-logo{
  margin-top: 35px;
  height: 65px;
}

html.bv-scrolled .bv-logo #bv-wordmark{
	opacity: 0;
}


/* NAV: solo visible en scrolled */
.bv-nav{
  margin-left: auto;
  gap: 18px;
  align-items: center;
  justify-content: flex-end;

  display: flex;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 600ms var(--bvEase);
}

html.bv-scrolled .bv-nav{
  opacity: .95;
  visibility: visible;
  pointer-events: auto;
}

/* =========================================================
   FIX: Nav SOLO visible cuando hay scroll (bv-scrolled)
   ========================================================= */

/* aunque JS le ponga is-visible, si NO hay scroll -> oculto 
html.bv-loaded:not(.bv-scrolled) .bv-nav,
html.bv-loaded:not(.bv-scrolled) .bv-nav.is-visible{
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-4px) !important; 
}

/* cuando hay scroll -> visible (no depende de is-visible) 
html.bv-scrolled .bv-nav{
  opacity: .95 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}
*/



/* =========================
   PROJECT SLIDER - DOTS
   ========================= */

/* Asegura que el texto tenga espacio abajo para los dots */
.project-info{
  position: relative;
  padding-bottom: 34px; /* espacio para los dots */
}

/* Contenedor de dots: pegado abajo del bloque de texto */
.project-dots{
  position: absolute;
  left: 0;
  bottom: 0;

  display: flex;
  align-items: center;
  gap: 10px;
}

/* Dot base */
.project-dot{
  width: 12px;
  height: 12px;
  border-radius: 999px;

  border: 1px solid rgba(23,66,56,0.3);
  background: transparent;

  opacity: .35;
  cursor: pointer;
  padding: 0;
  line-height: 0;

  transition: opacity 200ms ease, transform 200ms ease, background-color 200ms ease;
}

.project-dot::hover{
	background: rgba(23,66,56,0.3);
	opacity: 1;
}

/* Dot activo */
.project-dot.is-active{
  background: rgba(23,66,56,0.3);
  opacity: 1;
  transform: scale(1.02);
}


/* =========================
   PROJECT SLIDER (CLEAN)
   ========================= */

.project-slider{
  position: relative;
  width: 100%;
  background: #F0F0F0;
  overflow: hidden;
}

/* track lo crea JS */
.project-slider .project-track{
  display: flex;
  will-change: transform;
  touch-action: pan-y;
}

/* cada slide ocupa 100% ancho (JS setea width) */
.project-slider .slide{
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: 1.35fr 0.85fr;
  align-items: stretch;
  background: #F0F0F0;
}


/* panel info */
.project-slider .project-info{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  padding: 48px 60px;
  background: #F0F0F0;
}

/* typo */
.project-slider .project-info h3{
  margin: 0;
  font-family: 'Work Sans', serif;
  font-size: 26px;
  font-weight: 800;
  color: #1C4238;
  text-transform: uppercase;
}

.project-slider .project-info p{
  margin: 0;
  font-family: 'Work Sans', serif;
  font-size: 18px;
  line-height: 160%;
  color: #1C4238;
}

.project-slider .project-info .highlighted-project-info{
  font-weight: 700;
}

/* botón */
.project-slider .project-info .project-contact{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: 14px;
  padding: 10px 36px;
  background: #1C4238;
  color: #fff;
  letter-spacing: 6px;
  text-decoration: none;
}

/* ===== flechas =====
   Desktop: al centro del slider
*/
.project-slider .prev-arrow,
.project-slider .next-arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F0F0F0;
  cursor: pointer;
  z-index: 10;
  user-select: none;
}
.project-slider .prev-arrow{ left: 0; }
.project-slider .next-arrow{ right: 0; }

/* ===== dots: los inyecta el JS (clase project-dot) ===== */

.project-slider .project-dot{
  width: 12px;
  height: 12px;
  border-radius: 999px;
  border: 1px solid rgba(23,66,56,0.35);
  background: transparent;
  opacity: .55;
  padding: 0;
  cursor: pointer;
}

.project-slider .project-dot.is-active{
  background: rgba(23,66,56,0.35);
  opacity: 1;
}

/* =========================
   MOBILE como la captura
   ========================= */
@media (max-width: 820px){
  .project-slider .slide{
    grid-template-columns: 1fr;
  }

  /* imagen arriba, alto “foto” */
  .project-slider .slide > img{
    height: 44vh;          /* ajustá 40–50 según tu gusto */
    object-fit: cover;
  }

  /* bloque texto abajo (tipo tarjeta) */
  .project-slider .project-info{
    padding: 28px 36px 58px; /* deja espacio para dots abajo */
  }

  /* flechas en el BLOQUE de texto, no en el centro del slider */
  .project-slider .prev-arrow,
  .project-slider .next-arrow{
    top: auto;
    transform: none;
	bottom: 143px;          /* altura aproximada como en captura */
    width: 58px;
    height: 58px;
    background: transparent; /* en captura se ven sin caja */
  }
  .project-slider .prev-arrow{ left: 10px; }
  .project-slider .next-arrow{ right: 10px; }

  /* dots centrados abajo del “card” */
  .project-slider .project-dots{
    left: 50%;
    transform: translateX(-50%);
    bottom: 18px;
  }
}

#bvMobileMenu{
	display: none;
}
@media (max-width: 767px){
	html{
		overflow-x: hidden;
	}
	
	#bvMobileMenu{
		display: flex;
	}
	
	.green-section{
		min-height: unset !important;
    	padding-top: 8vh !important;
    	padding-bottom: 8vh !important;
	}
	
	.elementor-6 .elementor-element-70e2a62 .green-section div{
		width: 100% !important;
	}
	
	.section-title{
		font-size: 24px;
	}
	
	.section-paragraph{
		font-size: 14px;
	}
	
	.contact-button{
		font-size: 12px;
	}
	
	.gray-section{
		flex-direction: column;
		padding-top: 8vh !important;
    	padding-bottom: 8vh !important;
	}
	
	.gray-section .duals{
		width: 100%;
	}
	
	.gray-section .duals .section-title .golden{
		font-size: 18px !important;
	}
	
	.gray-section .duals .duals-paragraph{
		font-size: 14px;
	}
	
	.elementor-6 .elementor-element.elementor-element-d0c670b{
		padding: 0 !important;
	}
	
	.elementor-6 .elementor-element.elementor-element-97713d4.elementor-element{
		height: fit-content;
	}
	
	.elementor-6 .elementor-element.elementor-element-97713d4 img{
		aspect-ratio: 16 / 9;
		height: 30vh;
		width: 100%;
	}
	
	.value-cards-wrapper{
		position: relative;
		padding: 5vw 8vw;
		gap: 20px;
		padding-bottom: 8vh;
	}
	
	.value-cards-wrapper .value-card .card-title h5{
		font-size: 24px;
	}
	
	.value-cards-wrapper .value-card .card-title img{
		width: 20px;
	}

	.value-cards-wrapper .value-card .card-body, .highlighted{
		font-size: 14px;
	}
	
	.elementor-element-5075069 .green-section{
		flex-direction: column-reverse !important;
		padding: 0 !important;
	}
	
	.elementor-element-5075069 .green-section .text-leadership{
		padding: 0 8vw;
		padding-bottom: 8vh;
	}
	
	.elementor-element-5075069 .green-section .w-half{
		width: 100% !important;
	}
	
	.elementor-element-5075069 .green-section .w-half .carline{
		width: 100% !important;
		padding-right: 0 !important;
		height: 30vh !important;
		overflow: hidden;
	}
	
	.elementor-element-5075069 .green-section .w-half .carline img{
		width: 63vw;
	}
	
	.elementor-element-5075069 .green-section .w-half .carline .section-title{
		font-size: 30px;
	}
	
	.project-section .section-paragraph{
		width: 100%;
	}
	
	.project-slider{
		background: unset;
	}
	
	.project-slider .prev-arrow svg, .project-slider .next-arrow svg{
		width: 10px;
	}
	
	.project-slider .slide{
		background: unset;
        place-items: center;
		align-content: start;
	}
	
	.project-slider .slide img{
		width: 90%;
		left: 0;
		height: 40vh;
	}
	
	.project-slider .project-info{
		width: 90%;
	}
	
	.project-slider .project-info h3{
		font-size: 18px;
	}
	
	.project-slider .project-info p{
		font-size: 14px;
	}
	
	.project-slider .project-info .project-contact{
		font-size: 12px;
	}
	
	.project-slider .project-dots{
		background: white;
		width: 100%;
		padding-top: 15px;
        padding-bottom: 10px;
        bottom: 0px;
		justify-content: center;
	}
	
	.comunity-section{
		gap: 10px;
    	padding-bottom: 10vh;
	}
	
	.comunity-section .comunity-image{
		width: 100%;
	}
	
	.comunity-section .floating-comunity-image{
		width: 100%;
		position: relative;
		right: 0;
		top: 2vw;
	}
	
	.contact-info{
		padding-bottom: 5vh !important;
	    padding-top: 8vh !important;
	}
	
	.contact-info .section-paragraph{
		width: 100% !important;
	}
	
	.wpcf7 form.wpcf7-form input[type="text"], .wpcf7 form.wpcf7-form input[type="email"], .wpcf7 form.wpcf7-form input[type="number"]{
		height: 40px;
	}
	
	.wpcf7 form.wpcf7-form textarea{
		max-height: 110px;
	    min-height: unset;
	}
	
	.wpcf7 form.wpcf7-form input.wpcf7-submit{
		font-size: 12px;
	}
	
	.elementor-element-88b0304 .green-section{
		padding-top: 5vh !important;
    	padding-bottom: 12vh !important;
	}
	
	.footer .copyright{
		position: absolute;
		width: 90%;
		text-align: center;
		bottom: 3vh;
	}
	
	html.bv-loaded .bv-logo{
		height: 65px;
		margin-top: 35px;
		left: -3vw;
		position: relative;
	}
	
	html.bv-loaded .bv-logo #bv-wordmark{
		opacity: 0;
	}
}

#site-footer{
	display: none;
}

/* =========================
   MOBILE HAMBURGER (FULLSCREEN)
   ========================= */

.bv-burger{
  display: none;
  appearance: none;
  border: 0;
  background: transparent;
  padding: 10px;
  margin-left: auto;
  cursor: pointer;
  z-index: 10001; /* arriba del overlay */
}

.bv-burger span{
  display: block;
  width: 26px;
  height: 3px;
  background: #1C4238;
  margin: 2px 0;
  transition: transform 250ms ease, opacity 250ms ease;
}

/* SOLO MOBILE */
@media (max-width: 800px){

  /* Mostrar botón burger */
  .bv-burger{ display: inline-flex; flex-direction: column; justify-content: center; border-radius: 0; background-color: #DFB478; }

  /* Tu regla actual oculta .bv-nav en mobile. La anulamos. */
  .bv-nav{ display: none !important; }

	
  /* Cuando está abierto, el NAV se convierte en overlay */
  html.bv-menu-open .bv-nav{
    display: flex !important;
    position: fixed;
    inset: 0;
    background: #DFB478;
    z-index: 10000;

    flex-direction: column;
    align-items: center;
    justify-content: flex-start;

    padding: 0 24px;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  /* Logo dentro del overlay: centrado horizontal y “arriba” vertical */
  html.bv-menu-open .bv-brand{
    position: fixed;
    top: 10vh;           /* ajustá 8–14vh según tu captura */
    left: 50%;
    transform: translateX(-50%);
    z-index: 10001;
    pointer-events: none;
  }
	
	html.bv-menu-open .bv-brand .bv-logo{
		left: 0;
	}
	
	html.bv-menu-open .bv-brand .bv-logo #bv-wordmark{
		opacity: 1;
	}

  /* Ocultar wordmark si querés solo isologo (opcional) */
  /* html.bv-menu-open .bv-logo #bv-wordmark{ opacity: 0; } */

  /* Espacio para que los links queden debajo del logo */
  html.bv-menu-open .bv-nav{
    padding-top: 28vh;   /* ajustá para que empiece debajo del logo */
    gap: 18px;
  }

  /* Botones del overlay: estilo “grande” */
  html.bv-menu-open .bv-nav .contact-button{
    background: transparent;
    color: #1C4238;
    border: 2px solid rgba(28,66,56,0.45);
    padding: 14px 22px;
    width: min(520px, 86vw);
    text-align: center;
    margin-top: 0;
    letter-spacing: 0.35em;
  }

  html.bv-menu-open .bv-nav .contact-button:hover{
    background: rgba(255,255,255,0.35);
    color: #1C4238;
  }

  /* Evita scroll del body cuando el menú está abierto */
  html.bv-menu-open,
  html.bv-menu-open body{
    overflow: hidden !important;
  }

  /* Animación “X” para el burger cuando abre */
  html.bv-menu-open .bv-burger span:nth-child(1){
	  transform: translateY(5.5px) rotate(45deg);
  }
  html.bv-menu-open .bv-burger span:nth-child(2){
    opacity: 0;
  }
  html.bv-menu-open .bv-burger span:nth-child(3){
    transform: translateY(-9px) rotate(-45deg);
  }
	
	.bv-burger{
		opacity: 0
	}
	
	html.bv-loaded .bv-burger{
		display: flex;

		opacity: 0;
		transform: translateY(-4px);
		pointer-events: none;

		transition: opacity 900ms cubic-bezier(.22,.61,.36,1),
			transform 900ms cubic-bezier(.22,.61,.36,1);
	}

	/* Cuando JS dice "ya llegó el logo" */
	html.bv-loaded .bv-burger.is-visible{
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
		background-color: #DFB478;
	}
	
	.project-slider .project-media{
		margin-left: 0;
	}
	
	.project-slider > .project-dots{
		bottom: 0;
		left: 50%;
	}
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .bv-burger span{ transition: none; }
}

/* Contenedor con relación 606x527 */
.project-slider .project-media{
	aspect-ratio: 535 / 527 !important;
    /*width: 47vw;*/
    margin-left: 120px;
    height: 100%;
    overflow: hidden;
    position: relative;
}

/* Imagen cubre y ocupa 100% del contenedor */
.project-slider .project-media > img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.wpcf7 form.sent .wpcf7-response-output, .wpcf7 form .wpcf7-response-output{
    border: unset;
    width: 100%;
    text-align: center;
    color: white;
    margin-left: 54%;
}

/* =========================
   PROJECT SLIDER - FIXED DOTS
   ========================= */

.project-slider{
  position: relative;
}

/* Contenedor fijo */
.project-slider > .project-dots{
  position: absolute;
  bottom: 28px;
  left: calc(60% + 60px); /* alineado al panel derecho */
  z-index: 30;

  display: flex;
  gap: 10px;
}

/* Dot base */
.project-dot{
  width: 11px;
  height: 11px;
  border-radius: 999px;

  border: 1px solid rgba(23,66,56,0.35);
  background: transparent;

  opacity: .35;
  cursor: pointer;
  padding: 0;

  transition: opacity 250ms ease, background 250ms ease;
}

.project-dot:hover{
  opacity: .8;
}

.project-dot.is-active{
  background: rgba(23,66,56,0.4);
  opacity: 1;
}


@media (max-width: 800px){
	.project-slider .project-media{
		margin-left: 0;
	}
	
	.project-slider > .project-dots{
		bottom: 0;
		left: 50%;
	}
}