/* El banner completo funciona como enlace, sin recortes ni textos añadidos. */
.hero-section .hero { display:grid; grid-template-columns:minmax(0,1fr); min-height:0; border-radius:23px; background:#edf5fb; isolation:isolate; }
.hero-panel { grid-area:1/1; min-width:0; visibility:hidden; pointer-events:none; }
.hero-panel.is-active { visibility:visible; pointer-events:auto; z-index:1; }
.hero-editorial { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); position:relative; overflow:hidden; min-height:430px; background:linear-gradient(110deg,#f0f8ff,#eaf5ff 55%,#d6edff); }
.hero-editorial .hero-copy { padding-bottom:38px; }
.hero .hero-title { font:800 clamp(38px,4.1vw,62px)/1.08 var(--heading); letter-spacing:-2.4px; margin:18px 0; overflow-wrap:anywhere; }
.hero .hero-title span { color:var(--blue); }
.hero-image-link { display:block; width:100%; aspect-ratio:3 / 1; min-height:0; }
.hero-image-link picture { display:block; width:100%; height:100%; }
.hero-image-link img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:normal; }
.hero-section .hero-pagination { position:static; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:4px; padding-top:0; min-height:44px; }
.hero-section .hero-pagination>button { flex-shrink:0; min-width:32px; min-height:44px; }
.hero-image-link:focus-visible { outline-offset:-4px; }
.campaign-image-link { display:block; aspect-ratio:3 / 1; overflow:hidden; border-radius:20px; background:#edf5fb; }
.campaign-image-link picture { display:block; width:100%; height:100%; }
.campaign-image-link img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:normal; }
.campaign-grid > .campaign-image-link:only-child { grid-column:1 / -1; }
@media(max-width:1000px) {
    .hero .hero-title { font-size:43px; letter-spacing:-1.8px; }
}
@media(max-width:700px) {
    .hero-section .hero { border-radius:16px; }
    .hero-editorial { grid-template-columns:minmax(0,1fr); min-height:0; }
    .hero-editorial .hero-copy { padding:24px 24px 8px; }
    .hero-editorial .hero-art { height:205px; }
    .hero .hero-title { font-size:36px; line-height:1.1; letter-spacing:-1.6px; margin:13px 0; }
    .hero-editorial .hero-copy>p { min-height:0; }
    .hero-editorial .hero-banner-picture { padding-bottom:8px; }
    .hero-image-link.has-mobile-art,.campaign-image-link.has-mobile-art { aspect-ratio:2 / 1; }
    .hero-section .hero-pagination { gap:0; padding-top:0; }
    .hero-section .hero-pagination>button { min-width:36px; }
    .campaign-image-link { border-radius:14px; }
}
