/* Misma composición clásica, con acabados contemporáneos. */
:root { --paper:#f8f9fb; --text:#152353; --blue:#121950; --teal:#075e6d; }
.narrow { width:min(800px, calc(100% - 42px)); }
body { font-size:13.5px; background:var(--paper); }
.masthead { height:156px; position:relative; }
.masthead::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#f7faffaa,transparent 55%,#e8f4ef99); pointer-events:none; }
.logo-temporal { z-index:1; border-width:1px; box-shadow:0 10px 26px #1017412e; }
.nav { height:38px; background:linear-gradient(90deg,#121950,#202364); box-shadow:0 4px 14px #10153626; }
.nav-links { gap:48px; }
.nav a { font-size:10px; opacity:.83; transition:opacity .2s,color .2s; }
.nav a:hover,.nav a.is-active { opacity:1; }
.section-pad { padding:84px 0; }
.intro-home h1,.who h2,.catalog h2,.contact h2 { letter-spacing:-.035em; }
.intro-home p { font-size:11px; line-height:1.75; }
.machine-band { max-width:1250px; margin-left:auto; margin-right:auto; height:265px; box-shadow:0 12px 28px #13255014; }
.machine-photo { filter:saturate(.9) contrast(.98); }
.quality-list { background:#fbfcfd; box-shadow:inset 0 0 0 1px #e5e9ec; font-size:12px; }
.who { background:linear-gradient(180deg,#fff,#f8fafb); }
.who-row { gap:38px; margin-bottom:22px; }
.angled { height:200px; box-shadow:0 10px 25px #1a2a3c16; }
.copy h3 { font-size:17px; }
.copy p { font-size:11px; color:#515a67; line-height:1.9; }
.catalog { background:#f0f3f5; }
.catalog-hero { height:215px; box-shadow:0 12px 22px #13255016; }
.catalog li { background:#fff; border-top:0; border-left:3px solid #e0e7e9; padding:8px 10px; margin-bottom:8px; transition:border-color .2s,transform .2s; }
.catalog li:hover { border-color:#4c9aac; transform:translateX(3px); }
.product-detail { margin-top:49px; background:#fff; padding:36px 42px; box-shadow:0 10px 30px #1325500d; }
.lead { font-size:13px; }
.detail { grid-template-columns:1fr 105px; gap:35px; }
.detail-photo { height:85px; border-radius:3px; box-shadow:0 6px 16px #13255018; }
.detail h3 { font-size:12px; }.detail p { font-size:9px; }
.contact { background:linear-gradient(180deg,#f8fafb,#f2f6f7); }
.contact-box { background:#fff; padding:43px 48px; box-shadow:0 12px 35px #13255010; }
.contact-box>p { font-size:11px; } form { gap:7px; }
label { border-color:#d2d8dc; border-radius:2px; padding:4px 7px; } input,textarea { padding:3px 0; }
button { padding:7px 13px; border-radius:2px; transition:background .2s,transform .2s; }
button:hover { background:#243071; transform:translateY(-1px); }
footer { padding-top:31px; background:linear-gradient(100deg,#075e6d,#086477); }.footer-logo { box-shadow:0 3px 9px #0002; }
@media (max-width:600px) { .masthead { height:125px; }.nav { height:43px; }.nav-links { top:43px; }.section-pad { padding:64px 0; }.product-detail { padding:25px 19px; }.contact-box { padding:32px 23px; }.machine-band { box-shadow:none; } }

/* Versión amplia para aprovechar el ancho de escritorio sin perder legibilidad. */
@media (min-width:601px) {
  .narrow { width:min(1120px, calc(100% - 80px)); }
  .intro-home { width:min(720px, calc(100% - 80px)); }
  .machine-band { grid-template-columns:1.15fr 1.15fr 220px 1.15fr; }
  .who-row { grid-template-columns:1.18fr .82fr; gap:70px; }
  .who-row.reverse { grid-template-columns:.82fr 1.18fr; }
  .angled { height:255px; }
  .copy { max-width:350px; }
  .catalog-top { width:min(1120px, calc(100% - 80px)); }
  .catalog-layout { grid-template-columns:1fr 215px; gap:36px; }
  .catalog-hero { height:285px; }
  .catalog ul { font-size:11px; padding-top:10px; }
  .catalog li { padding:11px 13px; margin-bottom:11px; }
  .product-detail { width:min(960px, calc(100% - 80px)); }
  .detail { grid-template-columns:1fr 145px; gap:55px; margin-bottom:32px; }
  .detail-photo { height:112px; }
  .contact-box { width:min(680px, calc(100% - 80px)); }
}

/* Escala panorámica: los elementos visuales ocupan el monitor completo. */
@media (min-width:1200px) {
  .narrow,
  .catalog-top {
    width:min(1680px, calc(100% - clamp(56px, 8vw, 180px)));
  }
  .intro-home { width:min(780px, calc(100% - 80px)); }
  .machine-band {
    width:100%;
    max-width:none;
    grid-template-columns:1.35fr 1.35fr 280px 1.35fr;
    height:330px;
  }
  .who-row { grid-template-columns:1.35fr .65fr; gap:clamp(72px, 9vw, 190px); }
  .who-row.reverse { grid-template-columns:.65fr 1.35fr; }
  .angled { height:310px; }
  .copy { max-width:430px; }
  .copy p { font-size:12px; }
  .catalog-layout { grid-template-columns:1fr 300px; gap:54px; }
  .catalog-hero { height:360px; }
  .catalog ul { font-size:12px; padding-top:15px; }
  .catalog li { padding:14px 17px; margin-bottom:13px; }
  .product-detail {
    width:min(1420px, calc(100% - clamp(56px, 13vw, 280px)));
    padding:48px 64px;
  }
  .detail { grid-template-columns:1fr 180px; gap:90px; }
  .detail-photo { height:140px; }
  .detail p { font-size:10px; }
  .contact-box { width:min(1080px, calc(100% - 18vw)); }
  .contact-box form { grid-template-columns:1fr 1fr; }
  .contact-box .message { grid-column:2; grid-row:1 / span 3; }
  .contact-box button { grid-column:2; }
  .contact-box .form-response { grid-column:1 / 3; }
}

/* Escala y tipografía actualizadas: más legibles y menos "sitio antiguo". */
body { font-family:Manrope,Montserrat,Arial,sans-serif; font-size:16px; line-height:1.7; }
.intro-home h1,.who h2,.catalog h2,.contact h2 { font-family:Manrope,Montserrat,Arial,sans-serif; font-size:clamp(32px,2.5vw,46px); font-weight:800; line-height:1.12; }
.intro-home p { font-size:15px; line-height:1.75; max-width:700px; }
.quality-list { font-size:15px; line-height:1.25; }
.copy h3 { font-size:23px; font-weight:800; }
.copy p { font-size:15px; line-height:1.85; }
.catalog ul { font-size:14px; line-height:1.35; }
.catalog li { font-weight:700; }
.lead { font-family:Manrope,Montserrat,Arial,sans-serif; font-size:16px; letter-spacing:0; font-weight:600; }
.detail h3 { font-size:16px; font-weight:800; }
.detail p { font-size:13px; line-height:1.8; }
.contact-box>p { font-size:15px; line-height:1.65; letter-spacing:0; }
form { font-size:12px; } input,textarea { font:14px Manrope,Arial,sans-serif; }
button { font:700 13px Manrope,Arial,sans-serif; }
footer { font-size:13px; }.footer-logo { font-family:Manrope,Montserrat,Arial,sans-serif; font-style:normal; font-weight:800; }
@media (min-width:1200px) {
  .machine-band { height:280px; }
  .angled { height:270px; }
  .catalog-hero { height:300px; }
  .detail-photo { height:118px; }
}
@media (max-width:600px) {
  body { font-size:15px; }.intro-home p,.copy p,.contact-box>p { font-size:14px; }
  .quality-list { font-size:13px; }.detail p { font-size:12px; }
}

/* Ajustes de identidad solicitados. */
h1,h2,h3,
.intro-home h1,.who h2,.catalog h2,.contact h2,
.copy h3,.detail h3 {
  font-family:Montserrat,Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.025em;
}
.nav a { font-family:Montserrat,Arial,sans-serif; font-size:14px; letter-spacing:.025em; }
.who-row.reverse .photo-two {
  display:block;
  min-height:270px;
  background-color:#0b5669;
  background-image:linear-gradient(135deg,#073d5599,#0d6e7a22),url('https://images.unsplash.com/photo-1581092918056-0c4c3acd3789?auto=format&fit=crop&w=1200&q=85');
  background-position:center;
}
@media (max-width:600px) { .nav a { font-size:13px; } .who-row.reverse .photo-two { min-height:220px; } }

/* Fichas de producto: más visuales y fáciles de escanear. */
.product-showcase { display:grid; gap:22px; }
.product-item { display:grid; grid-template-columns:minmax(230px,.85fr) 1.15fr; min-height:215px; background:#f8fafb; border:1px solid #e1e7ea; }
.product-image { min-height:215px; background-position:center; background-size:cover; }
.product-info { padding:27px 32px; position:relative; }
.product-info>span { display:block; width:max-content; color:#fff; background:#075e6d; border-radius:999px; font:700 11px Montserrat,Arial,sans-serif; padding:3px 9px; margin-bottom:10px; }
.product-info h3 { color:#075e6d; margin:0 0 12px; font-size:17px; line-height:1.3; }
.product-info p { margin:0 0 9px; color:#46535c; font-size:13px; line-height:1.75; }
.reverse-card .product-image { order:2; }
.reverse-card .product-info { order:1; }
.product-low { background-image:linear-gradient(140deg,#073d5570,#073d5500),url('https://images.unsplash.com/photo-1611273426858-450d8e3c9fce?auto=format&fit=crop&w=900&q=85'); }
.product-trash-card { background-image:linear-gradient(140deg,#073d5570,#073d5500),url('https://images.unsplash.com/photo-1591195853828-11db59a44f6b?auto=format&fit=crop&w=900&q=85'); }
.product-recycled { background-image:linear-gradient(140deg,#073d5570,#073d5500),url('https://images.unsplash.com/photo-1532996122724-e3c354a0b15b?auto=format&fit=crop&w=900&q=85'); }
.product-high { background-image:linear-gradient(140deg,#073d5570,#073d5500),url('https://images.unsplash.com/photo-1581092795360-fd1ca04f0952?auto=format&fit=crop&w=900&q=85'); }
.product-handle { background-image:linear-gradient(140deg,#073d5570,#073d5500),url('https://images.unsplash.com/photo-1581873372796-635b67ca2008?auto=format&fit=crop&w=900&q=85'); }
@media (min-width:1200px) { .product-item { grid-template-columns:390px 1fr; min-height:230px; }.product-image { min-height:230px; }.product-info { padding:30px 42px; }.product-info h3 { font-size:19px; }.product-info p { font-size:14px; } }
@media (max-width:600px) { .product-item { grid-template-columns:1fr; }.product-image { min-height:185px; }.reverse-card .product-image { order:1; }.reverse-card .product-info { order:2; }.product-info { padding:22px; }.product-info p { font-size:13px; } }

/* Todas las fotografías de producto conservan la misma presencia visual. */
.product-image {
  height:170px;
  min-height:170px;
  align-self:start;
  margin:20px 0 20px 20px;
  border-radius:3px;
}
.reverse-card .product-image { margin:20px 20px 20px 0; }
@media (min-width:1200px) {
  .product-item { grid-template-columns:310px 1fr; }
  .product-image { height:170px; min-height:170px; }
}
@media (max-width:600px) {
  .product-image,.reverse-card .product-image { height:165px; min-height:165px; margin:16px 16px 0; }
}

/* Medida fija, sin depender de la altura de cada tarjeta. */
@media (min-width:601px) {
  .product-item,
  .product-item.reverse-card { grid-template-columns:330px minmax(0,1fr); }
  .product-image,
  .reverse-card .product-image {
    width:280px !important;
    height:170px !important;
    min-height:170px !important;
    max-height:170px !important;
    margin:20px auto !important;
    align-self:start;
    justify-self:center;
    background-size:cover;
  }
}
@media (max-width:600px) {
  .product-image,
  .reverse-card .product-image {
    width:calc(100% - 32px) !important;
    height:165px !important;
    min-height:165px !important;
    max-height:165px !important;
    margin:16px auto 0 !important;
    justify-self:center;
  }
}

/* El listado lateral del catálogo se alinea con la imagen principal. */
@media (min-width:601px) {
  .catalog-layout { align-items:stretch; }
  .catalog-layout > ul {
    display:grid;
    grid-template-rows:repeat(5, minmax(0, 1fr));
    gap:10px;
    height:100%;
    margin:0;
    padding:0;
  }
  .catalog-layout > ul > li {
    display:flex;
    align-items:center;
    margin:0 !important;
    min-height:0;
  }
}

/* Cabecera de productos: una imagen y un listado con el mismo alto visual. */
@media (min-width:601px) {
  .catalog-layout {
    grid-template-columns:minmax(0,1fr) 300px;
    gap:24px;
    align-items:stretch;
  }
  .catalog-hero {
    height:370px !important;
    min-height:370px;
    /* Recorte temporal de la foto de maquinaria de la referencia original. */
    background-image:linear-gradient(135deg,#082b4340,#082b4310),url('../Ejemplos Web/Productos.png');
    background-size:211.5% auto;
    background-position:33% 9%;
  }
  .catalog-layout > ul {
    height:370px;
    min-height:370px;
    gap:9px;
  }
  .catalog-layout > ul > li {
    padding:14px 18px;
    border-left:4px solid #0a6c80;
  }
}
@media (max-width:600px) {
  .catalog-hero {
    background-image:linear-gradient(135deg,#082b4340,#082b4310),url('../Ejemplos Web/Productos.png');
    background-size:cover;
    background-position:center 12%;
  }
}

/* Imágenes de producto tomadas de la captura original Productos.png. */
.product-image { background-repeat:no-repeat; background-color:#fff; }
.product-low {
  background-image:url('../Ejemplos Web/Productos.png');
  background-size:660% auto;
  background-position:74.5% 49%;
}
.product-trash-card {
  background-image:url('../Ejemplos Web/Productos.png');
  background-size:660% auto;
  background-position:74% 66%;
}
.product-recycled {
  background-image:url('../Ejemplos Web/Productos.png');
  background-size:660% auto;
  background-position:74.5% 49%;
}
.product-high {
  background-image:url('../Ejemplos Web/Productos.png');
  background-size:660% auto;
  background-position:74.5% 49%;
}
.product-handle {
  background-image:url('../Ejemplos Web/Productos.png');
  background-size:660% auto;
  background-position:73% 87%;
}

/* El resto de las imágenes también se basa en las capturas de referencia. */
.masthead {
  background-image:linear-gradient(90deg,#ffffff99,#eef2f388),url('../Ejemplos Web/Home.png');
  background-size:100% auto;
  background-position:center top;
}
.machine-photo {
  background-image:linear-gradient(#ffffff62,#ffffff62),url('../Ejemplos Web/Home.png');
  background-size:auto 345%;
  background-position:8% 56%;
}
.machine-photo.middle {
  background-image:linear-gradient(#ffffff42,#ffffff42),url('../Ejemplos Web/Home.png');
  background-size:auto 345%;
  background-position:51% 56%;
}
.machine-photo.right {
  background-image:linear-gradient(#ffffff62,#ffffff62),url('../Ejemplos Web/Home.png');
  background-size:auto 345%;
  background-position:94% 56%;
}
.photo-one {
  background-image:url('../Ejemplos Web/Quienes somos.png');
  background-size:215% auto;
  background-position:28% 20%;
}
.photo-two,
.who-row.reverse .photo-two {
  background-image:linear-gradient(135deg,#073d5522,#0d6e7a11),url('../Ejemplos Web/Quienes somos.png');
  background-size:215% auto;
  background-position:72% 49%;
}
.photo-three {
  background-image:url('../Ejemplos Web/Quienes somos.png');
  background-size:215% auto;
  background-position:15% 78%;
}
@media (max-width:600px) {
  .masthead { background-size:auto 240%; background-position:center top; }
  .machine-photo,.machine-photo.middle,.machine-photo.right { background-size:auto 365%; }
  .photo-one,.photo-two,.who-row.reverse .photo-two,.photo-three { background-size:340% auto; }
}

/* Recortes limpios: sólo fotografía, sin el texto de las capturas originales. */
.masthead { background-image:linear-gradient(90deg,#ffffff70,#eef2f360),url('assets/hero-rollos.png'); background-size:cover; background-position:center; }
.machine-photo { background-image:linear-gradient(#ffffff52,#ffffff52),url('assets/home-maquinaria-izquierda.png'); background-size:cover; background-position:center; }
.machine-photo.middle { background-image:linear-gradient(#ffffff35,#ffffff35),url('assets/home-maquinaria-centro.png'); background-size:cover; background-position:center; }
.machine-photo.right { background-image:linear-gradient(#ffffff52,#ffffff52),url('assets/home-maquinaria-derecha.png'); background-size:cover; background-position:center; }
.photo-one { background-image:url('assets/quienes-sermaplas.png'); background-size:cover; background-position:center; }
.photo-two,.who-row.reverse .photo-two { background-image:url('assets/quienes-mision.png'); background-size:cover; background-position:center; }
.photo-three { background-image:url('assets/quienes-vision.png'); background-size:cover; background-position:center; }
.catalog-hero { background-image:linear-gradient(135deg,#082b4338,#082b4310),url('assets/productos-maquinaria.png'); background-size:cover; background-position:center; }
.product-low,.product-recycled,.product-high { background-image:url('assets/producto-baja-densidad.png'); background-size:cover; background-position:center; }
.product-trash-card { background-image:url('assets/producto-basura.png'); background-size:cover; background-position:center; }
.product-handle { background-image:url('assets/producto-colores.png'); background-size:cover; background-position:center; }

/* Archivos que el cliente puede sustituir dentro de assets/reemplazables. */
.logo-temporal { width:300px; height:112px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; transform:none; }
.logo-temporal img { display:block; width:100%; height:100%; object-fit:contain; }
.masthead { background-image:linear-gradient(90deg,#ffffff70,#eef2f360),url('assets/reemplazables/encabezado.png'); }
.machine-photo { background-image:linear-gradient(#ffffff52,#ffffff52),url('assets/reemplazables/inicio-maquinaria-izquierda.png'); }
.machine-photo.middle { background-image:linear-gradient(#ffffff35,#ffffff35),url('assets/reemplazables/inicio-maquinaria-centro.png'); }
.machine-photo.right { background-image:linear-gradient(#ffffff52,#ffffff52),url('assets/reemplazables/inicio-maquinaria-derecha.png'); }
.photo-one { background-image:url('assets/reemplazables/nosotros-sermaplas.png'); }
.photo-two,.who-row.reverse .photo-two { background-image:url('assets/reemplazables/nosotros-mision.png'); }
.photo-three { background-image:url('assets/reemplazables/nosotros-vision.png'); }
.catalog-hero { background-image:linear-gradient(135deg,#082b4338,#082b4310),url('assets/reemplazables/productos-cabecera.png'); }
.product-low { background-image:url('assets/reemplazables/producto-baja-densidad.png'); }
.product-trash-card { background-image:url('assets/reemplazables/producto-basura.png'); }
.product-recycled { background-image:url('assets/reemplazables/producto-reciclado.png'); }
.product-high { background-image:url('assets/reemplazables/producto-alta-densidad.png'); }
.product-handle { background-image:url('assets/reemplazables/producto-asa-stretch.png'); }
