/* Estilo editorial para áreas y servicios: portada enmarcada (foto con esquinas redondeadas y margen alrededor), título abajo a la izquierda,
   texto pequeño a un lado y mucho aire entre bloques. Se carga después de servicio.css. */
.ed-hero-video { --m: clamp(10px, 1.5vw, 22px); margin: var(--m); border-radius: clamp(22px, 2.6vw, 36px); min-height: min(calc(100svh - 2 * var(--m)), 920px); padding-top: clamp(110px, 14vh, 160px); padding-bottom: clamp(32px, 4.6vw, 64px); }
.ed-hero-video .ed-vid::after { background: linear-gradient(180deg, rgba(18, 10, 6, .62) 0%, rgba(18, 10, 6, .34) 11%, rgba(18, 10, 6, .08) 26%, rgba(18, 10, 6, .06) 40%, rgba(18, 10, 6, .22) 62%, rgba(18, 10, 6, .72) 100%); }
.ed-hero-video .ed-hero-top { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); align-items: end; gap: clamp(24px, 4vw, 64px); }
.ed-hero-video .ed-hero-t { grid-column: 1; align-self: end; }
.ed-hero-video .ed-hero-r { grid-column: 2; align-self: end; justify-self: end; max-width: 380px; gap: 16px; padding-bottom: 8px; }
.ed-hero-video h1 { font-size: clamp(2.3rem, .9rem + 4.6vw, 5.2rem); line-height: 1; letter-spacing: -.03em; max-width: 12em; }
.ed-hero-video h1 .it { display: block; margin-top: .35em; font-size: .46em; line-height: 1.25; letter-spacing: -.01em; max-width: 24em; }
.ed-hero-video .eyebrow { font-size: .7rem; opacity: .9; margin-bottom: clamp(16px, 2vw, 26px); }
.ed-hero-video .ed-lead { font-size: .95rem; line-height: 1.6; font-weight: 300; max-width: 34ch; }
.ed-hero-video .ar-migas { margin-bottom: clamp(14px, 2vw, 24px); }
@media (max-width: 899px) { .ed-hero-video .ed-hero-top { grid-template-columns: minmax(0, 1fr); } .ed-hero-video .ed-hero-r { grid-column: 1; justify-self: start; max-width: none; } }

/* Aire: separaciones generosas entre bloques */
section.s { padding-block: clamp(80px, 11vw, 190px); }
section.s[style*="padding-top:0"] { padding-top: 0 !important; }
.sh { margin-bottom: clamp(36px, 5vw, 80px); }
/* Titulares de sección desplazados a la derecha de la rejilla, como en revista, en pantallas grandes */
@media (min-width: 1100px) { .sh:not(.sh-full) { margin-left: clamp(0px, 8vw, 140px); max-width: 880px; } }

/* La cabecera queda dentro del marco de la portada, no pegada a su borde. */
body:has(.ed-hero-video) .hdr .wrap.in { padding-top: clamp(34px, 3.4vw, 48px); padding-bottom: 14px; }
@media (min-width: 900px) { body:has(.ed-hero-video) .hdr .wrap.in { padding-inline: clamp(64px, 7vw, 128px); } }

/* Móvil: portada más compacta y bloques más juntos (menos aire que en escritorio). */
@media (max-width: 699px) {
  .ed-hero-video { min-height: min(calc(100svh - 2 * var(--m) - 90px), 600px); padding-top: 92px; padding-bottom: 28px; }
  .ed-hero-video h1 { font-size: clamp(2rem, 8.2vw, 2.6rem); }
  .ed-hero-video .ed-hero-top { gap: 18px; }
  .ed-hero-video .ed-lead { font-size: .9rem; }
  section.s { padding-block: 56px; }
  .sh { margin-bottom: 28px; }
}

/* Legibilidad: el texto de la portada siempre sobre una zona oscura y con sombra suave. */
.ed-hero-video .ed-vid::after { background: linear-gradient(180deg, rgba(18, 10, 6, .62) 0%, rgba(18, 10, 6, .34) 11%, rgba(18, 10, 6, .1) 24%, rgba(18, 10, 6, .22) 42%, rgba(18, 10, 6, .62) 66%, rgba(18, 10, 6, .86) 100%); }
.ed-hero-video .ar-migas, .ed-hero-video .eyebrow, .ed-hero-video h1, .ed-hero-video .ed-lead, .ed-hero-video .ed-nota, .ed-hero-video .ar-chips { text-shadow: 0 1px 14px rgba(18, 10, 6, .55), 0 0 2px rgba(18, 10, 6, .35); }
.ed-hero-video h1 .it { color: rgba(255, 255, 255, .8); }
@media (max-width: 699px) {
  .ed-hero-video .ed-vid::after { background: linear-gradient(180deg, rgba(18, 10, 6, .62) 0%, rgba(18, 10, 6, .3) 14%, rgba(18, 10, 6, .38) 32%, rgba(18, 10, 6, .72) 52%, rgba(18, 10, 6, .9) 100%); }
}

/* Enlace a los cuidados desde la ficha de un láser */
.cd-enlace { padding-block: clamp(40px, 6vw, 90px) 0 !important; }
.cd-enlace-c { display: grid; gap: 22px; align-items: center; padding: clamp(26px, 4vw, 48px) 0; border-block: 1px solid rgba(81, 50, 41, .16); }
.cd-enlace-c h2 { margin: 8px 0 10px; font: 300 clamp(1.5rem, 1.2rem + 1.4vw, 2.1rem)/1.15 var(--sans); color: var(--cacao); }
.cd-enlace-c p:not(.eyebrow) { margin: 0; font: 300 var(--t-body)/1.6 var(--sans); color: var(--verde); max-width: 52ch; }
@media (min-width: 800px) { .cd-enlace-c { grid-template-columns: minmax(0, 1fr) auto; gap: 48px; } }
