:root{--g:#173e2a;--o:#6f8f4e;--b:#f4f0e6;--e:#8b5e3c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;color:#173127;background:#fbfaf6;line-height:1.6}img,video{width:100%;display:block;object-fit:cover}h1,h2,h3{font-family:Georgia,serif;line-height:1.05}h2{font-size:clamp(2.8rem,6vw,5.8rem);margin:.25em 0 .7em}em{color:var(--o);font-weight:400}small{letter-spacing:.2em;font-weight:800}header{position:fixed;z-index:20;top:0;width:100%;height:88px;background:#fffdf8eF;backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:8px 5vw}header img{width:180px;height:72px;object-fit:contain}header nav{display:flex;gap:24px}header a{color:var(--g);text-decoration:none;font-weight:700}header button{display:none}.hero{height:100svh;min-height:700px;position:relative;display:flex;align-items:end;padding:0 7vw 8vh;color:white}.hero>img,.overlay{position:absolute;inset:0;height:100%}.overlay{background:linear-gradient(90deg,#092b1ee8,#092b1e8c 48%,transparent)}.hero-copy{position:relative;max-width:850px}.hero h1{font-size:clamp(3.5rem,8vw,7.5rem);margin:.15em 0}.hero p{font-size:1.2rem;max-width:600px}.hero a{display:inline-block;background:var(--o);color:white;padding:14px 24px;border-radius:30px;text-decoration:none;font-weight:800}.section{padding:110px 7vw}.cols{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.cols img{height:720px}.cols p{font-size:1.08rem}.cols blockquote{font:1.8rem Georgia;border-left:4px solid var(--o);padding-left:22px}.beige{background:var(--b)}.cards{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.cards article{grid-column:span 4;background:white}.cards article:nth-child(4),.cards article:nth-child(5){grid-column:span 6}.cards img{height:380px}.cards h3,.cards p{padding:0 22px}.cards h3{font-size:2rem}.placeholder{display:grid;place-items:center;min-height:470px}.placeholder span{font-size:7rem}.feature{display:grid;grid-template-columns:1.1fr .9fr;background:var(--g);color:white;min-height:800px}.feature img{height:100%}.feature>div{padding:100px 7vw}.feature h2{font-size:clamp(3rem,5vw,5rem)}.timeline{position:relative;max-width:1250px;margin:auto}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--o)}.timeline article{display:grid;grid-template-columns:1fr 70px 1fr;gap:28px;align-items:center;min-height:500px}.timeline article:nth-child(even)>:first-child{grid-column:3}.timeline article:nth-child(even)>b{grid-column:2}.timeline article:nth-child(even)>div:last-child{grid-column:1;grid-row:1;text-align:right}.timeline img,.timeline video{height:400px}.timeline b{width:52px;height:52px;border-radius:50%;background:var(--g);color:white;display:grid;place-items:center;z-index:2;margin:auto;font-size:1.3rem}.timeline h3{font-size:2.1rem}.stack{display:grid;grid-template-columns:1fr 1fr;gap:5px}.vision{padding:120px 7vw;background:linear-gradient(#123b29e8,#123b29ed),url('assets/images/desinfeccion-maquina.jpeg') center/cover fixed;color:white}.vision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.vision-grid div{padding:35px;border:1px solid #ffffff44}.gallery{columns:3 300px;column-gap:18px}.gallery img{margin-bottom:18px;max-height:600px}.contact{padding:100px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact a{display:block;color:var(--g);font-size:1.1rem;margin:12px 0}footer{padding:28px 7vw;background:var(--g);color:white}@media(max-width:850px){header{height:72px}header img{width:140px}header button{display:block}header nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:25px;flex-direction:column}header nav.open{display:flex}.hero{padding:0 6vw 8vh}.section{padding:80px 6vw}.cols,.feature,.contact{grid-template-columns:1fr}.cols img{height:500px}.cards article,.cards article:nth-child(4),.cards article:nth-child(5){grid-column:span 12}.timeline:before{left:25px}.timeline article,.timeline article:nth-child(even){grid-template-columns:50px 1fr;min-height:auto;margin:70px 0}.timeline article>:first-child,.timeline article:nth-child(even)>:first-child{grid-column:2;grid-row:1}.timeline article>b,.timeline article:nth-child(even)>b{grid-column:1;grid-row:1}.timeline article>div:last-child,.timeline article:nth-child(even)>div:last-child{grid-column:2;grid-row:2;text-align:left}.timeline img,.timeline video{height:300px}.stack{grid-template-columns:1fr}.vision-grid{grid-template-columns:1fr}}

/* Ajustes V3.1 */
header{height:118px;padding:7px 4.5vw}
header>a{display:flex;align-items:center;height:100%}
header img{width:285px;height:104px;object-fit:contain}
.hero{padding-top:118px}
.contact{background:var(--g);color:white;align-items:start;padding:110px 7vw;gap:6vw}
.contact-intro p{max-width:560px;font-size:1.08rem;color:#f6f2e8d9}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-card{display:flex!important;align-items:center;gap:16px;margin:0!important;padding:22px;background:#fffdf8;color:var(--g)!important;border-radius:16px;text-decoration:none!important;box-shadow:0 10px 30px #08211622;transition:transform .2s ease,box-shadow .2s ease}
.contact-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px #08211635}
.contact-card span:last-child{min-width:0}
.contact-card strong{display:block;font-size:1rem;margin-bottom:3px}
.contact-card small{display:block;letter-spacing:0;font-weight:500;line-height:1.35;overflow-wrap:anywhere;color:#476052}
.contact-icon{width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:grid;place-items:center;background:#edf2e9}
.contact-icon svg{width:27px;height:27px;fill:currentColor}
.contact-icon.whatsapp{color:#25D366}
.contact-icon.instagram{color:#C13584}
.contact-icon.mail{color:var(--g)}
.contact-icon.maps{color:#4285F4}
.whatsapp-cta{grid-column:1/-1;display:block!important;margin:6px 0 0!important;padding:16px 24px;border-radius:999px;background:var(--o);color:white!important;text-align:center;text-decoration:none!important;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
@media(max-width:850px){header{height:92px;padding:5px 5vw}header img{width:210px;height:82px}.hero{padding-top:92px}.contact-grid{grid-template-columns:1fr}.contact{padding:80px 6vw}.contact-card{padding:18px}.contact-icon{width:46px;height:46px;flex-basis:46px}.contact-icon svg{width:24px;height:24px}}
@media(max-width:420px){header img{width:180px}.contact-card small{font-size:.76rem}}

/* Ajustes V3.2: logo oficial exacto y navegación en botones */
header{
  height:164px;
  padding:6px 3.5vw;
  gap:28px;
}
header>a{
  flex:0 0 auto;
  height:100%;
}
header img{
  width:390px;
  height:152px;
  object-fit:contain;
  object-position:left center;
}
header nav{
  gap:11px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
header nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:43px;
  padding:10px 17px;
  border-radius:9px;
  background:#234b36;
  color:#fffdf8;
  box-shadow:0 5px 14px rgba(15,48,32,.14);
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
}
header nav a:hover,
header nav a:focus-visible{
  background:#173e2a;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(15,48,32,.22);
}
.hero{padding-top:164px}

@media(max-width:1120px){
  header{height:142px;padding:5px 3vw;gap:15px}
  header img{width:315px;height:130px}
  header nav{gap:7px}
  header nav a{padding:9px 11px;font-size:.88rem}
  .hero{padding-top:142px}
}
@media(max-width:850px){
  header{height:118px;padding:5px 5vw}
  header img{width:270px;height:106px}
  header button{display:block;background:#234b36;color:white;border:0;border-radius:9px;padding:10px 13px;font-size:1.15rem}
  header nav{top:118px;padding:18px 5vw;gap:10px;background:#fffdf8;box-shadow:0 12px 24px rgba(15,48,32,.15)}
  header nav a{width:100%;min-height:46px}
  .hero{padding-top:118px}
}
@media(max-width:480px){
  header{height:104px;padding:4px 4vw}
  header img{width:225px;height:94px}
  header nav{top:104px}
  .hero{padding-top:104px}
}


/* Ajustes V3.4: encabezado beige cálido, manteniendo el logo oficial exacto */
header{
  background:rgba(242,233,218,.97);
  border-bottom:1px solid rgba(82,65,43,.10);
  box-shadow:0 4px 18px rgba(0,0,0,.055);
}
@media(max-width:850px){
  header nav{
    background:#f2e9da;
    border-top:1px solid rgba(82,65,43,.08);
  }
}


/* Ajustes V3.5: logo oficial sin fondo blanco */
header img{
  filter:drop-shadow(0 2px 2px rgba(23,62,42,.06));
}
