*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
}

body{
font-family:'Montserrat',sans-serif;
background:#f7f4ef;
color:#111;
overflow-x:hidden;
}


header{

padding:25px 8%;

position:fixed;

top:0;

left:0;

width:100%;

z-index:1000;

transition:.4s;

}
header.scrolled{

background:rgba(255,255,255,.85);

backdrop-filter:blur(15px);

-webkit-backdrop-filter:blur(15px);

box-shadow:0 10px 30px rgba(0,0,0,.05);

}


nav{

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

}


.logo{

display:flex;
align-items:center;

}

.logo img{

width:65px;

display:block;

transition:.3s;

}

.logo img:hover{

transform:scale(1.05);

}
ul{

display:flex;
gap:45px;
list-style:none;

}


a{

text-decoration:none;
color:#111;

}


.hero{

display:flex;

align-items:center;

justify-content:space-between;

gap:80px;

padding:150px 8% 40px;

}


.hero-text{

flex:1;

display:flex;

flex-direction:column;

align-items:center;

text-align:center;

}
.hero-logo-container{

display:flex;

justify-content:center;

margin-bottom:35px;

}

.hero-logo{
width:200px;
display:block;
margin:0 auto 15px;
}


.hero-note{

margin-top:20px;

line-height:1.7;

color:#777;

font-size:.9rem;


}


.mini-title{

font-size:.8rem;

letter-spacing:3px;

color:#b59668;

margin-bottom:10px;

}


h1{

font-family:'Playfair Display';


font-size:clamp(3.5rem,8vw,6.5rem);


line-height:1.05;

margin-bottom:15px;

}


.description{

max-width:550px;

line-height:1.8;

color:#666;

margin-bottom:40px;

}


.buttons{

display:flex;

gap:20px;

}


.btn-primary{

background:#111;

color:white;

padding:18px 35px;

border-radius:50px;

transition:.4s;

}

.btn-primary:hover{

transform:translateY(-3px);

background:#b59668;

}


.btn-secondary{

border:1px solid #111;

padding:18px 35px;

border-radius:50px;

transition:.3s;

}

.btn-secondary:hover{

transform:translateY(-3px);

background:#111;

color:white;

}


.hero-image{

flex:1;

}


.hero-image img{
width:100%;
max-width:600px;
max-height:70vh;
object-fit:contain;
display:block;
}

.problem{

padding:90px 8%;

background:white;

}


.problem-container{

max-width:900px;

margin:auto;

text-align:center;

}


.problem-mini{

letter-spacing:4px;

font-size:.8rem;

color:#b59668;

margin-bottom:25px;

}


.problem h2{

font-family:'Playfair Display';

font-size:clamp(2.5rem,5vw,4.5rem);

line-height:1.2;

margin-bottom:30px;

}


.problem h3{

font-size:1.4rem;

font-weight:500;

margin-bottom:30px;

}


.problem-text{

color:#666;

line-height:2;

font-size:1.05rem;

max-width:700px;

margin:auto;

}

.services{

padding:90px 8%;

background:#f7f4ef;

}


.services-title{

text-align:center;

margin-bottom:80px;

}


.services-mini{

letter-spacing:4px;

font-size:.8rem;

color:#b59668;

margin-bottom:25px;

}


.services h2{

font-family:'Playfair Display';

font-size:clamp(2rem,4vw,3.2rem);

line-height:1.2;

}


.services-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

}


.service-card{

background:white;

padding:35px;

border-radius:25px;

transition:.4s;

box-shadow:0 10px 40px rgba(0,0,0,.05);

}


.service-card:hover{

transform:translateY(-10px);

box-shadow:0 25px 60px rgba(0,0,0,.08);

}


.service-card i{

font-size:2.3rem;

color:#b59668;

margin-bottom:25px;

}


.service-card h3{

font-size:1.3rem;

margin-bottom:20px;

}


.service-card p{

line-height:1.8;

color:#666;

}

.projects{

padding:80px 8%;

background:white;

}


.projects-title{

text-align:center;

margin-bottom:50px;

}


.projects-mini{

font-size:.8rem;

letter-spacing:4px;

color:#b59668;

margin-bottom:20px;

}


.projects h2{

font-family:'Playfair Display';

font-size:clamp(2rem,4vw,3rem);

}


.projects-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:25px;

}


.project-card{
    

overflow:hidden;

border-radius:5px;

cursor:pointer;

box-shadow:0 15px 40px rgba(0,0,0,.05);

transition:.4s;

}


.project-card img{

width:100%;

height:280px;

object-fit:contain;

background:#f7f4ef;

padding:15px;

display:block;

}

.project-card:hover img{

transform:translateY(-8px);

}


.project-info{

padding-top:20px;
margin-left:10px;

}


.project-info h3{

font-size:1.2rem;

margin-bottom:10px;

}


.project-info p{

color:#777;

}

.benefits{

padding:100px 8%;

background:#f7f4ef;

}


.benefits-container{

max-width:900px;

margin:auto;

text-align:center;

}


.benefits h2{

font-family:'Playfair Display';

font-size:clamp(2.5rem,6vw,5rem);

font-weight:600;

line-height:1.3;

margin-bottom:15px;
transition:4s;

}
.benefits h2:hover{

letter-spacing:3px;

color:#b59668;

}
.contact{

padding:90px 8%;

background:white;

}


.contact-container{

max-width:800px;

margin:auto;

text-align:center;

}


.contact-mini{

font-size:.8rem;

letter-spacing:4px;

color:#b59668;

margin-bottom:20px;

}


.contact h2{

font-family:'Playfair Display';

font-size:clamp(2.5rem,5vw,4rem);

margin-bottom:20px;

}


.contact-text{

color:#666;

line-height:1.8;

margin-bottom:50px;

}


.contact-info{

display:flex;

justify-content:center;

gap:40px;

flex-wrap:wrap;

margin-bottom:50px;

}


.contact-info div{

display:flex;

align-items:center;

gap:10px;

}


.contact-info i{

font-size:1.5rem;

color:#b59668;

}


.contact-btn{

display:inline-block;

background:#111;

color:white;

padding:18px 40px;

border-radius:50px;

transition:.3s;

}


.contact-btn:hover{

transform:translateY(-3px);

background:#b59668;

}

footer{

padding:40px 8%;

text-align:center;

background:#f7f4ef;

}


footer h3{

font-family:'Playfair Display';

font-size:1.8rem;

margin-bottom:10px;

}


footer p{

color:#777;

margin-bottom:15px;

}


footer span{

font-size:.9rem;

color:#999;

}
.menu-icon{

display:none;

font-size:2rem;

cursor:pointer;

}

.formulario{

background:white;

padding:100px 8%;

}

.formulario-container{

max-width:700px;

margin:auto;

text-align:center;

}

.form-text{

color:#666;

margin-bottom:40px;

}

form{

display:flex;

flex-direction:column;

gap:20px;

}

input,
select,
textarea{

padding:18px;

border:1px solid #ddd;

border-radius:15px;

font-family:'Montserrat',sans-serif;

font-size:1rem;

background:#f7f4ef;

}

textarea{

resize:none;

}

form .btn-primary{

border:none;

cursor:pointer;

}

.form-page{

min-height:100vh;

padding:180px 8% 80px;

display:flex;

justify-content:center;

align-items:center;

}


.form-page-container{

max-width:700px;

width:100%;

text-align:center;

}


.form-logo{

width:120px;

margin-bottom:30px;

}


form{

display:flex;

flex-direction:column;

gap:20px;

margin-top:50px;

}


input,
select,
textarea{

padding:20px;

border:1px solid #ddd;

border-radius:18px;

font-size:1rem;

font-family:'Montserrat',sans-serif;

background:white;

}


textarea{

resize:none;

}


button{

border:none;

cursor:pointer;

}

.gracias{

min-height:100vh;

display:flex;

justify-content:center;

align-items:center;

padding:40px;

text-align:center;

background:#f7f4ef;

}

.gracias-container{

max-width:700px;

}

.gracias-logo{

width:120px;

margin-bottom:30px;

}

.gracias i{

font-size:5rem;

color:#b59668;

margin-bottom:20px;

display:block;

}
.form-page{

min-height:100vh;

padding:180px 8% 80px;

display:flex;

justify-content:center;

align-items:center;

}


.form-page-container{

max-width:700px;

width:100%;

text-align:center;

}


.form-logo{

width:120px;

display:block;

margin:0 auto 30px;

}


form{

display:flex;

flex-direction:column;

gap:20px;

margin-top:50px;

}


input,
select,
textarea{

padding:20px;

border:1px solid #ddd;

border-radius:20px;

font-size:1rem;

font-family:'Montserrat',sans-serif;

background:white;

}


textarea{

resize:none;

}


form .btn-primary{

border:none;

cursor:pointer;

}


@media(max-width:768px){

.form-page{

padding:150px 6% 60px;

}

.form-logo{

width:100px;

}

}

.form-page{
min-height:100vh;
padding:150px 8% 80px;
display:flex;
justify-content:center;
align-items:center;
}

.form-page-container{
max-width:700px;
width:100%;
text-align:center;
}

.form-logo{
width:110px;
display:block;
margin:0 auto 30px;
}

.form-page form{
display:flex;
flex-direction:column;
gap:20px;
margin-top:50px;
}

.form-page input,
.form-page select,
.form-page textarea{
padding:20px;
border:1px solid #ddd;
border-radius:20px;
font-size:1rem;
font-family:'Montserrat',sans-serif;
background:white;
}

.form-page textarea{
resize:none;
}

.form-page button{
border:none;
cursor:pointer;
}

@media(max-width:768px){

.form-page{
padding:130px 6% 60px;
}

.form-logo{
width:90px;
}

}
.form-page{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:120px 20px;
    background:#f7f4ef;
}

.form-page-container{
    max-width:700px;
    width:100%;
    background:white;
    padding:60px;
    border-radius:30px;
    text-align:center;
    box-shadow:0 15px 50px rgba(0,0,0,.06);
}

.form-logo{
    width:100px;
    margin-bottom:25px;
}

.form-page form{
    display:flex;
    flex-direction:column;
    gap:18px;
    margin-top:40px;
}

.form-page input,
.form-page select,
.form-page textarea{
    padding:18px 22px;
    border:1px solid #ddd;
    border-radius:16px;
    font-family:'Montserrat',sans-serif;
    font-size:1rem;
    outline:none;
    transition:.3s;
}

.form-page input:focus,
.form-page select:focus,
.form-page textarea:focus{
    border-color:#b59668;
}

.form-page textarea{
    resize:none;
}

.volver{
    margin-top:40px;
}

@media(max-width:768px){

.form-page-container{
    padding:40px 25px;
}

}



/* ==========================
RESPONSIVE
========================== */

@media(max-width:1200px){

header{
    padding:25px 6%;
}

.hero,
.problem,
.services,
.projects,
.benefits,
.contact{
    padding-left:6%;
    padding-right:6%;
}

nav{
    justify-content:space-between;
    align-items:center;
}

nav ul{
    position:fixed;
    top:90px;
    right:-300px;
    width:230px;
    background:white;
    padding:30px;
    border-radius:25px;
    display:flex;
    flex-direction:column;
    gap:25px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    transition:.4s;
}

nav ul.active{
    right:20px;
}

.menu-icon{
    display:block;
    font-size:2.2rem;
    cursor:pointer;
}

.logo-text{
    display:none;
}

.logo h2{
    font-size:1.7rem;
}

.contact-info{
    flex-direction:column;
    gap:25px;
}

}


@media(max-width:950px){

.hero{
    flex-direction:column;
    text-align:center;
    gap:50px;
    padding-top:40px;
}
.hero-logo{

width:130px;



}
.description{
    margin:auto;
    margin-bottom:40px;
}

.buttons{
    justify-content:center;
    flex-wrap:wrap;
}

.hero-image img{
    max-width:500px;
}

.project-card img{
    height:350px;
}

}


@media(max-width:500px){

.buttons{
    flex-direction:column;
}

.btn-primary,
.btn-secondary,
.contact-btn{
    width:100%;
    text-align:center;
}

.project-card img{
    height:300px;
}

.service-card{
    padding:30px;
}

.logo h2{
    font-size:1.4rem;
}
.logo img{

width:50px;

}

.hero-logo{

width:110px;

}

}
.whatsapp{

position:fixed;

bottom:20px;

right:30px;

width:65px;

height:65px;

background: #1FAF5A;
border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

font-size:2rem;

color:white;

box-shadow:0 10px 30px rgba(0,0,0,.15);

z-index:1000;

transition:.3s;

}


.whatsapp:hover{

transform:translateY(-5px) scale(1.05);
background:#b59668;
}
.hidden{

opacity:0;

transform:translateY(40px);

transition:all .8s ease;

}


.show{

opacity:1;

transform:translateY(0);

}
.cta{

padding:100px 8%;

background:#111;

color:white;

}


.cta-container{

max-width:900px;

margin:auto;

text-align:center;

}


.cta-mini{

font-size:.8rem;

letter-spacing:4px;

color:#b59668;

margin-bottom:20px;

}


.cta h2{

font-family:'Playfair Display', serif;

font-size:clamp(2rem,5vw,4rem);

line-height:1.3;

margin-bottom:30px;

}


.cta-text{

max-width:650px;

margin:auto;

line-height:1.8;

color:#ccc;

margin-bottom:40px;

}


.cta-btn{

display:inline-block;

padding:18px 40px;

background:white;

color:#111;

border-radius:50px;

transition:.4s;

}


.cta-btn:hover{

background:#b59668;

color:white;

transform:translateY(-3px);

}

.scroll-top{

position:fixed;

bottom:110px;

right:30px;

width:65px;

height:55px;

background:white;

color:#111;

border-radius:50%;

display:none;

align-items:center;

justify-content:center;

font-size:2rem;

box-shadow:0 10px 30px rgba(0,0,0,.1);

cursor:pointer;

transition:.3s;

z-index:9999;

}

.scroll-top:hover{

transform:translateY(-4px);

background:#b59668;

color:white;

}
