/* Marco claro de /v5 sobre las páginas de casos, novedades y legal. */
body.v5-page {
    --wa-bg: #f5f5f7;
    --wa-bg-soft: #ffffff;
    --wa-panel: #ffffff;
    --wa-paper: #1d1d1f;
    --wa-muted: #555961;
    --wa-cyan: #086b78;
    --wa-magenta: #a52370;
    --wa-amber: #805300;
    --wa-green: #246b43;
    --wa-line: rgba(0, 0, 0, 0.08);
    --wa-line-strong: rgba(0, 0, 0, 0.14);
    --nv-bg: #f5f5f7;
    --nv-bg-soft: #ffffff;
    --nv-ink: #1d1d1f;
    --nv-muted: #555961;
    --nv-subtle: #62656d;
    --nv-cyan: #086b78;
    --nv-magenta: #a52370;
    --nv-line: rgba(0, 0, 0, 0.08);
    --nv-line-strong: rgba(0, 0, 0, 0.14);
    --nv-panel: #ffffff;
    --nv-panel-strong: #f7f7f9;
    background: #f5f5f7;
    color: #1d1d1f;
}
body.v5-page.nv-page::before { display: none; }
body.v5-page .wa-main,
body.v5-page .nv-main,
body.v5-page .hc-footer { position: relative; z-index: 1; }
body.v5-page .wa-main,
body.v5-page .nv-main { padding-top: 84px; }
body.v5-page .wa-main h1,
body.v5-page .wa-main h2,
body.v5-page .wa-main h3,
body.v5-page .nv-main h1,
body.v5-page .nv-main h2,
body.v5-page .nv-main h3 { color: #1d1d1f; }
body.v5-page .wa-hero__lead,
body.v5-page .wa-case-hero__lead,
body.v5-page .wa-hero__note,
body.v5-page .wa-prose,
body.v5-page .wa-prose p,
body.v5-page .wa-case-card p,
body.v5-page .wa-case-card li,
body.v5-page .wa-case-facts dd,
body.v5-page .wa-check-list li,
body.v5-page .wa-case-section__content > p,
body.v5-page .wa-case-result p,
body.v5-page .wa-person__content > p,
body.v5-page .wa-person__areas span,
body.v5-page .wa-case-card__flow span,
body.v5-page .wa-disclosure p,
body.v5-page .wa-case-card__stack li,
body.v5-page .wa-tech-list li,
body.v5-page .wa-legal-content,
body.v5-page .wa-legal-content p,
body.v5-page .wa-legal-content li,
body.v5-page .nv-hero__sub,
body.v5-page .nv-card__excerpt { color: #3a3a3c; }
body.v5-page .wa-section--band,
body.v5-page .wa-cta { background: #fff; }
body.v5-page .wa-case-card,
body.v5-page .wa-related-card,
body.v5-page .nv-card {
    background: #fff;
    color: #1d1d1f;
    box-shadow: 0 8px 24px rgba(20, 20, 40, 0.05);
}
body.v5-page .wa-btn,
body.v5-page .nv-btn,
body.v5-page .nv-pager__btn {
    min-height: 46px;
    padding: 0 20px;
    border-radius: 999px;
    font-weight: 700;
}
body.v5-page .wa-btn--primary,
body.v5-page .wa-btn--primary:hover,
body.v5-page .nv-btn,
body.v5-page .nv-btn:hover {
    color: #17242d;
    background: linear-gradient(90deg, #00c3d4, #ff52c3);
    border: 0;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(0, 195, 212, 0.22);
}
body.v5-page .wa-btn.wa-btn--primary,
body.v5-page .wa-btn.wa-btn--primary:hover {
    color: #fff;
}
body.v5-page .wa-btn--secondary,
body.v5-page .wa-btn--secondary:hover,
body.v5-page .nv-pager__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #1d1d1f;
    border: 1.5px solid transparent;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(90deg, #00c3d4, #ff52c3) border-box;
    line-height: 1.2;
}
body.v5-page .wa-hero,
body.v5-page .wa-case-hero,
body.v5-page .nv-hero {
    background:
        radial-gradient(640px 320px at 0% 100%, rgba(0, 195, 212, 0.2), transparent 68%),
        radial-gradient(560px 300px at 100% 0%, rgba(255, 82, 195, 0.16), transparent 66%),
        #f7f8fa;
}
body.v5-page .wa-case-group--soft,
body.v5-page .wa-section--band {
    background:
        radial-gradient(520px 240px at 100% 0%, rgba(255, 82, 195, 0.1), transparent 62%),
        #fff;
}
body.v5-page .wa-cta {
    background:
        radial-gradient(480px 220px at 12% 100%, rgba(0, 195, 212, 0.18), transparent 70%),
        radial-gradient(480px 220px at 88% 100%, rgba(255, 82, 195, 0.16), transparent 70%),
        #fff;
}
body.v5-page .nv-section {
    background:
        radial-gradient(640px 280px at 0% 0%, rgba(0, 195, 212, 0.1), transparent 60%),
        transparent;
}
.v5-page-ribbons {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 240px;
    z-index: 0;
    pointer-events: none;
}
body.v5-page .wa-text-link,
body.v5-page .wa-kicker,
body.v5-page .nv-kicker,
body.v5-page .nv-card__cat { color: #086b78; }
body.v5-page .wa-breadcrumb,
body.v5-page .wa-breadcrumb a { color: #555961; }
/* Numeración y metadatos que antes usaban blancos semitransparentes. */
body.v5-page .wa-case-group__mark span,
body.v5-page .wa-case-card__number,
body.v5-page .wa-process__steps li > span,
body.v5-page .wa-person__media figcaption,
body.v5-page .wa-legal-updated { color: #62656d; }
body.v5-page .wa-skip {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 1000;
    padding: 10px 14px;
    color: #fff;
    transform: translateY(-160%);
}
body.v5-page .wa-skip:focus { transform: translateY(0); }
body.v5-page .wa-main a:focus-visible,
body.v5-page .wa-main button:focus-visible,
body.v5-page .nv-main a:focus-visible,
body.v5-page .nv-main button:focus-visible {
    outline: 3px solid #086b78;
    outline-offset: 4px;
}
body.v5-page .hc-header { z-index: 40; }
body.v5-page .wa-case-index { background: #fff; }
body.v5-page .wa-case-index a { color: #1d1d1f; background: #f5f5f7; }
body.v5-page .wa-case-index a:hover,
body.v5-page .wa-case-index a:focus-visible { color: #1d1d1f; background: rgba(0, 195, 212, 0.08); }
body.v5-page .wa-case-card__media { background: #f3f4f6; }
body.v5-page .wa-case-card__media::after {
    background: linear-gradient(to bottom, rgba(245, 245, 247, 0), rgba(245, 245, 247, 0.2));
}
body.v5-page .nv-article__panel,
body.v5-page .nv-article__cta {
    background: #fff;
    border-color: rgba(0, 0, 0, 0.08);
    box-shadow: 0 12px 40px rgba(20, 20, 40, 0.06);
}
body.v5-page .nv-article__body,
body.v5-page .nv-article__body p,
body.v5-page .nv-article__body li { color: #1d1d1f; }
body.v5-page .nv-article__body a { color: #086b78; }
body.v5-page .nv-article__meta,
body.v5-page .nv-breadcrumb,
body.v5-page .nv-breadcrumb a { color: #555961; }
body.v5-page .nv-byline a,
body.v5-page .nv-author h2 a,
body.v5-page .nv-author__link { color: #1d1d1f; }
body.v5-page .nv-author p,
body.v5-page .nv-article__cta p { color: #555961; }
body.v5-page .nv-author__label { color: #a52370 !important; }
body.v5-page .nv-tag {
    color: #3a3a3c;
    background: #f5f5f7;
}
body.v5-page .nv-card__placeholder { color: #086b78; }

/* El fondo del hero llega hasta arriba. El hueco del menú fijo queda dentro del propio hero. */
body.v5-page .nv-main:has(> .nv-hero:first-child),
body.v5-page .wa-main:has(> .wa-hero:first-child),
body.v5-page .wa-main:has(> .wa-case-hero:first-child) {
    padding-top: 0;
}
body.v5-page .nv-main > .nv-hero:first-child { padding-top: 148px; }
body.v5-page .wa-main > .wa-hero:first-child,
body.v5-page .wa-main > .wa-case-hero:first-child { padding-top: 170px; }
@media (max-width: 820px) {
    body.v5-page .wa-main > .wa-hero:first-child,
    body.v5-page .wa-main > .wa-case-hero:first-child { padding-top: 148px; }
}
@media (max-width: 640px) {
    body.v5-page .nv-main > .nv-hero:first-child { padding-top: 128px; }
}

body.v5-page .nv-article__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
}
body.v5-page .nv-article__cta .nv-btn,
body.v5-page .nv-article__cta .nv-btn:hover {
    color: #fff;
}
body.v5-page .nv-article__cta .nv-btn i { color: #fff; }
body.v5-page .nv-article__cta .nv-btn--secondary,
body.v5-page .nv-article__cta .nv-btn--secondary:hover {
    color: #1d1d1f;
    border: 1.5px solid transparent;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(90deg, #00c3d4, #ff52c3) border-box;
    box-shadow: none;
}

/* La última sección no puede usar el mismo gris que el footer. */
body.v5-page .wa-main > .wa-section:last-child:not(.wa-section--band),
body.v5-page .wa-main > .wa-legal-section:last-child,
body.v5-page .nv-main > .nv-section:last-child,
body.v5-page .nv-main > .nv-article:last-child {
    background-color: #fff;
}
