.v20-laval-hero {
  position: relative;
  display: grid;
  min-height: min(48rem, 82vh);
  overflow: hidden;
  color: var(--lt-blanco);
  background: var(--lt-noche);
}

.v20-laval-hero__texture,
.v20-laval-hero__texture img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.v20-laval-hero__texture img { object-fit: cover; opacity: 0.58; }
.v20-laval-hero::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(42, 20, 32, 0.96), rgba(42, 20, 32, 0.54)); }

@media (max-width: 430px) {
  .v20-laval-hero::after { background: linear-gradient(90deg, rgba(42, 20, 32, .76), rgba(42, 20, 32, .58)); }
}

.v20-laval-hero__copy {
  position: relative;
  z-index: 1;
  align-self: end;
  padding-block: var(--section-y);
}

.v20-laval-hero h1 { max-width: 13ch; }
.v20-laval-hero__copy > p:last-child { max-width: 62ch; margin: var(--sp-5) 0 0; font-size: var(--fs-body-lg); }

.v20-laval-story,
.v20-laval-closing { padding-block: var(--section-y); }
.v20-laval-story { background: var(--lt-crema); }
.v20-laval-story__grid { display: grid; gap: var(--sp-7); }
.v20-laval-year { margin: 0 0 var(--sp-3); color: var(--lt-rosa-deep); font-family: var(--font-display); font-size: var(--fs-price-xl); letter-spacing: 0.05em; }
.v20-laval-story h2,
.v20-laval-closing h2 { max-width: 22ch; }
.v20-laval-story__copy { max-width: 66ch; }
.v20-laval-story__copy p { margin: 0 0 var(--sp-5); font-size: var(--fs-body-lg); }
.v20-inline-link { display: inline-flex; align-items: center; min-height: 44px; padding-block: var(--sp-2); color: var(--lt-rosa-deep); font-weight: 700; }

.v20-laval-honest {
  padding-block: var(--section-y);
  border-block: var(--bw-frame);
  background: var(--lt-marigold);
}

.v20-laval-honest__card {
  padding-block: var(--sp-7);
  color: var(--lt-blanco);
  background: var(--lt-rouge);
  box-shadow: 0 0 0 100vmax var(--lt-rouge);
  clip-path: inset(0 -100vmax);
}

.v20-laval-honest h2 { max-width: 18ch; }
.v20-laval-honest__card > p:not(.v20-laval-honest__label) { max-width: 66ch; margin: var(--sp-5) 0 0; font-size: var(--fs-body-lg); }
.v20-laval-actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-6); }
.v20-laval-closing { background: var(--lt-crema-deep); }
.v20-laval-closing p { max-width: 66ch; margin: var(--sp-5) 0; font-size: var(--fs-body-lg); }

@media (min-width: 768px) {
  .v20-laval-story__grid { grid-template-columns: minmax(15rem, 0.7fr) minmax(0, 1fr); }
  .v20-laval-honest__card { padding-inline: clamp(2rem, 7vw, 7rem); }
}

@media (min-width: 1024px) {
  .v20-laval-closing > .v20-wrap { display: grid; grid-template-columns: minmax(23rem, 1fr) minmax(0, 1fr); gap: var(--sp-3) var(--sp-8); align-items: start; }
  .v20-laval-closing h2 { grid-row: 1 / span 2; margin: 0; }
  .v20-laval-closing p { margin: 0; }
  .v20-laval-closing .v20-inline-link { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
  .v20-laval-hero__texture img { transform: none; }
}

@media (max-width: 430px) {
  .v20-laval-actions { display: grid; }
  .v20-laval-actions .v20-button { width: 100%; padding-inline: .75rem; font-size: var(--fs-caption); white-space: nowrap; }
}
