:root {
  --primary: #09a9bd;
  --primary-dark: #087b91;
  --navy: #123746;
  --text: #233744;
  --muted: #64747c;
  --white: #ffffff;
  --shadow: 0 8px 25px rgba(15, 54, 67, 0.12);
  --header-height: 104px;
}

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

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Montserrat", Arial, sans-serif;
  color: var(--text);
  background: #fff;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font: inherit;
}

/* HEADER */
.site-header {
  position: relative;
  z-index: 1000;
  height: var(--header-height);
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid rgba(18, 55, 70, 0.08);
  transition: box-shadow 0.3s ease, height 0.3s ease;
}

.site-header.sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 82px;
  box-shadow: var(--shadow);
}

body.header-fixed {
  padding-top: var(--header-height);
}

.header-container {
  width: calc(100% - 64px);
  max-width: 1420px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.brand {
  width: 205px;
  flex-shrink: 0;
}

.brand img {
  width: 100%;
  max-height: 84px;
  object-fit: contain;
  object-position: left center;
}

.main-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 30px;
}

.nav-link,
.submenu-toggle {
  position: relative;
  border: 0;
  background: transparent;
  color: #102f3d;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  cursor: pointer;
  white-space: nowrap;
  padding: 30px 0;
}

.nav-link::after,
.submenu-toggle::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 19px;
  height: 2px;
  background: var(--primary);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.25s ease;
}

.nav-link:hover::after,
.nav-link.active::after,
.submenu-toggle:hover::after {
  transform: scaleX(1);
}

.nav-link.active {
  color: var(--primary-dark);
}

.contact-link {
  padding: 13px 18px;
  border: 1px solid rgba(9, 169, 189, 0.35);
  border-radius: 5px;
}

.contact-link::after {
  display: none;
}

.contact-link:hover {
  background: var(--primary);
  color: white;
}

.nav-item {
  position: relative;
}

.chevron {
  margin-left: 4px;
  font-size: 16px;
}

.submenu {
  position: absolute;
  top: calc(100% - 14px);
  left: 50%;
  width: 250px;
  padding: 12px;
  background: #fff;
  border-radius: 8px;
  box-shadow: var(--shadow);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 12px);
  transition: 0.25s ease;
}

.has-submenu:hover .submenu,
.has-submenu.open .submenu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.submenu a {
  display: block;
  padding: 12px 14px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
}

.submenu a:hover {
  color: var(--primary-dark);
  background: #eefbfc;
}

.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  width: 27px;
  height: 2px;
  margin: 6px auto;
  background: var(--navy);
  transition: 0.25s ease;
}

/* HERO */
.hero {
  position: relative;
}

.hero-slider {
  position: relative;
  height: calc(100vh - var(--header-height));
  max-height: 720px;
  min-height: 580px;
  overflow: hidden;
  background: #143846;
}

.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.9s ease, visibility 0.9s ease;
}

.hero-slide.active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

.hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.05);
}

.hero-slide.active .hero-image {
  animation: heroZoom 7s ease-out forwards;
}

@keyframes heroZoom {
  from { transform: scale(1.08); }
  to { transform: scale(1); }
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,
      rgba(4, 23, 31, 0.63) 0%,
      rgba(4, 23, 31, 0.45) 25%,
      rgba(4, 23, 31, 0.18) 54%,
      rgba(4, 23, 31, 0.08) 100%);
}

.hero-content-wrap {
  position: relative;
  z-index: 3;
  width: calc(100% - 64px);
  max-width: 1420px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
}

.hero-content {
  width: 48%;
  max-width: 610px;
  color: white;
  opacity: 0;
  transform: translateY(28px);
}

.hero-slide.active .hero-content {
  animation: contentIn 0.8s 0.2s ease forwards;
}

@keyframes contentIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  color: #8ce6ef;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.eyebrow::before {
  content: "";
  width: 38px;
  height: 2px;
  background: var(--primary);
}

.hero-content h1,
.hero-content h2 {
  max-width: 610px;
  margin-bottom: 20px;
  font-size: 74px;
  line-height: 1.04;
  font-weight: 800;
  letter-spacing: -0.6px;
}

.hero-content p {
  max-width: 560px;
  margin-bottom: 30px;
  font-size: 16px;
  line-height: 1.75;
  color: rgba(255,255,255,0.9);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 52px;
  padding: 0 24px;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease;
}

.btn:hover {
  transform: translateY(-2px);
}

.btn-primary {
  color: #fff;
  background: var(--primary);
  box-shadow: 0 8px 22px rgba(9, 169, 189, 0.28);
}

.btn-primary:hover {
  background: #058fa2;
}

.btn-secondary {
  color: var(--primary-dark);
  background: #fff;
}

.slider-arrow {
  position: absolute;
  z-index: 6;
  top: 50%;
  width: 50px;
  height: 50px;
  transform: translateY(-50%);
  border: 1px solid rgba(255,255,255,0.38);
  border-radius: 50%;
  color: white;
  background: rgba(3, 30, 40, 0.28);
  backdrop-filter: blur(6px);
  font-size: 35.2px;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.25s ease, background 0.25s ease;
}

.hero-slider:hover .slider-arrow {
  opacity: 1;
}

.slider-arrow:hover {
  background: var(--primary);
}

.slider-prev { left: 22px; }
.slider-next { right: 22px; }

.slider-dots {
  position: absolute;
  z-index: 7;
  left: 50%;
  bottom: 24px;
  display: flex;
  gap: 10px;
  transform: translateX(-50%);
}

.dot {
  width: 10px;
  height: 10px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,0.65);
  cursor: pointer;
  transition: width 0.25s ease, border-radius 0.25s ease, background 0.25s ease;
}

.dot.active {
  width: 32px;
  border-radius: 10px;
  background: var(--primary);
}

/* FEATURE STRIP */
.feature-strip {
  position: relative;
  z-index: 10;
  background: white;
  box-shadow: 0 -6px 20px rgba(15, 54, 67, 0.06);
}

.feature-container {
  width: calc(100% - 64px);
  max-width: 1420px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.feature-item {
  display: flex;
  gap: 20px;
  min-height: 150px;
  padding: 32px 28px;
  align-items: center;
  border-right: 1px solid rgba(18, 55, 70, 0.12);
}

.feature-item:last-child {
  border-right: 0;
}

.feature-icon {
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  border: 2px solid var(--primary);
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: var(--primary-dark);
  font-size: 27px;
  font-weight: 800;
}

.feature-item h3 {
  margin-bottom: 8px;
  color: var(--navy);
  font-size: 15px;
  line-height: 1.35;
  text-transform: uppercase;
}

.feature-item p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.preview-section {
  padding: 90px 30px;
  text-align: center;
  background: #f3f9fa;
}

.preview-container {
  width: 100%;
  max-width: 850px;
  margin: auto;
}

.section-kicker {
  color: var(--primary-dark);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.92px;
}

.preview-section h2 {
  margin: 15px 0;
  color: var(--navy);
  font-size: 48px;
}

.preview-section p {
  color: var(--muted);
  line-height: 1.8;
}

/* RESPONSIVE */
@media (max-width: 1180px) {
  .header-container,
  .hero-content-wrap,
  .feature-container {
    width: calc(100% - 40px);
    max-width: 1100px;
  }

  .brand { width: 175px; }
  .main-nav { gap: 18px; }
  .nav-link,
  .submenu-toggle { font-size: 12px; }
  .hero-content { width: 55%;
  max-width: 580px; }
}

@media (max-width: 960px) {
  :root { --header-height: 86px; }

  .site-header,
  .site-header.sticky { height: var(--header-height); }

  .header-container {
    width: calc(100% - 30px);
  }

  .brand { width: 160px; }
  .menu-toggle { display: block; }

  .main-nav {
    position: fixed;
    top: var(--header-height);
    left: 0;
    right: 0;
    max-height: calc(100vh - var(--header-height));
    overflow-y: auto;
    display: block;
    padding: 16px 24px 28px;
    background: white;
    border-top: 1px solid rgba(18, 55, 70, 0.08);
    box-shadow: var(--shadow);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    transition: 0.25s ease;
  }

  .main-nav.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .nav-link,
  .submenu-toggle {
    display: block;
    width: 100%;
    padding: 15px 0;
    text-align: left;
  }

  .nav-link::after,
  .submenu-toggle::after {
    display: none;
  }

  /* Opción activa del menú en tablet y celular */
  .nav-link.active {
    color: var(--primary-dark);
    padding-left: 14px;
    border-left: 3px solid var(--primary);
  }

  /* El botón Contacto conserva su estilo de botón */
  .contact-link.active {
    padding-left: 15px;
    border-left: 0;
    color: #ffffff;
    background: var(--primary);
  }

  .contact-link {
    margin-top: 8px;
    padding: 15px;
    text-align: center;
  }

  .submenu {
    position: static;
    width: 100%;
    padding: 0 0 4px 14px;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    display: none;
  }

  .has-submenu.open .submenu { display: block; }

  .hero-slider {
    height: 680px;
    min-height: 680px;
  }

  .hero-content-wrap {
    width: calc(100% - 40px);
    align-items: flex-end;
    padding-bottom: 90px;
  }

  .hero-content {
    width: 100%;
  max-width: 680px;
  }

  .hero-overlay {
    background:
      linear-gradient(0deg,
        rgba(4, 23, 31, 0.94) 0%,
        rgba(4, 23, 31, 0.72) 45%,
        rgba(4, 23, 31, 0.08) 100%);
  }

  .hero-image {
    object-position: 58% center;
  }

  .slider-arrow { display: none; }

  .feature-container {
    width: 100%;
    grid-template-columns: repeat(2, 1fr);
  }

  .feature-item:nth-child(2) { border-right: 0; }
  .feature-item:nth-child(-n+2) { border-bottom: 1px solid rgba(18, 55, 70, 0.12); }
}

@media (max-width: 640px) {
  .brand { width: 145px; }

  .hero-slider {
    height: 720px;
    min-height: 720px;
  }

  .hero-content-wrap {
    width: calc(100% - 30px);
    padding-bottom: 78px;
  }

  .hero-content h1,
  .hero-content h2 {
    font-size: 36px;
  }

  .hero-content p {
    font-size: 14px;
    line-height: 1.65;
  }

  .hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .btn {
    width: 100%;
  }

  .feature-container {
    grid-template-columns: 1fr;
  }

  .feature-item {
    min-height: auto;
    padding: 25px 24px;
    border-right: 0;
    border-bottom: 1px solid rgba(18, 55, 70, 0.12);
  }

  .feature-item:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}


/* CONTENIDO CENTRAL */
.section-pad {
    padding: 110px 0;
}

.section-container {
    width: calc(100% - 48px);
  max-width: 1240px;
    margin: 0 auto;
}

/* SOLO PARA LA SECCIÓN LÍNEAS */
.lines-section .section-container {
    width: calc(100% - 48px);
    max-width: 1450px;
}

/* SOLO PARA LA SECCIÓN CALIDAD */
.quality-section .section-container {
    width: calc(100% - 48px);
  max-width: 1550px;
}

.section-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--primary-dark);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.section-kicker.light { color: #a8f1f4; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 60px; margin-bottom: 48px; }
.section-heading h2, .about-copy h2, .quality-copy h2, .contact-section h2 { color: var(--navy); font-size: 38px; line-height: 1.1; }

.section-heading > p { max-width: 480px; color: var(--muted); line-height: 1.8; }

.about-section { background: #fff; }
.about-grid { display: grid; grid-template-columns: 1.06fr .94fr; gap: 76px; align-items: center; }
.about-visual { position: relative; min-height: 690px; }
.about-visual img { width: 100%; height: 690px; object-fit: cover; border-radius: 4px; box-shadow: 0 24px 60px rgba(11,57,72,.16); }
.experience-card { position: absolute; right: -28px; bottom: -28px; width: 225px; padding: 28px; color: white; background: linear-gradient(135deg, var(--primary), var(--primary-dark)); box-shadow: var(--shadow); }
.experience-card strong { display: block; font-size: 54px; line-height: 1; }
.experience-card span { display: block; margin-top: 8px; font-size: 13px; line-height: 1.5; font-weight: 600; }
.about-copy > p { margin-top: 18px; color: var(--muted); line-height: 1.85; }


.about-points {
    margin: 22px 0;
    display: grid;
    gap: 0;
}

.about-points div {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 1px 0;
    border-bottom: 1px solid #e6eef1;
    line-height: 1.2;
}


.about-points div {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;      /* antes 14px */
    border-bottom: 1px solid #e6eef1;
}

.about-points div{
    margin-bottom:0;
}

.about-points div:last-child{
    margin-bottom:0;
}


.about-points b{
    font-size: 30px;
    font-weight: 800;
    color: #00ACC0;
}

.about-points span{
    font-size: 22px;
    font-weight: 100;
    color: #16384A;
}


.text-link{
    display:inline-flex;
    align-items:center;
    gap:12px;
    padding:16px 30px;
    margin-top:30px;
    background:#00ACC0;
    color:#fff;
    font-size:18px;
    font-weight:700;
    text-decoration:none;
    border-radius:5px;
    transition:all .35s ease;
}

.text-link span{
    transition:transform .35s ease;
}

.text-link:hover{
    background:#16384A;
    color:#fff;
    box-shadow:0 12px 25px rgba(0,172,192,.35);
    transform:translateY(-3px);
}

.text-link:hover span{
    transform:translateX(8px);
}

.lines-section {
    background: #f4fafb;
}

.line-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.line-card {
    position: relative;
    min-height: 560px;
    overflow: hidden;
    color: white;
    background: var(--navy);
}

/* Fondo de cada tarjeta */
.line-card-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    transition: transform 0.6s ease;
}

.line-card.domestic .line-card-bg {
    background:
        linear-gradient(
            180deg,
            rgba(6, 25, 33, 0.12),
            rgba(6, 25, 33, 0.92)
        ),
        url('../images/inicio/crianza-domestica.jpg') center / cover no-repeat;
}

.line-card.aqua .line-card-bg {
    background:
        linear-gradient(
            180deg,
            rgba(6, 25, 33, 0.12),
            rgba(6, 25, 33, 0.92)
        ),
        url('../images/inicio/aves_de_carne.jpg') center / cover no-repeat;

    filter: hue-rotate(12deg) saturate(0.8);
    background-position: 68% center;
}

.line-card:hover .line-card-bg {
    transform: scale(1.04);
}

.line-card-content {
    position: absolute;
    inset: auto 0 0;
    z-index: 2;
    padding: 48px;
}

.line-number {
    display: inline-block;
    margin-bottom: 24px;
    color: #9cecf1;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 2px;
}

.line-card h3 {
    font-size: 52px;
    margin-bottom: 14px;
    font-weight: 800;
    line-height: 58px;
}

.line-card p {
    max-width: 520px;
    font-size: 22px;
    line-height: 36px;
    color: rgba(255, 255, 255, 0.86);
}

.line-card ul {
    list-style: none;
    margin: 22px 0 28px;
    display: grid;
    gap: 9px;
}

.line-card li {
    font-size: 18px;
    line-height: 32px;
}

.line-card li::before {
    content: '✓';
    color: #8ce6ef;
    margin-right: 10px;
    font-weight: 900;
}


.btn-light,
.btn-outline-light {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 22px;
    border-radius: 4px;
    font-weight: 800;
    font-size: 16px;
}

.btn-light {
    background: white;
    color: var(--navy);
}

.btn-outline-light {
    border: 1px solid rgba(255,255,255,.55);
    color: white;
}


.quality-section {
    background: #ffffff;
}

.quality-grid {
    display: grid;
    grid-template-columns: 58% 42%;
    gap: 90px;
    align-items: center;
}

.quality-copy > p {
    margin: 22px 0 30px;
    color: var(--muted);
    line-height: 1.9;
    font-size: 18px;
}

.quality-copy .section-kicker {
    font-size: 18.4px;
}


.quality-list {
    display: grid;
    gap: 4px;
}

.quality-list article {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 18px;
    padding: 20px 0;
    border-top: 1px solid #e5eef0;
}

.quality-list span {
    color: var(--primary);
    font-size: 30px;
    font-weight: 800;
    line-height: 1;
}

.quality-list h3 {
    margin-bottom: 5px;
    color: var(--navy);
    font-size: 22px;
    font-weight: 700;
}

.quality-list p {
    color: var(--muted);
    font-size: 18px;
    line-height: 30px;
}

.quality-panel {
    min-height: 520px;
    padding: 55px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: white;
    background: linear-gradient(160deg, rgba(9,169,189,.33), rgba(9,86,108,.35)), url('../images/inicio/laboratorio.jpg') center/cover;
    box-shadow: 0 28px 70px rgba(13,77,95,.22);
}

.quality-stat strong {
    display: block;
    font-size: 80px;
    line-height: 1;
}

.quality-stat span {
    display: block;
    max-width: 220px;
    margin-top: 12px;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 16px;
    font-weight: 700;
}

.quality-quote {
    max-width: 390px;
    font-size: 34px;
    line-height: 48px;
    font-weight: 700;
}

/* DISTRIBUCIÓN */

.distribution-section {
    position: relative;
    padding: 125px 0;
    background: url('../images/inicio/banner-04.jpg') center 56%/cover no-repeat;
}

.distribution-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(5,28,38,.94), rgba(5,28,38,.63), rgba(5,28,38,.22));
}

.distribution-content {
    position: relative;
    z-index: 2;
    color: white;

}

.distribution-content h2 {
    max-width: 760px;
    font-size: 40px;
    line-height: 65px;
    font-weight: 800;
}

.distribution-content p {
    max-width: 660px;
    margin: 20px 0 30px;
    color: rgba(255,255,255,.82);
    font-size: 18px;
    line-height: 34px;
}

.distribution-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}


.contact-section {
    background: #eef7f8;
}

.contact-grid {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 80px;
    align-items: start;
}

.contact-grid > div:first-child p {
    margin-top: 20px;
    color: var(--muted);
    font-size: 20px;
    line-height: 34px;
}

.contact-options {
    display: grid;
    background: white;
    box-shadow: var(--shadow);
}

.contact-options a {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 14px;
    padding: 24px 28px;
    border-bottom: 1px solid #e7eff1;
    transition: .25s ease;
}

.contact-options a:last-child {
    border-bottom: 0;
}

.contact-options b {
    color: var(--navy);
    font-size: 22px;
    font-weight: 700;
}

.contact-options span {
    grid-column: 1;
    margin-top: 5px;
    color: var(--muted);
    font-size: 17px;
    line-height: 28px;
}

.contact-options i {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    color: var(--primary);
    font-style: normal;
    font-size: 28px;
}

.contact-options a:hover {
    padding-left: 34px;
    background: #f2fbfc;
}


/* ==================================================
   FOOTER BEDOCE
================================================== */

.site-footer {
    position: relative;
    overflow: hidden;
    color: rgba(255,255,255,.84);
    background:
        radial-gradient(circle at 88% 24%, rgba(0,172,192,.13), transparent 28%),
        linear-gradient(135deg, #014f5b 0%, #014f5b 55%, #014f5b 100%);
}

.site-footer::before {
    content: "";
    position: absolute;
    top: 24px;
    right: -110px;
    width: 520px;
    height: 320px;
    pointer-events: none;
    opacity: .16;
    background-image: radial-gradient(circle, #46d7e7 1.25px, transparent 1.25px);
    background-size: 12px 12px;
    transform: rotate(-7deg);
    mask-image: linear-gradient(90deg, transparent, #000 24%, #000 78%, transparent);
}

.footer-main {
    position: relative;
    z-index: 1;
    padding: 72px 0 58px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.18fr .86fr 1.02fr 1.28fr;
    gap: 0;
    align-items: start;
}

.footer-grid > div {
    min-height: 100%;
    padding: 0 38px;
    border-left: 1px solid rgba(255,255,255,.16);
}

.footer-grid > div:first-child {
    padding-left: 0;
    border-left: 0;
}

.footer-grid > div:last-child {
    padding-right: 0;
}

.footer-brand img {
    width: 220px;
    filter: brightness(0) invert(1);
}

.footer-brand > p {
    max-width: 350px;
    margin-top: 24px;
    color: rgba(255,255,255,.82);
    font-size: 15px;
    line-height: 28px;
}

.footer-social-block {
    max-width: 350px;
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid rgba(0,192,213,.42);
}

.footer-social-block h3,
.footer-column h3 {
    margin: 0;
    color: #ffffff;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.footer-social-block h3 {
    margin-bottom: 15px;
    color: #32cada;
    font-size: 14px;
}

.footer-socials {
    display: flex;
    align-items: center;
    gap: 12px;
}

.footer-social-link {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(91,220,232,.45);
    border-radius: 50%;
    color: #ffffff;
    background: rgba(255,255,255,.07);
    transition: transform .3s ease, background .3s ease, border-color .3s ease;
}

.footer-social-link svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
    stroke: currentColor;
    stroke-width: 1.3;
}

.footer-social-link:nth-child(2) svg,
.footer-social-whatsapp svg {
    fill: none;
}

.footer-social-link:hover {
    color: #ffffff;
    background: #00acc0;
    border-color: #00acc0;
    transform: translateY(-3px);
}

.footer-social-phone {
    margin-left: 4px;
    padding-left: 16px;
    border-left: 1px solid rgba(255,255,255,.23);
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

.footer-column {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.footer-title-line {
    width: 100%;
    max-width: 190px;
    height: 2px;
    margin: 15px 0 18px;
    background: linear-gradient(90deg, #1cc5d8, rgba(28,197,216,.12));
}

.footer-menu-link,
.footer-product-link {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 46px;
    color: rgba(255,255,255,.86);
    border-bottom: 1px solid rgba(255,255,255,.10);
    font-size: 14px;
    line-height: 1.35;
    transition: color .25s ease, padding-left .25s ease, background .25s ease;
}

.footer-menu-link:last-child,
.footer-product-link:last-child {
    border-bottom: 0;
}

.footer-menu-link:hover,
.footer-product-link:hover {
    padding-left: 6px;
    color: #63e1ed;
    background: rgba(255,255,255,.025);
}

.footer-menu-icon,
.footer-contact-icon {
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    display: grid;
    place-items: center;
    color: #2ac7d8;
}

.footer-menu-icon svg,
.footer-contact-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.footer-product-link {
    min-height: 39px;
    gap: 10px;
}

.footer-product-icon {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    display: grid;
    place-items: center;

    color: #48d5e3;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
}

.footer-contact {
    gap: 0;
}

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 16px;
    color: rgba(255,255,255,.88);
    font-size: 14px;
    line-height: 24px;
    transition: color .25s ease, transform .25s ease;
}

.footer-contact-item p {
    margin: 0;
}

.footer-contact a.footer-contact-item:hover {
    color: #65e2ed;
    transform: translateX(4px);
}

.footer-values {
    position: relative;
    z-index: 1;
    border-top: 1px solid rgba(70,215,231,.65);
    border-bottom: 1px solid rgba(70,215,231,.57);
    background: rgba(0,15,24,.20);
}

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

.footer-value-item {
    min-height: 118px;
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 24px 36px;
    border-left: 1px solid rgba(255,255,255,.63);
}

.footer-value-item:first-child {
    padding-left: 0;
    border-left: 0;
}

.footer-value-item:last-child {
    padding-right: 0;
}

.footer-value-icon {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    display: grid;
    place-items: center;
    border: 2px solid #6dedfc;
    border-radius: 50%;
    color: #5fe0eb;
    font-size: 24px;
    font-weight: 800;
}

.footer-value-item p {
    margin: 0;
    color: rgba(255,255,255,.84);
    font-size: 13px;
    line-height: 23px;
}

.footer-bottom {
    position: relative;
    z-index: 1;
    background: rgba(0,18,28,.72);
}

.footer-bottom-inner {
    min-height: 70px;
    display: grid;
    grid-template-columns: 1fr auto 44px;
    align-items: center;
    gap: 26px;
}

.footer-bottom p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 12px;
}

.footer-legal-links {
    display: flex;
    align-items: center;
    gap: 15px;
}

.footer-legal-links a {
    color: rgba(255,255,255,.72);
    font-size: 12px;
    transition: color .25s ease;
}

.footer-legal-links a:hover {
    color: #5fe0eb;
}

.footer-legal-links > span {
    width: 1px;
    height: 16px;
    background: #1ab5c8;
}

.footer-back-top {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #ffffff;
    background: #098da3;
    font-size: 20px;
    font-weight: 800;
    transition: transform .3s ease, background .3s ease;
}

.footer-back-top:hover {
    color: #ffffff;
    background: #00acc0;
    transform: translateY(-4px);
}

@media (max-width: 1100px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        row-gap: 48px;
    }

    .footer-grid > div,
    .footer-grid > div:first-child,
    .footer-grid > div:last-child {
        padding: 0 32px;
        border-left: 1px solid rgba(255,255,255,.14);
    }

    .footer-grid > div:nth-child(odd) {
        padding-left: 0;
        border-left: 0;
    }

    .footer-values-grid {
        grid-template-columns: 1fr;
    }

    .footer-value-item,
    .footer-value-item:first-child,
    .footer-value-item:last-child {
        min-height: auto;
        padding: 22px 0;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.10);
    }

    .footer-value-item:first-child {
        border-top: 0;
    }

    .footer-bottom-inner {
        grid-template-columns: 1fr 44px;
        padding: 20px 0;
    }

    .footer-legal-links {
        grid-column: 1;
        grid-row: 2;
        flex-wrap: wrap;
    }

    .footer-back-top {
        grid-column: 2;
        grid-row: 1 / span 2;
    }
}

@media (max-width: 640px) {
    .footer-main {
        padding: 58px 0 42px;
    }

/* AJUSTE DEFINITIVO DEL TEXTO DEL FOOTER */

  .site-footer .footer-grid {
    grid-template-columns: minmax(360px, 1.35fr) 0.85fr 1fr 1.4fr !important;
  }

  .site-footer .footer-brand {
    width: 100%;
    padding-right: 40px !important;
  }

  .site-footer .footer-brand p {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    text-align: left !important;
    line-height: 1.75 !important;
  }


  @media (max-width: 960px) {
    .site-footer .footer-grid {
      grid-template-columns: 1fr 1fr !important;
    }

    .site-footer .footer-brand {
      padding-right: 0 !important;
    }
  }

  @media (max-width: 650px) {
    .site-footer .footer-grid {
      grid-template-columns: 1fr !important;
    }
  }

    .footer-grid {
        grid-template-columns: 1.35fr 0.85fr 1fr 1.4fr;

        row-gap: 38px;
    }

    .footer-grid > div,
    .footer-grid > div:first-child,
    .footer-grid > div:last-child,
    .footer-grid > div:nth-child(odd) {
        padding: 0;
        border-left: 0;
    }

    .footer-brand img {
        width: 190px;
    }

    .footer-brand p {
      max-width: 360px;
      margin: 0;
      text-align: left;
      line-height: 1.75;
    }

    .footer-socials {
        flex-wrap: wrap;
    }

    .footer-social-phone {
        width: 100%;
        margin: 6px 0 0;
        padding: 10px 0 0;
        border-top: 1px solid rgba(255,255,255,.18);
        border-left: 0;
    }

    .footer-title-line {
        max-width: none;
    }

    .footer-values {
        padding: 4px 0;
    }

    .footer-value-item {
        gap: 16px;
    }

    .footer-value-icon {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
        font-size: 20px;
    }

    .footer-bottom-inner {
        grid-template-columns: 1fr 40px;
        gap: 14px;
    }

    .footer-legal-links {
        gap: 10px;
    }

    .footer-legal-links > span {
        display: none;
    }
}

.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .75s ease, transform .75s ease;
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}


/*=============================
  EFECTOS DE ENTRADA
=============================*/

.reveal-left,
.reveal-right{
    opacity:0;
    transition:all .9s ease;
}

.reveal-left{
    transform:translateX(-90px);
}

.reveal-right{
    transform:translateX(90px);
}

.reveal-left.visible,
.reveal-right.visible{
    opacity:1;
    transform:translateX(0);
}

/* ===========================
   TABLET
=========================== */
@media (max-width: 980px) {

    .section-pad {
        padding: 80px 0;
    }


  .section-heading h2,
  .about-copy h2,
  .quality-copy h2,
  .contact-section h2 {
    font-size: 42px;
    line-height: 48px;
  }

  .about-grid,
    .quality-grid,
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .line-grid {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .experience-card {
        right: 18px;
    }

}

/* ===========================
   CELULAR
=========================== */
@media (max-width: 640px) {

    .section-container {
        width: calc(100% - 30px);
        max-width: 1240px;
    }

    .section-heading {
        display: block;
    }

    .section-heading > p {
        margin-top: 18px;
    }

    .about-visual,
    .about-visual img {
        min-height: 340px;
        height: 340px;
    }

    .experience-card {
        right: 10px;
        bottom: -24px;
        width: 185px;
        padding: 20px;
    }

    .experience-card strong {
        font-size: 42px;
    }

    .line-card {
        min-height: 520px;
    }

    .line-card-content {
        padding: 30px 24px;
    }

    .quality-panel {
        min-height: 420px;
        padding: 34px 26px;
    }

    .quality-stat strong {
        font-size: 60px;
    }

    .distribution-section {
        padding: 90px 0;
    }

    .distribution-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .distribution-actions .btn {
        justify-content: center;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .footer-bottom .section-container {
        padding: 18px 0;
        flex-direction: column;
        text-align: center;
    }

}

/* ===========================
   SECCIÓN NOSOTROS
=========================== */

/* QUIÉNES SOMOS */
.about-copy .section-kicker{
    font-size: 22px;
    font-weight: 800;
    color: #00ACC0;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* TÍTULO */
.about-copy h2{
    font-size: 42px;
    font-weight: 800;
    line-height: 48px;
    color: #16384A;
    margin: 10px 0 25px;
}

/* SOLO PARA LA SECCIÓN LÍNEAS */
.lines-section .section-kicker{
    font-size: 22px;
    font-weight: 800;
    color: #00ACC0;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* SOLO PARA LA SECCIÓN LÍNEAS */
.lines-section h2{
    font-size: 42px;
    line-height: 58px;
    font-weight: 800;
    color: #16384A;
}
/* ==================================================
   PÁGINA NOSOTROS
================================================== */
.inner-hero {
    position: relative;
    min-height: 570px;
    display: flex;
    align-items: center;
    color: #ffffff;
    background: url('../images/banner/banner-05.jpg') center 48%/cover no-repeat;
    overflow: hidden;
}

.inner-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(5,28,38,.62) 0%, rgba(5,28,38,.38) 45%, rgba(5,28,38,.20) 100%);
}

.inner-hero-content {
    position: relative;
    z-index: 2;
    padding: 90px 0;
}

.inner-hero-content h1 {
    max-width: 850px;
    margin: 12px 0 22px;
    font-size: 54px;
    line-height: 70px;
    font-weight: 800;
    letter-spacing: 1px;
}

.inner-hero-content p {
    max-width: 720px;
    margin-bottom: 30px;
    color: rgba(255,255,255,.88);
    font-size: 20px;
    line-height: 34px;
}

.about-page-intro { background: #ffffff; }
.about-page-grid {
    display: grid;
    grid-template-columns: 52% 48%;
    gap: 80px;
    align-items: center;
}

.about-page-visual { position: relative; }
.about-page-visual img {
    width: 100%;
    height: 650px;
    object-fit: cover;
    border-radius: 4px;
    box-shadow: 0 24px 60px rgba(11,57,72,.16);
}

.about-page-experience {
    position: absolute;
    right: -25px;
    bottom: -25px;
    width: 230px;
    padding: 28px;
    color: #ffffff;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    box-shadow: var(--shadow);
}

.about-page-experience strong {
    display: block;
    font-size: 56px;
    line-height: 58px;
}

.about-page-experience span {
    display: block;
    margin-top: 8px;
    font-size: 14px;
    line-height: 22px;
    font-weight: 600;
}

.about-page-copy h2,
.values-heading h2,
.commitment-copy h2,
.about-cta-content h2 {
    color: var(--navy);
    font-size: 46px;
    line-height: 54px;
    font-weight: 800;
}

.about-page-copy > p {
    margin-top: 18px;
    color: var(--muted);
    font-size: 18px;
    line-height: 32px;
}

.about-page-highlights {
    margin-top: 28px;
    border-top: 1px solid #e4edef;
}

.about-page-highlights div {
    display: grid;
    grid-template-columns: 54px 1fr;
    align-items: center;
    gap: 14px;
    padding: 17px 0;
    border-bottom: 1px solid #e4edef;
}

.about-page-highlights b {
    color: var(--primary);
    font-size: 24px;
}

.about-page-highlights span {
    color: var(--navy);
    font-size: 18px;
    font-weight: 600;
}

/* ==================================================
   SECCIÓN NUESTRO PROPÓSITO
================================================== */

.purpose-section {
    background: #f4fafb;
}

.purpose-heading {
    width: 100%;
    max-width: none;
    margin-bottom: 50px;
}

.purpose-heading h2 {
    width: 100%;
    max-width: 1000px;
    margin: 12px 0 24px;
    color: #16384A;
    font-size: 52px;
    line-height: 60px;
    font-weight: 700;
    letter-spacing: -1px;
}

.purpose-heading p {
    width: 100%;
    max-width: 980px;
    margin-top: 18px;
    color: var(--muted);
    font-size: 24px;
    line-height: 40px;
    text-align: left;
}

.purpose-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.purpose-card {
    position: relative;
    min-height: 350px;
    padding: 48px;
    background: #ffffff;
    border-top: 4px solid var(--primary);
    box-shadow: 0 18px 45px rgba(15, 54, 67, 0.09);
    transition: transform 0.30s ease, box-shadow 0.30s ease;
}

.purpose-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 24px 55px rgba(15, 54, 67, 0.14);
}

.purpose-number {
    display: block;
    margin-bottom: 45px;
    color: var(--primary);
    font-size: 20px;
    font-weight: 800;
}

.purpose-card h3 {
    margin-bottom: 16px;
    color: var(--navy);
    font-size: 34px;
    line-height: 42px;
    font-weight: 800;
}

.purpose-card p {
    color: var(--muted);
    font-size: 17px;
    line-height: 30px;
}


@media (max-width: 980px) {
    .purpose-heading h2 {
        max-width: 100%;
        font-size: 42px;
        line-height: 50px;
        letter-spacing: -0.5px;
    }

    .purpose-heading p {
        max-width: 100%;
        font-size: 20px;
        line-height: 34px;
    }

    .purpose-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .purpose-heading {
        margin-bottom: 36px;
    }

    .purpose-heading h2 {
        font-size: 32px;
        line-height: 40px;
        letter-spacing: 0;
    }

    .purpose-heading p {
        font-size: 17px;
        line-height: 29px;
        text-align: left;
    }

    .purpose-card {
        min-height: auto;
        padding: 34px 26px;
    }

    .purpose-number {
        margin-bottom: 28px;
    }
}

.values-section { background: #ffffff; }
.values-heading { max-width: 760px; margin-bottom: 46px; }
.values-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.value-card {
    min-height: 235px;
    padding: 34px 30px;
    border: 1px solid #dfeaec;
    background: #ffffff;
    transition: transform .30s ease, border-color .30s ease, box-shadow .30s ease;
}

.value-card:hover {
    transform: translateY(-6px);
    border-color: var(--primary);
    box-shadow: 0 18px 40px rgba(15,54,67,.10);
}

.value-card span {
    color: var(--primary);
    font-size: 15px;
    font-weight: 800;
}

.value-card h3 {
    margin: 34px 0 12px;
    color: var(--navy);
    font-size: 25px;
}

.value-card p {
    color: var(--muted);
    font-size: 16px;
    line-height: 27px;
}

.about-commitment { background: #eef7f8; }
.commitment-grid {
    display: grid;
    grid-template-columns: 48% 52%;
    gap: 80px;
    align-items: center;
}

.commitment-copy > p {
    margin: 20px 0 24px;
    color: var(--muted);
    font-size: 18px;
    line-height: 31px;
}

.commitment-copy ul { list-style: none; }
.commitment-copy li {
    position: relative;
    padding: 13px 0 13px 32px;
    border-bottom: 1px solid #d9e8eb;
    color: var(--navy);
    font-size: 17px;
    font-weight: 600;
}

.commitment-copy li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--primary);
    font-weight: 900;
}

.commitment-visual { position: relative; }
.commitment-visual img {
    width: 100%;
    height: 620px;
    object-fit: cover;
    box-shadow: 0 25px 65px rgba(13,77,95,.20);
}

.commitment-seal {
    position: absolute;
    left: -30px;
    bottom: 30px;
    width: 220px;
    padding: 25px;
    color: #ffffff;
    background: var(--navy);
}

.commitment-seal strong {
    display: block;
    font-size: 48px;
    line-height: 50px;
}

.commitment-seal span {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    line-height: 21px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.about-cta {
    position: relative;
    padding: 115px 0;
    color: #ffffff;
    background: url('../images/nosotros/banner-03.jpg') center/cover no-repeat;
}

.about-cta-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(5,28,38,.64), rgba(5,28,38,.42), rgba(5,28,38,.25));
}

.about-cta-content { position: relative; z-index: 2; }
.about-cta-content h2 {
    max-width: 800px;
    color: #ffffff;
    margin-bottom: 30px;
}
.about-cta-actions { display: flex; flex-wrap: wrap; gap: 14px; }

@media (max-width: 980px) {
    .inner-hero-content h1 { font-size: 50px; line-height: 57px; }
    .about-page-grid,
    .commitment-grid { grid-template-columns: 1fr; gap: 55px; }
    .purpose-grid { grid-template-columns: 1fr; }
    .values-grid { grid-template-columns: repeat(2, 1fr); }
    .about-page-experience { right: 18px; }
    .commitment-seal { left: 20px; }
}

@media (max-width: 640px) {
    .inner-hero { min-height: 610px; }
    .inner-hero-content { padding: 75px 0; }
    .inner-hero-content h1 { font-size: 38px; line-height: 44px; letter-spacing: -1px; }
    .inner-hero-content p { font-size: 17px; line-height: 29px; }
    .about-page-visual img { height: 390px; }
    .about-page-experience { width: 185px; padding: 20px; }
    .about-page-experience strong { font-size: 44px; }
    .about-page-copy h2,
    .values-heading h2,
    .commitment-copy h2,
    .about-cta-content h2 { font-size: 34px; line-height: 41px; }
    .purpose-card { min-height: auto; padding: 34px 26px; }
    .purpose-number { margin-bottom: 28px; }
    .values-grid { grid-template-columns: 1fr; }
    .value-card { min-height: auto; }
    .commitment-visual img { height: 430px; }
    .commitment-seal { left: 15px; bottom: 15px; width: 185px; }
    .about-cta { padding: 90px 0; }
    .about-cta-actions { flex-direction: column; }
}

/* ==================================================
   PÁGINA CRIANZA DOMÉSTICA
================================================== */
.submenu-toggle.active {
    color: var(--primary-dark);
}

.submenu-toggle.active::after {
    transform: scaleX(1);
}

.submenu-current {
    color: var(--primary-dark) !important;
    background: #eefbfc;
}

.domestic-hero {
    position: relative;
    min-height: 620px;
    display: flex;
    align-items: center;
    color: #ffffff;
    background: url('../images/banner/banner-06.jpg') center 46%/cover no-repeat;
    overflow: hidden;
}

.domestic-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(4,24,33,.74) 0%, rgba(4,24,33,.54) 42%, rgba(4,24,33,.20) 100%);
}

.domestic-hero-content {
    position: relative;
    z-index: 2;
    padding: 95px 0;
}

.domestic-hero-content h1 {
    max-width: 850px;
    margin: 12px 0 22px;
    font-size: 72px;
    line-height: 78px;
    font-weight: 800;
    letter-spacing: -2px;
}

.domestic-hero-content p {
    max-width: 760px;
    margin-bottom: 32px;
    color: rgba(255,255,255,.90);
    font-size: 20px;
    line-height: 34px;
}

.domestic-intro {
    background: #ffffff;
}

.domestic-intro-grid {
    display: grid;
    grid-template-columns: 52% 48%;
    gap: 80px;
    align-items: center;
}

.domestic-intro-visual {
    position: relative;
}

.domestic-intro-visual img {
    width: 100%;
    height: 650px;
    object-fit: cover;
    object-position: center;
    box-shadow: 0 25px 65px rgba(13,77,95,.18);
}

.domestic-intro-badge {
    position: absolute;
    right: -25px;
    bottom: -25px;
    width: 220px;
    padding: 27px;
    color: #ffffff;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    box-shadow: var(--shadow);
}

.domestic-intro-badge strong {
    display: block;
    font-size: 58px;
    line-height: 60px;
}

.domestic-intro-badge span {
    display: block;
    margin-top: 8px;
    font-size: 14px;
    line-height: 22px;
    font-weight: 700;
    text-transform: uppercase;
}

.domestic-intro-copy h2,
.species-heading h2,
.benefits-heading h2,
.process-copy h2,
.domestic-cta-content h2 {
    color: var(--navy);
    font-size: 46px;
    line-height: 54px;
    font-weight: 800;
}

.domestic-intro-copy > p {
    margin-top: 18px;
    color: var(--muted);
    font-size: 18px;
    line-height: 32px;
}

.domestic-checks {
    margin-top: 28px;
    border-top: 1px solid #e4edef;
}

.domestic-checks div {
    display: grid;
    grid-template-columns: 55px 1fr;
    align-items: center;
    gap: 14px;
    padding: 17px 0;
    border-bottom: 1px solid #e4edef;
}

.domestic-checks b {
    color: var(--primary);
    font-size: 24px;
}

.domestic-checks span {
    color: var(--navy);
    font-size: 18px;
    font-weight: 600;
}

.species-section {
    background: #f4fafb;
}

.species-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 60px;
    margin-bottom: 48px;
}

.species-heading > p {
    max-width: 480px;
    color: var(--muted);
    font-size: 17px;
    line-height: 30px;
}

.species-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.species-card {
    position: relative;
    min-height: 390px;
    overflow: hidden;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #ffffff;
    background: var(--navy);
    box-shadow: 0 18px 45px rgba(15,54,67,.12);
    transition: transform .35s ease, box-shadow .35s ease;
}

.species-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(180deg, rgba(20,67,79,.01), rgba(20,67,79,.94)),
        var(--species-image);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    transition: transform .55s ease;
}

/* Una fotografía diferente para cada tipo de crianza.
   Para cambiar una imagen, reemplaza el archivo conservando el mismo nombre. */
.species-broiler {
    --species-image: url('../images/especies/aves-engorde.jpg');
}

.species-layer {
    --species-image: url('../images/especies/gallinas-ponedoras.jpg');
}

.species-guinea {
    --species-image: url('../images/especies/cuyes.jpg');
}

.species-rabbit {
    --species-image: url('../images/especies/conejos.jpg');
}

.species-pig {
    --species-image: url('../images/especies/porcinos.jpg');
}

.species-quail {
    --species-image: url('../images/especies/codornices.jpg');
}

.species-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 28px 60px rgba(15,54,67,.20);
}

.species-card:hover::before {
    transform: scale(1.06);
}

.species-number,
.species-card-content {
    position: relative;
    z-index: 2;
}

.species-number {
    color: #96e5f9;
    font-size: 38px;
    font-weight: 900;
    letter-spacing: 2px;
    text-shadow:
        0 1px 0 rgba(255,255,255,.2),
        0 3px 10px rgba(0,0,0,.55);
}

.species-card h3 {
    margin-bottom: 12px;
    font-size: 30px;
    line-height: 36px;
}

.species-card p {
    color: rgba(255,255,255,.84);
    font-size: 16px;
    line-height: 28px;
}

.domestic-benefits {
    background: #ffffff;
}

.benefits-heading {
    max-width: 780px;
    margin-bottom: 45px;
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.benefit-card {
    min-height: 270px;
    padding: 34px 28px;
    border: 1px solid #dfeaec;
    background: #ffffff;
    transition: transform .30s ease, border-color .30s ease, box-shadow .30s ease;
}

.benefit-card:hover {
    transform: translateY(-6px);
    border-color: var(--primary);
    box-shadow: 0 20px 45px rgba(15,54,67,.11);
}

.benefit-card > span {
    color: var(--primary);
    font-size: 37px;
    font-weight: 800;
}

.benefit-card h3 {
    margin: 48px 0 13px;
    color: var(--navy);
    font-size: 24px;
    line-height: 31px;
}

.benefit-card p {
    color: var(--muted);
    font-size: 16px;
    line-height: 27px;
}

.domestic-process {
    color: #ffffff;
    background: linear-gradient(135deg, #123746, #087b91);
}

.process-grid {
    display: grid;
    grid-template-columns: 44% 56%;
    gap: 90px;
    align-items: center;
}

.process-copy h2 {
    color: #ffffff;
    margin-bottom: 22px;
}

.process-copy p {
    margin-bottom: 30px;
    color: rgba(255,255,255,.80);
    font-size: 18px;
    line-height: 31px;
}

.process-steps {
    display: grid;
}

.process-steps article {
    display: grid;
    grid-template-columns: 65px 1fr;
    gap: 22px;
    padding: 25px 0;
    border-top: 1px solid rgba(255,255,255,.18);
}

.process-steps article:last-child {
    border-bottom: 1px solid rgba(255,255,255,.18);
}

.process-steps b {
    color: #9cecf1;
    font-size: 30px;
    line-height: 1;
}

.process-steps h3 {
    margin-bottom: 6px;
    font-size: 23px;
}

.process-steps p {
    color: rgba(255,255,255,.72);
    font-size: 16px;
    line-height: 26px;
}

.domestic-cta {
    position: relative;
    padding: 120px 0;
    color: #ffffff;
    background: url('../images/crianza/banner-04.jpg') center/cover no-repeat;
}

.domestic-cta-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(5,28,38,.65), rgba(5,28,38,.45), rgba(5,28,38,.25));
}

.domestic-cta-content {
    position: relative;
    z-index: 2;
}

.domestic-cta-content h2 {
    max-width: 800px;
    color: #ffffff;
    margin-bottom: 18px;
}

.domestic-cta-content p {
    max-width: 650px;
    margin-bottom: 30px;
    color: rgba(255,255,255,.82);
    font-size: 18px;
    line-height: 31px;
}

.domestic-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

@media (max-width: 980px) {
    .submenu-toggle.active {
        padding-left: 14px;
        border-left: 3px solid var(--primary);
    }

    .domestic-hero-content h1 {
        font-size: 52px;
        line-height: 59px;
    }

    .domestic-intro-grid,
    .process-grid {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .domestic-intro-badge {
        right: 18px;
    }

    .species-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .benefits-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .domestic-hero {
        min-height: 610px;
        background-position: 58% center;
    }

    .domestic-hero-content {
        padding: 75px 0;
    }

    .domestic-hero-content h1 {
        font-size: 40px;
        line-height: 46px;
        letter-spacing: -1px;
    }

    .domestic-hero-content p {
        font-size: 17px;
        line-height: 29px;
    }

    .domestic-intro-visual img {
        height: 390px;
    }

    .domestic-intro-badge {
        width: 180px;
        padding: 20px;
    }

    .domestic-intro-badge strong {
        font-size: 44px;
        line-height: 46px;
    }

    .domestic-intro-copy h2,
    .species-heading h2,
    .benefits-heading h2,
    .process-copy h2,
    .domestic-cta-content h2 {
        font-size: 34px;
        line-height: 41px;
    }

    .species-heading {
        display: block;
    }

    .species-heading > p {
        margin-top: 18px;
    }

    .species-grid,
    .benefits-grid {
        grid-template-columns: 1fr;
    }

    .species-card {
        min-height: 350px;
    }

    .benefit-card {
        min-height: auto;
    }

    .domestic-cta {
        padding: 90px 0;
    }

    .domestic-cta-actions {
        flex-direction: column;
    }
}


/* =========================================================
   PÁGINA CALIDAD E I+D - BEDOCE
   Este archivo se carga después de style.css
   ========================================================= */

.quality-hero {
  position: relative;
  min-height: 680px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background:
    linear-gradient(
      90deg,
      rgba(4, 39, 55, 0.54) 0%,
      rgba(4, 53, 70, 0.32) 45%,
      rgba(4, 53, 70, 0.26) 100%
    ),
    url("../images/banner/banner-02.jpg") center / cover no-repeat;
}

.quality-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.10),
      rgba(0, 0, 0, 0.22)
    );
}

.quality-hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-top: 80px;
  color: #ffffff;
}

.quality-hero-content h1 {
  max-width: 850px;
  margin: 18px 0 24px;
  color: #ffffff;
  font-size: clamp(43.2px, 5vw, 80px);
  line-height: 1.05;
  letter-spacing: -0.72px;
}

.quality-hero-content p {
  max-width: 760px;
  margin: 0 0 34px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 17.28px;
  line-height: 1.9;
}


/* INTRODUCCIÓN */

.quality-intro {
  background: #ffffff;
}

.quality-intro-grid {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 95px;
  align-items: center;
}

.quality-intro-copy h2 {
  max-width: 650px;
  margin: 18px 0 26px;
  font-size: clamp(35.2px, 4vw, 48px);
  line-height: 0.92;
  letter-spacing: -0.64px;
}

.quality-intro-copy p {
  margin: 0 0 18px;
  color: #5c6b70;
  font-size: 16px;
  line-height: 1.45;
}

.quality-intro-copy .quality-lead {
  color: #173d4b;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.65;
}

.quality-intro-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 36px;
}

.quality-intro-points div {
  min-height: 145px;
  padding: 25px 20px;
  border: 1px solid #dce8eb;
  border-radius: 12px;
  background: #f7fbfc;
}

.quality-intro-points strong {
  display: block;
  margin-bottom: 12px;
  color: #00a4ad;
  font-size: 24px;
}

.quality-intro-points span {
  color: #173d4b;
  font-size: 14.4px;
  font-weight: 700;
  line-height: 1.5;
}

.quality-intro-visual {
  position: relative;
  min-height: 610px;
}

.quality-intro-visual > img {
  width: 100%;
  height: 610px;
  object-fit: cover;
  border-radius: 20px;
}

.quality-visual-card {
  position: absolute;
  left: -45px;
  bottom: 45px;
  width: 210px;
  padding: 30px;
  border-radius: 14px;
  background: linear-gradient(135deg, #04abb2, #08749b);
  box-shadow: 0 25px 55px rgba(8, 78, 99, 0.25);
  color: #ffffff;
}

.quality-visual-card strong {
  display: block;
  margin-bottom: 8px;
  font-size: 38.4px;
  line-height: 1;
}

.quality-visual-card span {
  font-size: 14.08px;
  font-weight: 600;
  line-height: 1.5;
}


/* PROCESO */

.quality-process {
  background: #f4f8f9;
}

.quality-section-heading {
  max-width: 850px;
  margin: 0 auto 65px;
  text-align: center;
}

.quality-section-heading h2 {
  margin: 18px 0 20px;
  font-size: clamp(35.2px, 4vw, 60.8px);
  line-height: 1.12;
  letter-spacing: -0.64px;
}

.quality-section-heading p {
  max-width: 720px;
  margin: 0 auto;
  color: #65767b;
  line-height: 1.85;
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.process-card {
  position: relative;
  min-height: 315px;
  padding: 38px 32px 34px;
  overflow: hidden;
  border: 1px solid #dfeaec;
  border-radius: 16px;
  background: #ffffff;
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.process-card:hover {
  transform: translateY(-8px);
  border-color: rgba(0, 164, 173, 0.45);
  box-shadow: 0 24px 50px rgba(15, 65, 82, 0.12);
}

.process-number {
  position: absolute;
  top: 24px;
  right: 26px;
  color: #cddcdf;
  font-size: 28.8px;
  font-weight: 800;
}

.process-icon {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  margin-bottom: 34px;
  border-radius: 50%;
  background: #e6f7f7;
  color: #009ba4;
  font-size: 28px;
  font-weight: 700;
}


.process-icon {
  width: 120px;
  height: 120px;
  display: grid;
  place-items: center;
  margin-bottom: 34px;
  border-radius: 50%;
  background: #e6f7f7;
  color: #009ba4;
  font-size: 28px;
  font-weight: 700;
  overflow: hidden; /* Opcional */
}

.process-icon img{
  width: 100px;      /* Ajusta el tamaño del icono */
  height: 100px;
  object-fit: contain;
  transition: transform .3s ease;
}

.process-card:hover .process-icon img{
  transform: scale(1.1);
}

.process-card h3 {
  margin: 0 0 14px;
  color: #153d4b;
  font-size: 17.28px;
  line-height: 1.4;
}

.process-card p {
  margin: 0;
  color: #65767b;
  font-size: 14.88px;
  line-height: 1.75;
}


/* INVESTIGACIÓN */

.research-section {
  background: #073c50;
  color: #ffffff;
}

.research-grid {
  display: grid;
  grid-template-columns: 1fr 0.95fr;
  gap: 85px;
  align-items: center;
}

.research-visual {
  position: relative;
  min-height: 660px;
}

.research-visual > img {
  width: 100%;
  height: 860px;
  object-fit: cover;
  border-radius: 20px;
}

.research-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 20px;
  background:
    linear-gradient(
      180deg,
      rgba(4, 46, 62, 0.04),
      rgba(4, 46, 62, 0.54)
    );
}

.research-badge {
  position: absolute;
  z-index: 2;
  right: -32px;
  bottom: 42px;
  width: 235px;
  padding: 28px;
  border-radius: 14px;
  background: #ffffff;
  color: #173d4b;
  box-shadow: 0 25px 55px rgba(0, 0, 0, 0.22);
}

.research-badge span {
  display: block;
  margin-bottom: 10px;
  color: #00a4ad;
  font-size: 32px;
  font-weight: 800;
}

.research-badge p {
  margin: 0;
  font-size: 14.08px;
  font-weight: 700;
  line-height: 1.55;
}

.research-copy h2 {
  margin: 18px 0 26px;
  color: #ffffff;
  font-size: clamp(35.2px, 4vw, 40.8px);
  line-height: 1.12;
  letter-spacing: -0.64px;
}

.research-copy > p {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.85;
}

.research-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 40px;
}

.research-features article {
  display: flex;
  gap: 16px;
  padding: 22px 20px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.055);
}

.research-features article > span {
  color: #20d1d2;
  font-size: 20px;
  font-weight: 800;
}

.research-features h3 {
  margin: 0 0 7px;
  color: #ffffff;
  font-size: 15.36px;
}

.research-features p {
  margin: 0;
  color: rgba(255, 255, 255, 0.64);
  font-size: 13.12px;
  line-height: 1.6;
}


/* LABORATORIO */

.laboratory-section {
  background: #ffffff;
}

.laboratory-heading {
  display: grid;
  grid-template-columns: 1fr 0.68fr;
  gap: 70px;
  align-items: end;
  margin-bottom: 55px;
}

.laboratory-heading h2 {
  max-width: 750px;
  margin: 18px 0 0;
  font-size: clamp(35.2px, 4vw, 60.8px);
  line-height: 1.12;
  letter-spacing: -0.64px;
}

.laboratory-heading > p {
  margin: 0;
  color: #65767b;
  line-height: 1.85;
}

.laboratory-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  grid-template-rows: repeat(2, 300px);
  gap: 22px;
}

.laboratory-card {
  position: relative;
  overflow: hidden;
  min-height: 300px;
  border-radius: 18px;
}

.laboratory-card.large {
  grid-row: 1 / 3;
}

.laboratory-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}

.laboratory-card:hover img {
  transform: scale(1.06);
}

.laboratory-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(3, 33, 45, 0.06),
      rgba(3, 33, 45, 0.88)
    );
}

.laboratory-content {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 36px;
  color: #ffffff;
}

.laboratory-content span {
  display: inline-block;
  margin-bottom: 12px;
  color: #21d2d3;
  font-size: 18.4px;
  font-weight: 800;
}

.laboratory-content h3 {
  margin: 0 0 10px;
  color: #ffffff;
  font-size: 21.6px;
}

.laboratory-content p {
  max-width: 550px;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 14.4px;
  line-height: 1.65;
}


/* COMPROMISOS */

.commitments-section {
  background:
    linear-gradient(
      135deg,
      rgba(4, 48, 65, 0.98),
      rgba(6, 84, 101, 0.96)
    );
}

.commitments-heading {
  max-width: 780px;
  margin-bottom: 52px;
}

.commitments-heading h2 {
  margin: 18px 0 0;
  color: #ffffff;
  font-size: clamp(35.2px, 4vw, 60.8px);
  line-height: 1.12;
  letter-spacing: -0.64px;
}

.commitments-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.commitment-item {
  min-height: 165px;
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.07);
}

.commitment-item span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  margin-bottom: 22px;
  border-radius: 50%;
  background: #14c4c6;
  color: #ffffff;
  font-weight: 800;
}

.commitment-item h3 {
  margin: 0;
  color: #ffffff;
  font-size: 16px;
  line-height: 1.55;
}


/* CIFRAS */

.quality-numbers {
  padding: 70px 0;
  background: #f2f8f9;
}

.quality-numbers-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.quality-numbers-grid article {
  padding: 15px 35px;
  border-right: 1px solid #cfdee1;
  text-align: center;
}

.quality-numbers-grid article:last-child {
  border-right: 0;
}

.quality-numbers-grid strong {
  display: block;
  margin-bottom: 10px;
  color: #009da6;
  font-size: clamp(32px, 4vw, 57.6px);
  line-height: 1;
}

.quality-numbers-grid span {
  color: #284c58;
  font-size: 14.08px;
  font-weight: 700;
  line-height: 1.5;
}


/* CTA FINAL */

.quality-cta {
  position: relative;
  min-height: 570px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background:
    url("../images/banner/banner-02.jpg") center / cover no-repeat;
}

.quality-cta-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(2, 37, 51, 0.95),
      rgba(2, 52, 67, 0.80),
      rgba(2, 52, 67, 0.34)
    );
}

.quality-cta-content {
  position: relative;
  z-index: 2;
  color: #ffffff;
}

.quality-cta-content h2 {
  max-width: 850px;
  margin: 18px 0 22px;
  color: #ffffff;
  font-size: clamp(35.2px, 4vw, 64px);
  line-height: 1.12;
  letter-spacing: -0.64px;
}

.quality-cta-content p {
  max-width: 680px;
  margin: 0 0 32px;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.8;
}

.quality-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}


/* RESPONSIVE */

@media (max-width: 1100px) {

  .quality-intro-grid,
  .research-grid {
    gap: 55px;
  }

  .quality-intro-points {
    grid-template-columns: 1fr;
  }

  .quality-intro-points div {
    min-height: auto;
  }

  .process-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .commitments-grid {
    grid-template-columns: repeat(2, 1fr);
  }

}


@media (max-width: 900px) {

  .quality-hero {
    min-height: 600px;
    background-position: 62% center;
  }

  .quality-intro-grid,
  .research-grid,
  .laboratory-heading {
    grid-template-columns: 1fr;
  }

  .quality-intro-grid,
  .research-grid {
    gap: 55px;
  }

  .quality-intro-visual,
  .quality-intro-visual > img,
  .research-visual,
  .research-visual > img {
    min-height: 500px;
    height: 500px;
  }

  .quality-visual-card {
    left: 25px;
  }

  .research-badge {
    right: 25px;
  }

  .laboratory-heading {
    gap: 22px;
  }

  .laboratory-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .laboratory-card,
  .laboratory-card.large {
    grid-row: auto;
    min-height: 420px;
  }

  .quality-numbers-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .quality-numbers-grid article:nth-child(2) {
    border-right: 0;
  }

  .quality-numbers-grid article {
    margin: 16px 0;
  }

}


@media (max-width: 680px) {

  .quality-hero {
    min-height: 570px;
    background-position: 68% center;
  }

  .quality-hero-content {
    padding-top: 45px;
  }

  .quality-hero-content h1 {
    font-size: 40px;
  }

  .quality-intro-grid,
  .research-grid {
    gap: 42px;
  }

  .quality-intro-visual,
  .quality-intro-visual > img,
  .research-visual,
  .research-visual > img {
    min-height: 390px;
    height: 390px;
  }

  .quality-visual-card,
  .research-badge {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    width: calc(100% - 30px);
    margin: -55px auto 0;
  }

  .process-grid,
  .research-features,
  .commitments-grid,
  .quality-numbers-grid {
    grid-template-columns: 1fr;
  }

  .process-card {
    min-height: auto;
  }

  .laboratory-card,
  .laboratory-card.large {
    min-height: 380px;
  }

  .laboratory-content {
    padding: 26px;
  }

  .quality-numbers-grid article {
    border-right: 0;
    border-bottom: 1px solid #cfdee1;
  }

  .quality-numbers-grid article:last-child {
    border-bottom: 0;
  }

  .quality-cta {
    min-height: 620px;
    background-position: 65% center;
  }

  .quality-cta-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .quality-cta-actions .btn {
    justify-content: center;
    text-align: center;
  }

}

/* =========================================================
   AVES DE CARNE
========================================================= */
.products-submenu { min-width: 260px; }

.poultry-hero {
    position: relative;
    min-height: 690px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        linear-gradient(rgba(7,55,71,.30), rgba(7,55,71,.30)),
        url("../images/catalogo/aves-04.jpg") center center / cover no-repeat;
}


.poultry-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,35,48,.0) 0%,rgba(2,52,67,.0) 43%,rgba(2,52,67,.08) 72%,transparent 100%); }
.poultry-hero-content { position:relative; z-index:2; color:#fff; padding-top:70px; }

.poultry-hero-content h1 {
    max-width: 760px;
    margin: 18px 0;
    color: #fff;
    font-size: clamp(51.2px, 7vw, 104px);
    line-height: .98;
    letter-spacing: -0.88px;
    font-weight: 800;
    text-shadow:
        0 4px 10px rgba(0,0,0,.35),
        0 8px 20px rgba(0,0,0,.50),
        0 18px 40px rgba(0,0,0,.40);
}

.poultry-hero-content p {
    max-width: 680px;
    margin: 0 0 34px;
    color: rgba(255,255,255,.96);
    font-size: 23px;
    line-height: 1.65;
    text-shadow:
        0 2px 8px rgba(0,0,0,.55);
}


.poultry-intro-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:90px; align-items:center; }
.poultry-intro-visual { position:relative; min-height:610px; overflow:hidden; border-radius:28px; box-shadow:0 28px 70px rgba(4,48,61,.16); background:#eef8fa; }
.poultry-intro-visual img { width:100%; height:100%; min-height:610px; object-fit:cover; display:block; }
.poultry-intro-copy h2,.poultry-heading h2,.feeding-path-heading h2,.nutrition-pillars-heading h2 { margin:15px 0 24px; color:var(--dark); font-size:clamp(35.2px,4vw,64px); line-height:1.1; letter-spacing:-0.72px; }
.poultry-intro-copy > p { color:#5b6970; font-size:18px; line-height:1.85; }
.poultry-highlights { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:34px; }
.poultry-highlights div { padding:20px 16px; border:1px solid #d8e7ea; border-radius:16px; background:#fff; }
.poultry-highlights strong { display:block; color:var(--primary); font-size:28px; }
.poultry-highlights span { display:block; margin-top:5px; color:#637178; font-size:13px; line-height:1.35; }
.poultry-products { background:#f3f8f9; }
.poultry-heading { display:grid; grid-template-columns:1.1fr .75fr; gap:70px; align-items:end; margin-bottom:55px; }
.poultry-heading p { color:#637178; font-size:17px; line-height:1.8; }
.poultry-products-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:28px; }
.poultry-product-card { display:grid; grid-template-columns:250px 1fr; min-height:430px; overflow:hidden; border:1px solid #dbe8eb; border-radius:24px; background:#fff; box-shadow:0 18px 45px rgba(5,51,65,.08); transition:transform .3s ease,box-shadow .3s ease; }
.poultry-product-card:hover { transform:translateY(-7px); box-shadow:0 26px 60px rgba(5,51,65,.14); }
.poultry-product-image { background: transparent; overflow: hidden; }
.poultry-product-image img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.poultry-product-body { padding:32px 30px; }
.product-stage { display:inline-flex; padding:7px 11px; border-radius:999px; background:#e6f7fa; color:var(--primary-dark); font-size:11px; font-weight:800; letter-spacing:1.92px; text-transform:uppercase; }
.poultry-product-body h3 { margin:16px 0 14px; color:var(--dark); font-size:27px; }
.poultry-product-body p,.poultry-product-body li { color:#657279; line-height:1.7; }
.poultry-product-body ul { margin:18px 0 0; padding-left:18px; }
.poultry-product-body li { margin:7px 0; }
.feeding-path { position:relative; overflow:hidden; background:linear-gradient(130deg,#063645,#0b6070); color:#fff; }
.feeding-path-heading { text-align:center; max-width:850px; margin:0 auto 48px; }
.feeding-path-heading h2 { color:#fff; }
.feeding-path-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; position:relative; }
.feeding-path-grid article { position:relative; padding:32px 24px; border:1px solid rgba(255,255,255,.18); border-radius:20px; background:rgba(255,255,255,.06); backdrop-filter:blur(8px); }
.feeding-path-grid b { color:#60d3df; font-size:15px; letter-spacing:1.92px; }
.feeding-path-grid h3 { margin:18px 0 8px; color:#fff; font-size:23px; }
.feeding-path-grid p { margin:0; color:rgba(255,255,255,.7); }
.nutrition-pillars-heading { max-width:870px; margin-bottom:48px; }
.nutrition-pillars-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.nutrition-pillars-grid article { min-height:300px; padding:38px 34px; border:1px solid #dbe8eb; border-radius:22px; background:#fff; box-shadow:0 16px 40px rgba(4,48,61,.07); }
.nutrition-pillars-grid span { color:var(--primary); font-weight:800; letter-spacing:2.24px; }
.nutrition-pillars-grid h3 { margin:28px 0 16px; color:var(--dark); font-size:24px; }
.nutrition-pillars-grid p { color:#647178; line-height:1.8; }

.poultry-cta { position:relative; min-height:560px; display:flex; align-items:center; background:url("../images/catalogo/aves-01.jpg") center/cover no-repeat; }

.poultry-cta-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,37,51,.60),rgba(2,52,67,.40),rgba(2,52,67,.20)); }


.poultry-cta-content { position:relative; z-index:2; color:#fff; }
.poultry-cta-content h2 { max-width:850px; margin:18px 0 22px; color:#fff; font-size:clamp(35.2px,4vw,64px); line-height:1.12; letter-spacing:-0.64px; }
.poultry-cta-content p { max-width:680px; margin:0 0 32px; color:rgba(255,255,255,.78); line-height:1.8; }
.poultry-cta-actions { display:flex; flex-wrap:wrap; gap:14px; }
@media (max-width:1100px){.poultry-hero{background-size:520px auto}.poultry-intro-grid{gap:50px}.poultry-product-card{grid-template-columns:210px 1fr}}
@media (max-width:900px){.poultry-hero{min-height:620px;background-position:140% 48%;background-size:520px auto}.poultry-intro-grid,.poultry-heading{grid-template-columns:1fr}.poultry-products-grid{grid-template-columns:1fr}.poultry-product-card{grid-template-columns:270px 1fr}.feeding-path-grid{grid-template-columns:repeat(2,1fr)}.nutrition-pillars-grid{grid-template-columns:1fr}.poultry-highlights{grid-template-columns:repeat(3,1fr)}}
@media (max-width:680px){.poultry-hero{min-height:600px;background-position:145px 92%;background-size:430px auto}.poultry-hero-overlay{background:linear-gradient(180deg,rgba(2,35,48,.07) 0%,rgba(2,52,67,.08) 60%,rgba(2,52,67,.08) 100%)}.poultry-hero-content{padding-top:35px;align-self:flex-start;margin-top:105px}.poultry-hero-content h1{font-size:48px}.poultry-hero-content p{font-size:17px}.poultry-intro-visual,.poultry-intro-visual img{min-height:430px}.poultry-highlights{grid-template-columns:1fr}.poultry-heading{gap:10px}.poultry-product-card{grid-template-columns:1fr}.poultry-product-image{height:390px}.feeding-path-grid{grid-template-columns:1fr}.poultry-cta-actions{flex-direction:column}.poultry-cta-actions .btn{justify-content:center}}

/* ==================================================
   AVES DE CARNE - PROGRAMA Y MODAL TÉCNICO
================================================== */
.poultry-program-intro {
    width: 100%;
    max-width: 100%;
    margin: 20px 0 58px;
    padding-left: 30px;
    border-left: 4px solid var(--primary);
    box-sizing: border-box;
}


.poultry-program-intro p {
  margin: 0;
  color: #657279;
  font-size: 18px;
  line-height: 1.9;
}
.poultry-products-list {
  display: grid;
  gap: 34px;
}
.poultry-product-detail {
  display: grid;
  grid-template-columns: minmax(350px, .82fr) minmax(0, 1.18fr);
  min-height: 560px;
  overflow: hidden;
  border: 1px solid #dbe8eb;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(5, 51, 65, .09);
}
.poultry-product-detail.reverse .poultry-product-detail-image { order: 2; }
.poultry-product-detail-image {
  min-height: 560px;
  background: #edf7f9;
}
.poultry-product-detail-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.poultry-product-detail-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 55px 58px;
}
.poultry-product-detail-content h3 {
  margin: 18px 0 8px;
  color: var(--dark);
  font-size: clamp(32px, 3vw, 46px);
  line-height: 1.1;
}
.poultry-product-detail-content h4 {
  margin: 0 0 24px;
  color: var(--primary-dark);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
.poultry-product-detail-content > p {
  margin: 0 0 16px;
  color: #657279;
  line-height: 1.85;
}
.product-quick-data {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 18px 0 28px;
}
.product-quick-data div {
  padding: 18px 16px;
  border: 1px solid #dcebee;
  border-radius: 15px;
  background: #f7fbfc;
}
.product-quick-data strong {
  color: var(--dark);
  font-size: 18px;
}
.product-quick-data span {
  margin-top: 5px;
  color: #768389;
  font-size: 12px;
  line-height: 1.45;
}
.product-modal-open {
  align-self: flex-start;
  border: 0;
  cursor: pointer;
}
.product-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 30px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease;
}
.product-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3, 29, 39, .78);
  backdrop-filter: blur(7px);
}
.product-modal-dialog {
  position: relative;
  z-index: 2;
  width: min(1080px, 100%);
  max-height: calc(100vh - 60px);
  overflow: auto;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 35px 100px rgba(0, 0, 0, .3);
  transform: translateY(24px) scale(.98);
  transition: transform .3s ease;
}
.product-modal.open .product-modal-dialog {
  transform: translateY(0) scale(1);
}
.product-modal-close {
  position: absolute;
  top: 20px;
  right: 22px;
  z-index: 4;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}
.product-modal-header {
  padding: 42px 70px 34px;
  background: linear-gradient(125deg, #063746, #0a7383);
  color: #fff;
}
.product-modal-stage {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2.08px;
  text-transform: uppercase;
}
.product-modal-header h2 {
  margin: 14px 0 8px;
  color: #fff;
  font-size: clamp(29px, 4vw, 44px);
}
.product-modal-header p {
  margin: 0;
  color: rgba(255,255,255,.75);
}
.product-modal-tabs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-bottom: 1px solid #dbe8eb;
  background: #f7fbfc;
}
.product-tab {
  min-height: 72px;
  padding: 14px 12px;
  border: 0;
  border-right: 1px solid #dbe8eb;
  background: transparent;
  color: #5f6f76;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: background .25s ease, color .25s ease;
}
.product-tab:last-child { border-right: 0; }
.product-tab:hover,
.product-tab.active {
  background: #fff;
  color: var(--primary-dark);
}
.product-tab.active { box-shadow: inset 0 -3px 0 var(--primary); }
.product-modal-content {
  min-height: 310px;
  padding: 42px 70px 50px;
}
.product-modal-content h3 {
  margin: 0 0 22px;
  color: var(--dark);
  font-size: 25px;
}
.product-modal-content ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding-left: 20px;
}
.product-modal-content li,
.product-modal-content p {
  color: #617078;
  line-height: 1.75;
}
.product-analysis-table {
  width: 100%;
  border-collapse: collapse;
}
.product-analysis-table th,
.product-analysis-table td {
  padding: 13px 15px;
  border-bottom: 1px solid #dce8eb;
  text-align: left;
}
.product-analysis-table th {
  background: #f4f9fa;
  color: var(--dark);
}
.product-analysis-table td { color: #617078; }
.product-use-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}
.product-use-grid article {
  display: flex;
  align-items: center;
  gap: 28px;
  min-height: 150px;
  padding: 28px 32px;
  border: 1px solid #dce8eb;
  border-radius: 15px;
  background: #f7fbfc;
}

.product-use-grid article > img {
  width: 76px;
  height: 76px;
  object-fit: contain;
  flex: 0 0 76px;
}

.product-use-grid article > div {
  flex: 1;
  min-width: 0;
}

.product-use-grid h4 {
  margin: 0 0 10px;
  color: var(--dark);
}

.product-use-grid p {
  margin: 0;
}
body.modal-open { overflow: hidden; }
@media (max-width: 980px) {
  .poultry-product-detail { grid-template-columns: 1fr; }
  .poultry-product-detail.reverse .poultry-product-detail-image { order: 0; }
  .poultry-product-detail-image { min-height: 500px; }
  .product-modal-tabs { grid-template-columns: 1fr 1fr; }
  .product-tab { border-bottom: 1px solid #dbe8eb; }
}
@media (max-width: 680px) {
  .poultry-product-detail-content { padding: 34px 24px 38px; }
  .poultry-product-detail-image { min-height: 400px; }
  .product-quick-data { grid-template-columns: 1fr; }
  .product-modal { padding: 12px; }
  .product-modal-dialog { max-height: calc(100vh - 24px); border-radius: 20px; }
  .product-modal-header { padding: 34px 24px 28px; }
  .product-modal-close { top: 14px; right: 14px; }
  .product-modal-tabs { grid-template-columns: 1fr; }
  .product-tab { min-height: 52px; border-right: 0; text-align: left; padding-left: 24px; }
  .product-modal-content { min-height: 260px; padding: 30px 24px 36px; }
  .product-use-grid { grid-template-columns: 1fr; }

  .product-use-grid article {
    gap: 20px;
    min-height: 125px;
    padding: 22px 20px;
  }

  .product-use-grid article > img {
    width: 60px;
    height: 60px;
    flex-basis: 60px;
  }
  .product-analysis-table { font-size: 13px; }
}

/* ==================================================
   AVES DE CARNE — FICHA TÉCNICA DESPLEGABLE
================================================== */
.poultry-products-list--single{max-width:1100px;margin:42px auto 0}
.poultry-product-clean{background:#fff;border:1px solid rgba(15,67,39,.12);border-radius:28px;box-shadow:0 24px 70px rgba(24,63,43,.10);overflow:hidden}
.poultry-product-clean-head{padding:clamp(30px,5vw,64px)}
.poultry-product-clean-head h3{font-size:clamp(32px,4vw,56px);margin:14px 0 8px;color:#173f2b}
.poultry-product-clean-head h4{font-size:clamp(17.6px,2vw,23.2px);font-weight:600;color:#b88018;margin:0 0 24px}
.poultry-product-clean-head>p{max-width:900px;line-height:1.8;color:#526157}
.product-tech-toggle{margin-top:28px;gap:12px}
.product-tech-toggle span{display:inline-block;transition:transform .35s ease}
.product-tech-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
.product-tech-panel{overflow:hidden;background:linear-gradient(180deg,#f7faf7 0%,#fff 100%);border-top:1px solid rgba(15,67,39,.10)}
.product-tech-panel[hidden]{display:none}
.product-tech-panel.is-opening{animation:techReveal .55s cubic-bezier(.22,1,.36,1)}
@keyframes techReveal{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}
.product-tech-inner{padding:clamp(24px,4vw,48px)}
.product-tech-tabs{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 14px;scrollbar-width:thin}
.product-tech-tab{flex:0 0 auto;border:1px solid rgba(15,67,39,.15);background:#fff;color:#244c36;border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer;transition:.25s ease}
.product-tech-tab:hover,.product-tech-tab.active{background:#174b2f;color:#fff;border-color:#174b2f;transform:translateY(-1px)}
.product-tech-content{margin-top:20px;background:#fff;border-radius:22px;padding:clamp(24px,4vw,42px);box-shadow:0 14px 40px rgba(29,69,46,.08);min-height:260px}
.product-tech-pane{display:none;animation:techPane .38s ease}
.product-tech-pane.active{display:block}
@keyframes techPane{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.product-tech-pane h3{color:#173f2b;font-size:24.8px;margin:0 0 18px}
.product-tech-pane ul{display:grid;gap:13px;padding-left:22px}
.product-tech-pane li,.product-tech-pane p{color:#526157;line-height:1.75}
.product-analysis-wrap{overflow-x:auto}
@media(max-width:700px){.poultry-product-clean-head{padding:28px 22px}.product-tech-inner{padding:22px 16px}.product-tech-content{padding:24px 18px}.product-quick-data{grid-template-columns:1fr}.product-tech-tab{font-size:13.76px;padding:10px 14px}}


/* ==================================================
   AVES DE CARNE — PROGRAMA NUTRICIONAL + BB INICIAL
   FRANJA BLANCA + POPUP
================================================== */

/* Sección superior en fondo gris */
.poultry-products {
  background: #dde2e8;
  padding-bottom: 0;
}

/* Encabezado superior */
.poultry-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  align-items: end;
  gap: 70px;
  width: 100%;
}

.poultry-heading h2 {
  max-width: 700px;
  margin-bottom: 0;
}

.poultry-heading > p {
  max-width: 440px;
  margin: 0 0 8px;
  line-height: 1.8;
}

/* Texto introductorio */
.poultry-program-intro {
  width: 100%;
  max-width: 100%;
  margin: 45px 0 52px;
  padding-left: 26px;
  border-left: 4px solid var(--primary);
  box-sizing: border-box;
}

.poultry-program-intro p {
  width: 100%;
  max-width: none;
  margin: 0;
  line-height: 1.9;
}

/* ==================================================
   BB INICIAL — FRANJA BLANCA DE ANCHO COMPLETO
================================================== */

.poultry-product-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.85fr);
  align-items: center;
  gap: 70px;
  width: 100%;
  padding: 52px 0 68px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

/* Fondo blanco de extremo a extremo */
.poultry-product-layout::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #ffffff;
}

/* El contenido queda encima del fondo blanco */
.poultry-product-copy,
.poultry-product-image {
  position: relative;
  z-index: 1;
}

/* Columna izquierda */
.poultry-product-copy {
  width: 100%;
  min-width: 0;
}

.poultry-product-copy .product-stage {
  display: inline-flex;
  align-items: center;
  margin-bottom: 15px;
  padding: 7px 14px;
  border-radius: 999px;
  background: #e3f7fa;
  color: var(--primary);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 1.28px;
  text-transform: uppercase;
}

.poultry-product-copy h3 {
  margin: 0 0 7px;
  color: var(--dark);
  font-size: clamp(32px, 3vw, 49.6px);
  line-height: 1.06;
}

.poultry-product-copy h4 {
  margin: 0 0 24px;
  color: #a56a00;
  font-size: 17.28px;
  line-height: 1.45;
}

.poultry-product-copy > p {
  max-width: 740px;
  margin: 0 0 9px;
  color: #5d6d7d;
  line-height: 1.72;
}

/* Datos rápidos */
.product-quick-data {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 25px 0 24px;
}

.product-quick-data > div {
  min-height: 72px;
  padding: 16px 17px;
  background: #f7fafb;
  border: 1px solid #dbe8ec;
  border-radius: 14px;
}

.product-quick-data strong,
.product-quick-data span {
  display: block;
}

.product-quick-data strong {
  margin-bottom: 5px;
  color: var(--dark);
  font-size: 16px;
}

.product-quick-data span {
  color: #82909d;
  font-size: 12.48px;
}

/* Botón */
.poultry-product-copy .btn {
  align-self: flex-start;
}

/* Columna derecha */
.poultry-product-image {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 0;
  background: transparent;
  overflow: hidden;
}

.poultry-product-image img {
  display: block;
  width: 100%;
  max-width: 520px;
  height: auto;
  object-fit: contain;
  transition: transform 0.35s ease;
}

.poultry-product-image:hover img {
  transform: scale(1.02);
}

/* ==================================================
   POPUP DE INFORMACIÓN TÉCNICA
================================================== */

.product-modal {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.28s ease, visibility 0.28s ease;
}

.product-modal.open {
  opacity: 1;
  visibility: visible;
}

.product-modal-backdrop {
  background: rgba(2, 29, 38, 0.72);
  backdrop-filter: blur(8px);
}

.product-modal-dialog {
  transform: translateY(-70px) scale(0.96);
  opacity: 0;

  transition:
    transform 0.65s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.28s ease-out;
}

.product-modal.open .product-modal-dialog {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.product-modal-content {
  animation: modalContentIn 0.32s ease;
}

@keyframes modalContentIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

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

@media (max-width: 900px) {
  .poultry-heading {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .poultry-heading > p {
    max-width: none;
  }

  .poultry-product-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .poultry-product-image {
    min-height: auto;
  }
}

@media (max-width: 620px) {
  .product-quick-data {
    grid-template-columns: 1fr;
  }

  .poultry-product-layout {
    padding: 42px 0 50px;
  }

  .poultry-product-image {
    padding: 18px;
  }

  .poultry-product-image img {
    max-width: 290px;
  }
}

/* ==================================================
   ANIMACIÓN DIRECCIONAL ENTRE PESTAÑAS DEL POPUP
================================================== */
.product-modal-content {
  position: relative;
  overflow: hidden;
}

.product-tech-pane[hidden] {
  display: none !important;
}

.product-tech-pane {
  width: 100%;
  opacity: 1;
  transform: translateX(0);
}

.product-tech-pane.pane-enter-right {
  animation: paneEnterRight 0.36s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.product-tech-pane.pane-enter-left {
  animation: paneEnterLeft 0.36s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.product-tech-pane.pane-exit-left {
  animation: paneExitLeft 0.22s ease both;
}

.product-tech-pane.pane-exit-right {
  animation: paneExitRight 0.22s ease both;
}

@keyframes paneEnterRight {
  from {
    opacity: 0;
    transform: translateX(54px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes paneEnterLeft {
  from {
    opacity: 0;
    transform: translateX(-54px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes paneExitLeft {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(-42px);
  }
}

@keyframes paneExitRight {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(42px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-tech-pane.pane-enter-right,
  .product-tech-pane.pane-enter-left,
  .product-tech-pane.pane-exit-left,
  .product-tech-pane.pane-exit-right {
    animation: none;
  }
}


/* ==================================================
   ETAPAS 02, 03 Y 04 — AVES DE CARNE
================================================== */
.poultry-product-layout + .poultry-product-layout {
  margin-top: 2px;
}

.product-presentations-grid article {
  min-height: 110px;
}

.product-presentations-grid article > div {
  width: 100%;
}

@media (max-width: 620px) {
  .poultry-product-layout + .poultry-product-layout {
    margin-top: 0;
  }
}

/* ==================================================
   ETAPAS ALTERNADAS: FONDOS, POSICIONES Y ENTRADAS
================================================== */
.poultry-product-layout.stage-light::before {
  background: #ffffff;
}

.poultry-product-layout.stage-gray::before {
  background: #dde2e8;
}

.poultry-product-layout.reverse {
  grid-template-columns: minmax(300px, 0.85fr) minmax(0, 1.65fr);
}

.poultry-product-layout.reverse .poultry-product-image {
  grid-column: 1;
  grid-row: 1;
}

.poultry-product-layout.reverse .poultry-product-copy {
  grid-column: 2;
  grid-row: 1;
}

/* El botón aparece suavemente después del texto */
.poultry-product-copy.visible .product-modal-open {
  animation: productButtonIn 0.55s ease 0.20s both;
}

@keyframes productButtonIn {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 900px) {
  .poultry-product-layout.reverse .poultry-product-image,
  .poultry-product-layout.reverse .poultry-product-copy {
    grid-column: auto;
    grid-row: auto;
  }

  .poultry-product-layout.reverse .poultry-product-copy {
    order: 1;
  }

  .poultry-product-layout.reverse .poultry-product-image {
    order: 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .poultry-product-copy.visible .product-modal-open {
    animation: none;
  }
}

/* ==================================================
   MEGA MENÚ DE PRODUCTOS — CATÁLOGO BEDOCE 2026
================================================== */
.products-nav {
  position: static;
}

.products-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.products-toggle-icon {
  position: relative;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(9, 169, 189, 0.42);
  border-radius: 50%;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.products-toggle-icon::before,
.products-toggle-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 1.5px;
  border-radius: 2px;
  background: var(--primary-dark);
  transform: translate(-50%, -50%);
  transition: transform 0.25s ease, opacity 0.25s ease, background 0.25s ease;
}

.products-toggle-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.products-nav.open .products-toggle-icon,
.products-nav:hover .products-toggle-icon {
  background: var(--primary);
  border-color: var(--primary);
  transform: rotate(180deg);
}

.products-nav.open .products-toggle-icon::before,
.products-nav:hover .products-toggle-icon::before,
.products-nav.open .products-toggle-icon::after,
.products-nav:hover .products-toggle-icon::after {
  background: #ffffff;
}

.products-nav.open .products-toggle-icon::after,
.products-nav:hover .products-toggle-icon::after {
  opacity: 0;
}

.products-mega-menu {
  position: fixed;
  z-index: 1200;
  top: var(--header-height);
  left: 50%;
  width: min(1260px, calc(100vw - 48px));
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(18, 55, 70, 0.1);
  border-radius: 0 0 16px 16px;
  background: rgba(255, 255, 255, 0.985);
  box-shadow: 0 24px 65px rgba(5, 38, 52, 0.2);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 14px);
  transition: opacity 0.22s ease, visibility 0.22s ease, transform 0.28s ease;
}

.products-nav:hover .products-mega-menu,
.products-nav.open .products-mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.products-mega-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 22px 26px 18px;
  border-bottom: 1px solid rgba(18, 55, 70, 0.09);
}

.products-mega-kicker {
  display: block;
  margin-bottom: 4px;
  color: var(--primary);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.products-mega-head strong {
  display: block;
  color: #123746;
  font-size: 21px;
  line-height: 1.2;
}

.products-mega-head p {
  margin: 5px 0 0;
  color: #62747c;
  font-size: 13px;
  line-height: 1.45;
}

.products-catalog-link,
.products-mega-foot a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  color: var(--primary-dark);
  font-size: 12px;
  font-weight: 800;
}

.products-catalog-link span,
.products-mega-foot a span {
  font-size: 18px;
  transition: transform 0.22s ease;
}

.products-catalog-link:hover span,
.products-mega-foot a:hover span {
  transform: translateX(4px);
}

.products-mega-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 18px 20px;
  background: #f7fafb;
}

.product-menu-card {
  --card-accent: #09a9bd;
  position: relative;
  min-height: 148px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--card-accent) 34%, #dce6e9);
  border-radius: 12px;
  background: #ffffff;
  color: #123746;
  isolation: isolate;
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.product-menu-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 48%;
  height: 7px;
  border-radius: 0 0 0 14px;
  background: var(--card-accent);
}

.product-menu-card:not(.is-pending):hover {
  transform: translateY(-4px);
  border-color: var(--card-accent);
  box-shadow: 0 13px 28px rgba(8, 47, 63, 0.13);
}

.product-menu-number {
  position: absolute;
  z-index: 3;
  top: 16px;
  left: 17px;
  color: var(--card-accent);
  font-size: 31px;
  font-weight: 800;
  line-height: 1;
}

.product-menu-copy {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  width: 62%;
  min-height: 148px;
  padding: 58px 0 14px 17px;
}

.product-menu-copy strong {
  color: #123746;
  font-size: 14px;
  line-height: 1.2;
  text-transform: uppercase;
}

.product-menu-copy small {
  margin-top: 7px;
  color: #60727a;
  font-size: 10.5px;
  line-height: 1.45;
}

.product-menu-copy em {
  align-self: flex-start;
  margin-top: auto;
  padding: 4px 7px;
  border-radius: 10px;
  background: #eef3f4;
  color: #7b8a90;
  font-size: 8px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.product-menu-card img {
  position: absolute;
  z-index: 1;
  right: -18px;
  bottom: -38px;
  width: 57%;
  height: 150%;
  object-fit: cover;
  object-position: 66% center;
  filter: saturate(1.03);
  mask-image: linear-gradient(90deg, transparent 0%, #000 28%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 28%);
}

.product-menu-card.is-pending {
  cursor: default;
}

.product-menu-card.is-pending img {
  opacity: 0.72;
}

.product-menu-01 { --card-accent: #f2ad00; }
.product-menu-02 { --card-accent: #e73443; }
.product-menu-03 { --card-accent: #073b49; }
.product-menu-04 { --card-accent: #9a6b46; }
.product-menu-05 { --card-accent: #8a45a1; }
.product-menu-06 { --card-accent: #43a452; }
.product-menu-07 { --card-accent: #f1832d; }

.products-mega-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 25px;
  background: #0b5365;
  color: rgba(255,255,255,0.9);
  font-size: 11px;
}

.products-mega-foot b {
  color: #ffffff;
}

.products-mega-foot a {
  color: #ffffff;
}

@media (max-width: 1180px) and (min-width: 961px) {
  .products-mega-menu {
    width: calc(100vw - 30px);
  }

  .products-mega-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    padding: 14px;
  }

  .product-menu-copy strong { font-size: 12px; }
  .product-menu-copy small { font-size: 9px; }
}

@media (max-width: 960px) {
  .products-nav {
    position: relative;
  }

  .products-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .products-mega-menu {
    position: static;
    width: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 10px;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    display: none;
    overflow: hidden;
  }

  .products-nav:hover .products-mega-menu {
    display: none;
  }

  .products-nav.open .products-mega-menu {
    display: block;
    transform: none;
  }

  .products-mega-head {
    display: block;
    padding: 16px;
    background: #f3f8f9;
  }

  .products-mega-head strong { font-size: 17px; }
  .products-mega-head p { font-size: 12px; }
  .products-catalog-link { margin-top: 12px; }

  .products-mega-grid {
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    padding: 11px;
  }

  .product-menu-card {
    min-height: 124px;
  }

  .product-menu-copy {
    width: 67%;
    min-height: 124px;
    padding: 48px 0 11px 12px;
  }

  .product-menu-number {
    top: 13px;
    left: 12px;
    font-size: 25px;
  }

  .product-menu-copy strong { font-size: 11px; }
  .product-menu-copy small { font-size: 8.5px; }
  .product-menu-card img { width: 58%; }

  .products-mega-foot {
    display: block;
    padding: 13px 15px;
    line-height: 1.5;
  }

  .products-mega-foot a {
    margin-top: 7px;
  }
}

@media (max-width: 560px) {
  .products-mega-grid {
    grid-template-columns: 1fr;
  }

  .product-menu-card,
  .product-menu-copy {
    min-height: 112px;
  }

  .product-menu-copy {
    width: 66%;
  }

  .product-menu-card img {
    right: -8px;
    bottom: -42px;
    width: 51%;
  }

  .products-mega-foot > span {
    display: none;
  }
}

/* Crianza doméstica destacada dentro del mega menú de Productos */
.domestic-feature {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 112px;
  margin: 18px 20px 0;
  padding: 20px 26px;
  overflow: hidden;
  border: 1px solid rgba(8, 153, 177, 0.24);
  border-radius: 14px;
  background:
    linear-gradient(90deg, rgba(5, 63, 80, 0.98) 0%, rgba(8, 102, 121, 0.96) 58%, rgba(13, 170, 190, 0.88) 100%),
    url("../images/banner/banner-06.jpg") center 48% / cover no-repeat;
  color: #ffffff;
  box-shadow: 0 12px 28px rgba(7, 65, 82, 0.14);
  transition: transform 0.24s ease, box-shadow 0.24s ease;
}

.domestic-feature::after {
  content: "";
  position: absolute;
  top: -75px;
  right: 8%;
  width: 240px;
  height: 240px;
  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 50%;
}

.domestic-feature:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 34px rgba(7, 65, 82, 0.21);
}

.domestic-feature-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  max-width: 650px;
}

.domestic-feature-kicker {
  margin-bottom: 4px;
  color: #92eff7;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.domestic-feature-copy strong {
  color: #ffffff;
  font-size: 22px;
  line-height: 1.2;
  text-transform: uppercase;
}

.domestic-feature-copy small {
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.84);
  font-size: 12px;
  line-height: 1.45;
}

.domestic-feature-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  margin-top: 10px;
  color: #ffffff;
  font-size: 11px;
  font-weight: 800;
}

.domestic-feature-link b {
  font-size: 17px;
  transition: transform 0.22s ease;
}

.domestic-feature:hover .domestic-feature-link b {
  transform: translateX(5px);
}

.domestic-feature-species {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  max-width: 290px;
}

.domestic-feature-species span {
  padding: 7px 11px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.11);
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  backdrop-filter: blur(4px);
}

@media (max-width: 960px) {
  .domestic-feature {
    display: block;
    min-height: auto;
    margin: 11px 11px 0;
    padding: 17px;
    border-radius: 11px;
  }

  .domestic-feature-copy strong {
    font-size: 17px;
  }

  .domestic-feature-copy small {
    font-size: 11px;
  }

  .domestic-feature-species {
    justify-content: flex-start;
    margin-top: 12px;
    max-width: none;
  }
}

@media (max-width: 560px) {
  .domestic-feature {
    background:
      linear-gradient(90deg, rgba(5, 63, 80, 0.98), rgba(8, 102, 121, 0.94)),
      url("../images/crianza-domestica.jpg") center / cover no-repeat;
  }

  .domestic-feature-species span {
    padding: 6px 9px;
    font-size: 9px;
  }
}

/* ==========================================================
   MEGA MENÚ PRODUCTOS — VERSIÓN LIMPIA Y CORPORATIVA
   Imágenes ocultas en reposo y visibles suavemente al hover.
========================================================== */
@media (min-width: 961px) {
  .products-mega-menu {
    width: min(1180px, calc(100vw - 44px));
    max-height: calc(100vh - var(--header-height) - 16px);
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: 0 0 18px 18px;
  }

  .products-mega-head {
    padding: 18px 24px 15px;
  }

  .domestic-feature {
    min-height: 96px;
    margin: 14px 18px 0;
    padding: 17px 22px;
    border-color: rgba(255,255,255,.16);
    background:
      linear-gradient(90deg, rgba(4,48,64,.99) 0%, rgba(5,76,94,.97) 55%, rgba(7,130,150,.90) 100%),
      url("../images/crianza-domestica.jpg") 74% 48% / cover no-repeat;
    box-shadow: 0 10px 24px rgba(6,51,67,.18);
  }

  .domestic-feature::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(3,43,57,.10) 0%, rgba(3,43,57,.05) 58%, rgba(3,43,57,.18) 100%);
    pointer-events: none;
  }

  .domestic-feature-copy,
  .domestic-feature-species {
    z-index: 3;
  }

  .domestic-feature-copy small {
    color: rgba(255,255,255,.92);
  }

  .products-mega-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    padding: 14px 18px 16px;
    background: #f5f8f9;
  }

  .product-menu-card {
    min-height: 132px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(9,48,63,.045);
  }

  .product-menu-card::before {
    width: 42%;
    height: 5px;
  }

  .product-menu-number {
    top: 15px;
    left: 16px;
    font-size: 29px;
    transition: transform .28s ease;
  }

  .product-menu-copy {
    width: 82%;
    min-height: 132px;
    padding: 53px 16px 13px;
    transition: width .3s ease;
  }

  .product-menu-copy strong {
    font-size: 13px;
  }

  .product-menu-copy small {
    max-width: 180px;
    font-size: 10px;
  }

  .product-menu-card img {
    right: -24px;
    bottom: -24px;
    width: 53%;
    height: 135%;
    opacity: 0;
    transform: translateX(28px) scale(.96);
    filter: saturate(1.04);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.55) 22%, #000 48%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.55) 22%, #000 48%);
    transition: opacity .3s ease, transform .38s cubic-bezier(.22,1,.36,1);
  }

  .product-menu-card:hover {
    transform: translateY(-3px);
    border-color: var(--card-accent);
    box-shadow: 0 14px 30px rgba(8,47,63,.12);
  }

  .product-menu-card:hover img {
    opacity: .92;
    transform: translateX(0) scale(1);
  }

  .product-menu-card:hover .product-menu-copy {
    width: 63%;
  }

  .product-menu-card:hover .product-menu-number {
    transform: translateY(-1px);
  }

  .product-menu-card.is-pending:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--card-accent) 65%, #dce6e9);
    box-shadow: 0 11px 24px rgba(8,47,63,.09);
  }

  .product-menu-card.is-pending:hover img {
    opacity: .74;
    transform: translateX(0) scale(1);
  }

  .product-menu-card.is-pending:hover .product-menu-copy {
    width: 63%;
  }

  .products-mega-foot {
    padding: 12px 22px;
  }
}

@media (max-width: 960px) {
  .products-mega-menu {
    max-height: min(72vh, 650px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .domestic-feature {
    color: #fff;
    background:
      linear-gradient(90deg, rgba(4,48,64,.99), rgba(6,112,132,.94)),
      url("../images/crianza-domestica.jpg") center / cover no-repeat;
  }

  .domestic-feature-copy strong,
  .domestic-feature-copy small,
  .domestic-feature-link,
  .domestic-feature-species span {
    color: #fff;
  }

  .product-menu-card img {
    opacity: .22;
    filter: saturate(.92);
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-menu-card,
  .product-menu-card img,
  .product-menu-copy,
  .product-menu-number {
    transition: none !important;
  }
}

/* ==========================================================
   AJUSTE DE CONTRASTE — CRIANZA DOMÉSTICA EN HOVER
   En reposo conserva el diseño original; al pasar el cursor
   cambia a fondo claro y texto #0f5767 para máxima lectura.
========================================================== */
.domestic-feature:hover,
.domestic-feature:focus-visible {
  background:
    linear-gradient(100deg, rgba(255,255,255,.98) 0%, rgba(242,250,248,.98) 55%, rgba(217,241,235,.96) 100%),
    url("../images/crianza-domestica.jpg") center 48% / cover no-repeat;
  border-color: rgba(15, 87, 103, .28);
}

.domestic-feature:hover .domestic-feature-kicker,
.domestic-feature:hover .domestic-feature-copy strong,
.domestic-feature:hover .domestic-feature-copy small,
.domestic-feature:hover .domestic-feature-link,
.domestic-feature:hover .domestic-feature-species span,
.domestic-feature:focus-visible .domestic-feature-kicker,
.domestic-feature:focus-visible .domestic-feature-copy strong,
.domestic-feature:focus-visible .domestic-feature-copy small,
.domestic-feature:focus-visible .domestic-feature-link,
.domestic-feature:focus-visible .domestic-feature-species span {
  color: #0f5767;
}

.domestic-feature:hover .domestic-feature-species span,
.domestic-feature:focus-visible .domestic-feature-species span {
  border-color: rgba(15, 87, 103, .28);
  background: rgba(255,255,255,.58);
}

.domestic-feature:hover::after,
.domestic-feature:focus-visible::after {
  border-color: rgba(15, 87, 103, .14);
}


/* ==================================================
   ALIMENTO MEDICADO - SALUD TOTAL
================================================== */

.medicated-hero {
    position: relative;
    min-height: 690px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(53, 4, 13, .68) 0%,
            rgba(142, 155, 172, .48) 38%,
            rgba(142, 155, 172, .18) 65%,
            rgba(142, 155, 172, .05) 100%
        ),
        url("../images/catalogo/medicado-09.jpg") center center / cover no-repeat;
}

/* Capa adicional para mejorar la lectura del texto */


/* Contenido del banner */
.medicated-hero .poultry-hero-content {
    position: relative;
    z-index: 2;
    color: #fff;
    padding-top: 70px;
}

/* Texto pequeño superior */
.medicated-hero .section-kicker {
    color: #ffd8de;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .45);
}

/* Título principal */
.medicated-hero .poultry-hero-content h1 {
    max-width: 760px;
    margin: 18px 0;
    color: #fff;
    font-size: clamp(51px, 7vw, 104px);
    font-weight: 800;
    line-height: .98;
    letter-spacing: -0.88px;
    text-shadow:
        0 4px 10px rgba(0, 0, 0, .32),
        0 8px 24px rgba(0, 0, 0, .48),
        0 18px 45px rgba(0, 0, 0, .32);
}

/* Descripción */
.medicated-hero .poultry-hero-content p {
    max-width: 680px;
    margin: 0 0 34px;
    color: rgba(255, 255, 255, .96);
    font-size: 23px;
    line-height: 1.65;
    text-shadow:
        0 2px 8px rgba(0, 0, 0, .55);
}

.medicated-kicker {
    color: #d91f35 !important;
}

.medicated-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 23px;
    border: 1px solid #e51d35;
    border-radius: 7px;
    background: #e51d35;
    color: #fff;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .5px;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

.medicated-btn:hover {
    background: #bd1328;
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(190, 19, 40, .25);
}

.medicated-intro {
    background: #fff;
}

.medicated-intro-visual {
    background: #fff4f5;
}

.medicated-intro-visual img {
    object-position: center top;
}

.medicated-highlights strong {
    color: #d91f35;
}

.medicated-products {
    background: #fff7f8;
}

.medicated-program-intro {
    border-left-color: #e51d35;
    background: #fff;
}

.medicated-product-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    overflow: hidden;
    margin-top: 42px;
    border: 1px solid rgba(218, 31, 53, .16);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(91, 16, 28, .10);
}

.medicated-product-layout .poultry-product-copy {
    padding: clamp(34px, 5vw, 66px);
}

.medicated-product-layout .poultry-product-copy h3 {
    margin: 16px 0 12px;
    color: #173d4b;
    font-size: clamp(38px, 4vw, 60px);
}

.medicated-product-layout .poultry-product-copy h4 {
    margin: 0 0 22px;
    color: #d91f35;
    font-size: 22px;
    line-height: 1.4;
}

.medicated-product-layout .poultry-product-copy > p {
    color: #59686e;
    font-size: 17px;
    line-height: 1.8;
}

.medicated-stage {
    background: #ffe9ec;
    color: #bd1328;
}

.medicated-product-image {
    min-height: 650px;
    background: #ffffff;
}

.medicated-product-image img {
    object-fit: contain;
    object-position: center top;
    padding: 18px;
}

.medicated-quick-data div {
    border-color: #f0cbd1;
    background: #fff9fa;
}

.medicated-quick-data strong {
    color: #d91f35;
}

.medicated-benefits {
    background: #fff;
}

.medicated-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.medicated-benefits-grid article {
    padding: 30px 25px;
    border: 1px solid #f0d4d8;
    border-radius: 20px;
    background: linear-gradient(180deg, #fff, #fff8f9);
    box-shadow: 0 16px 36px rgba(106, 22, 35, .06);
}

.medicated-benefits-grid article > span {
    display: block;
    margin-bottom: 18px;
    color: #d91f35;
    font-size: 28px;
    font-weight: 800;
}

.medicated-benefits-grid h3 {
    margin: 0 0 12px;
    color: #143d4b;
    font-size: 20px;
}

.medicated-benefits-grid p {
    margin: 0;
    color: #647278;
    line-height: 1.7;
}

.medicated-cta {
    position: relative;
    background: url("../images/catalogo/medicado-11.jpg") center center / cover no-repeat;
}


.medicated-modal .product-tab:hover,
.medicated-modal .product-tab.active {
    color: #bd1328;
    background: #fff5f6;
}

.medicated-modal .product-tab.active {
    box-shadow: inset 0 -3px 0 #e51d35;
}

.medicated-modal-header {
    background: linear-gradient(135deg, #620d1b, #d91f35);
}

.medicated-modal-header .product-modal-stage {
    background: rgba(255, 255, 255, .16);
    color: #fff;
}

/* ==================================================
   TABLET
================================================== */

@media (max-width: 900px) {

    .medicated-hero {
        min-height: 620px;
        background-position: 62% center;
        background-size: cover;
    }

    .medicated-hero .poultry-hero-content {
        padding-top: 45px;
    }

    .medicated-product-layout {
        grid-template-columns: 1fr;
    }

    .medicated-product-image {
        min-height: 580px;
    }

    .medicated-benefits-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ==================================================
   MÓVIL
================================================== */

@media (max-width: 680px) {

    .medicated-hero {
        min-height: 650px;
        align-items: flex-start;
        background-position: 68% center;
        background-size: cover;
    }

    .medicated-hero-overlay {
        background: linear-gradient(
            180deg,
            rgba(53, 4, 13, .95) 0%,
            rgba(83, 7, 20, .82) 45%,
            rgba(112, 10, 28, .42) 72%,
            rgba(112, 10, 28, .16) 100%
        );
    }

    .medicated-hero .poultry-hero-content {
        align-self: flex-start;
        margin-top: 95px;
        padding-top: 25px;
        padding-bottom: 45px;
    }

    .medicated-hero .poultry-hero-content h1 {
        max-width: 340px;
        font-size: 48px;
        line-height: 1;
    }

    .medicated-hero .poultry-hero-content p {
        max-width: 390px;
        font-size: 17px;
        line-height: 1.6;
    }

    .medicated-product-image {
        min-height: 450px;
    }

    .medicated-benefits-grid {
        grid-template-columns: 1fr;
    }

    .medicated-product-layout .poultry-product-copy {
        padding: 32px 24px;
    }

    .medicated-cta {
        background-position: 65% center;
        background-size: cover;
    }
}


/* ==================================================
   ANIMACIONES DE ENTRADA DEL FOOTER
   Integradas con el IntersectionObserver existente
================================================== */
.site-footer .footer-delay-1 {
    transition-delay: .05s;
}

.site-footer .footer-delay-2 {
    transition-delay: .16s;
}

.site-footer .footer-delay-3 {
    transition-delay: .28s;
}

.site-footer .footer-delay-4 {
    transition-delay: .40s;
}

.site-footer .footer-brand.reveal-left,
.site-footer .footer-company.reveal-left {
    transform: translateX(-55px);
}

.site-footer .footer-products.reveal,
.site-footer .footer-value-item.reveal,
.site-footer .footer-bottom-inner.reveal {
    transform: translateY(38px);
}

.site-footer .footer-contact.reveal-right {
    transform: translateX(55px);
}

.site-footer .footer-value-item.reveal-left {
    transform: translateX(-45px);
}

.site-footer .footer-value-item.reveal-right {
    transform: translateX(45px);
}

.site-footer .reveal.visible,
.site-footer .reveal-left.visible,
.site-footer .reveal-right.visible {
    opacity: 1;
    transform: translate(0, 0);
}

@media (max-width: 640px) {
    .site-footer .footer-delay-1,
    .site-footer .footer-delay-2,
    .site-footer .footer-delay-3,
    .site-footer .footer-delay-4 {
        transition-delay: .08s;
    }

    .site-footer .footer-brand.reveal-left,
    .site-footer .footer-company.reveal-left,
    .site-footer .footer-contact.reveal-right,
    .site-footer .footer-value-item.reveal-left,
    .site-footer .footer-value-item.reveal-right {
        transform: translateY(32px);
    }
}

/* ==================================================
   CONTENIDO CORPORATIVO DEL ING. CLYDE
================================================== */

.manager-value{
    background:#f4f7f8;
}

/* Encabezado */
.manager-value-heading{
    width:100%;
    max-width:none;
    margin-bottom:45px;
}

.manager-value-heading h2,
.bedoce-advantages h2{
    color:#123f4b;
    font-size:42px;
    line-height:1.15;
    margin:10px 0 18px;
}

.manager-value-heading h2{
    max-width:980px;
}

.manager-value-heading p{
    width:100%;
    max-width:none;
    font-size:20px;
    line-height:1.75;
    color:#52666d;
    text-align:justify;
    margin:0;
}

/* Tarjetas */
.manager-value-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.manager-value-grid article,
.bedoce-advantages-grid article{
    background:#ffffff;
    border:1px solid #dce7ea;
    padding:34px;
    border-radius:12px;
    box-shadow:0 12px 35px rgba(12,55,67,.07);
}

.manager-value-grid article span,
.bedoce-advantages-grid article span{
    display:inline-flex;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#0f9db2;
    color:#ffffff;
    font-weight:800;
    margin-bottom:20px;
}

.manager-value-grid h3,
.bedoce-advantages-grid h3{
    font-size:20px;
    color:#123f4b;
    margin-bottom:12px;
}

.manager-value-grid p,
.bedoce-advantages-grid p{
    font-size:16px;
    line-height:1.70;
    color:#607177;
    text-align:justify;
}

/* Ventajas */
.bedoce-advantages{
    background:#eef4f5;
}

.bedoce-advantages-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
    margin-top:38px;
}

/* Banner */
.product-generic-hero{
    background-image:
        linear-gradient(90deg,rgba(8,42,52,.18),rgba(8,42,52,.05)),
        url('../images/banner/banner-07.jpg');
    background-position:center;
    background-size:cover;
}

/* Banner */
.product-generic-hero_1{
    background-image:
        linear-gradient(90deg,rgba(8,42,52,.18),rgba(8,42,52,.05)),
        url('../images/banner/banner-08.jpg');
    background-position:center;
    background-size:cover;
}



/* Banner */
.product-generic-hero_2{
    background-image:
        linear-gradient(90deg,rgba(8,42,52,.18),rgba(8,42,52,.05)),
        url('../images/banner/banner-09.jpg');
    background-position:center;
    background-size:cover;
}


/* Banner */
.product-generic-hero_3{
    background-image:
        linear-gradient(90deg,rgba(8,42,52,.18),rgba(8,42,52,.05)),
        url('../images/banner/banner-10.jpg');
    background-position:center;
    background-size:cover;
}

/* Banner */
.product-generic-hero_4{
    background-image:
        linear-gradient(90deg,rgba(8,42,52,.18),rgba(8,42,52,.05)),
        url('../images/banner/banner-11.jpg');
    background-position:center;
    background-size:cover;
}


/* ===========================
   Responsive
=========================== */

@media (max-width:1100px){

    .manager-value-grid{
        grid-template-columns:1fr;
    }

    .bedoce-advantages-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media (max-width:650px){

    .manager-value-heading h2,
    .bedoce-advantages h2{
        font-size:32px;
    }

    .manager-value-heading p{
        font-size:17px;
    }

    .bedoce-advantages-grid{
        grid-template-columns:1fr;
    }

}
/* ==================================================
   CARRUSEL DE FOTOGRAFÍAS - NOSOTROS
================================================== */
.about-page-slides {
    position: relative;
    width: 100%;
    height: 650px;
    overflow: hidden;
    border-radius: 4px;
    background: #e9f2f4;
    box-shadow: 0 24px 60px rgba(11,57,72,.16);
}

.about-page-visual .about-page-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    transform: scale(1.015);
    transition:
        opacity 900ms ease,
        visibility 900ms ease,
        transform 6000ms ease;
}

.about-page-visual .about-page-slide.active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 1;
}

.about-page-dots {
    position: absolute;
    left: 24px;
    bottom: 22px;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 9px;
}

.about-page-dot {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 50%;
    background: rgba(255,255,255,.45);
    box-shadow: 0 2px 8px rgba(5,34,45,.18);
    cursor: pointer;
    transition: width 250ms ease, border-radius 250ms ease, background 250ms ease;
}

.about-page-dot.active {
    width: 27px;
    border-radius: 10px;
    background: var(--primary);
}

/* La tarjeta de experiencia permanece fija sobre todas las fotografías. */
.about-page-experience {
    z-index: 5;
}

@media (max-width: 640px) {
    .about-page-slides {
        height: 390px;
    }

    .about-page-dots {
        left: 18px;
        bottom: 17px;
    }
}

/* ==================================================
   AJUSTE FINAL DE UNIFICACIÓN VISUAL
   Encabezados y textos introductorios
================================================== */

/* Los encabezados ocupan el ancho completo de su contenedor */
.values-heading,
.manager-value-heading{
    width:100%;
    max-width:none;
}

/* Ancho visual uniforme para títulos principales */
.values-heading h2,
.manager-value-heading h2{
    width:100%;
    max-width:980px;
}

/* Textos introductorios alineados al ancho del contenido */
.values-heading p,
.manager-value-heading p{
    width:100%;
    max-width:none;
    color:var(--muted);
    font-size:20px;
    line-height:34px;
    text-align:justify;
}

/* Separación uniforme antes de tarjetas o grillas */
.values-heading,
.manager-value-heading{
    margin-bottom:48px;
}

/* Mantiene una lectura cómoda en tablet */
@media (max-width:980px){
    .values-heading h2,
    .manager-value-heading h2{
        max-width:100%;
        font-size:42px;
        line-height:48px;
    }

    .values-heading p,
    .manager-value-heading p{
        font-size:18px;
        line-height:31px;
    }
}

/* Ajuste móvil */
@media (max-width:640px){
    .values-heading,
    .manager-value-heading{
        margin-bottom:36px;
    }

    .values-heading h2,
    .manager-value-heading h2{
        font-size:32px;
        line-height:39px;
    }

    .values-heading p,
    .manager-value-heading p{
        font-size:17px;
        line-height:29px;
        text-align:left;
    }
}


/* ==================================================
   AJUSTE EXCLUSIVO DE ANCHOS - PÁGINA NOSOTROS
   Los títulos y textos introductorios aprovechan todo
   el ancho disponible de su contenedor.
================================================== */
.nosotros-page .inner-hero-content h1,
.nosotros-page .inner-hero-content p,
.nosotros-page .purpose-heading,
.nosotros-page .purpose-heading h2,
.nosotros-page .purpose-heading p,
.nosotros-page .manager-value-heading,
.nosotros-page .manager-value-heading h2,
.nosotros-page .manager-value-heading p,
.nosotros-page .values-heading,
.nosotros-page .values-heading h2,
.nosotros-page .values-heading p,
.nosotros-page .about-cta-content h2 {
    width: 100%;
    max-width: none;
}

/* Evita cortes innecesarios en encabezados principales. */
.nosotros-page .purpose-heading h2,
.nosotros-page .manager-value-heading h2,
.nosotros-page .values-heading h2,
.nosotros-page .about-cta-content h2 {
    text-wrap: pretty;
}

/* Los textos principales también recorren todo el bloque. */
.nosotros-page .purpose-heading p,
.nosotros-page .manager-value-heading p,
.nosotros-page .values-heading p {
    text-align: left;
}

@media (max-width: 980px) {
    .nosotros-page .inner-hero-content h1,
    .nosotros-page .inner-hero-content p,
    .nosotros-page .purpose-heading h2,
    .nosotros-page .purpose-heading p,
    .nosotros-page .manager-value-heading h2,
    .nosotros-page .manager-value-heading p,
    .nosotros-page .values-heading h2,
    .nosotros-page .values-heading p,
    .nosotros-page .about-cta-content h2 {
        max-width: none;
    }
}


/* Corrección CTA final: conserva el contenedor centrado y permite que el título use todo su ancho interno. */
.nosotros-page .about-cta-content {
    position: relative;
    z-index: 2;
    width: calc(100% - 48px);
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
}

.nosotros-page .about-cta-content h2 {
    width: 100%;
    max-width: none;
}

@media (max-width: 640px) {
    .nosotros-page .about-cta-content {
        width: calc(100% - 32px);
    }
}


/* CTA por línea de producto */
.poultry-cta-carne{background-image:url("../images/catalogo/aves-01.jpg");}
.poultry-cta-gallos{background-image:url("../images/catalogo/pelea-01.jpg");}
.poultry-cta-ponedoras{background-image:url("../images/catalogo/ponedora-01.jpg");}
.poultry-cta-codornices{background-image:url("../images/catalogo/page-12.jpg");}
.poultry-cta-conejos{background-image:url("../images/catalogo/banner-07.jpg");}
.poultry-cta-cuyes{background-image:url("../images/catalogo/banner-07.jpg");}

/* Individual product hero banners */
.product-generic-hero{background-position:center;background-size:cover;background-repeat:no-repeat;}
.product-hero-aves-carne{background-image:linear-gradient(90deg,rgba(8,42,52,.18),rgba(8,42,52,.05)),url('../images/banner/banner-aves-carne.jpg');}
.product-hero-medicado{background-image:linear-gradient(90deg,rgba(8,42,52,.18),rgba(8,42,52,.05)),url('../images/banner/banner-medicado.jpg');}
.product-hero-gallos{background-image:linear-gradient(90deg,rgba(8,42,52,.18),rgba(8,42,52,.05)),url('../images/banner/banner-gallos.jpg');}
.product-hero-ponedoras{background-image:linear-gradient(90deg,rgba(8,42,52,.18),rgba(8,42,52,.05)),url('../images/banner/banner-ponedoras.jpg');}
.product-hero-codornices{background-image:linear-gradient(90deg,rgba(8,42,52,.18),rgba(8,42,52,.05)),url('../images/banner/banner-codornices.jpg');}
.product-hero-conejos{background-image:linear-gradient(90deg,rgba(8,42,52,.18),rgba(8,42,52,.05)),url('../images/banner/banner-conejos.jpg');}
.product-hero-cuyes{background-image:linear-gradient(90deg,rgba(8,42,52,.18),rgba(8,42,52,.05)),url('../images/banner/banner-cuyes.jpg');}
.poultry-cta-carne{background-image:url('../images/catalogo/aves-01.jpg');}
.poultry-cta-medicado{background-image:url('../images/catalogo/medicado-11.jpg');}
.poultry-cta-gallos{background-image:url('../images/catalogo/pelea-01.jpg');}
.poultry-cta-ponedoras{background-image:url('../images/catalogo/ponedora-01.jpg');}
.poultry-cta-codornices{background-image:url('../images/catalogo/cta-codornices.jpg');}
.poultry-cta-conejos{background-image:url('../images/catalogo/cta-conejos.jpg');}
.poultry-cta-cuyes{background-image:url('../images/catalogo/cta-cuyes.jpg');}


/* ==================================================
   PÁGINA DISTRIBUCIÓN
================================================== */
.distribution-hero{position:relative;min-height:680px;display:flex;align-items:center;background-image:url('../images/banner/banner-12.jpg');background-size:cover;background-position:center;color:#fff;}
.distribution-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,35,47,.46) 0%,rgba(5,35,47,.22) 42%,rgba(5,35,47,.12) 78%);}
.distribution-hero-content{position:relative;z-index:2;}
.distribution-hero-content h1{max-width:880px;font-size:64px;line-height:1.06;margin:18px 0 22px;}
.distribution-hero-content p{max-width:760px;font-size:21px;line-height:34px;margin-bottom:32px;}
.distribution-intro-grid,.distribution-clients-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.distribution-intro-copy h2,.distribution-clients-copy h2,.distribution-heading h2{max-width:980px;}
.distribution-lead{font-size:22px;line-height:36px;color:var(--text);font-weight:600;}
.distribution-intro-copy p{font-size:18px;line-height:31px;color:var(--muted);}
.distribution-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px;}
.distribution-stats div{padding:24px 18px;background:#f2f8f9;border-radius:8px;}
.distribution-stats strong{display:block;color:var(--primary);font-size:28px;margin-bottom:8px;}
.distribution-stats span{font-size:14px;line-height:22px;font-weight:600;color:var(--primary-dark);}
.distribution-intro-image{position:relative;}
.distribution-intro-image img,.distribution-clients-image img{width:100%;display:block;border-radius:10px;box-shadow:0 24px 55px rgba(6,44,57,.16);}
.distribution-image-card{position:absolute;right:-20px;bottom:-24px;background:var(--primary-dark);color:#fff;padding:24px 28px;border-radius:8px;box-shadow:0 18px 40px rgba(5,35,47,.22);}
.distribution-image-card strong,.distribution-image-card span{display:block;}
.distribution-image-card strong{font-size:24px;margin-bottom:5px;}
.distribution-benefits{background:#f4fafb;}
.distribution-heading{margin-bottom:48px;}
.distribution-heading p{max-width:820px;font-size:18px;line-height:31px;color:var(--muted);}
.distribution-benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.distribution-benefit-card{background:#fff;padding:36px 28px;min-height:270px;border-radius:8px;box-shadow:0 12px 35px rgba(8,50,62,.08);border-top:4px solid var(--primary);}
.distribution-benefit-card span{font-size:15px;font-weight:800;color:var(--primary);}
.distribution-benefit-card h3{font-size:22px;margin:22px 0 14px;color:var(--primary-dark);}
.distribution-benefit-card p{font-size:16px;line-height:27px;color:var(--muted);}
.distribution-route{background:var(--primary-dark);color:#fff;}
.distribution-route .section-kicker{color:#8fdfe4;}
.distribution-route .distribution-heading h2{color:#fff;}
.distribution-route-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.route-step{position:relative;display:flex;gap:18px;padding:30px 26px;border-left:1px solid rgba(255,255,255,.18);}
.route-step:last-child{border-right:1px solid rgba(255,255,255,.18);}
.route-step b{font-size:30px;color:#65d3da;}
.route-step h3{font-size:20px;color:#fff;margin:3px 0 10px;}
.route-step p{font-size:15px;line-height:25px;color:rgba(255,255,255,.74);}
.distribution-clients{background:#fff;}
.client-type-list{display:grid;gap:14px;margin-top:30px;}
.client-type-list div{padding:19px 20px;border-left:4px solid var(--primary);background:#f4fafb;}
.client-type-list strong,.client-type-list span{display:block;}
.client-type-list strong{font-size:18px;color:var(--primary-dark);margin-bottom:5px;}
.client-type-list span{font-size:15px;line-height:24px;color:var(--muted);}
.distribution-cta{position:relative;min-height:500px;display:flex;align-items:center;background:url('../images/distribucion/banner-04.jpg') center/cover no-repeat;color:#fff;}
.distribution-cta-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,35,47,.49),rgba(5,35,47,.22));}
.distribution-cta-content{position:relative;z-index:2;}
.distribution-cta-content h2{max-width:900px;color:#fff;font-size:52px;line-height:1.12;margin:15px 0 18px;}
.distribution-cta-content p{max-width:720px;font-size:19px;line-height:31px;margin-bottom:28px;}
@media(max-width:980px){.distribution-hero{min-height:590px}.distribution-hero-content h1{font-size:48px}.distribution-intro-grid,.distribution-clients-grid{grid-template-columns:1fr;gap:48px}.distribution-benefits-grid,.distribution-route-grid{grid-template-columns:1fr 1fr}.distribution-image-card{right:18px}.distribution-clients-image{order:2}.distribution-clients-copy{order:1}}
@media(max-width:640px){.distribution-hero{min-height:560px;background-position:62% center}.distribution-hero-content h1{font-size:38px}.distribution-hero-content p{font-size:17px;line-height:28px}.distribution-stats,.distribution-benefits-grid,.distribution-route-grid{grid-template-columns:1fr}.distribution-image-card{position:relative;right:auto;bottom:auto;margin:-18px 16px 0}.route-step,.route-step:last-child{border:0;border-top:1px solid rgba(255,255,255,.18)}.distribution-cta-content h2{font-size:36px}}


/* ==================================================
   PÁGINA CONTACTO
================================================== */
.contact-hero{position:relative;min-height:650px;display:flex;align-items:center;background:url('../images/banner/banner-13.jpg') center/cover no-repeat;color:#fff;}
.contact-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,35,47,.64) 0%,rgba(5,35,47,.38) 48%,rgba(5,35,47,.12) 100%);}
.contact-hero-content{position:relative;z-index:2;}
.contact-hero-content h1{max-width:900px;font-size:62px;line-height:1.07;margin:18px 0 22px;color:#fff;}
.contact-hero-content p{max-width:760px;font-size:20px;line-height:33px;margin-bottom:32px;}
.contact-heading{max-width:900px;margin-bottom:46px;}
.contact-heading p{font-size:18px;line-height:31px;color:var(--muted);}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.contact-info-card{background:#f4fafb;padding:34px 30px;border-radius:10px;border-top:4px solid var(--primary);min-height:245px;box-shadow:0 15px 35px rgba(8,50,62,.07);}
.contact-info-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#dff4f5;color:var(--primary-dark);font-size:26px;font-weight:700;margin-bottom:24px;}
.contact-info-card h3{font-size:22px;color:var(--primary-dark);margin-bottom:14px;}
.contact-info-card p,.contact-info-card a{display:block;font-size:16px;line-height:27px;color:var(--muted);}
.contact-info-card a:hover{color:var(--primary);}
.contact-form-section{background:#f4fafb;}
.contact-form-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:start;}
.contact-form-copy h2{max-width:620px;}
.contact-form-copy>p{font-size:18px;line-height:31px;color:var(--muted);}
.contact-assurance-list{display:grid;gap:14px;margin:30px 0;}
.contact-assurance-list div{display:flex;gap:16px;align-items:flex-start;padding:16px 18px;background:#fff;border-radius:8px;}
.contact-assurance-list b{color:var(--primary);font-size:19px;}
.contact-assurance-list span{font-size:15px;line-height:24px;color:var(--primary-dark);font-weight:600;}
.contact-team-image{width:100%;display:block;border-radius:10px;box-shadow:0 20px 45px rgba(8,50,62,.15);}
.contact-form-panel{background:#fff;padding:42px;border-radius:12px;box-shadow:0 20px 55px rgba(8,50,62,.12);}
.contact-form{display:grid;gap:22px;}
.form-row.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-field{display:grid;gap:9px;}
.form-field label{font-size:14px;font-weight:700;color:var(--primary-dark);}
.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #ccd9dd;border-radius:7px;background:#fff;color:#173b46;font:500 15px/1.4 'Montserrat',sans-serif;padding:14px 15px;outline:none;transition:border-color .2s,box-shadow .2s;}
.form-field textarea{resize:vertical;min-height:150px;}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,157,169,.13);}
.form-consent{display:flex;align-items:flex-start;gap:11px;font-size:13px;line-height:21px;color:var(--muted);cursor:pointer;}
.form-consent input{margin-top:4px;accent-color:var(--primary);}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.contact-submit{border:0;cursor:pointer;justify-self:start;}
.form-required-note{font-size:12px;color:var(--muted);}
.form-status{display:none;margin-bottom:22px;padding:16px 18px;border-radius:7px;font-size:14px;line-height:22px;font-weight:600;}
.form-status.show{display:block;}
.form-status.success{background:#e5f7ee;color:#17673e;border:1px solid #bfe9d2;}
.form-status.error{background:#fff0f0;color:#9a2929;border:1px solid #f1caca;}
.contact-final-cta{position:relative;min-height:500px;display:flex;align-items:center;background:url('../images/distribucion/banner-04.jpg') center/cover no-repeat;color:#fff;}
.contact-final-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,35,47,.64),rgba(5,35,47,.22));}
.contact-final-content{position:relative;z-index:2;}
.contact-final-content h2{max-width:900px;color:#fff;font-size:50px;line-height:1.12;margin:15px 0 18px;}
.contact-final-content p{max-width:730px;font-size:19px;line-height:31px;margin-bottom:28px;}
@media(max-width:980px){.contact-hero{min-height:580px}.contact-hero-content h1{font-size:48px}.contact-cards{grid-template-columns:1fr}.contact-form-grid{grid-template-columns:1fr;gap:45px}.contact-form-copy{max-width:760px}.contact-team-image{max-height:430px;object-fit:cover}}
@media(max-width:640px){.contact-hero{min-height:550px;background-position:48% center}.contact-hero-content h1{font-size:38px}.contact-hero-content p{font-size:17px;line-height:28px}.contact-form-panel{padding:26px 20px}.form-row.two-columns{grid-template-columns:1fr}.contact-final-content h2{font-size:36px}}
