:root{
  --gold:#c8a35a;
  --brown:#5a3a2e;
  --cream:#f7f3ee;
  --dark:#1c1c1c;
}

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

body{
  font-family:'Inter', sans-serif;
  color:var(--dark);
  background:var(--cream);
  line-height:1.6;
}

h1,h2,h3,h4{
  font-family:'Playfair Display', serif;
}

.container{
  width:90%;
  max-width:1100px;
  margin:auto;
}
.container.center{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align: center;
}
.container.center .btn-primary{margin-top: 2rem;}
.header{
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.05);
  position: sticky;
  top: 0;
  z-index: 1000;
  transition: box-shadow .3s ease;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1.2rem 0;
}

.logo{
  font-size:1.4rem;
  letter-spacing:1px;
}

.nav a{
  margin-left:1.2rem;
  text-decoration:none;
  color:var(--dark);
  font-size:.9rem;
}

.btn-nav{
  padding:.4rem .8rem;
  border:1px solid var(--gold);
}

.hero{
  height:85vh;
  background-image: url(../img/dscf3212.webp);
  background-size: cover;
  display:flex;
  align-items:center;
}


.hero-content{
  width:90%;
  max-width:1100px;
  margin:auto;
  color:#fff;
}
@media (max-width: 769px) {
  .hero-content{
    text-align: center;
  }
  p{font-size: 1rem;}
  h4{font-size: 1.1rem;}
}

.hero h2{
  font-size:4rem;

}

.hero p{
  margin:1rem 0 2rem;
  font-size:1.2rem;
}

.hero-buttons a{
  margin-right:1rem;
}
@media (max-width: 768px){
  .hero-buttons{
  display: flex;
  gap: 1rem;
  justify-content: flex-start;
}

.hero-buttons{
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.hero-buttons a{
  margin-right: 0;
}
}
.btn-primary{
  background:var(--gold);
  color:#fff;
  padding:.7rem 1.4rem;
  text-decoration:none;
}



.btn-secondary{
  border:1px solid #fff;
  color:#fff;
  padding:.7rem 1.4rem;
  text-decoration:none;
}

.section{
  padding:5rem 0;
}

.about h3,
.production h3{
  font-size:2rem;
  margin-bottom:1.5rem;
}

.values{
  background:#fff;
}

.values-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2rem;
}

.value-card{
  background:var(--cream);
  padding:2rem;
  text-align: center;
  
}

.production-list{ 
  margin-top:1.5rem;
  list-style: none; 
}

.production-list li{
  margin-bottom:.5rem;
}

.quote{
  background:var(--brown);
  color:#fff;
  text-align:center;
  font-size: 2rem;
}

blockquote{
  font-family:'Playfair Display', serif;
  font-size:2rem;
}

.footer{
  background:#111;
  color:#ccc;
  text-align:center;
  padding:2rem 0;
}

@media(max-width:768px){
  .hero h2{font-size:2.2rem;}
  .products-grid{
    grid-template-columns:1fr;
  }
  .values-grid{grid-template-columns:1fr;}
  .page-hero{text-align: center;}
}
.page-hero{
  position: relative;
  min-height: 85vh;
  display: flex;
  align-items: center;
  color: #fff;
  background-color: var(--brown);
  background-image: var(--page-hero-image);
  background-size: cover;
  background-position: center;
}
/* Overlay */
.page-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.30);
}

/* Contenido arriba del overlay */
.page-hero .container{
  position: relative;
  z-index: 2;
}



.page-hero p{font-size: 1.2rem;}

.page-hero h2{
  font-size:4rem;
}
@media (max-width: 768px){
  .page-hero{
    min-height: 45vh;
  }

  .page-hero h2{
    font-size: 2rem;
  }

  .page-hero p{
    font-size: 1rem;
  }
}
.narrow{
  max-width:65%;
}
@media(max-width:768px){
  .narrow{
    max-width:90%;
  }
  .narrow2{
    max-width:70%;
  }
}
.products-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:2rem;
}


.product-card{
  background:#fff;
  padding:2rem;
  border:1px solid rgba(0,0,0,.05);
}

.center{
  text-align:center;
}

.small{
  font-size:.85rem;
  opacity:.7;
  margin-top:1rem;
}

.contact-list{
  margin-top:1.5rem;
}

.contact-list li{
  margin-bottom:.6rem;
}
/* ===== Brand ===== */

.brand{
  display:flex;
  align-items:center;
  text-decoration:none;
  color:var(--dark);
}

.brand-logo{
  height: 70px;
  width:auto;
}

.brand-divider{
  width:1px;
  height:28px;
  background:var(--gold);
  margin:0 12px;
}

.brand-name{
  font-family:'Playfair Display', serif;
  font-size:1.3rem;
  letter-spacing:.5px;
}
/* ===== Navigation ===== */

.nav{
  display:flex;
  align-items:center;
}

.burger{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
}

.burger span{
  width:22px;
  height:2px;
  background:var(--dark);
}

/* ===== Mobile ===== */

@media(max-width:768px){

  .nav{
    position:absolute;
    top:100%;
    right:0;
    background:#fff;
    flex-direction:column;
    align-items:flex-start;
    width:100%;
    padding:1.5rem;
    display:none;
    border-top:1px solid rgba(0,0,0,.05);
  }

  .nav a{
    margin:0 0 1rem;
    font-size:1rem;
  }

  .nav.active{
    display:flex;
  }

  .burger{
    display:flex;
  }

  .header-inner{
    position:relative;
  }
}
a{
  transition:all .3s ease;
}

.nav a:hover{
  color:var(--gold);
}

.btn-primary:hover{
  background:#b8944f;
}
.product-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.05);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.product-image{
  width:100%;
  height:180px;
  overflow:hidden;
}

.product-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}

.product-card:hover .product-image img{
  transform:scale(1.05);
}

.product-content{
  padding:1.8rem;
}

.product-content h4{
  margin-bottom:.6rem;
}

.product-card,
.value-card{
  transition:transform .3s ease, box-shadow .3s ease;
}

.product-card:hover,
.value-card:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 25px rgba(0,0,0,.08);
}
@media(max-width:768px){

  body{
    font-size:15px;
  }

  h2{
    font-size:2rem;
  }

  blockquote{
    font-size:1.4rem;
  }

  .hero{
    height:70vh;
  }
}
/* ===== Contact ===== */

.divider{
  border:none;
  border-top:1px solid rgba(0,0,0,.1);
  margin:2.5rem 0;
}

.contact-form{
  display:flex;
  flex-direction:column;
  gap:1.2rem;
  margin-top:1.5rem;
}

.contact-form label{
  display:flex;
  flex-direction:column;
  font-size:.85rem;
}

.contact-form input,
.contact-form textarea{
  margin-top:.4rem;
  padding:.6rem;
  border:1px solid rgba(0,0,0,.2);
  font-family:inherit;
  font-size:.9rem;
}

.contact-form input:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:var(--gold);
}

.contact-form button{
  align-self:flex-start;
  margin-top:1rem;
}

@media (max-width: 768px){

  .product-image{
    height: 140px;
  }

  .product-image img{
    object-fit: contain;
  }

}
@media (max-width: 768px){

  .product-card{
    padding: 1.2rem;
  }

}
@media (max-width: 768px){

  .product-content{
    padding: 1.2rem 0 0;
    text-align: center;
  }

  .product-content h4{
    font-size: 1.05rem;
  }

}
@media (max-width: 768px){

  .product-card{
    border-radius: 12px;
  }

}
@media (max-width: 768px){
  .products-grid{
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
}
/* ===== Hero Index Mobile ===== */
@media (max-width: 768px){

  .hero{
    height: 45vh;      /* antes 85vh */
    min-height: auto; /* libera el bloqueo */
  }

  .hero h2{
    font-size: 2rem;
  }

  .hero p{
    font-size: 1rem;
  }

}
/* ===== Laboratorio Images ===== */

.value-card img{
  width:100%;
  height:20rem;
  object-fit:cover;
  margin-bottom:1.2rem;
  border-radius:4px;
}

/* Mobile */
@media(max-width:768px){
  .value-card img{
    height:20rem;
  }
}
