@charset "UTF-8";
@font-face {
  font-family: 'AkuKamu';
  src: url('../../assets/fonts/AkuKamu.otf');
}

@font-face {
  font-family: 'Mohave';
  src: url('../../assets/fonts/Mohave-VariableFont_wght.ttf');
  font-display: swap;
}

@font-face {
  font-family: 'Outfit';
  src: url('../../assets/fonts/Outfit-VariableFont_wght.ttf');
  font-display: swap;
}
/* Generales */
*{margin:0;box-sizing:border-box;text-decoration:none;scroll-behavior:smooth}
:root{--Fuente-Titulos:"Mohave",sans-serif;--Fuente-Parrafos:"Outfit",sans-serif;--FS-h0:clamp(2.54rem,2.54vmin + 4.236rem,6.854rem);--FS-h1:clamp(1.57rem,1.57vmin + 2.618rem,4.236rem);--FS-h2:clamp(0.97rem,0.97vmin + 1.618rem,2.618rem);--FS-h3:clamp(0.618rem,0.618vmin + 1rem,1.618rem);--FS-p:clamp(0.371rem,0.371vmin + 0.618rem,1rem);--FS-s:clamp(0.23rem,0.23vmin + 0.382rem,0.618rem);--ColorFondo:#0A0908;--ColorPrincipal:#fffbe8;--ColorSecundario:#C6AC8F;--BrigthnessFondo:0.5;--GrosorLineas:0.2rem}
html{background-color:var(--ColorFondo);scrollbar-width:thin;scrollbar-color:var(--ColorPrincipal) var(--ColorFondo);scrollbar-gutter: stable; cursor:crosshair;
scroll-snap-type: y proximity;}

html, body {
  overflow-y: visible;
	overflow-x: clip;
}

#Inicio__Content {
	height: fit-content;
	width: 100%;
}

article{width:100%;height:fit-content;position:relative;display: flex;flex-direction: column;  background-color:var(--ColorFondo)}
button{cursor:pointer;outline:none;border:none;box-shadow:none}
/* Animaciones */
.Anim__Element{opacity:0;transform:translateY(20%);transition:opacity .8s ease,transform .6s ease}.Anim__Element.visible{opacity:1;transform:translateY(0)}
/* Preloader */
/* Preloader: fondo negro que cubre toda la pantalla */
#Inicio__Preloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--ColorFondo);
	display: flex;
	align-items: center;
	visibility: visible;
	justify-content: center;
	z-index: 9999;
	opacity: 1;
  pointer-events: none;
	transition: all 0.8s ease-out;
}
/* Clase para iniciar el fade-out del preloader */
#Inicio__Preloader.Hide {
	visibility: hidden;
	opacity: 0;
}
/* Estilos para el texto del preloader */
#Inicio__PreloaderText {
width: 10vw;
min-width: 100px;
	opacity: 0;
	transform: translateY(50%);
	transition: opacity 1.2s ease, transform 1.2s ease;
	transition-delay: 0.5s, 0s;
}
/* Mostrar el texto deslizando desde abajo */
#Inicio__PreloaderText.Show {
	opacity: 1;
	transform: translateY(0);
}
/* Ocultar el texto suavemente */
#Inicio__PreloaderText.Hide {
	opacity: 0;
	transform: translateY(0);
}

					/* --ESTILOS DEL POSTLOADER-- */

/* Estilos para el overlay negro */
#Inicio__Postloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: black;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s;
	z-index: 9999;
}
	/* Clase que activa el fade-in */
#Inicio__Postloader.Active {
	opacity: 1;
	visibility: visible;
}
/* --ESTILOS DE LA BARRA DE NAVEGACIÓN-- */
/* Header/Nav */
/* ===============================
   MOBILE FIRST (default: <= 480px)
   Smartphones (portrait)
=================================== */
.Header__Container{background:var(--ColorFondo);position:fixed;display:flex;align-items:center;justify-content:space-between;width:100%;height:4rem;padding:0 3%;top:0;left:0;z-index:1000;transition:all .3s ease}
.Header__Container.Hidden{transform:translateY(-100%)}
.Header__LogoContainer{width:4rem;margin-right:20px; display:flex;align-items:center;justify-content:center;z-index:1000;}
.Header__Logo{width:2.5rem;height:auto;display:inline-block;transform:scale(1);transition:transform .2s ease-in-out}
.Header__LogoContainer:hover .Header__Logo{transform:scale(1.05)}
.Header__MenuDesplegable{height:22px;display:block;position:relative;z-index:1000;margin-right:.8rem}
.Header__MenuDesplegable img{position:relative;height:100%;top:50%;-ms-transform:translateY(-50%);transform: translateY(-50%)}
#Header__MenuCheckbox{display:none}
#Header__MenuCheckbox:checked ~ .Nav__Container{top:0;transform:translateY(0);transition:all .3s ease}
.Header__ContactButton{position:relative;display:none;color:var(--ColorPrincipal);font-family:var(--Fuente-Parrafos);font-size:var(--FS-p);letter-spacing:.02rem;text-decoration:none;padding:.8rem 1.5rem;box-shadow:0 0 0 0 var(--ColorPrincipal) inset,var(--ColorSecundario) 0 0 0 2px;border-radius:1rem;overflow:hidden;transition:all .4s ease}
.Header__ContactButton::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ColorPrincipal);opacity:0;border-radius:calc(1rem - 2px);transform:scale(0);transition:all .4s;z-index:-1}
.Header__ContactButton:hover{color:var(--ColorFondo);font-weight:600;box-shadow:none;transition-delay:.2s}
.Header__ContactButton:hover::before{opacity:1;transform:scale(1)}
.Nav__Container{position:absolute;width:100%;height:fit-content;top:0;left:0;transform:translateY(-100%);transition:all .3s ease}
.Nav__Menu{background:var(--ColorFondo);position:relative;display:flex;flex-direction:column;width:100%;align-items:center;justify-content:space-evenly;list-style:none;padding:1rem 0 2rem;z-index:999;}
.Nav__Menu .ContactButton__Container{display:block;margin-top:.5rem;}
.Nav__ItemContainer{padding:1rem;display:inline-block}
.Nav__ItemContainer a{color:var(--ColorPrincipal);font-family:var(--Fuente-Parrafos);font-size:var(--FS-p);letter-spacing:.02rem}
.Nav__Item{font-size:var(--FS-p);letter-spacing:.02rem;text-decoration:none;padding:.6rem;margin:0 .5rem;position:relative;display:inline-block;transition:all .3s ease}
.Nav__ItemContainer:hover .Nav__Item{transform:translateY(-3px)}
.Nav__Item::before{content:"";position:absolute;z-index:-1;bottom:-1px;left:0;right:0;height:3px;background-color:var(--ColorSecundario);transform:scaleY(0);transform-origin:bottom;transition:transform .3s ease}
.Nav__ItemContainer:hover .Nav__Item::before{transform:scaleY(1)}
.Nav__ContactButton{position:relative;color:var(--ColorPrincipal);font-family:var(--Fuente-Parrafos);font-size:var(--FS-p);letter-spacing:.02rem;text-decoration:none;padding:.8rem 1.5rem;box-shadow:0 0 0 0 var(--ColorPrincipal) inset,var(--ColorSecundario) 0 0 0 2px;border-radius:1rem;overflow:hidden;transition:all .4s ease}
.Nav__ContactButton::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ColorPrincipal);opacity:0;border-radius:calc(1rem - 2px);transform:scale(0);transition:all .4s;z-index:-1}
.Nav__ContactButton:hover{color:var(--ColorFondo);font-weight:600;box-shadow:none;transition-delay:.2s}
.Nav__ContactButton:hover::before{opacity:1;transform:scale(1)}
    /* Contenedor del botón */
    .hamburger {
		width: 26px;
		height: 22px;
		position: relative;
		cursor: pointer;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	  }
  
	  /* Las tres líneas */
	  .hamburger span {
		display: block;
		height: 2px;
		background: var(--ColorPrincipal);
		border-radius: 100px;
		transition: transform 0.3s ease, opacity 0.2s ease;
	  }
	  /* Estado “abierto” */
	  .hamburger.open .bar1 {
		transform: translateY(10px) rotate(45deg);
	  }
	  .hamburger.open .bar2 {
		opacity: 0;
	  }
	  .hamburger.open .bar3 {
		transform: translateY(-10px) rotate(-45deg);
	  }
/* ===============================
   Smartphones (landscape) ≥ 481px
=================================== */
@media (min-width: 481px) and (max-width: 767px) {
	
  }
  
  /* ===============================
	 Tablets (portrait) ≥ 768px
  =================================== */
  @media (min-width: 768px) and (max-width: 1024px) {
	
  }
  
  /* ===============================
	 Tablets (landscape) ≥ 1025px
  =================================== */
  @media (min-width: 1025px) and (max-width: 1280px){
	
  }
  
  /* ===============================
	 Laptops y desktops medianos ≥ 1281px
  =================================== */
  @media (min-width: 1281px) and (max-width: 1600px) and (pointer : fine) {
		.Header__Container{height:5rem;padding:0 10%;padding-top:0;box-shadow:none;transition:all .3s ease-in-out}
	.Header__Container::after {content:"";position:absolute;bottom:0;left:0;width:100%;height:.08px;background-color:var(--ColorSecundario);pointer-events:none;transform:scaleX(0); z-index:-1;transition:all .3s ease-in-out}
	.Header__Container:hover.Header__Container::after {transform:scaleX(1);transition:all .3s ease-in-out}
	.Header__Logo{width:3rem;}
	.Header__ContactButton{display:block}
	.Header__MenuDesplegable{display:none;margin:0 .8rem 0 0}
	.Nav__Container{position:relative;width:85%;height:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-around;transform:translateY(0);flex-grow:1;top:0;}
	.Nav__LogoContainer{width:4rem;display:flex;align-items:center;justify-content:center}
	.Nav__Logo{width:3rem;height:auto;display:inline-block;transform:scale(1);transition:transform .2s ease-in-out}
	.Nav__LogoContainer:hover .Nav__Logo{transform:scale(1.05)}
	.Nav__Menu{background:transparent;backdrop-filter:none;position:relative;display:flex;flex-direction:row;height:100%;max-width:50rem;align-items:center;justify-content:space-evenly;list-style:none;padding:0;flex-grow:1}
	.Nav__Menu .ContactButton__Container{display:none;}
	#Nav__MenuDesplegable{display:none}
	.Nav__ItemContainer{padding:1rem;display:inline-block}
	.Nav__ItemContainer a{color:var(--ColorPrincipal);font-family:var(--Fuente-Parrafos);font-size:var(--FS-p);letter-spacing:.02rem}
	.Nav__Item{font-size:var(--FS-p);letter-spacing:.02rem;text-decoration:none;padding:.6rem;margin:0 .5rem;position:relative;display:inline-block;transition:all .3s ease}
	.Nav__ItemContainer:hover .Nav__Item{transform:translateY(-3px)}
	.Nav__Item::before{content:"";position:absolute;z-index:-1;bottom:-1px;left:0;right:0;height:3px;background-color:var(--ColorSecundario);transform:scaleY(0);transform-origin:bottom;transition:transform .3s ease}
	.Nav__ItemContainer:hover .Nav__Item::before{transform:scaleY(1)}
	.Nav__ContactButton{color:var(--ColorPrincipal);font-family:var(--Fuente-Parrafos);font-size:var(--FS-p);letter-spacing:.02rem;text-decoration:none;padding:.8rem 1.5rem;box-shadow:0 0 0 0 var(--ColorPrincipal) inset,var(--ColorSecundario) 0 0 0 2px;border-radius:1rem;position:relative;overflow:hidden;transition:all .4s ease}
	.Nav__ContactButton::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ColorPrincipal);opacity:0;border-radius:calc(1rem - 2px);transform:scale(0);transition:all .4s;z-index:-1}
	.Nav__ContactButton:hover{color:var(--ColorFondo);font-weight:600;box-shadow:none;transition-delay:.2s}
	.Nav__ContactButton:hover::before{opacity:1;transform:scale(1)}
  }
  
  /* ===============================
	 Large screens / Desktops ≥ 1601px
  =================================== */
  @media (min-width: 1601px) and (pointer : fine) {
	.Header__Container{height:6rem;padding: 0 10%;}
		.Header__Container::after {content:"";position:absolute;bottom:0;left:0;width:100%;height:.08px;background-color:var(--ColorSecundario);pointer-events:none;transform:scaleX(0); z-index:-1;transition:all .3s ease-in-out}
	.Header__Container:hover.Header__Container::after {transform:scaleX(1);transition:all .3s ease-in-out}
	.Header__Logo{width:3rem;}
	.Header__ContactButton{display:block}
	.Header__MenuDesplegable{display:none;margin:0 .8rem 0 0}
	.Nav__Container{position:relative;width:85%;height:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-around;transform:translateY(0);flex-grow:1;top:0;}
	.Nav__LogoContainer{width:4rem;display:flex;align-items:center;justify-content:center}
	.Nav__Logo{width:3rem;height:auto;display:inline-block;transform:scale(1);transition:transform .2s ease-in-out}
	.Nav__LogoContainer:hover .Nav__Logo{transform:scale(1.05)}
	.Nav__Menu{background:transparent;backdrop-filter:none;position:relative;display:flex;flex-direction:row;height:100%;max-width:50rem;align-items:center;justify-content:space-evenly;list-style:none;padding:0;flex-grow:1}
	.Nav__Menu .ContactButton__Container{display:none;}
	#Nav__MenuDesplegable{display:none}
	.Nav__ItemContainer{padding:1rem;display:inline-block}
	.Nav__ItemContainer a{color:var(--ColorPrincipal);font-family:var(--Fuente-Parrafos);font-size:var(--FS-p);letter-spacing:.02rem}
	.Nav__Item{font-size:var(--FS-p);letter-spacing:.02rem;text-decoration:none;padding:.6rem;margin:0 .5rem;position:relative;display:inline-block;transition:all .3s ease}
	.Nav__ItemContainer:hover .Nav__Item{transform:translateY(-3px)}
	.Nav__Item::before{content:"";position:absolute;z-index:-1;bottom:-1px;left:0;right:0;height:3px;background-color:var(--ColorSecundario);transform:scaleY(0);transform-origin:bottom;transition:transform .3s ease}
	.Nav__ItemContainer:hover .Nav__Item::before{transform:scaleY(1)}
	.Nav__ContactButton{color:var(--ColorPrincipal);font-family:var(--Fuente-Parrafos);font-size:var(--FS-p);letter-spacing:.02rem;text-decoration:none;padding:.8rem 1.5rem;box-shadow:0 0 0 0 var(--ColorPrincipal) inset,var(--ColorSecundario) 0 0 0 2px;border-radius:1rem;position:relative;overflow:hidden;transition:all .4s ease}
	.Nav__ContactButton::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ColorPrincipal);opacity:0;border-radius:calc(1rem - 2px);transform:scale(0);transition:all .4s;z-index:-1}
	.Nav__ContactButton:hover{color:var(--ColorFondo);font-weight:600;box-shadow:none;transition-delay:.2s}
	.Nav__ContactButton:hover::before{opacity:1;transform:scale(1)}
  }
  
/* --ESTILOS DEL MAIN DE LA PÁGINA-- */				
/* Main */
.Main__Container{width:100%;overflow:hidden;height:110vh;margin:auto;display:flex;align-items:center;justify-content:center;color:var(--ColorPrincipal);font-family:var(--Fuente-Titulos);position:sticky;top:0;text-align:center;z-index:0}
.Main__Background{width:100%;height:100%; overflow:hidden;object-fit:cover;position:absolute;z-index:-1;filter:brightness(var(--BrigthnessFondo));transition:opacity .2s ease-out}

.Main__Title{font-size:var(--FS-h1);text-shadow:2px 2px 8px rgba(0,0,0,.4);overflow:hidden;position:absolute;width:90%;z-index:1}


@media (min-width: 1281px) and (pointer : fine) {
	.Main__Title{font-size:var(--FS-h0);width:70%;}
}
/* --ESTILOS DE LA SECCIÓN DE SERVICIOS-- */
/* Servicios */
.Servicios__Container { display:flex; flex-direction:column; align-items:center; justify-content:center; margin:0 auto; padding-top:3rem; background:var(--ColorFondo); width:80%; height:100vh; min-height:fit-content; scroll-snap-align:start; scroll-snap-stop:always; overflow-x:visible; }
.Servicios__Info { display:flex; flex-direction:column; align-items:center; text-align:center; color:var(--ColorPrincipal); width:100%; }
.Servicios__InfoTitle { font-family:var(--Fuente-Titulos); font-size:var(--FS-h1); font-weight:700; padding-bottom:0; line-height: 1.1;}
#Servicios__InfoNumber {display: block; font-family:var(--Fuente-Parrafos); font-size:var(--FS-h3); font-weight:300;padding: 0 0 .5rem ; line-height:1;background:linear-gradient(45deg,var(--ColorPrincipal),var(--ColorSecundario)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.Servicios__InfoDescription { display:block; font-family:var(--Fuente-Parrafos); font-size:calc(var(--FS-p)*1.2); font-weight:200; line-height:1.5; padding:1rem 0 3rem;}
.Servicios__InfoDescription span { font-family:var(--Fuente-Parrafos); font-size:var(--FS-p); letter-spacing:.02rem; font-weight:500; }
.Servicios__InfoCard { width:100%; order:1; margin:0 auto; padding:2px; border-radius:15px; background:linear-gradient(135deg,var(--ColorPrincipal) 15%,var(--ColorSecundario) 45%,var(--ColorFondo),var(--ColorSecundario) 55%,var(--ColorPrincipal) 85%); background-size:500% 500%; animation:rotateGradient 10s linear infinite; }
@keyframes rotateGradient { 0%{background-position:0% 50%;} 50%{background-position:100% 50%;} 100%{background-position:0% 50%;} }
.InfoCard__Content { background-color:var(--ColorFondo); border-radius:12px; padding:1.2rem 2rem; display:flex; align-items:center; justify-content:center; gap:8%; width:100%; height: 6rem; }
#InfoCard__ContentNumber {display: none; font-family:var(--Fuente-Titulos); font-size:var(--FS-h0); font-weight:500; background:linear-gradient(45deg,var(--ColorPrincipal),var(--ColorSecundario)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
#InfoCard__ContentText { font-family:var(--Fuente-Parrafos); font-size:calc(var(--FS-p)*1.2); font-weight:400; line-height:1.5; max-width:100%; }
.Servicios__ListContainer { display:flex; flex:1; height:max-content; width:100%; position:relative; margin-bottom:1rem;}
.Servicios__ListContainer::before { content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:linear-gradient(to right,var(--ColorFondo) 5%,transparent 10%,transparent 90%,var(--ColorFondo) 95%); pointer-events:none; }
.Servicios__Wrapper { height:inherit;overflow: hidden;scroll-behavior:auto;cursor:pointer;}
.Servicios__List { display:flex; list-style:none; height:100%; width:100%; padding:0; font-family:var(--Fuente-Titulos); font-size:var(--FS-h2); font-weight:300; color:#fffbe8a1; overflow-wrap:anywhere; overflow-x: auto; scrollbar-width: none; scroll-snap-type:x mandatory}
.Servicios__ListItem { display:flex; flex-direction:column; align-items:center; width:100vw;scroll-snap-align: center;}
.Servicios__ListItem span {display: none; font-family:var(--Fuente-Parrafos); font-size:var(--FS-h3); font-weight:300; color:var(--ColorPrincipal); overflow-wrap:normal; }
.Servicios__ListContainer li { display:flex; align-items:center; width:100%; padding:0 10%; cursor:pointer; scroll-snap-align: center;}
.Servicios__ListContainer li:hover { color:var(--ColorPrincipal); transition:.3s ease-in-out; }
.Servicios__ListDescription { display:none; }
.Servicios__ListContainer li.Selected__Item .Servicios__ListItem { font-weight:600; background:linear-gradient(to bottom,var(--ColorPrincipal) 30%,var(--ColorSecundario) 90%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; transition:.3s ease-in-out; }
/* Media query: pantallas grandes */
@media (min-width: 1281px) /*and (pointer:fine)*/ {
  .Servicios__Container { flex-direction:row; justify-content:flex-start; width:70%; scroll-snap-align: center; padding-top: 5rem;}
  .Servicios__Info { text-align:start; min-width:420px; max-width:680px; }
  .Servicios__InfoDescription { padding:1rem 0 0 3rem;}
  .Servicios__InfoDescription span {display: none;}
  .Servicios__InfoTitle { font-size:var(--FS-h1); margin-bottom: 0;}
  #Servicios__InfoNumber {display: none; line-height: 1;padding-top: 1rem;}
  .Servicios__InfoCard { height: initial;margin:2rem auto 0 }
  .InfoCard__Content {height: max-content;}
  #InfoCard__ContentNumber { display: block; line-height: 1;padding-top: 1rem; }
  #InfoCard__ContentText { font-family:var(--Fuente-Parrafos); font-size:calc(var(--FS-p)*1.2); font-weight:400; line-height:1.5; max-width:70%; }
  .Servicios__ListContainer { padding-left:10vmin; height:75vh; width:100%;min-width:600px; max-width:fit-content; margin-bottom: 0;}
  .Servicios__ListContainer::before { background:linear-gradient(to bottom,var(--ColorFondo) 10%,transparent 35%,transparent 65%,var(--ColorFondo) 90%); }
  .Servicios__Wrapper {overflow-y:auto; scroll-behavior:auto;scrollbar-width: none;}
  .Servicios__List { display:block; height:fit-content; font-size:var(--FS-h1); scroll-snap-type: none;}
  .Servicios__ListItem { flex-direction:row; width:100%;}
  .Servicios__ListItem span {display: block; padding-right:1rem; }
  .Servicios__ListContainer li { padding:1.2rem; }
}

/* --ESTILOS DE LA SECCIÓN DE PROYECTOS-- */
.Proyectos__Container{position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100vh;margin-top:4rem;overflow:hidden;scroll-snap-align:center;}
.Proyectos__Container::before{content:'';position:absolute;top:0;height:200px;width:100%;background:linear-gradient(to top,transparent,var(--ColorFondo));z-index:1;}
.Proyectos__Container::after{content:'';position:absolute;bottom:0;height:200px;width:100%;background:linear-gradient(to bottom,transparent,var(--ColorFondo));z-index:1;}

/* Fondo deslizante */
.Proyectos__BgContainer{position:absolute;inset:0;width:100%;overflow:hidden;opacity:0.4;z-index:0;}
.Proyectos__BgTrack{display:flex;height:100%;}
.Proyectos__BgSlide{flex:0 0 100%;}

/* Imágenes de fondo */
.Bg__PortoMare { background: url('../../assets/images/02-Porto_Mare_ClubHouse.webp') center/cover; }
.Bg__M12 { background: url('../../assets/images/FachadaCasa_Editado.webp') 5% 60%/cover; }
.Bg__Gua { background: url('../../assets/images/Hab_3.webp') center/cover; }
.Bg__Mangos { background: url('../../assets/images/02-Fachada_Casa_los_Mangos.webp') 80% 70%/cover; }
.Bg__Miami { background: url('../../assets/images/03-Pasillo_Externo.webp') center/cover; }

.Proyectos__ContentContainer{position:relative;display:flex;gap:clamp(2rem,8vw,15rem);width:80%;margin-top:0;z-index:2; text-align: center;}

/* Panel izquierdo: tarjeta + dots */
.Proyectos__GalleryContainer{flex:1;max-width:400px;width:80%;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.Proyectos__GalleryCard{position:relative;width:100%;min-height:auto;aspect-ratio:1/1;border-radius:16px;overflow:hidden;box-shadow:2px 2px 5px rgba(0,0,0,0.5);}
.Proyectos__GalleryCardSlide{position:absolute;inset:0;background-size:cover;background-position:center;visibility:hidden;transform:scale(1.1);}
.Proyectos__GalleryCardSlide.active{visibility:visible;animation:zoomOut 1.8s cubic-bezier(0.215,0.61,0.355,1) forwards;}
@keyframes zoomOut{0%{transform:scale(1.06);}100%{transform:scale(1.01);}}

/* Imágenes de tarjetas */
.Card__PortoMare {
	background: url('../../assets/images/05-Porto_Mare_ClubHouse_SPA.webp') 10%/cover;
}
.Card__M12 {
	background: url('../../assets/images/Comedor_Cartagena.webp') 70% 90%/cover;
}
.Card__Gua {
	background: url('../../assets/images/Hab_1_Editado.webp') center/cover;
}
.Card__Mangos {
	background: url('../../assets/images/Interior1_Casa_Los_Mangos.webp') center/cover;
}
.Card__Miami {
	background: url('../../assets/images/02-Habitacion_Thomas.webp') center/cover;
}

.Proyectos__GalleryDotsContainer{display:flex;justify-content:center;gap:8px;margin-bottom:.5rem;}
.Proyectos__GalleryDot{width:8px;height:8px;border-radius:50%;background:rgba(255,251,232,0.5);cursor:pointer;transition:background 0.3s;}
.Proyectos__GalleryDot.active{background:var(--ColorPrincipal);}

/* Título Galería */
.Proyectos__GalleryTitleContainer{position:relative;width:100%;color:var(--ColorPrincipal);font-family:var(--Fuente-Titulos);font-size:var(--FS-h1);text-shadow:2px 2px 5px rgba(0,0,0,0.5);text-align:center;white-space:nowrap;z-index:1; line-height: 1;}
.Proyectos__GalleryTitleContainer .Proyectos__GalleryTitle{position:relative;top:-40%;opacity:0;overflow:visible;}
.Proyectos__GalleryTitleContainer .Proyectos__GalleryTitle.animate{animation:slideUpFade 4.8s cubic-bezier(0.215,0.61,0.355,1) forwards 0.2s;}
@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px);}10%{opacity:1;transform:translateY(0);}90%{opacity:1;transform:translateY(0);}100%{opacity:0;transform:translateY(-20px);}}

/* Panel de información derecha */
.Proyectos__ContentInfo{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--ColorPrincipal);width: 100%;}
.Proyectos__ContentInfo .Proyectos__ContentTitle{font-family:var(--Fuente-Titulos);font-size:var(--FS-h1);font-weight:700;margin-bottom:1rem;line-height:1.1;}
.Proyectos__ContentInfo .Proyectos__ContentDescription{font-family:var(--Fuente-Parrafos);font-size:calc(var(--FS-p)*1.2);font-weight:200;margin-bottom:1rem;line-height:1.5;word-wrap:break-word; order: 1;}
.Proyectos__ContentInfo .Proyectos__ContentDescription span{display: none; font-family:var(--Fuente-Parrafos);font-size:calc(var(--FS-p)*1.2);font-weight:200;line-height:1.5;word-wrap:break-word; order: 1;}

/* Botón */
.Proyectos__Button{position:relative;display:flex;align-items:center;justify-content:center;padding:0.8rem 1.5rem;width:100%; max-width:600px;color:var(--ColorPrincipal);font-family:var(--Fuente-Parrafos);font-size:var(--FS-p);letter-spacing:0.02rem;text-decoration:none;box-shadow:0 0 0 0 var(--ColorPrincipal) inset,var(--ColorSecundario) 0 0 0 2px;border-radius:1rem;overflow:hidden;transition:all 0.4s ease; order: 2;}
.Proyectos__Button::before{content:"";position:absolute;inset:0;background-color:var(--ColorPrincipal);opacity:0;border-radius:calc(1rem - 2px);transform:scale(0);transition:all 0.4s;z-index:0;}
.Proyectos__Button h3{position:relative;z-index:1;font-family:var(--Fuente-Parrafos);font-weight:400;font-size:var(--FS-p);letter-spacing:0.02rem;transition:font-weight 0.2s ease;}
.Proyectos__Button:hover{color:var(--ColorFondo);box-shadow:none;transition-delay:0.2s;}
.Proyectos__Button:hover::before{opacity:1;transform:scale(1);}
.Proyectos__Button:hover h3{font-weight:600;}

/* ----------------Media query: pantallas grandes------------------ */

@media (min-width:1281px) /*and (pointer:fine)*/ {
.Proyectos__Container{position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:105vh;margin-top:6rem;overflow:hidden;scroll-snap-align:center;}
.Proyectos__Container::before{content:'';position:absolute;top:0;height:30vh;width:100%;background:linear-gradient(to top,transparent,var(--ColorFondo));z-index:1;}
.Proyectos__Container::after{content:'';position:absolute;bottom:0;height:30vh;width:100%;background:linear-gradient(to bottom,transparent,var(--ColorFondo));z-index:1;}

/* Fondo deslizante */
.Proyectos__BgContainer{position:absolute;inset:0;width:100%;overflow:hidden;opacity:0.4;z-index:0;}
.Proyectos__BgTrack{display:flex;height:100%;}
.Proyectos__BgSlide{flex:0 0 100%;}

.Proyectos__ContentContainer{position:relative;display:flex;gap:clamp(2rem,8vw,15rem);width:70%;margin-top:6rem;z-index:2;text-align: initial;}

/* Panel izquierdo: tarjeta + dots */
.Proyectos__GalleryContainer{flex:1;max-width:700px;width:40%;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.Proyectos__GalleryCard{position:relative;width:100%;min-height:300px;aspect-ratio:1/1;border-radius:16px;overflow:hidden;box-shadow:2px 2px 5px rgba(0,0,0,0.5);}
.Proyectos__GalleryCardSlide{position:absolute;inset:0;visibility:hidden;transform:scale(1.1);}
.Proyectos__GalleryCardSlide.active{visibility:visible;animation:zoomOut 1.8s cubic-bezier(0.215,0.61,0.355,1) forwards;}
@keyframes zoomOut{0%{transform:scale(1.06);}100%{transform:scale(1.01);}}

.Proyectos__GalleryDotsContainer{display:flex;justify-content:center;gap:8px;margin-bottom:1rem;}
.Proyectos__GalleryDot{width:12px;height:12px;border-radius:50%;background:rgba(255,251,232,0.5);cursor:pointer;transition:background 0.3s;}
.Proyectos__GalleryDot.active{background:var(--ColorPrincipal);}

/* Título Galería */
.Proyectos__GalleryTitleContainer{position:relative;color:var(--ColorPrincipal);font-family:var(--Fuente-Titulos);font-size:var(--FS-h0);text-shadow:2px 2px 5px rgba(0,0,0,0.5);text-align:center;white-space:nowrap;z-index:1;}
.Proyectos__GalleryTitleContainer .Proyectos__GalleryTitle{position:relative;top:-40%;opacity:0;overflow:visible;}
.Proyectos__GalleryTitleContainer .Proyectos__GalleryTitle.animate{animation:slideUpFade 4.8s cubic-bezier(0.215,0.61,0.355,1) forwards 0.2s;}
@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px);}10%{opacity:1;transform:translateY(0);}90%{opacity:1;transform:translateY(0);}100%{opacity:0;transform:translateY(-20px);}}

/* Panel de información derecha */
.Proyectos__ContentInfo{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:var(--ColorPrincipal);width: initial;}
.Proyectos__ContentInfo .Proyectos__ContentTitle{font-family:var(--Fuente-Titulos);font-size:var(--FS-h1);font-weight:700;margin-bottom:2rem;line-height:1;}
.Proyectos__ContentInfo .Proyectos__ContentDescription{font-family:var(--Fuente-Parrafos);font-size:calc(var(--FS-p)*1.2);font-weight:200;margin-bottom:4rem;line-height:1.5;word-wrap:break-word; order: initial;}
.Proyectos__ContentInfo .Proyectos__ContentDescription span {
	display: block;}
/* Botón */
.Proyectos__Button{position:relative;display:flex;align-items:center;justify-content:center;padding:0.8rem 1.5rem;width:initial; max-width:600px;color:var(--ColorPrincipal);font-family:var(--Fuente-Parrafos);font-size:var(--FS-p);letter-spacing:0.02rem;text-decoration:none;box-shadow:0 0 0 0 var(--ColorPrincipal) inset,var(--ColorSecundario) 0 0 0 2px;border-radius:1rem;overflow:hidden;transition:all 0.4s ease; order:initial}
.Proyectos__Button::before{content:"";position:absolute;inset:0;background-color:var(--ColorPrincipal);opacity:0;border-radius:calc(1rem - 2px);transform:scale(0);transition:all 0.4s;z-index:0;}
.Proyectos__Button h3{position:relative;z-index:1;font-family:var(--Fuente-Parrafos);font-weight:400;font-size:var(--FS-p);letter-spacing:0.02rem;transition:font-weight 0.2s ease;}
.Proyectos__Button:hover{color:var(--ColorFondo);box-shadow:none;transition-delay:0.2s;}
.Proyectos__Button:hover::before{opacity:1;transform:scale(1);}
.Proyectos__Button:hover h3{font-weight:600;}

}


					/* --ESTILOS DE LA SECCIÓN DE FRASE-- */

.Frase__Container {
	width: 100%;
	height: 100vh;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 6rem;
	scroll-snap-align: center;
	scroll-snap-stop: always;
	overflow: hidden;
}

.Frase__Container::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, var(--ColorFondo), transparent, var(--ColorFondo));
	pointer-events: none;
	z-index: 1;
}


.Frase__Container blockquote {
	mix-blend-mode: plus-lighter;
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 80%;
	z-index: 2;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(10px);
	border: 2px solid rgba(198, 172, 143, 0.4);
	box-shadow: rgba(255, 251, 232, 0.1) 0 0 20px;
	border-radius: 1rem;
	padding: 4rem 2rem;
	color: var(--ColorPrincipal);
}

.Frase__Container blockquote h2{
	text-align: center;
	font-family: var(--Fuente-Titulos);
	font-size: var(--FS-h1);
	font-weight: 700;
	line-height: 1.1;
	text-shadow: rgba(255, 251, 232, 0.5) 0 0 10px;
}
.Frase__Container blockquote h4{
	text-align: center;
	padding: 2rem 1rem;
	font-family: var(--Fuente-Titulos);
	font-weight: 100;
	font-size: var(--FS-h3);
	line-height: 1.6;
	letter-spacing: 1.1;
}

.Frase__Container span {
	font-weight: 700;
	text-shadow: rgba(255, 251, 232, 0.5) 0 0 15px;
}

.Frase__Container blockquote h5{
	font-family: var(--Fuente-Parrafos);
	font-size: var(--FS-p);
	font-weight: 100;
	text-align: end;
}

.Frase__Rainbow {
  width: 100%;
  height: 100vh;          
  position: relative;
  margin: auto;
  overflow: hidden;
}

.rainbow {
  position: absolute;
  top: 0;
  right: 0;
  width: 0;              
  height: 100vh;          
  mix-blend-mode: screen;
  will-change: transform;
}

/* Keyframes que mueven cada capa desde fuera del viewport izquierdo
   hasta fuera del viewport derecho */
@keyframes slide {
  from {
    transform: translateX(-125vw);
  }
  to {
    transform: translateX(125vw);
  }
}


.rainbow:nth-child(1) {
	box-shadow: -60px 0 36px 16px #0a0908, -20px 0 20px 8px rgba(255, 251, 232, 0.4), 0 0 20px 8px rgba(198, 172, 143, 0.4), 20px 0 20px 8px #0a0908, 60px 0 36px 16px #0a0908;
	animation: 56.25s linear infinite slide;
	animation-delay: -7.5s;
}
.rainbow:nth-child(2) {
	box-shadow: -60px 0 36px 16px #0a0908, -20px 0 20px 8px rgba(198, 172, 143, 0.4), 0 0 20px 8px rgba(255, 251, 232, 0.4), 20px 0 20px 8px #0a0908, 60px 0 36px 16px #0a0908;
	animation: 52.5s linear infinite slide;
	animation-delay: -15s;
}
.rainbow:nth-child(3) {
	box-shadow: -60px 0 36px 16px #0a0908, -20px 0 20px 8px #0a0908, 0 0 20px 8px rgba(255, 251, 232, 0.4), 20px 0 20px 8px rgba(198, 172, 143, 0.4), 60px 0 36px 16px #0a0908;
	animation: 48.75s linear infinite slide;
	animation-delay: -22.5s;
}
.rainbow:nth-child(4) {
	box-shadow: -60px 0 36px 16px #0a0908, -20px 0 20px 8px #0a0908, 0 0 20px 8px rgba(255, 251, 232, 0.4), 20px 0 20px 8px rgba(198, 172, 143, 0.4), 60px 0 36px 16px #0a0908;
	animation: 45s linear infinite slide;
	animation-delay: -30s;
}
.rainbow:nth-child(5) {
	box-shadow: -60px 0 36px 16px #0a0908, -20px 0 20px 8px rgba(198, 172, 143, 0.4), 0 0 20px 8px rgba(255, 251, 232, 0.4), 20px 0 20px 8px #0a0908, 60px 0 36px 16px #0a0908;
	animation: 41.25s linear infinite slide;
	animation-delay: -37.5s;
}
.rainbow:nth-child(6) {
	box-shadow: -60px 0 36px 16px #0a0908, -20px 0 20px 8px rgba(255, 251, 232, 0.4), 0 0 20px 8px rgba(198, 172, 143, 0.4), 20px 0 20px 8px #0a0908, 60px 0 36px 16px #0a0908;
	animation: 37.5s linear infinite slide;
	animation-delay: -45s;
}
.rainbow:nth-child(7) {
	box-shadow: -60px 0 36px 16px #0a0908, -20px 0 20px 8px rgba(255, 251, 232, 0.4), 0 0 20px 8px rgba(198, 172, 143, 0.4), 20px 0 20px 8px #0a0908, 60px 0 36px 16px #0a0908;
	animation: 33.75s linear infinite slide;
	animation-delay: -52.5s;
}
.rainbow:nth-child(8) {
	box-shadow: -60px 0 36px 16px #0a0908, -20px 0 20px 8px rgba(255, 251, 232, 0.4), 0 0 20px 8px #0a0908, 20px 0 20px 8px rgba(198, 172, 143, 0.4), 60px 0 36px 16px #0a0908;
	animation: 30s linear infinite slide;
	animation-delay: -60s;
}

.rainbow:nth-child(9) {
  display: none;
}

.rainbow:nth-child(10) {
  display: none;
}

.rainbow:nth-child(11) {
  display: none;
}

.rainbow:nth-child(12) {
  display: none;
}

@media (min-width:1281px) /*and (pointer:fine)*/ {

.Frase__Container blockquote {
  border-radius: 1rem;
  padding: 4rem;
  width: 70%;
}

.Frase__Container blockquote h2{
	font-size: var(--FS-h1);
}

.Frase__Container blockquote h4{
	text-align: start;
	padding: 2.618rem 4.236rem;
	font-size: var(--FS-h2);
}

.rainbow:nth-child(1) {
  box-shadow: -130px 0 80px 40px #0a0908, -50px 0 50px 25px #0a0908, 0 0 50px 25px rgba(255, 251, 232, 0.4), 50px 0 50px 25px rgba(198, 172, 143, 0.4), 130px 0 80px 40px #0a0908;
  animation: 57.5s linear infinite slide;
  animation-delay: -5s;
}
.rainbow:nth-child(2) {
  box-shadow: -130px 0 80px 40px #0a0908, -50px 0 50px 25px rgba(255, 251, 232, 0.4), 0 0 50px 25px #0a0908, 50px 0 50px 25px rgba(198, 172, 143, 0.4), 130px 0 80px 40px #0a0908;
  animation: 55s linear infinite slide;
  animation-delay: -10s;
}
.rainbow:nth-child(3) {
  box-shadow: -130px 0 80px 40px #0a0908, -50px 0 50px 25px rgba(198, 172, 143, 0.4), 0 0 50px 25px rgba(255, 251, 232, 0.4), 50px 0 50px 25px #0a0908, 130px 0 80px 40px #0a0908;
  animation: 52.5s linear infinite slide;
  animation-delay: -15s;
}
.rainbow:nth-child(4) {
  box-shadow: -130px 0 80px 40px #0a0908, -50px 0 50px 25px #0a0908, 0 0 50px 25px rgba(255, 251, 232, 0.4), 50px 0 50px 25px rgba(198, 172, 143, 0.4), 130px 0 80px 40px #0a0908;
  animation: 50s linear infinite slide;
  animation-delay: -20s;
}
.rainbow:nth-child(5) {
  box-shadow: -130px 0 80px 40px #0a0908, -50px 0 50px 25px #0a0908, 0 0 50px 25px rgba(198, 172, 143, 0.4), 50px 0 50px 25px rgba(255, 251, 232, 0.4), 130px 0 80px 40px #0a0908;
  animation: 47.5s linear infinite slide;
  animation-delay: -25s;
}
.rainbow:nth-child(6) {
  box-shadow: -130px 0 80px 40px #0a0908, -50px 0 50px 25px rgba(255, 251, 232, 0.4), 0 0 50px 25px #0a0908, 50px 0 50px 25px rgba(198, 172, 143, 0.4), 130px 0 80px 40px #0a0908;
  animation: 45s linear infinite slide;
  animation-delay: -30s;
}
.rainbow:nth-child(7) {
  box-shadow: -130px 0 80px 40px #0a0908, -50px 0 50px 25px #0a0908, 0 0 50px 25px rgba(198, 172, 143, 0.4), 50px 0 50px 25px rgba(255, 251, 232, 0.4), 130px 0 80px 40px #0a0908;
  animation: 42.5s linear infinite slide;
  animation-delay: -35s;
}
.rainbow:nth-child(8) {
  box-shadow: -130px 0 80px 40px #0a0908, -50px 0 50px 25px #0a0908, 0 0 50px 25px rgba(198, 172, 143, 0.4), 50px 0 50px 25px rgba(255, 251, 232, 0.4), 130px 0 80px 40px #0a0908;
  animation: 40s linear infinite slide;
  animation-delay: -40s;
}
.rainbow:nth-child(9) {
 display: block;
  box-shadow: -130px 0 80px 40px #0a0908, -50px 0 50px 25px rgba(255, 251, 232, 0.4), 0 0 50px 25px #0a0908, 50px 0 50px 25px rgba(198, 172, 143, 0.4), 130px 0 80px 40px #0a0908;
  animation: 37.5s linear infinite slide;
  animation-delay: -45s;
}
.rainbow:nth-child(10) {
	display: block;
  box-shadow: -130px 0 80px 40px #0a0908, -50px 0 50px 25px rgba(198, 172, 143, 0.4), 0 0 50px 25px #0a0908, 50px 0 50px 25px rgba(255, 251, 232, 0.4), 130px 0 80px 40px #0a0908;
  animation: 35s linear infinite slide;
  animation-delay: -50s;
}
.rainbow:nth-child(11) {
	display: block;
  box-shadow: -130px 0 80px 40px #0a0908, -50px 0 50px 25px rgba(198, 172, 143, 0.4), 0 0 50px 25px rgba(255, 251, 232, 0.4), 50px 0 50px 25px #0a0908, 130px 0 80px 40px #0a0908;
  animation: 32.5s linear infinite slide;
  animation-delay: -55s;
}
.rainbow:nth-child(12) {
	display: block;
  box-shadow: -130px 0 80px 40px #0a0908, -50px 0 50px 25px rgba(255, 251, 232, 0.4), 0 0 50px 25px #0a0908, 50px 0 50px 25px rgba(198, 172, 143, 0.4), 130px 0 80px 40px #0a0908;
  animation: 30s linear infinite slide;
  animation-delay: -60s;
}
}

					/* --ESTILOS DE LA SECCIÓN DE CONÓCENOS-- */
.Conocenos__Container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100vh;
	margin: 0 auto;
	scroll-snap-align: center;
	scroll-margin-top: 5rem;
}

.Conocenos__Image {
	position: relative;
	height: 40%;
	width: 100%;
	min-width: 50%;
	overflow: hidden;
}

.Conocenos__Image::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, var(--ColorFondo), transparent, var(--ColorFondo));
	pointer-events: none; /* Para que el pseudo-elemento no interfiera en la interacción */
	z-index: 1;
}

.Conocenos__Bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: url('../../assets/images/Proyectos_M12_PatioInterior.webp') no-repeat;
	background-size: 110% auto;
	background-position: 80% 80%;
	background-clip: border-box;
	opacity: 0.6;
	z-index: 0;
}

.Conocenos__Image h5 {
	position: absolute;
	top: 0;
	left: 0;
	padding: 0.5rem;
	color: var(--ColorPrincipal);
	font-family: var(--Fuente-Parrafos);
	font-size: calc(var(--FS-s) * 1.2);
	font-weight: 100;
	opacity: 0.8;
	z-index: 2;
}

.Conocenos__Info {
	display:flex;
	flex-direction: column;
	align-items: center;
	z-index: 2;
	width: 80%;

}

.Conocenos__Title {
	position: relative;
	top: -20px;
	color: var(--ColorPrincipal);
	font-family: var(--Fuente-Titulos);
	font-size: var(--FS-h2);
	font-weight: 700;
}

.Conocenos__Description {
	position: relative;
	margin: 0 0 2rem 2rem;
	color: var(--ColorPrincipal);
}

.Conocenos__Description h3{
	font-family: var(--Fuente-Parrafos);
	font-size: var(--FS-p);
	font-weight: 200;
	line-height: 1.4;
	letter-spacing: 0.02rem;
	overflow-wrap: anywhere;
}

.Conocenos__Description h3 span {
	font-weight: 600;
}

.Conocenos__Description h3:nth-last-child(1){
	display: none;
}

.Conocenos__Button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.8rem 1.5rem;
	width: 100%;
    max-width: 600px;
    color: var(--ColorPrincipal);
    font-family: var(--Fuente-Parrafos);
    font-size: var(--FS-p);
    letter-spacing: 0.02rem;
    text-decoration: none;
    box-shadow: 0 0 0 0 var(--ColorPrincipal) inset, var(--ColorSecundario) 0 0 0 2px;
    border-radius: 1rem;
    overflow: hidden;
    transition: all 0.4s ease;
}

  .Conocenos__Button::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--ColorPrincipal);
	opacity: 0;
	border-radius: calc(1rem - 2px);
	transform: scale(0);
	transition: all 0.4s;
	z-index: 0;
}

.Conocenos__Button h3 {
	font-family: var(--Fuente-Parrafos);
	font-weight: 400;
	font-size: var(--FS-p);
	letter-spacing: 0.02rem;
	z-index: 1;
	transition: font-weight 0.2s ease;
}

  .Conocenos__Button:hover {
	color: var(--ColorFondo);
	box-shadow: none;
	transition-delay: 0.2s;
}

  .Conocenos__Button:hover::before {
	opacity: 1;
	transform: scale(1);
}

.Conocenos__Button:hover h3 {
	font-weight: 600;
}

@media (min-width:1281px) /*and (pointer:fine)*/ {
.Conocenos__Container {
	margin: initial;
	flex-direction: row;
	width: 85%;
}

.Conocenos__Image {
	height: 80%;
	width: initial;
}

.Conocenos__Image::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 300px;
	height: 100%;
	background: linear-gradient(to right, transparent, var(--ColorFondo));
	pointer-events: none; /* Para que el pseudo-elemento no interfiera en la interacción */
	z-index: 1;
}

.Conocenos__Image h5 {
	position: absolute;
	top: initial;
	bottom: 0;
	left: 0;
	padding: 0.5rem;
	color: var(--ColorPrincipal);
	font-family: var(--Fuente-Parrafos);
	font-size: calc(var(--FS-s) * 1.2);
	font-weight: 100;
	opacity: 0.8;
	z-index: 2;
}

.Conocenos__Info {
	align-items: initial;
	width: initial;
}

.Conocenos__Title {
	position: relative;
	top: initial;
	left: -80px;
	color: var(--ColorPrincipal);
	font-family: var(--Fuente-Titulos);
	font-size: var(--FS-h1);
	font-weight: 700;
}

.Conocenos__Description {
	position: relative;
	margin: 2rem 0 0 6rem;
	max-width: 600px;
	color: var(--ColorPrincipal);
	font-family: var(--Fuente-Parrafos);
	font-size: calc(var(--FS-p) * 1.2);
	font-weight: 200;
	line-height: 1.4;
	letter-spacing: 0.02rem;
	overflow-wrap: anywhere;
}

.Conocenos__Description h3:nth-last-child(1){
	display: block;
	margin: 1rem 0;
}

.Conocenos__Button {
	color: var(--ColorPrincipal);
	font-family: var(--Fuente-Parrafos);
	font-size: var(--FS-p);
	letter-spacing: 0.02rem;
	text-decoration: none;
	padding: 0.8rem 1.5rem;
	box-shadow: 0 0 0 0 var(--ColorPrincipal) inset, var(--ColorSecundario) 0 0 0 2px;
	border-radius: 1rem;
	position: relative;
	margin: 4rem 0 0 6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 600px;
	overflow: hidden;
	transition: all 0.4s ease 0s;
}

}
  
  					/*SECCION FOOTER*/

  .Footer__Container {
	height: 100vh;
	min-height: fit-content;
	width: 100%;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0 auto;
	scroll-snap-align: end;
  }

  .Footer__InfoContainer {
	width: 80%;
	display: flex;
	flex-direction: column;
	margin: 0 auto;
  }

  .Footer__Contactanos {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	width: fit-content;
	width: 100%;
	height: 100%;
	color: var(--ColorPrincipal);
	gap: 1rem;
  }

  .Contactanos__Header {
	font-family: var(--Fuente-Titulos);
	font-size: var(--FS-h2);
	font-weight: 700;
  }

  .Footer__ContactButton {
	color: var(--ColorPrincipal);
	font-family: var(--Fuente-Parrafos);
	letter-spacing: 0.02rem;
	text-decoration: none;
	padding: 0.8rem 1.5rem;
	box-shadow: 0 0 0 0 var(--ColorPrincipal) inset, var(--ColorSecundario) 0 0 0 2px;
	border-radius: 1rem;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	overflow: hidden;
	transition: all 0.4s ease 0s;
}
  .Footer__ContactButton::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--ColorPrincipal);
	opacity: 0;
	border-radius: calc(1rem - 2px);
	transform: scale(0);
	transition: all 0.4s;
	z-index: 0;
}

.Footer__ContactButton h3 {
	font-family: var(--Fuente-Parrafos);
	font-weight: 400;
	font-size: var(--FS-p);
	letter-spacing: 0.02rem;
	z-index: 1;
	transition: font-weight 0.2s ease;
}

.Footer__ContactButton svg {
	fill: var(--ColorPrincipal);
	stroke: var(--ColorPrincipal);
	stroke-width: 10;
	width: clamp(1rem, 1vmin + 1rem, 1.5rem);
	height: clamp(1rem, 1vmin + 1rem, 1.5rem);
	margin-left: 0.5rem;
	z-index: 2;
	transition: all 0.2s ease;
}

  .Footer__ContactButton:hover {
	color: var(--ColorFondo);
	box-shadow: none;
	transition-delay: 0.2s;
}

  .Footer__ContactButton:hover::before {
	opacity: 1;
	transform: scale(1);
}

.Footer__ContactButton:hover h3 {
	font-weight: 600;
}


.Contactanos__Description {
	display: none;
}

  .Footer__MenuContainer {
	position: relative;
	width: 100%;
	margin-top: 3rem;
	margin-bottom: 2rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	color: var(--ColorPrincipal);
	font-family: var(--Fuente-Parrafos);
	font-size: var(--FS-h3);
	font-weight: 400;
  }

    #Sentinela__Footer {
	width: 50%;
	align-self: flex-end;
  }

  .Footer__Menu {	/* Menu de la barra de navegacion */
	width: 100%;
	max-width: 400px;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	list-style: none;
	gap: 2rem;
	padding: 0;
	flex-grow: 1;
}

.Footer__MenuItemContainer {	/* Items del menu de la barra de navegacion */
	display: inline-block;
}

.Footer__MenuItemContainer a{	/* Items del menu de la barra de navegacion */
	color: var(--ColorPrincipal);
	font-family: var(--Fuente-Parrafos);
	font-size: var(--FS-p);
}

.Footer__MenuItem {
	font-size: var(--FS-p);
	padding: 0 0.3rem 0.6rem;
	text-decoration: none;
	position: relative;
	display: inline-block;
  }
  
  .Footer__MenuItemContainer:hover .Footer__MenuItem {
	transform: translateY(-3px);
  }
  
  .Footer__MenuItem::before {
	content: "";
	position: absolute;
	z-index: -1;
	bottom: -1px;
	left: 0;
	right: 0;
	height: 2px;
	background-color: var(--ColorSecundario);
	transform: scaleY(1);
	transform-origin: bottom;
  }

  .Footer__InfoContacto {
	width: 100%;
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	color: var(--ColorPrincipal);
	font-family: var(--Fuente-Parrafos);
	font-size: var(--FS-p);
  }

.InfoContacto__Container {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: flex-start;
	flex-basis: 50%;
	justify-content: space-between;
	padding: 0.5rem 0;
	gap: 0.3rem;
}

.InfoContacto__Title {
	font-weight: 500;
}

.InfoContacto__Description {
	font-weight: 200;
}
.InfoContacto__Description a{
	color: var(--ColorPrincipal);
	display: flex;
	align-items: center;
}
.InfoContacto__Description svg {
	fill: var(--ColorPrincipal);
	stroke: var(--ColorPrincipal);
	stroke-width: 10;
	width: clamp(0.6rem, 1vmin + 0.6rem, 1rem);
	height: clamp(0.6rem, 1vmin + 0.6rem, 1rem);
	margin-right: 0.2rem;
	z-index: 2;
}
.InfoContacto__SocialMedia{
	margin-top: 0.1rem;
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	flex-wrap: wrap;
  }
  
  .btn {
	text-decoration: none;
	background-color: none;
	position: relative;
	width: 18px;
	height: 18px;
  }
  

@media (min-width:1281px) /*and (pointer:fine)*/ {

 .Footer__InfoContainer {
	width: 70%;
	display: grid;
	margin: 2vh auto 0 auto;
	grid-template-columns: auto min-content;
	grid-template-rows: min-content min-content;
	column-gap: clamp(1rem, 2vh , 5rem);
  }

   #Sentinela__Footer {
	width: unset;
  }

    .Footer__Contactanos {
	grid-column: 1/2;
	grid-row: 1/3;
	width: 70%;
	min-width: 550px;
	height: 100%;
	color: var(--ColorPrincipal);
	gap: clamp(1rem, 3vh, 3rem);
  }

    .Contactanos__Header {
	font-family: var(--Fuente-Titulos);
	font-size: var(--FS-h1);
	font-weight: 700;
  }

  .Contactanos__Description {
	display: block;
	font-family: var(--Fuente-Parrafos);
	font-size: calc(var(--FS-p) * 1.2);
	font-weight: 400;
	padding: 1rem 0;
}

  .Footer__ContactButton {
	width: initial;
	justify-content: start;
}

.Footer__ContactButton svg {
	fill: var(--ColorFondo);
	stroke: var(--ColorFondo);
	width: 0;
	opacity: 0;
	margin-left: 0;
	transform: scale(0);
}

.Footer__ContactButton:hover svg {
	width: clamp(1rem, 1vmin + 1rem, 1.5rem);
	transform: scale(1);
	margin-left: 0.5rem;
	opacity: 1;
	transition-delay: 0.2s;
}

  .Footer__MenuContainer {
	grid-column: 2/3;
	grid-row: 1/2;
	margin-top: .8rem;
	right: -0.6rem; /*Se corre a la derecha para que el texto quede alineado al borde, debido a que los item tienen un padding de 0.6rem*/
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	color: var(--ColorPrincipal);
	font-family: var(--Fuente-Parrafos);
	font-size: var(--FS-h3);
	font-weight: 400;
  }

  .Footer__MenuItem {
	padding: 0 0.6rem 0.6rem 0.6rem;
	transition: all 0.3s ease;
  }

    .Footer__MenuItem::before {
	height: 3px;
	transform: scaleY(0);
	transition: transform 0.3s ease;
  }

    .Footer__MenuItemContainer:hover .Footer__MenuItem::before {
	transform: scaleY(1);
  }

    .Footer__InfoContacto {
	grid-column: 2/3;
	grid-row: 2/3;
	flex-direction: column;
	flex-wrap: nowrap;
  }

  .InfoContacto__Container {
	flex-basis: auto;
	align-items: flex-end;
	padding: 1rem 0;
	gap: 0.3rem;
}

.InfoContacto__SocialMedia{
	margin-top: 0.5rem;
	gap: 0.8rem;
  }

  .btn {
	width: 20px;
	height: 20px;
  }

  .btn::before {
	content: '';
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  border-radius: 1rem;
	  opacity: 0;
	  transform: scale(0);
	  transition: all 0.4s;
	  z-index: -1;
  }
  
  @media (hover:hover) and (pointer: fine){
	.btn:hover::before{ transform: scale(1.4); opacity: 1;}
  }
  
  @media (pointer: coarse) {
	.btn::before{ transform: scale(1.4); opacity: 1; border-radius: 0.7rem;}
  }
  
  .instagram::before {
	  content: '';
	  background-color: #E1306C;
  }
  
  .facebook::before {
	  content: '';
	  background-color: #3b5998;
  }

}
/* footer.css */
    /* Contenedor viewport */
    .ticker {
		overflow: hidden;
		white-space: nowrap;
		width: 100%;
		height: fit-content;
		margin-top: clamp(1rem, 3vh , 10rem);
		color: rgba(255, 251, 232, 0.1);
		padding: 0.5rem 0;
		font-family: var(--Fuente-Titulos);
		font-size: clamp(7rem, 16vh, 15rem);
		font-weight: 700;
		line-height: 1;
	  }
  
	  /* Cinta desplazable */
	  .ticker__inner {
		display: inline-flex;
		animation: scroll var(--ticker-duration, 20s) linear infinite;
	  }
  
	  /* Cada bloque de texto+dot */
	  .ticker__item {
		display: inline-flex;
		align-items: center;
	  }

	  .ticker__text{
		padding: 0 0.8rem;
		position: relative;
	  }
  
	  .ticker__dot {
		display: inline-block;
		position: relative;
		width: 0.2em;
		height: 0.2em;
		margin: 0 0.8rem;
		bottom: 5%;
		background: currentColor;
		border-radius: 50%;
	  }
  
	  @keyframes scroll {
		from { transform: translateX(0); }
		to   { transform: translateX(-50%); }
	  }

.Footer__PoliticasContainer {
	width: 80%;
	position: relative;
	margin: 0 auto;
	margin-bottom: clamp(1rem, 2vh , 5rem);
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: center;
	color: var(--ColorPrincipal);
	font-family: var(--Fuente-Parrafos);
	font-size: var(--FS-s);
	font-weight: 200;
}

.Politicas__Item a {
	color: var(--ColorPrincipal);
	text-decoration: underline;
}
  
@media (min-width:1281px) /*and (pointer:fine)*/ {

	.ticker__text{
		padding: 0 2rem;
	}

	.ticker__dot {
		margin: 0 2rem;
	}

.Footer__PoliticasContainer {
	width: 70%;
	font-size: calc(var(--FS-p)* 0.8);
}

}

/* Estilos para modal */
.Modal__Container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.Modal {
  background: var(--ColorPrincipal);
  scrollbar-width: thin;
  padding: 2rem;
  border-radius: 8px;
  width: 80%;
  min-width: 0;
  max-width: 600px;
  max-height: 80vh;
  overflow-y: auto;
  position: relative;
  font-family: var(--Fuente-Parrafos);
}
.Modal h3 {
  margin-top: 0;
}
.Modal__Cerrar {
  position: absolute;
  display: flex;
  justify-content: flex-end;
  top: 0;
  right: 0;
  background: none;
  border: none;
  font-size: 1.25rem;
  cursor: pointer;
}
.Modal a {
  color: var(--ColorSecundario);
  text-decoration: underline;
}
.error {
  color: var(--ColorPrincipal);
  font-size: calc(var(--FS-p) * 0.8);
  margin-top: 0.25rem;
  font-style: italic;
  display: none;
  transition: all 0.3s ease;
}

@media (min-width:1281px) /*and (pointer:fine)*/ {

	.Modal {
  width: 30%;
  min-width: 400px;
}

}