/* Ajuste de composición: el contenido conserva una escala editorial también en pantallas anchas. */
.wwr-section {
  width: min(100%, 1660px) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding: 8rem clamp(2.5rem, 6vw, 7rem) !important;
}

/* El banner queda completo dentro de la primera pantalla. */
.wwr-hero { min-height: 720px !important; }
.wwr-copy { padding-bottom: 2.2rem !important; }
.wwr-tags { margin-top: 2.2rem !important; flex: 0 0 auto !important; }

/* Escala editorial equilibrada para pantallas grandes: cada bloque respira y termina completo. */
.wwr-hero { min-height: 670px !important; }
.wwr-copy { padding-top: 8.2rem !important; }
.wwr h1 { font-size: clamp(4.1rem, 5.7vw, 6.4rem) !important; line-height: .86 !important; margin-bottom: 1.35rem !important; }
.wwr-intro { font-size: clamp(1.85rem, 2.45vw, 2.7rem) !important; margin-bottom: 1rem !important; }
.wwr-text { font-size: 1.14rem !important; line-height: 1.5 !important; }
.wwr-actions { margin-top: 1.25rem !important; }

.wwr-section { padding-top: 6rem !important; padding-bottom: 6rem !important; }
.wwr h2 { font-size: clamp(3rem, 4.55vw, 5.2rem) !important; line-height: .9 !important; margin-bottom: 1.35rem !important; }
.wwr-about-img { height: clamp(560px, 38vw, 650px) !important; }
.wwr-about p { font-size: 1.18rem !important; line-height: 1.55 !important; margin-bottom: 1rem !important; }
.wwr-list { margin-top: 1.4rem !important; }
.wwr-list li { padding: .8rem .15rem !important; line-height: 1.4 !important; }
.wwr-catalogue { padding-top: 5.5rem !important; padding-bottom: 5.5rem !important; }
.wwr-card { min-height: 290px !important; }
.wwr-card img { min-height: 290px !important; }
.wwr-card div { padding: 1.35rem !important; }
.wwr-card h3 { margin: 1.2rem 0 .75rem !important; }

/* La sección de introducción se cierra como un único bloque visual. */
.wwr-about h2 { font-size: clamp(2.85rem, 4.1vw, 4.65rem) !important; line-height: .92 !important; margin-bottom: 1.15rem !important; }
.wwr-about-img { height: clamp(820px, 52vw, 960px) !important; }
.wwr-about { gap: clamp(3rem, 6vw, 7rem) !important; }

/* La imagen abre la composición hacia el borde izquierdo, sin alejarse del texto. */
@media (min-width: 901px) {
  .wwr-about {
    width: calc(100% + 5vw) !important;
    margin-left: -5vw !important;
  }
  .wwr-about > div:last-child {
    transform: translateX(-7vw) !important;
  }
  .wwr-about-img {
    width: calc(100% + 6vw) !important;
    margin-left: -6vw !important;
  }
}

/* Franja de lectura: protege el menú sobre cualquier zona de la fotografía. */
.wwr-nav {
  padding-top: 1.35rem !important;
  padding-bottom: 1.35rem !important;
  background: linear-gradient(90deg, rgba(4, 39, 25, .90), rgba(8, 47, 31, .74)) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .16) !important;
  box-shadow: 0 8px 26px rgba(0, 0, 0, .12) !important;
  backdrop-filter: blur(10px) !important;
}
.wwr-nav nav { text-shadow: 0 1px 8px rgba(0, 0, 0, .35); }
.wwr-nav nav a:nth-child(2) { color: #c7e831 !important; border-bottom: 0 !important; padding-bottom: 0 !important; text-shadow: 0 0 12px rgba(199,232,49,.45) !important; }

/* Titulares contundentes, pero con respiración entre las letras. */
.wwr h1,
.wwr h2 { letter-spacing: -.055em !important; }

.wwr-about { align-items: start !important; }
.wwr-about-img { align-self: start !important; }

.wwr-top { align-items: center !important; }
.wwr-top > div { min-width: 820px; }
.wwr-top .ey { white-space: nowrap; }

.wwr-about {
  display: grid !important;
  grid-template-columns: minmax(440px, .96fr) minmax(480px, 1.04fr) !important;
  gap: clamp(4rem, 8vw, 10rem) !important;
  align-items: center !important;
}

.wwr-about-img {
  width: 100% !important;
  height: clamp(600px, 47vw, 760px) !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: #dce5dc !important;
}

.wwr-about-img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

.wwr h2 { font-size: clamp(3.6rem, 5.8vw, 6.5rem) !important; }
.wwr-about p { font-size: 1.35rem !important; line-height: 1.65 !important; }
.wwr-list li { font-size: 1.12rem !important; line-height: 1.5 !important; padding: 1.1rem .15rem !important; }
.wwr-top p { font-size: 1.25rem !important; }
.wwr-card p { font-size: 1.05rem !important; line-height: 1.55 !important; }
.wwr-format p { font-size: 1.35rem !important; line-height: 1.6 !important; }
.wwr-step p { font-size: 1.08rem !important; line-height: 1.55 !important; }

@media (max-width: 900px) {
  .wwr-section { padding: 5rem 1.5rem !important; }
  .wwr-about { grid-template-columns: 1fr !important; gap: 2.5rem !important; }
  .wwr-about-img { height: 420px !important; }
  .wwr-about p { font-size: 1.15rem !important; }
  .wwr-list li { font-size: 1rem !important; }
  .wwr-top > div { min-width: 0; }
  .wwr-top .ey { white-space: normal; }
  .wwr-nav { background: rgba(4, 39, 25, .92) !important; }
}
