﻿
:root {

    --bg-deep-black: #050505;
    --bg-charcoal: #111111;
    --bg-surface: #181818;
    --bg-black: #0a0a0a;


    --accent-gold: #C8A97E;
    --color-gold-solid: #C8A97E;


    --color-text-primary: #F0F0F0;
    --color-text-secondary: #c9c8c8;
    --color-text-muted: #666666;


    --color-accent-gold: linear-gradient(135deg, #C8A97E 0%, #E6CFA1 50%, #B39260 100%);


    --border-subtle: rgba(200, 169, 126, 0.15);
    --transition-cinematic: 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --transition-fast: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);

    --font-display: 'Cinzel', serif;
    --font-body: 'Manrope', sans-serif;

    --container-width: 1480px;


    --noise-pattern: url('data:image/svg+xml;utf8,%3Csvg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="noiseFilter"%3E%3CfeTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="3" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23noiseFilter)" opacity="1"/%3E%3C/svg%3E');
}



*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

html {
 
    font-size: 16px;
    scroll-padding-top: 100px;
}


::selection {
    background-color: var(--color-gold-solid);
    color: var(--bg-deep-black);
    text-shadow: none;
}
::-moz-selection {
    background-color: var(--color-gold-solid);
    color: var(--bg-deep-black);
    text-shadow: none;
}

body {

    margin: 0;
    width: 100%; 
    overflow-x: hidden;
    position: relative;
    background-color: var(--bg-deep-black);
    
    /* --- 2. TIPOGRAFÍA GLOBAL --- */
    color: var(--color-text-primary);
    font-family: var(--font-body);
    font-weight: 300;
    line-height: 1.75;
    
    /* --- 3. NITIDEZ DE TEXTO (Heredable) --- */

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    font-synthesis: none; 
    
    /* --- 4. ANIMACIÓN INICIAL --- */
    opacity: 1;
    transition: opacity 0.5s ease;
}
h1, h2, h3, h4, h5, h6, p, a, li, blockquote {
    text-rendering: optimizeLegibility;
}







::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: var(--bg-deep-black);
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(to bottom,
            rgba(200, 169, 126, 0.2),
            rgba(200, 169, 126, 0.7),
            rgba(200, 169, 126, 0.2));
    border-radius: 3px;
    transition: background 0.3s ease;
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(to bottom,
            rgba(200, 169, 126, 0.5),
            rgba(200, 169, 126, 1),
            rgba(200, 169, 126, 0.5));
}


* {
    scrollbar-width: thin;
    scrollbar-color: rgba(200, 169, 126, 0.5) var(--bg-deep-black);
}

/* =========================================
   EFECTOS PREMIUM: GRANULADO Y ORBES DE LUZ
   ========================================= */
.noise-overlay {
    /* grano global desactivado: ahora vive solo en el hero (.hero::after) */
    display: none !important;
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    background-image: var(--noise-pattern);
    opacity: 0.05;
    /* blend (overlay) quitado: forzaba re-blend de toda la pantalla por frame al scrollear (jank en mobile). Opacidad bajada de 0.25 a 0.05 para que el grano plano no lave los negros. */
    pointer-events: none;
}

main {
    position: relative;
   
    
    overflow-x: clip;
}

.premium-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(90px);
    mix-blend-mode: screen;
}

.orb-left {
    top: 15%;
    left: -10vw;
    width: 40vw;
    height: 40vw;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.35) 0%, rgba(200, 169, 126, 0.05) 50%, transparent 20%);
}

.orb-right {
    top: 45%;
    right: -15vw;
    width: 50vw;
    height: 50vw;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.3) 0%, rgba(200, 169, 126, 0.05) 50%, transparent 20%);
}

.orb-left-bottom {
    bottom: 10%;
    left: -15vw;
    width: 45vw;
    height: 45vw;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.35) 0%, rgba(200, 169, 126, 0.05) 50%, transparent 20%);
}

@media (max-width: 768px) {
    .premium-orb {
        filter: blur(70px);
    }

    .orb-left {
        width: 70vw;
        height: 70vw;
        left: -25vw;
    }

    .orb-right {
        width: 80vw;
        height: 80vw;
        right: -30vw;
    }

    .orb-left-bottom {
        width: 70vw;
        height: 70vw;
        left: -25vw;
    }
}

main,
header,
footer,
.loader-shutter-wrapper,
.cursor-dot,
.cursor-outline {
    position: relative;
    z-index: 1;
}

.bg-deep-black {
    background-color: var(--bg-deep-black)!important;
    position: relative;
    z-index: 2;
}

.bg-charcoal {
    background-color: var(--bg-charcoal)!important;
    position: relative;
    z-index: 2;
}

.text-gold {
    color: var(--color-gold-solid) !important;
}


html.lenis,
html.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-scrolling iframe {
    pointer-events: none;
}


body.user-is-tabbing * {
    cursor: auto !important;
}

body.user-is-tabbing .cursor-dot,
body.user-is-tabbing .cursor-outline {
    display: none !important;
}

*:focus-visible {
    outline: 1px solid var(--color-gold-solid) !important;
    outline-offset: 4px !important;
    border-radius: 2px;
}



.hero__subtitle--lcp {
    opacity: 1;
    transform: none;
    animation: heroSubtitleIn 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s both;
}

@keyframes heroSubtitleIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}




h1,
h2,
h3,
h4 {
    font-family: var(--font-display);
    font-weight: 500;
    color: #fff;
    line-height: 1.25;
    letter-spacing: 0.02em;
}

.container {
    width: 100%;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 clamp(15px, 4vw, 24px);
    position: relative;
    z-index: 2;
}

.section-padding {
    padding: clamp(60px, 8vw, 120px) 0;
}

.section-header {
    text-align: center;
    margin-bottom: clamp(40px, 6vw, 80px);
    position: relative;
    z-index: 2;
}

.section-overline {
    display: block !important;
    font-size: clamp(0.6rem, 1.6vw, 0.75rem);
    color: var(--color-gold-solid);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    margin-bottom: 15px;
    font-weight: 600;
    font-family: var(--font-body);
    line-height: 1.5;
    max-width: 100%;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto;
    text-align: center !important;
}



@media (max-width: 768px) {
    .section-overline {
        font-size: 0.62rem;
        letter-spacing: 0.16em;
        margin-bottom: 12px;
        line-height: 1.55;
    }
}

@media (max-width: 480px) {
    .section-overline {
        font-size: 0.58rem;
        letter-spacing: 0.13em;
        margin-bottom: 10px;
        line-height: 1.6;
    }
}

@media (max-width: 360px) {
    .section-overline {
        font-size: 0.54rem;
        letter-spacing: 0.1em;
    }
}

.section-title {
    font-size: clamp(1.8rem, 5vw, 2.5rem);
    color: #fff;
    position: relative;
    display: inline-block;
    padding-bottom: 20px;
    text-transform: none;
    line-height: 1.2;
}

.section-subtitle {
    font-size: clamp(0.95rem, 3vw, 1.1rem);
    color: var(--color-text-secondary);
    margin-top: 15px;
    font-weight: 300;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0%;
    height: 1px;
    background: var(--color-gold-solid);
    transition: width 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.section-title.line-grow::after {
    width: 100%;
}


.service-editorial {
    max-width: 1480px;
    margin: 0 auto;
}

.service-editorial p {
    color: var(--color-text-secondary);
    font-size: clamp(1rem, 3vw, 1.15rem);
    line-height: 1.8;
    margin-bottom: 2rem;
    font-weight: 300;
}

.service-editorial p strong {
    color: #fff;
    font-weight: 500;
}

.service-editorial .lead {
    font-size: clamp(1.2rem, 4vw, 1.5rem);
    color: #fff;
    line-height: 1.6;
    border-left: 3px solid var(--color-gold-solid);
    padding-left: 20px;
    margin-bottom: 2.5rem;
    
}

.service-editorial h3 {
    color: var(--color-gold-solid);
    font-family: var(--font-display);
    font-size: clamp(1.2rem, 3vw, 1.5rem);
    margin: 2.5rem 0 1rem 0;
    font-weight: 500;
}



.magnetic-el {
    display: inline-block;
    transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cinematic-line-wrapper {
    overflow: hidden;
    display: block;
}

.cinematic-line {
    display: block;
    transform: translateY(0) skewY(0);
    opacity: 1;
    transition: transform 1.2s cubic-bezier(0.19, 1, 0.22, 1), opacity .35s ease;
}

/* Estado oculto SOLO mientras el loader cubre la pantalla (body.loading viene en el HTML).
   Antes el estado base era opacity:0 y el texto del hero (elemento LCP) no se pintaba hasta
   que main.js agregara .active -> FCP/LCP de 10s+ en movil. El fallback clForceReveal pinta
   el texto a ~1.4s aunque el JS no llegue nunca (no-JS / red lenta). */
body.loading .cinematic-line:not(.active) {
    transform: translateY(100%) skewY(10deg);
    opacity: 0;
    animation: clForceReveal 1s cubic-bezier(0.19, 1, 0.22, 1) 1.4s forwards;
}

@keyframes clForceReveal {
    to {
        transform: translateY(0) skewY(0);
        opacity: 1;
    }
}

.cinematic-line.active {
    transform: translateY(0) skewY(0);
    opacity: 1;
}

.premium-btn-sweep {
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.premium-btn-sweep::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    transition: left 0.5s cubic-bezier(0.215, 0.610, 0.355, 1.000);
    z-index: -1;
}

.premium-btn-sweep:hover::before {
    left: 100%;
}

.premium-card-hover {
    background: var(--bg-surface);
    border: 1px solid rgba(255, 255, 255, 0.03);
    transition: transform 0.5s ease,
        box-shadow 0.5s ease,
        border-color 0.5s ease,
        background-color 0.4s ease;
}

.premium-card-hover:hover {
    transform: translateY(-5px);
    border-color: var(--border-subtle);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.8);
}




.scroll-glow-line {
    position: fixed;
    top: 0;
    width: 3px;
    height: 100%;
    z-index: 99999;

    pointer-events: none;
    opacity: 0;
    transition: opacity 0.5s ease;
    background: rgba(200, 169, 126, 0.06);
}

.scroll-glow-line--left {
    left: 0;
}

.scroll-glow-line--right {
    right: 0;
}

.scroll-glow-line.is-active {
    opacity: 1;
}

.scroll-glow-blob {
    position: absolute;
    left: 0;
    width: 3px;
    height: 220px;
    top: 0;
    transform: translateY(-50%);
    background: linear-gradient(to bottom,
            transparent 0%,
            rgba(200, 169, 126, 0.4) 20%,
            rgba(200, 169, 126, 1) 50%,
            rgba(200, 169, 126, 0.4) 80%,
            transparent 100%);
    will-change: top;
}




.ldr {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-deep-black);
    pointer-events: none;
    transition: opacity 0.4s ease 1.4s;
}

body.loaded .ldr {
    opacity: 0;
    pointer-events: none;
}

.ldr__bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 50%, rgba(200, 169, 126, .06) 0%, transparent 65%);
}

.ldr__orb {
    position: absolute;
    width: clamp(200px, 40vw, 350px);
    height: clamp(200px, 40vw, 350px);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(200, 169, 126, .12) 0%, transparent 65%);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: ldrOrbPulse 2.2s ease-in-out infinite;
    will-change: transform, opacity;
    transition: opacity 0.3s ease;
}

@keyframes ldrOrbPulse { 0%, 100% { opacity: 0.5; } 50% { opacity: 1; } }

.ldr__center {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
}

.ldr__logo-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.ldr__logo-glow {
    position: absolute;
    inset: -60px;
    background: radial-gradient(circle, rgba(200, 169, 126, .2) 0%, transparent 60%);
    border-radius: 50%;
    animation: ldrGlowPulse 1.8s ease-in-out infinite;
    will-change: opacity;
    transition: opacity 0.3s ease;
}

@keyframes ldrGlowPulse { 0%, 100% { opacity: 0.4; } 50% { opacity: 1; } }

.ldr__svg {
    width: clamp(180px, 38vw, 260px);
    height: auto;
    color: #fff;
    filter: drop-shadow(0 0 20px rgba(200, 169, 126, .15));
    animation: ldrLogoReveal 0.9s cubic-bezier(.215, .61, .355, 1) 0.15s both;
    will-change: transform, opacity;
}

@keyframes ldrLogoReveal {
    from {
        opacity: 0;
        transform: scale(0.82) translateY(14px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.ldr__path--mark {
    animation: ldrMarkShimmer 2.4s ease-in-out 0.8s infinite;
    will-change: filter, opacity;
}

@keyframes ldrMarkShimmer { 0%, 100% { opacity: 0.85; } 50% { opacity: 1; } }

.ldr__path--text {
    opacity: 0;
    animation: ldrTextFade 0.7s ease 0.85s both;
}

@keyframes ldrTextFade {
    from {
        opacity: 0;
    }

    to {
        opacity: 0.65;
    }
}


.ldr__progress-bar {
    width: clamp(140px, 28vw, 220px);
    height: 1px;
    background: rgba(255, 255, 255, .07);
    border-radius: 1px;
    overflow: hidden;
}

.ldr__progress-fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, transparent 0%, var(--color-gold-solid) 50%, transparent 100%);
    animation: ldrProgress 2s cubic-bezier(.4, 0, .2, 1) 0.4s both;
    will-change: width;
}

@keyframes ldrProgress {
    from {
        width: 0%;
    }

    to {
        width: 100%;
    }
}


.ldr__tagline {
    display: flex;
    align-items: center;
    gap: 14px;
    opacity: 0;
    animation: ldrTaglineIn 0.6s ease 1.1s both;
}

@keyframes ldrTaglineIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.ldr__tagline-line {
    display: block;
    width: 28px;
    height: 1px;
    background: rgba(200, 169, 126, .35);
}

.ldr__tagline-text {
    font-family: var(--font-display);
    font-size: clamp(.55rem, 1.3vw, .68rem);
    font-weight: 400;
    letter-spacing: .38em;
    text-transform: uppercase;
    color: rgba(200, 169, 126, .65);
    white-space: nowrap;
}

/* Shutters de salida */
.ldr__shutter {
    position: absolute;
    top: 0;
    width: 33.5%;
    height: 100%;
    background: var(--bg-deep-black);
    transform: translateY(0);
    will-change: transform;
}

.ldr__shutter--1 {
    left: 0;
}

.ldr__shutter--2 {
    left: 33.333%;
}

.ldr__shutter--3 {
    left: 66.666%;
}


/* Shutters: escritorio desliza por transform (compositado, sin CLS); movil hace
   fade por opacity (inmune a CLS por especificacion). IDENTICO al CSS inline de cada
   pagina: si styles.css llega tarde (4G lenta) el restyle no cambia nada en vuelo. */
/* PSI/Lightrider cuenta las animaciones de transform NO compositadas como CLS
   (la capa puede no compositarse en su entorno y el slide del shutter sumaba
   0.1-0.5 con alta varianza). Opacity es inmune a CLS por especificacion. */
body.loaded .ldr__shutter--1,
body.loaded .ldr__shutter--2,
body.loaded .ldr__shutter--3 { opacity: 0; transition: opacity .4s ease; }

body.loaded .ldr__orb {
    opacity: 0;
    transition: opacity .35s ease;
}

body.loaded .ldr__logo-glow {
    opacity: 0;
    transition: opacity .25s ease;
}

body.loaded .ldr__tagline {
    opacity: 0;
    transition: opacity .25s ease;
}


.loader-shutter-wrapper {
    display: none !important;
}


.header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
    padding: 10px 0 !important;

    transition: background 0.4s ease, box-shadow 0.4s ease;
    background: linear-gradient(to bottom, rgba(5, 5, 5, 0.9) 0%, rgba(5, 5, 5, 0) 100%);
}

.header.scrolled {
    background: rgba(5, 5, 5, 0.95);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.header__container {
    position: relative;
    display: flex;
    justify-content: flex-end;

    align-items: center;
    gap: clamp(20px, 4vw, 40px);
    min-height: 85px;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 clamp(15px, 4vw, 32px);
}

@media (max-width: 991px) {


    .header__container {
        min-height: 55px;
    }
}


.header__logo {
    position: absolute;
    left: clamp(15px, 4vw, 32px);
    top: 0;
    height: 0;
    display: flex;
    align-items: flex-start;
    text-decoration: none;
    z-index: 1005;
}

.logo-img {
    height: auto;
    width: auto;
    aspect-ratio: 152 / 75;
    max-height: clamp(55px, 10vw, 110px);

    transition: max-height 0.4s ease, filter 0.4s;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.8));
    transform-origin: top left;
}

.header.scrolled .logo-img {
    max-height: clamp(55px, 8vw, 85px);

}



.header__nav {
    display: none;
}

@media(min-width: 992px) {
    .header__nav {
        display: block;
    }

    .header__menu {
        display: flex;
        align-items: center;
        list-style: none;
        gap: clamp(25px, 3vw, 45px);
        margin: 0;
        padding: 0;
    }

    .header__menu > li {
        display: flex;
        align-items: center;
    }

    .header__menu > li:not(:last-child)::after {
        content: '';
        display: block;
        width: 1px;
        height: 20px; 
        
        background: linear-gradient(
            to bottom, 
            transparent 0%, 
            rgba(200, 169, 126, 0.3) 20%, 
            rgba(200, 169, 126, 0.7) 50%, 
            rgba(200, 169, 126, 0.3) 80%, 
            transparent 100%
        );
        
       
        margin-left: calc(clamp(25px, 3vw, 45px) / 2);
        
       
        margin-right: calc((clamp(25px, 3vw, 45px) / -2) - 1px);
        
        pointer-events: none;
        user-select: none;
        z-index: 1;
    }

    .desktop-only { display: inline-block !important; }
    .mobile-only { display: none !important; }
    .header__mobile-social { display: none !important; }


    .header:has(#mobile-services-item:hover) {
        background: rgba(5, 5, 5, 0.98) !important;
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8);
    }

    .header:has(#mobile-services-item:hover) .logo-img {
        max-height: clamp(55px, 8vw, 85px);
    }


    .header__link {
        font-family: var(--font-body);
        font-size: 0.82rem;
        text-transform: uppercase;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.8);
        position: relative;
        padding: 12px 0;
        letter-spacing: 0.12em;
        text-decoration: none;
        display: inline-block;
        transition: color 0.4s ease, text-shadow 0.4s ease, transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    }

    .header__link::after {
        content: '';
        position: absolute;
        bottom: 5px;
        left: -10%;
        width: 120%;
        height: 1px;
        background: linear-gradient(90deg, transparent 0%, var(--color-gold-solid) 50%, transparent 100%);
        transform: scaleX(0);
        transform-origin: center;
        opacity: 0;
        transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.4s ease;
        box-shadow: 0 0 10px rgba(200, 169, 126, 0.6);
    }

    .header__link:hover,
    .header__link.active {
        color: #ffffff;
        text-shadow: 0 0 15px rgba(200, 169, 126, 0.4);
        transform: translateY(-2px);
    }

    .header__link:hover::after,
    .header__link.active::after {
        transform: scaleX(1);
        opacity: 1;
    }

    .header__link--dropdown svg {
        margin-left: 4px;
        font-size: 0.75em;
        color: var(--color-gold-solid);
        transition: transform 0.4s ease;
    }
    
    .header__dropdown:hover .header__link--dropdown svg {
        transform: rotate(180deg);
    }


    .header__link.header__link--dropdown::before {
        content: '';
        position: absolute;
        top: 100%;
        left: -20px;
        right: -20px;
        height: 40px;
        background: transparent;
        z-index: 10;
    }


    .header__dropdown {
        position: static; 
    }

    .header__submenu {
        position: absolute;

        top: 95px; 
        left: 50%;
        width: 100vw;
        

        background: rgba(12, 12, 14, 0.98);

        backdrop-filter: blur(12px) saturate(140%);
        -webkit-backdrop-filter: blur(12px) saturate(140%);
        border-top: 1px solid rgba(200, 169, 126, 0.3);
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        box-shadow: 0 40px 80px rgba(0, 0, 0, 0.9);
        
        padding: 40px max(15px, calc((100vw - 1480px) / 2)); 
        
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        z-index: 1100;
        
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-content: flex-start;
        justify-content: center;
        align-items: stretch;
        gap: 20px;

        /* Si el mega-menú supera el alto del viewport, el scroll queda DENTRO del panel
           (no se propaga al body). Ver data-lenis-prevent en main.js para que Lenis
           deje scrollear el panel de forma nativa en desktop. */
        max-height: calc(100vh - 110px);
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: rgba(200, 169, 126, 0.5) transparent;

        transform: translateX(-50%) translateY(-15px);
        transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), visibility 0.4s;
    }

    .header__submenu::-webkit-scrollbar { width: 8px; }
    .header__submenu::-webkit-scrollbar-track { background: transparent; }
    .header__submenu::-webkit-scrollbar-thumb { background: rgba(200, 169, 126, 0.4); border-radius: 8px; }
    .header__submenu::-webkit-scrollbar-thumb:hover { background: rgba(200, 169, 126, 0.6); }

    .header__dropdown:hover .header__submenu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateX(-50%) translateY(0);
    }

    
    body::before {
        content: '';
        position: fixed;
        top: 95px;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.55);
        backdrop-filter: blur(8px) saturate(120%);
        -webkit-backdrop-filter: blur(8px) saturate(120%);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.4s ease, visibility 0.4s;
        z-index: 998;
    }

    body:has(.header__dropdown:hover)::before {
        opacity: 1;
        visibility: visible;
    }

    .header__submenu li.submenu-card {
        flex: 1;
        min-width: 280px; 
        max-width: 320px;
        list-style: none;
        background: rgba(255, 255, 255, 0.02);
        border: 1px solid rgba(255, 255, 255, 0.04);
        border-radius: 8px;
        padding: 24px;
        display: flex;
        flex-direction: column;
        transition: all 0.3s ease;
    }

    .header__submenu li.submenu-card:hover {
        background: rgba(200, 169, 126, 0.06);
        border-color: rgba(200, 169, 126, 0.25);
        transform: translateY(-4px);
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
    }

    .submenu-main-link {
        font-family: var(--font-display);
        font-size: 1.15rem;
        color: #ffffff;
        font-weight: 500;
        text-decoration: none;
        display: block;
        margin-bottom: 15px;
        transition: color 0.3s ease;
    }

    .submenu-card:hover .submenu-main-link {
        color: var(--color-gold-solid);
    }

    .submenu-card .submenu-main-link {
        position: relative;
        padding-right: 22px;
    }

    .submenu-card .submenu-main-link::before {
        content: '';
        position: absolute;
        right: 2px;
        top: 0.4em;
        width: 6px;
        height: 6px;
        border-right: 1.5px solid rgba(200, 169, 126, 0.45);
        border-top: 1.5px solid rgba(200, 169, 126, 0.45);
        transform: rotate(45deg);
        transition: border-color 0.3s ease, right 0.3s ease;
    }

    .submenu-card:hover .submenu-main-link::before {
        border-color: var(--color-gold-solid);
        right: 0;
    }

    .submenu-main-link::after {
        content: attr(data-desc);
        display: block;
        font-family: var(--font-body);
        font-size: 0.8rem;
        color: rgba(255, 255, 255, 0.55);
        margin-top: 8px;
        line-height: 1.5;
        font-weight: 300;
    }

    .submenu-zones {
        margin-top: auto; 
        padding-top: 15px;
        border-top: 1px solid rgba(255, 255, 255, 0.05);
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }

    .submenu-zones a {
        font-family: var(--font-body);
        font-size: 0.65rem;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: rgba(255, 255, 255, 0.8);
        background: rgba(255, 255, 255, 0.06);
        border: 1px solid transparent;
        padding: 5px 12px 5px 14px;
        border-radius: 40px;
        text-decoration: none;
        transition: all 0.2s ease;
        display: inline-flex;
        align-items: center;
        gap: 7px;
    }

  
    .submenu-zones a::after {
        content: '';
        display: inline-block;
        width: 5px;
        height: 5px;
        border-right: 1.5px solid currentColor;
        border-top: 1.5px solid currentColor;
        transform: rotate(45deg);
        transition: transform 0.25s ease;
        flex-shrink: 0;
        opacity: 0.7;
    }

    .submenu-zones a:hover {
        background: var(--color-gold-solid);
        color: #000 !important;
        border-color: var(--color-gold-solid);
    }

    .submenu-zones a:hover::after {
        transform: rotate(45deg) translate(2px, -2px);
        opacity: 1;
    }

    .submenu-zones--danos a:not(.submenu-zones__guide) {
        border-color: rgba(200, 169, 126, 0.25);
        background: linear-gradient(135deg, rgba(200, 169, 126, 0.04) 0%, transparent 100%);
    }

    .submenu-zones--danos a:not(.submenu-zones__guide):hover {
        border-color: var(--color-gold-solid);
        background: var(--color-gold-solid);
        color: #000 !important;
        transform: translateY(-1px);
    }

    .submenu-zones--grouped {
        flex-direction: row;
    }

    .submenu-group-title {
        flex-basis: 100%;
        display: block;
        margin: 2px 0 4px 0;
        font-family: var(--font-body);
        font-size: 0.62rem;
        font-weight: 700;
        letter-spacing: 0.15em;
        text-transform: uppercase;
        color: rgba(200, 169, 126, 0.8);
    }

    .submenu-group-title--secondary {
        margin-top: 12px;
        padding-top: 10px;
        border-top: 1px dashed rgba(200, 169, 126, 0.18);
    }

    .submenu-zones__coming {
        opacity: 0.55;
        cursor: not-allowed !important;
        background: rgba(255, 255, 255, 0.03) !important;
        color: rgba(255, 255, 255, 0.6) !important;
        pointer-events: auto;
    }

    .submenu-zones__coming:hover {
        background: rgba(255, 255, 255, 0.04) !important;
        border-color: transparent !important;
        color: rgba(255, 255, 255, 0.7) !important;
        transform: none !important;
    }

    .submenu-zones__coming::after {
        display: none !important;
    }

    .coming-badge {
        display: inline-flex;
        align-items: center;
        margin-left: 4px;
        padding: 1px 5px;
        background: rgba(200, 169, 126, 0.14);
        border: 1px solid rgba(200, 169, 126, 0.28);
        border-radius: 999px;
        color: var(--color-gold-solid);
        font-size: 0.6rem;
        line-height: 1;
    }

    .submenu-item-all {
        width: 100%;
        display: flex;
        justify-content: center;
        margin-bottom: 6px;
        list-style: none;
    }

    .submenu-item-all a {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        background: transparent;
        border: 1px solid rgba(200, 169, 126, 0.4);
        color: var(--color-gold-solid);
        padding: 7px 26px;
        border-radius: 40px;
        font-family: var(--font-body);
        font-size: 0.75rem;
        font-weight: 700;
        line-height: 1; 
        text-transform: uppercase;
        letter-spacing: 0.15em;
        text-decoration: none;
        transition: all 0.3s ease;
    }

    .submenu-item-all a::after {
        content: '';
        display: inline-block;
        width: 8px;
        height: 8px;
        border-right: 2px solid currentColor;
        border-top: 2px solid currentColor;
        transform: translateY(-1px) rotate(45deg);
        flex-shrink: 0;
        transition: transform 0.3s ease;
    }

    .submenu-item-all a:hover {
        background: var(--color-gold-solid);
        color: #000;
        box-shadow: 0 5px 15px rgba(200, 169, 126, 0.3);
    }

    .submenu-item-all a:hover::after {
        transform: translate(4px, -1px) rotate(45deg);
    }
}

.header__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 2px 24px 0 calc(24px + 0.15em);
    border: 1px solid var(--border-subtle);
    color: var(--color-gold-solid);
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(4px);
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 4px;
    text-transform: uppercase;
    transition: 0.3s;
    letter-spacing: 0.15em;
    text-decoration: none;
    line-height: normal;
}

.header__cta:hover {
    background: var(--color-gold-solid);
    color: var(--bg-deep-black);
    border-color: var(--color-gold-solid);
    box-shadow: 0 5px 20px rgba(200, 169, 126, 0.2);
}


.premium-toggle {
    display: none;
    background: none;
    border: none;
    padding: 0;
    z-index: 1002;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.3s;
    flex-shrink: 0;
    cursor: pointer;
}

.premium-toggle:hover {
    background: rgba(255, 255, 255, 0.05);
}

.hamburger-box {
    width: 28px;
    height: 18px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.header__toggle-line {
    width: 100%;
    height: 2px;
    background-color: var(--color-gold-solid);
    transition: transform 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6), opacity 0.3s ease;
    display: block;
}

.premium-toggle.active .line-1 { transform: rotate(45deg) translate(6px, 6px); }
.premium-toggle.active .line-2 { opacity: 0; transform: translateX(-10px); }
.premium-toggle.active .line-3 { transform: rotate(-45deg) translate(5px, -6px); }

.header__overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
}

@media(max-width: 991px) {
    .premium-toggle { display: flex !important; }
    .header__overlay { display: block; }
    .header__overlay.active { opacity: 1; pointer-events: auto; }

    .header__nav {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        width: calc(100% - 25px) !important;
        max-width: 450px !important;
        height: 100vh !important;
        display: flex !important;
        flex-direction: column !important;
        transform: translateX(100%) !important;
        transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
        will-change: transform !important;
        z-index: 1001 !important;
        background: #0a0a0a !important;
        box-shadow: -15px 0 40px rgba(0, 0, 0, 0.9) !important;
        border-left: 1px solid rgba(200, 169, 126, 0.15) !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: none !important;
    }

    .header__nav.mobile-active {
        transform: translateX(0) !important;
        pointer-events: auto !important;
    }

    .header__nav-inner {
        width: 100%;
        height: 100%;
        overflow-y: auto;
        overflow-x: hidden;
        padding: 120px clamp(20px, 6vw, 30px) 40px !important;
        display: flex;
        flex-direction: column;
        position: relative;
        z-index: 1;
    }

    .header__menu {
        list-style: none;
        display: flex;
        flex-direction: column;
        width: 100%;
        text-align: left;
        margin: 0;
        padding: 0;
    }

    .header__menu > li {
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        overflow: hidden;
    }

    .header__link {
        font-family: var(--font-display);
        font-size: clamp(1.2rem, 5vw, 1.4rem) !important;
        padding: 18px 0;
        font-weight: 400;
        width: 100%;
        text-align: left;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        display: flex;
        justify-content: space-between;
        align-items: center;
        text-decoration: none;
        color: #fff;
        opacity: 1 !important;
        transform: none !important;
    }

    .header__link::after { display: none !important; }

    .header__dropdown ul.header__submenu {
        display: none !important;
        position: static !important;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        max-height: none !important; 
    }

    .header__dropdown.dropdown-active ul.header__submenu {
        display: block !important;
        padding-top: 15px !important;
        padding-bottom: 20px !important;
        animation: fadeInMobileMenu 0.3s ease forwards;
    }

    @keyframes fadeInMobileMenu {
        from { opacity: 0; transform: translateY(-5px); }
        to { opacity: 1; transform: translateY(0); }
    }

    .header__dropdown.dropdown-active > .header__link {
        color: var(--color-gold-solid);
    }
    
    .header__dropdown.dropdown-active > .header__link svg {
        transform: rotate(180deg);
    }


    .header__submenu li.submenu-card {
        display: block !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
        padding-bottom: 20px !important;
        margin-bottom: 15px !important;
        opacity: 1 !important;
        transform: none !important;
        background: transparent !important;
        border-radius: 0 !important;
    }
    .header__submenu li.submenu-card:last-child {
        border-bottom: none !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }


    .submenu-main-link {
        display: block !important;
        padding: 0 26px 0 0 !important; 
        font-family: var(--font-display) !important;
        font-size: 1.1rem !important;
        color: #ffffff !important;
        text-decoration: none !important;
        position: relative;
        cursor: pointer;
        pointer-events: auto !important;
    }

   
    .submenu-card:not(.submenu-item-all) .submenu-main-link::before {
        content: '';
        position: absolute;
        right: 4px;
        top: 0.45em;
        width: 8px;
        height: 8px;
        border-right: 2px solid var(--color-gold-solid);
        border-top: 2px solid var(--color-gold-solid);
        transform: rotate(45deg);
        box-shadow: 1px -1px 8px rgba(200, 169, 126, 0.25);
        transition: right 0.3s ease, border-color 0.3s ease;
        pointer-events: none;
    }

    .submenu-card:not(.submenu-item-all) .submenu-main-link:active::before {
        right: 0;
    }

    .submenu-main-link::after {
        content: attr(data-desc);
        display: block;
        font-family: var(--font-body);
        font-size: 0.8rem !important;
        color: rgba(255, 255, 255, 0.5) !important;
        margin-top: 6px;
        line-height: 1.4;
    }

    .submenu-zones {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        padding: 15px 0 0 16px !important;
        margin: 0 !important;
        height: auto !important;
        max-height: none !important; 
        opacity: 1 !important;
        visibility: visible !important;
        overflow: visible !important;
    }

    .submenu-zones a {
        display: inline-flex !important;
        align-items: center !important;
        gap: 7px !important;
        padding: 8px 14px 8px 16px !important;
        background: rgba(255, 255, 255, 0.05) !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        border-radius: 40px !important;
        color: #ffffff !important;
        font-family: var(--font-body) !important;
        font-size: 0.75rem !important;
        font-weight: 500 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
        text-decoration: none !important;
    }

    .submenu-zones a::after {
        content: '';
        display: inline-block;
        width: 6px;
        height: 6px;
        border-right: 1.5px solid currentColor;
        border-top: 1.5px solid currentColor;
        transform: rotate(45deg);
        transition: transform 0.25s ease;
        flex-shrink: 0;
        opacity: 0.7;
    }

    .submenu-zones a:hover,
    .submenu-zones a:active {
        background: var(--color-gold-solid) !important;
        color: #000 !important;
        border-color: var(--color-gold-solid) !important;
    }

    .submenu-zones a:hover::after,
    .submenu-zones a:active::after {
        transform: rotate(45deg) translate(2px, -2px);
        opacity: 1;
    }

    .submenu-zones--grouped {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .submenu-group-title {
        flex-basis: 100%;
        display: block;
        margin: 4px 0 6px 0;
        font-family: var(--font-body);
        font-size: 0.62rem;
        font-weight: 700;
        letter-spacing: 0.15em;
        text-transform: uppercase;
        color: rgba(200, 169, 126, 0.8);
    }

    .submenu-group-title--secondary {
        margin-top: 14px;
        padding-top: 10px;
        border-top: 1px dashed rgba(200, 169, 126, 0.18);
    }

    .submenu-zones__coming {
        opacity: 0.55 !important;
        cursor: not-allowed !important;
        background: rgba(255, 255, 255, 0.03) !important;
        color: rgba(255, 255, 255, 0.6) !important;
        border-color: rgba(255, 255, 255, 0.08) !important;
    }

    .submenu-zones__coming:hover,
    .submenu-zones__coming:active {
        background: rgba(255, 255, 255, 0.04) !important;
        color: rgba(255, 255, 255, 0.7) !important;
        border-color: rgba(255, 255, 255, 0.12) !important;
        transform: none !important;
    }

    .submenu-zones__coming::after {
        display: none !important;
    }

    .coming-badge {
        display: inline-flex;
        align-items: center;
        margin-left: 4px;
        padding: 1px 6px;
        background: rgba(200, 169, 126, 0.14);
        border: 1px solid rgba(200, 169, 126, 0.28);
        border-radius: 999px;
        color: var(--color-gold-solid);
        font-size: 0.6rem;
        line-height: 1;
    }

    .submenu-item-all {
        display: block !important;
        margin-bottom: 25px !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .submenu-item-all .submenu-main-link {
        padding: 14px !important; 
        text-align: center !important;
        background: rgba(200, 169, 126, 0.05) !important;
        color: var(--color-gold-solid) !important;
        border-radius: 6px !important;
        font-size: 0.85rem !important;
        font-family: var(--font-body) !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.1em !important;
        border: 1px solid rgba(200, 169, 126, 0.25) !important;
    }

    .submenu-item-all .submenu-main-link::before,
    .submenu-item-all .submenu-main-link::after {
        display: none !important;
    }

    .header__mobile-social {
        margin-top: clamp(30px, 8vw, 50px);
        padding-top: clamp(20px, 5vw, 30px);
        border-top: 1px solid rgba(200, 169, 126, 0.2);
        opacity: 1 !important; 
        transform: none !important;
    }

    .mobile-social-title {
        display: block;
        font-family: var(--font-body);
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.2em;
        color: var(--color-text-muted);
        margin-bottom: 20px;
        font-weight: 600;
    }

    .mobile-social-icons {
        display: flex;
        gap: 25px;
    }

    .mobile-social-icons a {
        color: #fff;
        font-size: 1.4rem;
        text-decoration: none;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        background: rgba(255, 255, 255, 0.05);
        border-radius: 50%;
        border: 1px solid rgba(255, 255, 255, 0.1);
    }

    .desktop-only { display: none !important; }
}

@media (max-width: 400px) {
    .header__nav { max-width: 88vw !important; }
    .header__nav-inner { padding: 110px 20px 30px !important; }
    .header__link { font-size: 1.15rem !important; padding: 15px 0 !important; }
    
    .submenu-main-link { padding-right: 22px !important; padding-left: 0 !important; font-size: 1rem !important; }

    .submenu-card:not(.submenu-item-all) .submenu-main-link::before { top: 0.5em; width: 7px; height: 7px; right: 2px; }
    
    .submenu-main-link::after { font-size: 0.75rem !important; }
    
    .submenu-zones { padding-left: 14px !important; gap: 6px !important; }
    .submenu-zones a { font-size: 0.65rem !important; padding: 6px 12px !important; }
}

@media (max-width: 320px) {
    .header__nav { max-width: 90vw !important; }
    .header__link { font-size: 1rem !important; }
    .header__nav-inner { padding: 100px 15px 20px !important; }
}


@media(max-width: 991px) {
    
    .header__nav-inner .header__mobile-social {
        display: flex !important;
        flex-direction: column;
        width: 100%;
        margin-top: 30px !important;
        padding-top: 15px !important;
        padding-bottom: 30px !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        flex-shrink: 0 !important;
    }

    .mobile-social-divider {
        width: 100%;
        height: 1px;
        background: rgba(255, 255, 255, 0.15);
        margin-bottom: 25px;
    }

    .mobile-nav-cta {
        display: flex;
        align-items: center;
        justify-content: flex-start; 
        gap: 15px;
        width: 100%;
        padding: 16px 20px;
        background: linear-gradient(180deg, #E6CFA1 0%, #C8A97E 40%, #B39260 100%);
        color: #050505 !important; 
        text-decoration: none;
        border-radius: 6px;
        margin-bottom: 25px;
        box-shadow: 0 4px 15px rgba(200, 169, 126, 0.2);
        transition: transform 0.2s ease;
    }

    .mobile-nav-cta svg {
        font-size: 1.6rem;
        color: #050505 !important;
    }

    .mobile-nav-cta-text {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        line-height: 1.2;
    }

    .mobile-nav-cta-text span {
        font-family: var(--font-body, 'Manrope', sans-serif);
        font-weight: 600;
        font-size: 0.8rem;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

    .mobile-nav-cta-text strong {
        font-family: var(--font-body, 'Manrope', sans-serif);
        font-weight: 800;
        font-size: 1.15rem;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

    /* 4. Textos y Redes */
    .mobile-social-title {
        display: block;
        font-family: var(--font-body, sans-serif);
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.15em;
        color: #888888;
        margin-bottom: 15px;
        font-weight: 600;
    }

    .mobile-social-icons {
        display: flex;
        gap: 15px;
    }

   
    .mobile-social-icons a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        border: 1px solid rgba(255, 255, 255, 0.25);
        color: rgba(255, 255, 255, 0.7);
        font-size: 1.2rem;
        text-decoration: none;
        transition: all 0.3s ease;
        background: transparent;
    }

    .mobile-social-icons a:hover,
    .mobile-social-icons a:active {
        border-color: var(--color-gold-solid);
        color: var(--color-gold-solid);
        background: rgba(200, 169, 126, 0.1);
    }
}

.hero {
    position: relative;
    height: 100vh;
    height: 100vh;
    min-height: 650px;
    overflow: hidden;
}

#pagina-principal .hero {
    position: relative;
    height: 100vh;
    height: 100vh;
    min-height: 650px;
    overflow: hidden;
}

.hero--contact {
    height: 80vh;
    height: 80vh;
    min-height: 550px;
}

.heroSwiper {
    width: 100%;
    height: 100%;
}

.hero__background {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: #050505; 
    background-size: cover;
    background-position: center;
    transform: scale(1.1);
    animation: heroZoom 20s infinite alternate ease-in-out;
    will-change: transform;
    contain: layout style paint;
}

.hero__background picture {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #050505;
}

.hero__background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    aspect-ratio: 3 / 2;
    background-color: #050505;
}

@keyframes heroZoom {
    0% {
        transform: scale(1.05);
    }

    100% {
        transform: scale(1.15);
    }
}

.hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, var(--bg-deep-black) 0%, rgba(5, 5, 5, 0.7) 40%, rgba(5, 5, 5, 0.4) 100%);
}

/* Grano premium acotado SOLO al hero (antes era un overlay global .noise-overlay).
   Recortado por el overflow:hidden del .hero. z-index 4 => sobre el fondo, debajo del texto (.hero__content z-5). */
.hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: var(--noise-pattern);
    opacity: 0.05;
    pointer-events: none;
    z-index: 4;
}

.hero__content {
    position: relative;
    z-index: 5;
    display: flex;
    flex-direction: column;
    justify-content: center;
    justify-content: safe center; 
    align-items: center;
    text-align: center;
    height: 100%; 
    padding: 80px clamp(15px, 4vw, 20px) 60px;
    max-width: 100%;
}


#pagina-principal .hero__content {
    padding-top: 120px;
}

@media (max-width: 768px) {
    #pagina-principal .hero__content {
        padding-top: 88px
    }
}

#pagina-accidente-laboral .hero__content {
    padding-top: 120px;
}

@media (max-width: 768px) {
    #pagina-accidente-laboral .hero__content {
        padding-top: 88px
    }
}

#pagina-accidente-nautico .hero__content {
    padding-top: 120px;
}

@media (max-width: 768px) {
    #pagina-accidente-nautico .hero__content {
        padding-top: 88px
    }
}

#pagina-accidente-transito .hero__content {
    padding-top: 120px;
}

@media (max-width: 768px) {
    #pagina-accidente-transito .hero__content {
        padding-top: 88px
    }
}

#pagina-accidente-general .hero__content,
#pagina-contacto .hero__content {
    justify-content: flex-start;
    padding-top: 120px;
}

@media (max-width: 768px) {
    #pagina-contacto .hero__content {
        padding-top: 100px
    }

    #pagina-accidente-general .hero__content {
        padding-top: 110px
    }
}



#pagina-contacto .hero__highlight {
    margin-bottom: 55px !important;
}


@media (min-width: 768px) {
    #pagina-accidente-general .hero__content {
        padding-top: clamp(140px, 18vh, 220px);
    }

}

#pagina-faq .hero__content {
    justify-content: flex-start;
    padding-top: 160px !important;
}

@media (min-width: 768px) {
    #pagina-faq .hero__content {
        padding-top: clamp(160px, 18vh, 220px);
    }
}

#pagina-accidente-transito .hero__subtitle {
    margin-bottom: clamp(15px, 4vw, 25px);
}

#pagina-accidente-transito .hero__highlight {
    margin-bottom: clamp(20px, 5vw, 35px);
}

.hero__overline {
    display: block;
    font-size: clamp(0.7rem, 2vw, 0.85rem);
    text-transform: uppercase;
    letter-spacing: 0.3em;
    color: #ccc;
    margin-bottom: 25px;
    font-weight: 600;
}

.hero__title {
    font-size: clamp(3.2rem, 8vw, 5.2rem);
    text-transform: uppercase;
    margin-bottom: clamp(15px, 4vw, 30px);
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-weight: 500;
    width: 100%;
}

.hero__title::before,
.hero__title::after {
    display: none !important;
}
.hero__title--white {
    display: block;
    color: #ffffff;
    background: none !important; 
    -webkit-text-fill-color: initial;
    text-shadow: 
        0px 2px 4px rgba(0, 0, 0, 0.9), 
        0px 12px 30px rgba(0, 0, 0, 0.7);
}

.hero__title--gold {
    display: block;
    padding-bottom: 5px;
    background: linear-gradient(135deg, #F5E3C0 0%, #C8A97E 35%, #B39260 70%, #8A6533 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.9))
            drop-shadow(0px 10px 25px rgba(0, 0, 0, 0.6))
            drop-shadow(0 0 8px rgba(200, 169, 126, 0.45))
            drop-shadow(0 0 22px rgba(200, 169, 126, 0.28));

    transform: translateZ(0);
}

.hero__subtitle {
    font-family: var(--font-body);
    font-size: clamp(0.95rem, 3vw, 1.25rem);
    font-weight: 300;
    color: #d0d0d0;
    max-width: 720px;
    margin-bottom: clamp(20px, 6vw, 35px);
    line-height: 1.6;
}

@media screen and (max-width: 768px) {
    .hero__subtitle {
        font-size: clamp(0.8rem, 4vw, 1rem);
    }
}

.hero__highlight {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    max-width: 100%;
    margin: 0 auto 8px;
    
    padding: clamp(20px, 4vw, 30px) clamp(20px, 5vw, 45px) clamp(35px, 5vw, 45px);
    
    background: linear-gradient(145deg, rgba(20, 20, 20, 0.85) 0%, rgba(5, 5, 5, 0.95) 100%);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    
    border: 1px solid rgba(200, 169, 126, 0.15);
    border-top: 1px solid rgba(200, 169, 126, 0.5); 
    border-radius: 6px;
    
    color: #fff;
    position: relative;
    overflow: hidden; 
    
    
    box-shadow: 
        0 25px 50px rgba(0, 0, 0, 0.8), 
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
        
    transform: translateY(20px);
    transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow 0.6s ease;
}



.hero__highlight:hover {
    box-shadow: 
        0 30px 60px rgba(0, 0, 0, 0.95), 
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    border-top-color: rgba(200, 169, 126, 0.8);
}


.highlight-glow {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 100%;
    background: radial-gradient(ellipse at top, rgba(200, 169, 126, 0.12) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}


.hero__highlight .btn-solid-gold {
    margin-bottom: 5px !important; 
    position: relative;
    z-index: 2; 
}

.highlight-lead, .highlight-body {
    position: relative;
    z-index: 2;
}

@keyframes slowGlow {
    0% {
        transform: translate(0, 0);
    }

    100% {
        transform: translate(5%, 5%);
    }
}

 a.btn-solid-gold.premium-btn-sweep.magnetic-el {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        max-width: 720px !important;
        min-width: min(580px, 100%) !important;
        min-height: 56px !important;
        height: auto !important;
        padding: 12px clamp(18px, 4vw, 50px) !important;
        margin: 12px auto 0 auto !important;
        contain: layout paint !important;
        box-sizing: border-box !important;

        font-family: var(--font-body, Arial, sans-serif) !important;
        font-size: clamp(11px, 2.4vw, 13px) !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.08em !important;
        text-align: center !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        background: linear-gradient(135deg, #F8E8C8 0%, #D4B388 25%, #9F7E4D 70%, #6E5530 100%) !important;
        color: #1a1208 !important;
        border-radius: 4px !important;

        border-top: 1px solid rgba(255, 230, 190, 0.7) !important;
        border-left: 1px solid rgba(180, 140, 85, 0.85) !important;
        border-right: 1px solid rgba(80, 55, 25, 0.85) !important;
        border-bottom: 1.5px solid rgba(40, 25, 5, 0.95) !important;
        cursor: pointer !important;


        box-shadow:
            0 14px 32px rgba(0, 0, 0, 0.55),
            0 5px 12px rgba(0, 0, 0, 0.4),
            inset 0 1px 0 rgba(255, 245, 220, 0.65),
            inset 0 2px 3px rgba(255, 240, 210, 0.55),
            inset 0 -1px 0 rgba(40, 25, 5, 0.7),
            inset 0 -3px 10px rgba(60, 40, 15, 0.5) !important;

        text-shadow: 0 1px 0 rgba(255, 240, 210, 0.55) !important;

        will-change: transform;
        transform: translateZ(0);
        transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color 0.3s ease;
    }

    a.btn-solid-gold.premium-btn-sweep.magnetic-el span {
        display: block !important;
        position: relative !important;
        z-index: 2 !important;
        pointer-events: none !important;
    }

    a.btn-solid-gold.premium-btn-sweep.magnetic-el:hover {
        transform: translateY(-4px) translateZ(0);
        background: linear-gradient(135deg, #FFF1D2 0%, #E2C295 25%, #B89464 70%, #80652E 100%) !important;
        border-top-color: rgba(255, 245, 220, 0.85) !important;
        border-left-color: rgba(200, 160, 100, 0.95) !important;
        border-right-color: rgba(90, 60, 25, 0.95) !important;
        border-bottom-color: rgba(30, 18, 2, 1) !important;
        box-shadow:
            0 18px 38px rgba(0, 0, 0, 0.65),
            0 6px 14px rgba(0, 0, 0, 0.42),
            inset 0 1px 0 rgba(255, 250, 235, 0.85),
            inset 0 2px 3px rgba(255, 245, 220, 0.85),
            inset 0 -1px 0 rgba(30, 18, 2, 0.85),
            inset 0 -3px 10px rgba(60, 40, 15, 0.45),
            0 0 0 1px rgba(200, 169, 126, 0.5) !important;
    }

    a.btn-solid-gold.premium-btn-sweep.magnetic-el::before {
        content: '' !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent) !important;
        transform: translateX(-105%) !important;
        transition: transform 0.5s cubic-bezier(0.215, 0.610, 0.355, 1.000) !important;
        z-index: 1 !important;
        pointer-events: none !important;
    }

    a.btn-solid-gold.premium-btn-sweep.magnetic-el:hover::before {
        transform: translateX(105%) !important;
    }

.highlight-lead {
    font-family: var(--font-display, 'Cinzel', serif);
    font-size: clamp(1.05rem, 4vw, 1.4rem);
    font-weight: 600;
    margin-bottom: 10px;
    letter-spacing: 0.03em;
    background: linear-gradient(to right, #ffffff, #e0e0e0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
}

.highlight-body {
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: clamp(0.85rem, 3.5vw, 1.05rem);
    font-weight: 300;
    line-height: 1.6;
    margin-bottom: 18px; 
    color: rgba(255, 255, 255, 0.85); 
}

.highlight-body .text-gold {
    color: var(--color-gold-solid) !important;
    font-weight: 400;
    text-shadow: 0 0 10px rgba(200, 169, 126, 0.2); 
}

.highlight-action {
    font-family: var(--font-body);
    font-size: clamp(0.75rem, 2.5vw, 0.9rem);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #e0e0e0;
}

.hero__list-wrapper {
    position: relative;
    margin-top: 4px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero__list {
    list-style: none;
    padding: 0;
    margin: 0;
    margin-top: 1.5rem;
    width: 100%;
    display: grid;
    grid-template-areas: "stack";
    place-items: center;
    contain: layout style paint;
}


.hero__list li {
    grid-area: stack; 
    width: max-content;
    max-width: min(900px, 95%);
    font-size: clamp(0.65rem, 2.5vw, 0.85rem);
    text-transform: uppercase;
    color: #ffffff;
    letter-spacing: 0.15em;
    background: linear-gradient(90deg, rgba(200, 169, 126, 0.02), rgba(200, 169, 126, 0.08), rgba(200, 169, 126, 0.02));
    border: 1px solid rgba(200, 169, 126, 0.15);
    padding: clamp(8px, 2vw, 12px) clamp(15px, 4vw, 28px);
    border-radius: 2px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5);
    text-align: center;
    line-height: 1.4;
    white-space: normal;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.6s;
}

.hero__list li.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.hero__list li i,
.hero__list li svg {
    color: var(--color-gold-solid);
    font-size: 1.1rem;
    flex-shrink: 0;
    width: 1.3em;
    height: 1.3em;
}

.hero__list li:hover {
    background: rgba(200, 169, 126, 0.05);
    border-color: var(--color-gold-solid);
    color: #fff;
}

.hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 16px clamp(20px, 5vw, 60px);
    background: var(--color-gold-solid);
    color: var(--bg-deep-black);
    font-weight: 700;
    text-transform: uppercase;
    border: none;
    border-radius: 2px;
    transition: 0.3s;
    position: relative;
    overflow: hidden;
    letter-spacing: 0.1em;
    text-decoration: none;
    font-size: clamp(0.8rem, 3vw, 1rem);
    width: auto;
    max-width: 100%;
}

.hero__btn:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(200, 169, 126, 0.3);
}

.hero__extra-info {
    margin-top: clamp(20px, 5vw, 40px);
    font-size: clamp(0.7rem, 2.5vw, 0.85rem);
    color: #888;
    letter-spacing: 0.05em;
    font-weight: 400;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 20px;
}


    .header__search-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        background: transparent;
        border: 1px solid rgba(201, 165, 90, 0.3);
        border-radius: 50%;
        color: var(--color-gold-solid, #c9a55a);
        cursor: pointer;
        transition: all 0.3s ease;
        font-family: inherit;
        flex-shrink: 0;
        margin-left: 1.25rem;
        margin-right: 0;
        position: relative;
        z-index: 10;
    }
    .header__search-btn:hover,
    .header__search-btn:focus-visible {
        background: rgba(201, 165, 90, 0.1);
        border-color: var(--color-gold-solid, #c9a55a);
        transform: scale(1.05);
    }
    .header__search-btn svg { width: 16px; height: 16px; }

    @media (max-width: 991.98px) {
        .header__search-btn {
            margin-left: auto;
            margin-right: 0.6rem;
            width: 38px;
            height: 38px;
        }
        .header__search-btn svg { width: 14px; height: 14px; }
    }

    .sitemap-overlay {
        position: fixed; inset: 0;
        background: rgba(0, 0, 0, 0.7);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        z-index: 100000;
        opacity: 0; visibility: hidden;
        transition: opacity 0.4s ease, visibility 0s linear 0.4s;
    }
    .sitemap-overlay.is-open {
        opacity: 1; visibility: visible;
        transition: opacity 0.4s ease, visibility 0s linear 0s;
    }

    .sitemap-drawer {
        position: fixed; top: 0; left: 0;
        height: 100vh; height: 100dvh;
        width: 420px; max-width: 90vw;
        background: linear-gradient(180deg, #0a0a0c 0%, #121216 100%);
        border-right: 1px solid rgba(201, 165, 90, 0.15);
        box-shadow: 4px 0 40px rgba(0, 0, 0, 0.6);
        z-index: 100001;
        transform: translateX(-100%);
        transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
        display: flex; flex-direction: column;
        overflow: hidden;
        font-family: 'Manrope', sans-serif;
    }
    .sitemap-drawer.is-open { transform: translateX(0); }
    .sitemap-drawer__header {
        display: flex; align-items: center; justify-content: space-between;
        padding: 1.5rem 1.75rem;
        border-bottom: 1px solid rgba(201, 165, 90, 0.12);
        flex-shrink: 0;
        background: rgba(0, 0, 0, 0.3);
    }
    .sitemap-drawer__title {
        font-family: 'Cinzel', serif;
        font-size: 1rem; font-weight: 500;
        letter-spacing: 0.08em; text-transform: uppercase;
        color: var(--color-gold-solid, #c9a55a);
        margin: 0;
    }
    .sitemap-drawer__close {
        width: 36px; height: 36px;
        display: inline-flex; align-items: center; justify-content: center;
        background: transparent;
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: 50%;
        color: rgba(255, 255, 255, 0.7);
        cursor: pointer;
        transition: all 0.25s ease;
        font-family: inherit;
    }
    .sitemap-drawer__close:hover,
    .sitemap-drawer__close:focus-visible {
        background: rgba(255, 255, 255, 0.08);
        color: #fff;
        border-color: rgba(255, 255, 255, 0.4);
        transform: rotate(90deg);
    }
    .sitemap-drawer__close svg { width: 12px; height: 12px; }
    .sitemap-drawer__content {
        flex: 1; overflow-y: auto; overflow-x: hidden;
        padding: 1.5rem 0 2rem;
        scrollbar-width: thin;
        scrollbar-color: rgba(201, 165, 90, 0.3) transparent;
    }
    .sitemap-drawer__content::-webkit-scrollbar { width: 4px; }
    .sitemap-drawer__content::-webkit-scrollbar-track { background: transparent; }
    .sitemap-drawer__content::-webkit-scrollbar-thumb {
        background: rgba(201, 165, 90, 0.3);
        border-radius: 2px;
    }
    .sitemap-section {
        padding: 1rem 1.75rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    }
    .sitemap-section:last-child { border-bottom: none; }


    .sitemap-section__divider {
        list-style: none;
        margin: 1.5rem 0 0.5rem 0;
        padding: 0.6rem 0 0.4rem 0;
        border-top: 1px solid rgba(200, 169, 126, 0.18);
        pointer-events: none;
    }

    .sitemap-divider-text {
        display: block;
        font-family: var(--font-display, 'Cinzel', serif);
        font-size: 0.72rem;
        font-weight: 600;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: rgba(200, 169, 126, 0.7);
    }
    .sitemap-section__title {
        display: flex; align-items: center; gap: 0.75rem;
        font-family: 'Cinzel', serif;
        font-size: 0.85rem; font-weight: 500;
        letter-spacing: 0.05em; text-transform: uppercase;
        color: var(--color-gold-solid, #c9a55a);
        margin: 0 0 1rem;
    }
    .sitemap-section__title svg { width: 16px; height: 16px; flex-shrink: 0; }
    .sitemap-section__list { list-style: none; padding: 0; margin: 0; }
    .sitemap-section__list li { margin-bottom: 0.3rem; }
    .sitemap-section__list a {
        display: flex; align-items: flex-start; gap: 0.65rem;
        padding: 0.55rem 0.75rem;
        color: rgba(255, 255, 255, 0.72);
        text-decoration: none;
        font-size: 0.9rem; line-height: 1.4;
        border-radius: 6px;
        transition: all 0.25s ease;
        border-left: 2px solid transparent;
    }
    .sitemap-section__list a:hover,
    .sitemap-section__list a:focus-visible {
        color: #fff;
        background: rgba(201, 165, 90, 0.06);
        border-left-color: var(--color-gold-solid, #c9a55a);
        padding-left: 1rem;
    }
    .sitemap-section__list a svg {
        width: 12px; height: 12px; flex-shrink: 0;
        color: rgba(201, 165, 90, 0.7);
        transition: color 0.25s ease;
        margin-top: 4px;
    }
    .sitemap-section__list a:hover svg { color: var(--color-gold-solid, #c9a55a); }
    .sitemap-cta {
        padding: 1.25rem 1.75rem 0.5rem;
        border-top: 1px solid rgba(201, 165, 90, 0.12);
        background: rgba(0, 0, 0, 0.3);
        flex-shrink: 0;
    }
    .sitemap-cta__btn {
        display: flex; align-items: center; justify-content: center; gap: 0.6rem;
        width: 100%;
        padding: 0.9rem 1.25rem;
        margin-bottom: 0.6rem;
        background: var(--color-gold-solid, #c9a55a);
        color: #0a0a0c;
        font-family: inherit; font-weight: 600; font-size: 0.9rem;
        text-decoration: none;
        border-radius: 6px;
        transition: all 0.25s ease;
        letter-spacing: 0.02em;
        border: 1px solid var(--color-gold-solid, #c9a55a);
    }
    .sitemap-cta__btn:hover {
        background: #d4b470;
        border-color: #d4b470;
        transform: translateY(-1px);
    }
    .sitemap-cta__btn--secondary {
        background: transparent;
        color: var(--color-gold-solid, #c9a55a);
    }
    .sitemap-cta__btn--secondary:hover {
        background: rgba(201, 165, 90, 0.1);
        color: var(--color-gold-solid, #c9a55a);
    }
    body.sitemap-open { overflow: hidden; }
    @media (prefers-reduced-motion: reduce) {
        .sitemap-drawer, .sitemap-overlay,
        .header__search-btn, .sitemap-drawer__close {
            transition-duration: 0.1s;
        }
    }
    @media (max-width: 520px) {
        .sitemap-drawer { width: 100vw; max-width: 100vw; }
        .sitemap-drawer__header { padding: 1.25rem 1.25rem; }
        .sitemap-section { padding: 0.85rem 1.25rem; }
        .sitemap-cta { padding: 1rem 1.25rem 0.5rem; }
    }



.hero__editorial { 
    max-width: 760px; 
    padding: clamp(12px, 2vw, 20px) clamp(16px, 3vw, 32px); 
    text-align: center; 
    position: relative; 
    z-index: 10; 
    min-height: clamp(105px, 10vh, 150px); 
    border-radius: 4px;
    margin: 0 auto 12px auto;
    gap: 12px;
}

.hero__subtitle {
    font-family: 'Manrope', Arial, sans-serif;
    font-size: clamp(0.95rem, 3vw, 1.25rem);
    line-height: 1.6;
    margin-bottom: 16px;
    color: #d0d0d0;
}




.hero__editorial-lead {
    font-family: var(--font-body);
    font-size: clamp(0.95rem, 3vw, 1.25rem);
    color: #d0d0d0;
    line-height: 1.6;
    margin-bottom: 8px;
    font-weight: 300;
}

.hero__read-more {
    background: linear-gradient(135deg, rgba(20, 18, 12, 0.6) 0%, rgba(8, 6, 3, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.55);
    color: var(--color-gold-solid);
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 35px !important;
    padding: 6px 20px;
    transition: background 0.4s ease, color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease, transform 0.3s ease;
    border-radius: 2px;
    position: relative;
    overflow: visible;


    box-shadow:
        0 0 14px rgba(200, 169, 126, 0.4),
        0 0 28px rgba(200, 169, 126, 0.22),
        0 0 50px rgba(200, 169, 126, 0.1),
        inset 0 1px 0 rgba(255, 240, 210, 0.18);
    animation: readMoreOrbBreath 3.2s ease-in-out infinite;
}

@keyframes readMoreOrbBreath {
    0%, 100% {
        box-shadow:
            0 0 14px rgba(200, 169, 126, 0.35),
            0 0 28px rgba(200, 169, 126, 0.18),
            0 0 50px rgba(200, 169, 126, 0.08),
            inset 0 1px 0 rgba(255, 240, 210, 0.15);
    }
    50% {
        box-shadow:
            0 0 22px rgba(200, 169, 126, 0.6),
            0 0 44px rgba(200, 169, 126, 0.34),
            0 0 75px rgba(200, 169, 126, 0.2),
            inset 0 1px 0 rgba(255, 240, 210, 0.28);
    }
}

.hero__read-more::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #F5E3C0 0%, #C8A97E 50%, #B39260 100%);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.45s cubic-bezier(0.215, 0.61, 0.355, 1);
    z-index: 0;
    border-radius: inherit;
}

.hero__read-more::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, rgba(200, 169, 126, 0.18) 0%, transparent 70%);
    z-index: 0;
    pointer-events: none;
    border-radius: inherit;
    animation: readMoreInnerGlow 3.2s ease-in-out infinite;
}

@keyframes readMoreInnerGlow {
    0%, 100% { opacity: 0.4; }
    50%      { opacity: 0.9; }
}

.hero__read-more span,
.hero__read-more svg,
.hero__read-more i {
    position: relative;
    z-index: 2;
}

.hero__read-more:hover {
    color: #050505;
    border-color: var(--color-gold-solid);
    transform: translateY(-2px);
    animation-play-state: paused;
    box-shadow:
        0 0 30px rgba(200, 169, 126, 0.75),
        0 0 60px rgba(200, 169, 126, 0.4),
        0 0 95px rgba(200, 169, 126, 0.2),
        0 8px 20px rgba(0, 0, 0, 0.4),
        inset 0 1px 1px rgba(255, 245, 220, 0.5);
}

.hero__read-more:hover::before {
    transform: scaleX(1);
}

.hero__read-more:hover::after {
    animation-play-state: paused;
    opacity: 0;
}

.bottom-sheet { 
    position: fixed; 
    inset: 0; 
    z-index: 100000; 
    display: flex; 
    align-items: flex-end; 
    justify-content: center; 
    pointer-events: none; 
    visibility: hidden; 
}
.bottom-sheet.is-open {
    visibility: visible; 
}

.bottom-sheet__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.bottom-sheet__content {
    position: relative;
    width: 100%;
    max-width: 800px;
    max-height: 85vh;
    background: linear-gradient(180deg, var(--bg-charcoal) 0%, var(--bg-deep-black) 100%);
    border: 1px solid rgba(200, 169, 126, 0.15);
    border-bottom: none;
    border-radius: 24px 24px 0 0;
    padding: 15px clamp(20px, 5vw, 40px) 40px;
    transform: translateY(100%);
    transition: transform 0.6s cubic-bezier(0.32, 0.72, 0, 1);
    box-shadow: 0 -10px 50px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    overflow-y: auto;
    /* el scroll interno del sheet no debe encadenar al body al llegar al tope/fondo */
    overscroll-behavior: contain;
}

.bottom-sheet__overlay { opacity: 0; }
.bottom-sheet__content { 
    transform: translateY(120%); 
}

.bottom-sheet.is-open {
    pointer-events: auto;
}

.bottom-sheet.is-open .bottom-sheet__overlay {
    opacity: 1;
}

.bottom-sheet.is-open .bottom-sheet__content {
    transform: translateY(0);
}

.bottom-sheet__drag-handle {
    width: 40px;
    height: 5px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 10px;
    margin: 0 auto 25px;
}

.bottom-sheet__close {
    position: absolute;
    top: 20px;
    right: 25px;
    background: rgba(255, 255, 255, 0.05);
    border: none;
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s;
}

.bottom-sheet__close:hover {
    background: var(--color-gold-solid);
    color: var(--bg-deep-black);
    transform: rotate(90deg);
}

.bottom-sheet__title {
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 4vw, 1.8rem);
    color: #fff;
    text-align: center;
    margin-bottom: 20px;
}

.bottom-sheet__body p {
    color: var(--color-text-secondary);
    font-size: clamp(0.95rem, 3vw, 1.1rem);
    line-height: 1.8;
    font-weight: 300;
    text-align: center;
}

.bottom-sheet__body strong {
    color: var(--color-gold-solid);
    font-weight: 500;
}



.location-rotator {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: var(--color-gold-solid);
    font-weight: 600;
    white-space: nowrap;
}

.location-rotator .location-word {
    position: absolute;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    pointer-events: none;
}

.location-rotator .location-word.active {
    position: relative;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.location-rotator .location-word.exit {
    position: absolute;
    opacity: 0;
    transform: translateY(-20px);
}



.authority-section {
    padding-top: clamp(50px, 8vw, 80px);
    padding-bottom: clamp(50px, 8vw, 80px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.02);
}

.authority-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-top: clamp(40px, 6vw, 60px);
    padding: 50px 10px 50px 10px; 
    border-radius: 4px;
    overflow: hidden;
}

.authority-item {
    background: var(--bg-deep-black);
    position: relative;
    overflow: hidden;
    cursor: default;
}

.authority-item__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: clamp(28px, 4vw, 48px) clamp(16px, 2.5vw, 32px);
    height: 100%;
    gap: 0;
    z-index: 1;
    transition: background 0.5s ease;
}

.authority-item__glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 80%,
            rgba(200, 169, 126, 0.1) 0%,
            transparent 65%);
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none;
    z-index: 0;
}

.authority-item:hover .authority-item__glow {
    opacity: 1;
}

.authority-item__num {
    position: absolute;
    top: -12px;
    right: 8px;
    font-family: var(--font-display);
    font-size: clamp(4rem, 7vw, 6.5rem);
    font-weight: 700;
    color: rgba(200, 169, 126, 0.04);
    line-height: 1;
    pointer-events: none;
    transition: color 0.5s ease, transform 0.5s ease;
    z-index: 0;
    user-select: none;
}

.authority-item:hover .authority-item__num {
    color: rgba(200, 169, 126, 0.09);
    transform: translateY(-4px) scale(1.05);
}


.authority-item__icon-wrap {
    position: relative;
    z-index: 1;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(200, 169, 126, 0.06);
    border: 1px solid rgba(200, 169, 126, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: clamp(18px, 3vw, 26px);
    transition: background 0.4s ease, border-color 0.4s ease,
        box-shadow 0.4s ease, transform 0.4s ease;
}

.authority-item__icon-wrap i {
    font-size: clamp(1.4rem, 2.8vw, 1.8rem);
    color: var(--color-gold-solid);
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.authority-item:hover .authority-item__icon-wrap {
    background: var(--color-gold-solid);
    border-color: var(--color-gold-solid);
    box-shadow: 0 0 30px rgba(200, 169, 126, 0.25),
        0 0 60px rgba(200, 169, 126, 0.08);
    transform: translateY(-3px);
}

.authority-item:hover .authority-item__icon-wrap i,
.authority-item:hover .authority-item__icon-wrap svg {
    color: var(--bg-deep-black);
    transform: scale(1.15) rotate(-5deg);
}

.authority-item__body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.authority-item__title {
    display: block;
    font-family: var(--font-display);
    font-size: clamp(0.82rem, 1.5vw, 0.95rem);
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.04em;
    line-height: 1.3;
    transition: color 0.3s ease;
}

.authority-item:hover .authority-item__title {
    color: var(--color-gold-solid);
}

.authority-item__desc {
    display: block;
    font-family: var(--font-body);
    font-size: clamp(0.72rem, 1.3vw, 0.8rem);
    color: var(--color-text-muted);
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.01em;
    transition: color 0.3s ease;
}

.authority-item:hover .authority-item__desc {
    color: var(--color-text-secondary);
}

.authority-item__line {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%; 
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent);
    transform: scaleX(0); 
    transform-origin: center; 
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

.authority-item:hover .authority-item__line {
    transform: scaleX(1); /* ⚡ GPU FIX */
}

.authority-divider {
    width: 1px;
    height: 60px;
    background: linear-gradient(to bottom, transparent, var(--color-gold-solid), transparent);
    margin: clamp(40px, 6vw, 70px) auto 0;
    opacity: 0.25;
}

@media (max-width: 860px) {
    .authority-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .authority-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1px;
    }

    .authority-item__inner {
        padding: 22px 14px;
    }

    .authority-item__num {
        font-size: 3.5rem;
    }
}


.whyus-ticker {
    margin-bottom: clamp(32px, 5vw, 56px);
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent 0%, black 6%, black 94%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 6%, black 94%, transparent 100%);
    border-top: 1px solid rgba(200, 169, 126, 0.1);
    border-bottom: 1px solid rgba(200, 169, 126, 0.1);
    padding: 10px 0;
    background: rgba(200, 169, 126, 0.02);
}

.whyus-ticker__track {
    display: flex;
    flex-wrap: nowrap;
    width: max-content;
    animation: tickerScroll 55s linear infinite;
    will-change: transform;
}

.whyus-ticker__track.is-paused {
    animation-play-state: paused !important;
}


.whyus-ticker:hover .whyus-ticker__track {
    animation-play-state: paused;
}


.whyus-ticker__track span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 6px 28px;
    font-family: var(--font-body);
    font-size: clamp(0.68rem, 1.4vw, 0.76rem);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--color-text-muted);
    white-space: nowrap;
    border-right: 1px solid rgba(200, 169, 126, 0.1);
    flex-shrink: 0;
    position: relative;
    cursor: pointer;
    overflow: hidden; 
    transition: color 0.3s ease, text-shadow 0.3s ease;
    z-index: 1;
}


.whyus-ticker__track span::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, rgba(200, 169, 126, 0.15) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: -1;
    pointer-events: none;
}


.whyus-ticker__track span i,
.whyus-ticker__track span svg {
    color: var(--color-gold-solid);
    font-size: 1.1em;
    opacity: 0.7;
    transition: transform 0.4s ease, opacity 0.3s ease;
    will-change: transform;
}

.whyus-ticker__track span:hover {
    color: #ffffff; 
    text-shadow: 0 0 12px rgba(200, 169, 126, 0.5); 
}

.whyus-ticker__track span:hover::before {
    opacity: 1;
}

.whyus-ticker__track span:hover svg,
.whyus-ticker__track span:hover i {
    opacity: 1;
    transform: scale(1.25);
    filter: drop-shadow(0 0 8px rgba(200, 169, 126, 0.8));
}

.whyus-ticker__track span::after {
    content: 'Hacer consulta \2192'; 
    position: absolute;
    inset: 0;
    background: var(--color-gold-solid);
    color: var(--bg-deep-black);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    letter-spacing: 0.1em;
    opacity: 0;
    transform: translateY(100%); 
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
    z-index: 2;
}

.whyus-ticker__track span.is-selected {
    color: transparent; 
}

.whyus-ticker__track span.is-selected::after {
    opacity: 1;
    transform: translateY(0);
}

.whyus-ticker__track span.is-selected::before {
    opacity: 1;
}

.whyus-ticker__track span.is-selected svg,
.whyus-ticker__track span.is-selected i {
    opacity: 0;
    transform: scale(0.5);
}

/* Animación Infinita */
@keyframes tickerScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}


.features-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(15px, 3vw, 2rem);
    counter-reset: feature-counter;
    position: relative;
}

.feature-box {

    display: flex;
    flex-direction: column;
    padding: clamp(2rem, 5vw, 3rem) clamp(1.5rem, 4vw, 2.5rem);
    border-radius: 3px;
    text-align: left;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.04);
    background: var(--bg-surface);
    transition:
        transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        box-shadow 0.5s ease,
        border-color 0.5s ease,
        background 0.5s ease;
    will-change: transform;
}


.feature-box > .problema-art__cta {
    margin-top: auto;
    align-self: flex-start;
}


.feature-box::before {
    counter-increment: feature-counter;
    content: "0" counter(feature-counter);
    position: absolute;
    top: -15px;
    right: -10px;
    font-family: var(--font-display);
    font-size: 8rem;
    color: rgba(255, 255, 255, 0.02);
    line-height: 1;
    font-weight: 700;
    z-index: 0;
    transition: color 0.6s ease, transform 0.6s ease;
    pointer-events: none;
}

.feature-box::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),
            rgba(200, 169, 126, 0.08) 0%,
            transparent 60%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    z-index: 0;
}

.feature-box .feature-scan {
    position: absolute;
    top: 0;
    left: 0; 
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(200, 169, 126, 0.06) 40%,
            rgba(200, 169, 126, 0.15) 50%,
            rgba(200, 169, 126, 0.06) 60%,
            transparent 100%);
    z-index: 0;
    pointer-events: none;
    transform: translateX(-100%); 
    transition: transform 0s;
}

.feature-box.scan-animate .feature-scan {
    transform: translateX(100%); 
    transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.feature-box .feature-border-left {
    position: absolute;
    top: 0;
    left: 0;
    width: 2px;
    height: 100%; 
    background: linear-gradient(to bottom,
            transparent,
            var(--color-gold-solid),
            transparent);
    z-index: 1;
    pointer-events: none;
    transform-origin: top; 
    transform: scaleY(0); 
    transition: transform 0s;
}

.feature-box.border-grow .feature-border-left {
    transform: scaleY(1); 
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.feature-box>* {
    position: relative;
    z-index: 1;
}

.feature-box:hover {
    transform: translateY(-6px);
    border-color: rgba(200, 169, 126, 0.25);
    background: rgba(22, 19, 13, 0.98);
    box-shadow:
        0 25px 50px rgba(0, 0, 0, 0.8),
        0 0 0 1px rgba(200, 169, 126, 0.08),
        inset 0 1px 0 rgba(200, 169, 126, 0.08);
}

.feature-box:hover::before {
    color: rgba(200, 169, 126, 0.07);
    transform: scale(1.08) translateY(-5px);
}

.feature-box:hover::after {
    opacity: 1;
}



.feature-box {
    position: relative;
    background-color: var(--bg-surface);
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 300' preserveAspectRatio='xMidYMax slice' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M400,300 L400,100 C300,150 200,280 0,300 Z' fill='%23C8A97E' opacity='0.03' /%3E%3Cpath d='M400,300 L400,180 C320,200 250,290 100,300 Z' fill='%23C8A97E' opacity='0.05' /%3E%3Cpath d='M400,300 L400,240 C350,250 280,295 180,300 Z' fill='%23C8A97E' opacity='0.08' /%3E%3Cpath d='M400,140 C300,180 200,285 0,300' fill='none' stroke='%23C8A97E' stroke-width='1' opacity='0.15' /%3E%3C/svg%3E");
    background-size: cover;
    background-position: bottom right;
    background-repeat: no-repeat;
}

#servicios-empresas .feature-box {
    background-color: var(--bg-surface) !important; 
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D%270%200%20250%20150%27%20preserveAspectRatio%3D%27xMaxYMax%20meet%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cg%20fill%3D%27%23C8A97E%27%20opacity%3D%270.04%27%3E%3Ccircle%20cx%3D%27180%27%20cy%3D%2790%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27210%27%20cy%3D%2790%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27240%27%20cy%3D%2790%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27150%27%20cy%3D%27110%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27180%27%20cy%3D%27110%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27210%27%20cy%3D%27110%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27240%27%20cy%3D%27110%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%27130%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27150%27%20cy%3D%27130%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27180%27%20cy%3D%27130%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27210%27%20cy%3D%27130%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27240%27%20cy%3D%27130%27%20r%3D%271%27%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23C8A97E%27%20stroke-linecap%3D%27round%27%3E%3Cpath%20d%3D%27M50%2C150%20C120%2C130%20180%2C80%20250%2C20%27%20stroke-width%3D%271.5%27%20opacity%3D%270.08%27%20%2F%3E%3Cpath%20d%3D%27M80%2C150%20C140%2C135%20195%2C95%20250%2C45%27%20stroke-width%3D%271%27%20opacity%3D%270.06%27%20%2F%3E%3Cpath%20d%3D%27M110%2C150%20C160%2C140%20210%2C110%20250%2C70%27%20stroke-width%3D%270.75%27%20opacity%3D%270.04%27%20%2F%3E%3Cpath%20d%3D%27M200%2C150%20C220%2C140%20235%2C125%20250%2C105%27%20stroke-width%3D%270.5%27%20opacity%3D%270.03%27%20%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") !important;
    background-position: bottom right !important;
    background-repeat: no-repeat !important;
    background-size: 60% auto !important;
}
#servicios-empresas .feature-box:hover {
    background-color: rgba(22, 19, 13, 0.98) !important; 
}

.insurer-flip-card__front {

    background-image: 
        url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D%270%200%20250%20150%27%20preserveAspectRatio%3D%27xMaxYMax%20meet%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cg%20fill%3D%27%23C8A97E%27%20opacity%3D%270.04%27%3E%3Ccircle%20cx%3D%27180%27%20cy%3D%2790%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27210%27%20cy%3D%2790%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27240%27%20cy%3D%2790%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27150%27%20cy%3D%27110%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27180%27%20cy%3D%27110%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27210%27%20cy%3D%27110%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27240%27%20cy%3D%27110%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27120%27%20cy%3D%27130%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27150%27%20cy%3D%27130%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27180%27%20cy%3D%27130%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27210%27%20cy%3D%27130%27%20r%3D%271%27%2F%3E%3Ccircle%20cx%3D%27240%27%20cy%3D%27130%27%20r%3D%271%27%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23C8A97E%27%20stroke-linecap%3D%27round%27%3E%3Cpath%20d%3D%27M50%2C150%20C120%2C130%20180%2C80%20250%2C20%27%20stroke-width%3D%271.5%27%20opacity%3D%270.08%27%20%2F%3E%3Cpath%20d%3D%27M80%2C150%20C140%2C135%20195%2C95%20250%2C45%27%20stroke-width%3D%271%27%20opacity%3D%270.06%27%20%2F%3E%3Cpath%20d%3D%27M110%2C150%20C160%2C140%20210%2C110%20250%2C70%27%20stroke-width%3D%270.75%27%20opacity%3D%270.04%27%20%2F%3E%3Cpath%20d%3D%27M200%2C150%20C220%2C140%20235%2C125%20250%2C105%27%20stroke-width%3D%270.5%27%20opacity%3D%270.03%27%20%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"),
        linear-gradient(145deg, rgba(24, 24, 24, 0.8) 0%, rgba(10, 10, 10, 0.95) 100%) !important;
    background-position: bottom right, center !important;
    background-repeat: no-repeat, no-repeat !important;
    background-size: 70% auto, cover !important;
    background-color: transparent !important;
}


.whyus-icon-animated {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(200, 169, 126, 0.06);
    border: 1px solid rgba(200, 169, 126, 0.15);
    font-size: 1.4rem !important;
    margin-bottom: 1.5rem;
    position: relative;
    transition:
        background 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.4s ease,
        transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}


.whyus-icon-animated::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 1px solid rgba(200, 169, 126, 0.1);
    opacity: 0;
    transition: opacity 0.4s ease;
    animation: iconRingPulse 2s ease-in-out infinite;
    animation-play-state: paused;
}

@keyframes iconRingPulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 0.4;
    }

    50% {
        transform: scale(1.15);
        opacity: 0;
    }
}

.feature-box:hover .whyus-icon-animated {
    background: var(--color-gold-solid);
    border-color: var(--color-gold-solid);
    box-shadow:
        0 0 0 8px rgba(200, 169, 126, 0.08),
        0 0 30px rgba(200, 169, 126, 0.35),
        0 0 60px rgba(200, 169, 126, 0.12);
    transform: rotate(-8deg) scale(1.12);
}

.feature-box:hover .whyus-icon-animated::before {
    opacity: 1;
    animation-play-state: running;
}

.feature-box:hover .whyus-icon-animated i {
    color: var(--bg-deep-black) !important;
}


.feature-box__title {
    font-size: clamp(1.1rem, 3vw, 1.3rem);
    margin-bottom: 1rem;
    color: #fff;
    line-height: 1.3;
    transition: color 0.3s ease;
    position: relative;
}

.feature-box__title::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%; 
    height: 1px;
    background: linear-gradient(90deg, var(--color-gold-solid), transparent);
    transform: scaleX(0); 
    transform-origin: left; 
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}


.feature-box:hover .feature-box__title {
    color: var(--color-gold-solid);
}

.feature-box:hover .feature-box__title::after {
    transform: scaleX(1); 
}

.feature-box__text {
    color: var(--color-text-secondary);
    font-size: clamp(0.85rem, 2.5vw, 0.95rem);
    line-height: 1.8;
    margin-bottom: 1.5rem;
    transition: color 0.4s ease;
}

.feature-box:hover .feature-box__text {
    color: #d8d5d0;
}

.feature-box__text strong {
    color: #fff;
    font-weight: 500;
    transition: color 0.3s ease,
        text-shadow 0.3s ease;
}

.feature-box:hover .feature-box__text strong {
    color: var(--color-gold-solid);
    text-shadow: 0 0 20px rgba(200, 169, 126, 0.4);
}

.feature-tags-title {
    font-family: var(--font-body);
    font-size: 0.65rem;
    font-weight: 600;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 12px;
    padding-left: 15px;
    position: relative;
    transition: color 0.3s ease;
}

.feature-tags-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 1px;
    background: var(--color-gold-solid);
    transition: width 0.4s ease;
}

.feature-box:hover .feature-tags-title {
    color: var(--color-gold-solid);
}

.feature-box:hover .feature-tags-title::before {
    width: 10px;
}

.practice-tags {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem 0;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.practice-tags li {
    font-family: var(--font-body);
    font-size: 0.68rem;
    font-weight: 500;
    color: var(--color-text-secondary);
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(200, 169, 126, 0.1);
    padding: 5px 11px;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    position: relative;
    cursor: pointer;
    overflow: hidden; 
    transition: color 0.3s ease, border-color 0.3s ease, background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    z-index: 1;
}

.practice-tags li::after {
    content: 'Consultar \2192'; 
    position: absolute;
    inset: 0;
    background: var(--color-gold-solid);
    color: var(--bg-deep-black);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    letter-spacing: 0.08em;
    font-size: 0.65rem;
    opacity: 0;
    transform: translateY(100%);
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
    z-index: 2;
}


@media (hover: hover) {

    .feature-box:hover .practice-tags li,
    .practice-card:hover .practice-tags li {
        color: #e8e4dc;
        border-color: rgba(200, 169, 126, 0.35);
        background: rgba(200, 169, 126, 0.06);
    }


    .practice-tags li:hover {
        border-color: var(--color-gold-solid) !important;
        transform: translateY(-2px);
        box-shadow: 0 4px 14px rgba(200, 169, 126, 0.3) !important;
        color: transparent !important; 
    }

    .practice-tags li:hover::after {
        opacity: 1;
        transform: translateY(0);
    }
}



.practice-tags li.is-selected {
    border-color: var(--color-gold-solid) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(200, 169, 126, 0.3) !important;
    color: transparent !important;
}

.practice-tags li.is-selected::after {
    opacity: 1;
    transform: translateY(0);
}

.practice-tags li.is-selected i,
.practice-tags li.is-selected svg,
.practice-tags li:hover i,
.practice-tags li:hover svg {
    opacity: 0;
}

.feature-box:hover .practice-tags li:nth-child(1), .practice-card:hover .practice-tags li:nth-child(1) { transition-delay: 0.00s; }
.feature-box:hover .practice-tags li:nth-child(2), .practice-card:hover .practice-tags li:nth-child(2) { transition-delay: 0.04s; }
.feature-box:hover .practice-tags li:nth-child(3), .practice-card:hover .practice-tags li:nth-child(3) { transition-delay: 0.08s; }
.feature-box:hover .practice-tags li:nth-child(4), .practice-card:hover .practice-tags li:nth-child(4) { transition-delay: 0.12s; }
.feature-box:hover .practice-tags li:nth-child(5), .practice-card:hover .practice-tags li:nth-child(5) { transition-delay: 0.16s; }
.feature-box:hover .practice-tags li:nth-child(6), .practice-card:hover .practice-tags li:nth-child(6) { transition-delay: 0.20s; }

.feature-box:hover .practice-tags li {
    color: #e8e4dc;
    border-color: rgba(200, 169, 126, 0.35);
    background: rgba(200, 169, 126, 0.06);
}


.practice-tags li.practice-tags__featured {
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.18) 0%, rgba(200, 169, 126, 0.08) 100%);
    border: 1px solid rgba(200, 169, 126, 0.55);
    padding: 0;
    overflow: visible;
    cursor: pointer;
}

.practice-tags li.practice-tags__featured::after {
    display: none;
}

.practice-tags li.practice-tags__featured a {
    display: block;
    padding: 6px 12px;
    color: var(--color-gold-solid);
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 0.05em;
    transition: color 0.3s ease;
}

.practice-tags li.practice-tags__featured:hover {
    background: var(--color-gold-solid);
    border-color: var(--color-gold-solid);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(200, 169, 126, 0.3);
}

.practice-tags li.practice-tags__featured:hover a {
    color: var(--bg-deep-black);
}

.practice-tags li:hover {
    background: var(--color-gold-solid) !important;
    color: var(--bg-deep-black) !important;
    border-color: var(--color-gold-solid) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(200, 169, 126, 0.3) !important;
}

.feature-box:hover .practice-tags li:nth-child(1) {
    transition-delay: 0.00s;
}

.feature-box:hover .practice-tags li:nth-child(2) {
    transition-delay: 0.04s;
}

.feature-box:hover .practice-tags li:nth-child(3) {
    transition-delay: 0.08s;
}

.feature-box:hover .practice-tags li:nth-child(4) {
    transition-delay: 0.12s;
}

.feature-box:hover .practice-tags li:nth-child(5) {
    transition-delay: 0.16s;
}

.feature-box:hover .practice-tags li:nth-child(6) {
    transition-delay: 0.20s;
}

.feature-microcopy {
    display: block;
    font-size: 0.8rem;
    color: rgba(200, 169, 126, 0.5);
    font-style: italic;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
    padding-top: 1rem;
    transition: color 0.4s ease, border-color 0.4s ease;
}

.feature-box:hover .feature-microcopy {
    color: var(--color-gold-solid);
    border-top-color: rgba(200, 169, 126, 0.15);
}

.feature-box--featured {
    border-color: rgba(200, 169, 126, 0.2) !important;
    border-top: 2px solid var(--color-gold-solid) !important;
    background: linear-gradient(160deg,
            rgba(22, 18, 10, 0.98) 0%,
            rgba(10, 8, 4, 1) 100%) !important;
}

.feature-box--featured::after {
    content: 'Sin costo inicial';
    position: absolute;
    font-family: var(--font-body);
    font-size: 0.58rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--bg-deep-black);
    background: var(--color-gold-solid);
    padding: 6px 14px;
    border-radius: 0 0 0 8px;
    z-index: 3;
    box-shadow: 0 4px 12px rgba(200, 169, 126, 0.18);
   
    background: var(--color-gold-solid) !important;
    inset: 0 0 auto auto;
    opacity: 1 !important;
    transition: none;
    pointer-events: none;
}

.feature-box--featured {
    padding-top: clamp(2.8rem, 6vw, 4rem) !important;
}

.feature-box--featured:hover {
    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.85),
        0 0 80px rgba(200, 169, 126, 0.08),
        inset 0 1px 0 rgba(200, 169, 126, 0.12) !important;
}

.feature-box.reveal-up {
    opacity: 0;
    transform: translateY(40px);
    transition:
        opacity 0.7s ease,
        transform 0.7s cubic-bezier(0.215, 0.61, 0.355, 1),
        box-shadow 0.5s ease,
        border-color 0.5s ease,
        background 0.5s ease;
}

.feature-box.reveal-up.active {
    opacity: 1;
    transform: translateY(0);
}

.whyus-particle {
    position: absolute;
    width: var(--size, 3px);
    height: var(--size, 3px);
    border-radius: 50%;
    background: var(--color-gold-solid);
    box-shadow: 0 0 6px rgba(200, 169, 126, 0.8);
    pointer-events: none;
    z-index: 10;
    animation: particleFly 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
    animation-delay: var(--delay, 0s);
    opacity: 0;
}

@keyframes particleFly {
    0% {
        transform: translate(0, 0) scale(1);
        opacity: 1;
    }

    60% {
        opacity: 0.8;
    }

    100% {
        transform: translate(var(--dx), var(--dy)) scale(0);
        opacity: 0;
    }
}


.consulta-section {
    position: relative;
}

.consulta-card {
    max-width: 780px;
    margin: 0 auto;
    background: var(--bg-surface);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 4px;
    padding: clamp(30px, 5vw, 55px) clamp(24px, 5vw, 55px);
    display: flex;
    flex-direction: column;
    gap: clamp(28px, 4vw, 38px);
}

.consulta-label {
    display: block;
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-text-primary);
    letter-spacing: 0.03em;
    margin-bottom: 14px;
}

.consulta-field-group {
    display: flex;
    flex-direction: column;
}

.consulta-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(16px, 3vw, 28px);
}

.consulta-input {
    width: 100%;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 3px;
    padding: 14px 18px;
    color: var(--color-text-primary);
    font-family: var(--font-body);
    font-size: 0.95rem;
    font-weight: 300;
    transition: border-color 0.3s ease, background 0.3s ease;
    appearance: none;
    -moz-appearance: textfield;
}

.consulta-input::-webkit-inner-spin-button,
.consulta-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

.consulta-input::placeholder {
    color: var(--color-text-muted);
}

.consulta-input:focus {
    outline: none;
    border-color: rgba(200, 169, 126, 0.5);
    background: rgba(200, 169, 126, 0.04);
}

.consulta-siniestro-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.consulta-siniestro-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 3px;
    color: var(--color-text-secondary);
    font-family: var(--font-body);
    font-size: clamp(0.78rem, 2vw, 0.88rem);
    font-weight: 500;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    line-height: 1.3;
}

.consulta-siniestro-btn i {
    color: var(--color-text-muted);
    font-size: 1rem;
    flex-shrink: 0;
    transition: color 0.3s ease;
}

.consulta-siniestro-btn:hover {
    border-color: rgba(200, 169, 126, 0.3);
    color: #fff;
    background: rgba(200, 169, 126, 0.05);
}

.consulta-siniestro-btn:hover i {
    color: var(--color-gold-solid);
}

.consulta-siniestro-btn.active {
    border-color: rgba(200, 169, 126, 0.5);
    background: rgba(200, 169, 126, 0.08);
    color: #fff;
}

.consulta-siniestro-btn.active i {
    color: var(--color-gold-solid);
}

.consulta-lesiones-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.consulta-check-label {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 3px;
    color: var(--color-text-secondary);
    font-family: var(--font-body);
    font-size: clamp(0.8rem, 2vw, 0.9rem);
    font-weight: 400;
    cursor: pointer;
    transition: all 0.3s ease;
    user-select: none;
}

.consulta-check-label:hover {
    border-color: rgba(200, 169, 126, 0.3);
    color: #fff;
}

.consulta-check-input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.consulta-check-box {
    width: 18px;
    height: 18px;
    min-width: 18px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 2px;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    position: relative;
}

.consulta-check-box::after {
    content: '';
    width: 5px;
    height: 9px;
    border-right: 2px solid var(--bg-deep-black);
    border-bottom: 2px solid var(--bg-deep-black);
    transform: rotate(45deg) translateY(-1px);
    opacity: 0;
    transition: opacity 0.2s ease;
}

.consulta-check-input:checked~.consulta-check-box {
    background: var(--color-gold-solid);
    border-color: var(--color-gold-solid);
}

.consulta-check-input:checked~.consulta-check-box::after {
    opacity: 1;
}

.consulta-check-input:checked~* {
    color: #fff;
}

.consulta-check-label:has(.consulta-check-input:checked) {
    border-color: rgba(200, 169, 126, 0.4);
    background: rgba(200, 169, 126, 0.06);
    color: #fff;
}

.consulta-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 18px 24px;
    background: #25D366;
    border: none;
    border-radius: 3px;
    color: #fff;
    font-family: var(--font-body);
    font-size: clamp(0.9rem, 3vw, 1rem);
    font-weight: 700;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    text-transform: uppercase;
    margin-top: 6px;
}

.consulta-submit i {
    font-size: 1.3rem;
}

.consulta-submit:hover {
    background: #1ebe5d;
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(37, 211, 102, 0.25);
}

.consulta-submit:active {
    transform: translateY(-1px);
}

@media (max-width: 600px) {
    .consulta-row {
        grid-template-columns: 1fr;
    }

    .consulta-siniestro-grid {
        grid-template-columns: 1fr;
    }

    .consulta-lesiones-grid {
        grid-template-columns: 1fr;
    }
}





.process-timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(12px, 2vw, 20px);
    margin-top: clamp(40px, 8vw, 70px);
    position: relative;
}

.process-step {
    position: relative;
    z-index: 1;
}

.process-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    background: linear-gradient(160deg,
            rgba(24, 24, 24, 0.7) 0%,
            rgba(10, 10, 10, 0.9) 100%);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-top: 1px solid rgba(200, 169, 126, 0.15);
    border-radius: 3px;
    padding: clamp(22px, 3vw, 36px) clamp(18px, 2.5vw, 28px);
    height: 100%;
    overflow: hidden;
    transition: border-color 0.5s ease, box-shadow 0.5s ease,
        background 0.5s ease, transform 0.5s ease;
}

.process-card__glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 30% 0%,
            rgba(200, 169, 126, 0.1) 0%,
            transparent 60%);
    opacity: 0;
    transition: opacity 0.7s ease;
    pointer-events: none;
}

.process-card__line {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 100%; 
    background: linear-gradient(90deg,
            var(--color-gold-solid),
            rgba(200, 169, 126, 0.3));
    transform: scaleX(0); 
    transform-origin: left; 
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform; 
}

.process-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: clamp(16px, 2.5vw, 24px);
    position: relative;
    z-index: 1;
}

.process-number {
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    font-weight: 700;
    color: rgba(200, 169, 126, 0.15);
    line-height: 1;
    letter-spacing: -0.02em;
    transition: color 0.6s ease, text-shadow 0.6s ease;
}

.process-icon-wrap {
    width: clamp(38px, 4vw, 48px);
    height: clamp(38px, 4vw, 48px);
    border-radius: 50%;
    background: rgba(200, 169, 126, 0.06);
    border: 1px solid rgba(200, 169, 126, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.5s ease, border-color 0.5s ease,
        box-shadow 0.5s ease;
}

.process-icon-wrap i {
    font-size: clamp(0.9rem, 1.5vw, 1.1rem);
    color: rgba(200, 169, 126, 0.5);
    transition: color 0.5s ease;
}

.process-card__body {
    flex: 1;
    position: relative;
    z-index: 1;
}

.process-title {
    font-family: var(--font-display);
    font-size: clamp(0.95rem, 1.8vw, 1.1rem);
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 10px;
    line-height: 1.35;
    letter-spacing: 0.02em;
    transition: color 0.6s ease;
}

.process-desc {
    color: var(--color-text-muted);
    font-size: clamp(0.78rem, 1.4vw, 0.87rem);
    line-height: 1.75;
    font-weight: 300;
    transition: color 0.5s ease;
}

.process-card__footer {
    margin-top: clamp(16px, 2.5vw, 22px);
    padding-top: clamp(12px, 2vw, 16px);
    border-top: 1px solid rgba(255, 255, 255, 0.04);
    position: relative;
    z-index: 1;
    transition: border-color 0.5s ease;
}

.process-tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-body);
    font-size: clamp(0.65rem, 1.2vw, 0.72rem);
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
    transition: color 0.5s ease;
}

.process-tag i {
    font-size: 0.6rem;
    color: rgba(200, 169, 126, 0.3);
    transition: color 0.5s ease;
}

.process-step.step-active .process-card {
    border-color: rgba(200, 169, 126, 0.25);
    border-top-color: rgba(200, 169, 126, 0.6);
    background: linear-gradient(160deg,
            rgba(30, 28, 22, 0.95) 0%,
            rgba(12, 10, 6, 0.98) 100%);
    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.7),
        0 0 0 1px rgba(200, 169, 126, 0.08),
        inset 0 1px 0 rgba(200, 169, 126, 0.1);
    transform: translateY(-4px);
}

.process-step.step-active .process-card__glow {
    opacity: 1;
}

.process-step.step-active .process-card__line {
    transform: scaleX(1); /* ⚡ GPU FIX */
}

.process-step.step-active .process-number {
    color: var(--color-gold-solid);
    text-shadow: 0 0 40px rgba(200, 169, 126, 0.5);
}

.process-step.step-active .process-icon-wrap {
    background: var(--color-gold-solid);
    border-color: var(--color-gold-solid);
    box-shadow: 0 0 25px rgba(200, 169, 126, 0.35);
}

.process-step.step-active .process-icon-wrap i {
    color: var(--bg-deep-black);
}

.process-step.step-active .process-title {
    color: #ffffff;
}

.process-step.step-active .process-desc {
    color: var(--color-text-secondary);
}

.process-step.step-active .process-card__footer {
    border-top-color: rgba(200, 169, 126, 0.12);
}

.process-step.step-active .process-tag {
    color: var(--color-gold-solid);
}

.process-step.step-active .process-tag i {
    color: var(--color-gold-solid);
}


@media (min-width: 993px) {


    #proceso {
        height: 150vh !important;
        padding: 0 !important;
        padding-top: 2rem !important;
        position: relative;
    }

    #proceso .container {
        position: sticky !important;
        top: 25vh !important;
        height: auto !important;
        display: block !important;
        padding-bottom: 20px !important;
    }

    #proceso .section-header {
        margin-bottom: 50px;
    }

    .process-timeline::before {
        content: '';
        position: absolute;
        top: clamp(38px, 4vw, 48px);
        left: calc(clamp(18px, 2.5vw, 28px) + clamp(38px, 4vw, 48px) + 8px);
        width: calc(100% - (clamp(18px, 2.5vw, 28px) + clamp(38px, 4vw, 48px) + 8px) * 2);
        height: 1px;
        background: rgba(255, 255, 255, 0.04);
        z-index: 0;
    }

    .process-timeline::after {
        content: '';
        position: absolute;
        top: calc(clamp(38px, 4vw, 48px) - 1px);
        left: calc(clamp(18px, 2.5vw, 28px) + clamp(38px, 4vw, 48px) + 8px);
        height: 3px;
        width: calc(var(--scroll-progress, 0%) * 0.95);
        max-width: calc(100% - (clamp(18px, 2.5vw, 28px) + clamp(38px, 4vw, 48px) + 8px) * 2);
        background: linear-gradient(to right,
                var(--color-gold-solid),
                rgba(200, 169, 126, 0.6));
        filter: drop-shadow(0 0 6px rgba(200, 169, 126, 0.8));
        transition: width 0.1s ease-out;
        z-index: 2;
        border-radius: 2px;
    }

    .process-title,
    .process-desc,
    .process-card__footer {
        opacity: 0;
        transform: translateY(12px);
        transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    .process-step.step-active .process-title {
        opacity: 1;
        transform: translateY(0);
    }

    .process-step.step-active .process-desc {
        opacity: 1;
        transform: translateY(0);
        transition-delay: 0.08s;
    }

    .process-step.step-active .process-card__footer {
        opacity: 1;
        transform: translateY(0);
        transition-delay: 0.15s;
    }
}


@media (max-width: 992px) {
    #proceso {
        height: auto !important;
        min-height: auto !important;
        padding: 80px 0 !important;
    }

    #proceso .container {
        position: relative !important;
        top: auto !important;
        height: auto !important;
        display: block !important;
    }

    .process-timeline {
        grid-template-columns: 1fr;
        gap: 0;
        padding-left: 32px;
        position: relative;
    }

    .process-timeline::before {
        content: '';
        position: absolute;
        top: 0;
        left: 8px;
        bottom: 0;
        width: 1px;
        background: rgba(255, 255, 255, 0.05);
        z-index: 0;
    }

    .process-timeline::after {
        content: '';
        position: absolute;
        top: 0;
        left: 8px;
        width: 1px;
        background: var(--color-gold-solid);
        box-shadow: 0 0 12px rgba(200, 169, 126, 0.8);
        height: var(--scroll-progress, 0%);
        transition: height 0.1s linear;
        z-index: 1;
    }

    .process-step::before {
        content: '';
        position: absolute;
        left: -28px;
        top: clamp(22px, 3vw, 36px);
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: var(--bg-deep-black);
        border: 1px solid rgba(255, 255, 255, 0.15);
        z-index: 2;
        transition: all 0.4s ease;
    }

    .process-step.step-active::before {
        background: var(--color-gold-solid);
        border-color: var(--color-gold-solid);
        box-shadow: 0 0 14px rgba(200, 169, 126, 0.9);
        transform: scale(1.4);
    }

    .process-card {
        margin-bottom: 16px;
        transform: none !important;
   
    }

    .process-card__top {
        margin-bottom: 14px;
    }
}


.stats-section {
    padding: clamp(60px, 8vw, 100px) 0;
    border-top: 1px solid rgba(255, 255, 255, 0.02);
    border-bottom: 1px solid rgba(255, 255, 255, 0.02);
    position: relative;
    overflow: hidden;
}


.stats-section::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    height: 100%;
    background: radial-gradient(ellipse at center, rgba(200, 169, 126, 0.05) 0%, transparent 60%);
    pointer-events: none;
    z-index: 0;
}


.stats-container-inner {
    background: linear-gradient(145deg, rgba(25, 25, 25, 0.6) 0%, rgba(10, 10, 10, 0.9) 100%);
    border: 1px solid rgba(255, 255, 255, 0.03);
    border-top: 1px solid rgba(200, 169, 126, 0.2);
    border-bottom: 1px solid rgba(200, 169, 126, 0.05);
    border-radius: 4px;
    padding: clamp(40px, 6vw, 60px) clamp(20px, 4vw, 40px);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    position: relative;
    z-index: 2;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    text-align: center;
}

.stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 10px;
    transition: transform 0.4s ease;
}


@media (min-width: 993px) {
    .stat-item:not(:last-child)::after {
        content: '';
        position: absolute;
        right: -10px;
        top: 15%;
        height: 70%;
        width: 1px;
        background: linear-gradient(to bottom, transparent, rgba(200, 169, 126, 0.3), transparent);
    }
}

.stat-group {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 2px;
    margin-bottom: 15px;
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.stat-number,
.stat-symbol {
    font-family: var(--font-display);
    font-size: clamp(2.8rem, 6vw, 4.2rem);
    font-weight: 500;
    background: var(--color-accent-gold);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1;
    filter: drop-shadow(0 4px 15px rgba(200, 169, 126, 0.15));
    transition: filter 0.5s ease;
}


.stat-icon-special {
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    background: var(--color-accent-gold);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 4px 15px rgba(200, 169, 126, 0.15));
    transition: filter 0.5s ease;
    margin-bottom: 5px;
}

.stat-label {
    font-size: clamp(0.7rem, 1.5vw, 0.85rem);
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-weight: 600;
    line-height: 1.5;
    transition: color 0.4s ease;
}


.stat-item:hover {
    transform: translateY(-5px);
}

.stat-item:hover .stat-group {
    transform: scale(1.08);
}

.stat-item:hover .stat-number,
.stat-item:hover .stat-symbol,
.stat-item:hover .stat-icon-special {
    filter: drop-shadow(0 0 25px rgba(200, 169, 126, 0.7));
}

.stat-item:hover .stat-label {
    color: #ffffff;
}


@media (max-width: 992px) {
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 20px;
    }


    .stat-item:nth-child(odd)::after {
        content: '';
        position: absolute;
        right: -10px;
        top: 15%;
        height: 70%;
        width: 1px;
        background: linear-gradient(to bottom, transparent, rgba(200, 169, 126, 0.3), transparent);
    }
}

@media (max-width: 576px) {
    .stats-container-inner {
        padding: 40px 20px;
    }

    .stats-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }


    .stat-item::after {
        display: none !important;
    }

    .stat-item:not(:last-child)::before {
        content: '';
        position: absolute;
        bottom: -20px;
        left: 20%;
        width: 60%;
        height: 1px;
        background: linear-gradient(to right, transparent, rgba(200, 169, 126, 0.3), transparent);
    }
}



.practice-areas {
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, 0.02);
}

.practice-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: var(--border-subtle);
    border: 1px solid var(--border-subtle);
    margin-top: clamp(30px, 6vw, 4rem);
}

.practice-card {
    background: var(--bg-charcoal);
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 480px;
    padding: clamp(2rem, 5vw, 4rem);
    overflow: hidden;
    transition: background-color 0.6s ease;
    z-index: 1;
}

.practice-card__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.65;
    filter: grayscale(50%) brightness(0.6) contrast(1.2);
    transform: scale(1);
    transition: opacity 0.8s ease, transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: -2;
}

.practice-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(17, 17, 17, 0) 0%, rgba(17, 17, 17, 0) 40%, var(--bg-charcoal) 75%, var(--bg-deep-black) 100%);
    opacity: 1;
    transition: opacity 0.8s ease;
    z-index: -1;
}

.practice-card:hover {
    background-color: var(--bg-deep-black);
}

.practice-card:hover .practice-card__bg {
    opacity: 0.25;
    transform: scale(1.05);
}

.practice-card:hover .practice-card__overlay {
    opacity: 1;
}

.practice-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 0%;
    background: var(--color-gold-solid);
    transition: height 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 5;
}

.practice-card:hover::before {
    height: 100%;
}

.practice-card__content {
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    z-index: 2;
}

.practice-card__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: clamp(1.5rem, 4vw, 3rem);
    color: var(--color-gold-solid);
}

.practice-num {
    font-family: var(--font-display);
    font-size: clamp(1.2rem, 4vw, 1.5rem);
    font-weight: 400;
    letter-spacing: 0.1em;
}

.practice-icon {
    font-size: clamp(1.5rem, 4vw, 1.8rem);
    opacity: 0.7;
    transition: transform 0.5s ease;
}

.practice-card:hover .practice-icon {
    transform: scale(1.1);
    opacity: 1;
}

.practice-card__body {
    flex-grow: 1;
}

.practice-card__title {
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 4vw, 2rem);
    color: #ffffff;
    line-height: 1.3;
    margin-bottom: 1.5rem;
    max-width: 95%;
    transition: color 0.4s ease;
}

.practice-card__desc {
    font-family: var(--font-body);
    font-size: clamp(0.9rem, 2.5vw, 1.05rem);
    color: var(--color-text-secondary);
    line-height: 1.8;
    font-weight: 300;
    margin-bottom: 2rem;
    transition: color 0.4s ease;
}

.practice-card:hover .practice-card__title {
    color: var(--color-gold-solid);
}

.practice-card:hover .practice-card__desc {
    color: #e0e0e0;
}

.practice-card__btn {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    color: #ffffff;
    font-family: var(--font-body);
    font-size: clamp(0.75rem, 2vw, 0.85rem);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    text-decoration: none;
    align-self: flex-start;
    padding-bottom: 8px;
    position: relative;
    transition: all 0.4s ease;
    min-height: 44px;
}

.practice-card__btn::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%; 
    height: 1px;
    background: var(--color-gold-solid);
    transform: scaleX(0); 
    transform-origin: left; 
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}

.practice-card__btn i {
    color: var(--color-gold-solid);
    font-size: 1.2rem;
    transition: transform 0.4s ease;
}

.practice-card:hover .practice-card__btn {
    color: var(--color-gold-solid);
}

.practice-card:hover .practice-card__btn::after {
    transform: scaleX(1); 
}

.practice-card:hover .practice-card__btn i {
    transform: translateX(8px);
}

.practice-card__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: auto;
    width: 100%;
}
.practice-card__actions .practice-card__btn {
    align-self: auto;
    margin: 0;
}

.practice-card__btn--consult {
    color: var(--color-gold-solid);
}
.practice-card__btn--consult::after {
    transform-origin: right;
    background: #ffffff;
}
.practice-card__btn--consult .btn-icon svg {
    color: var(--color-gold-solid);
    transition: transform 0.4s ease, color 0.3s ease;
}
.practice-card:hover .practice-card__btn--consult {
    color: #ffffff;
}
.practice-card:hover .practice-card__btn--consult::after {
    transform: scaleX(1);
}
.practice-card:hover .practice-card__btn--consult .btn-icon svg {
    transform: translateX(0) scale(1.08);
    color: #25D366;
}

@media (max-width: 480px) {
    .practice-card__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
    .practice-card__actions .practice-card__btn,
    .practice-card__actions .practice-card__btn--consult {
        align-self: flex-start;
    }
}

.practice-tags {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.practice-tags li {
    font-family: var(--font-body);
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--color-text-secondary);
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(200, 169, 126, 0.15);
    padding: 6px 12px;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all 0.4s ease;
}

.practice-card:hover .practice-tags li {
    color: #fff;
    border-color: rgba(200, 169, 126, 0.6);
    background: rgba(200, 169, 126, 0.08);
}

.practice-tags li:hover {
    background: var(--color-gold-solid) !important;
    color: var(--bg-deep-black) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(200, 169, 126, 0.2);
}

.feature-tags-title {
    font-family: var(--font-body);
    font-size: 0.65rem;
    font-weight: 600;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 12px;
    padding-left: 15px;

}



.feature-tags-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 1px;
    background: var(--color-gold-solid);
}


.success-cases .swiper {
    width: 100%;
    padding: 1rem 0 3.5rem 0;
    margin-top: clamp(20px, 4vw, 2rem);
    z-index: 1;
}

.success-cases .swiper-slide {
    height: auto;
    display: flex;
}

.success-case-card {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.success-card__inner {
    padding: clamp(2rem, 5vw, 3rem) clamp(1.5rem, 4vw, 2.5rem);
    background: var(--bg-surface);
    border-radius: 0;
    border: 1px solid rgba(255, 255, 255, 0.02);
    border-top: 2px solid var(--color-gold-solid);
    display: flex;
    flex-direction: column;
    flex-grow: 1;

    height: 100%;
    position: relative;
    overflow: hidden;
}

.badge-real-case {
    background: rgba(200, 169, 126, 0.08);
    color: var(--color-gold-solid);
    padding: 6px 14px;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    display: inline-block;
    border: 1px solid var(--border-subtle);
}

.success-card__title {
    font-family: var(--font-body);
    font-size: clamp(1.1rem, 3vw, 1.25rem);
    margin: 1.5rem 0;
    color: #fff;
    line-height: 1.5;
    font-weight: 500;
}

.case-details p {
    color: var(--color-text-secondary);
    font-size: clamp(0.85rem, 2.5vw, 0.95rem);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    padding-bottom: 12px;
    margin-bottom: 12px;
    font-weight: 300;
}

.case-details p strong {
    color: #fff;
    font-weight: 500;
}

.case-details p:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.success-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--color-gold-solid);
    font-family: var(--font-body);
    font-size: clamp(0.75rem, 2vw, 0.85rem);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-decoration: none;
    margin-top: auto;

    padding-top: 1.5rem;
    transition: color 0.4s ease;
    position: relative;
    z-index: 2;
}

.success-card__cta i {
    font-size: 1rem;
    transition: transform 0.4s ease, color 0.4s ease;
}


.success-card__cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
    transition: width 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.4s ease;
}


.success-case-card:hover .success-card__cta {
    color: #ffffff;
}

.success-case-card:hover .success-card__cta i {
    transform: translateX(8px);
    color: var(--color-gold-solid);
}

.success-case-card:hover .success-card__cta::before {
    width: 100%;
    background: rgba(200, 169, 126, 0.4);
}



#servicios-empresas .features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 2.5vw, 28px);
}

#servicios-empresas .feature-box {
    border: 1px solid rgba(200, 169, 126, 0.12);
    border-radius: 3px;
    background: var(--bg-surface);
}

#servicios-empresas .feature-box:hover {
    border-color: rgba(200, 169, 126, 0.35);
}

@media (max-width: 640px) {
    #servicios-empresas .features-grid {
        grid-template-columns: 1fr;
    }
}



#aseguradoras {
    padding-bottom: clamp(6rem, 10vw, 8rem) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.02);
    position: relative;
}

#aseguradoras::before {
    content: '';
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translateX(-50%);
    width: 80vw;
    height: 80%;
    background: radial-gradient(ellipse at center, rgba(200, 169, 126, 0.04) 0%, transparent 60%);
    pointer-events: none;
    z-index: 0;
}



.insurers-flex-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(15px, 2vw, 20px);
    margin-top: clamp(40px, 6vw, 60px);
    max-width: 1250px;
    margin-inline: auto;
    position: relative;
    z-index: 1;
}


.insurer-plaque {

    width: calc(20% - 16px);
    min-width: 200px;
    max-width: 240px;

    background: linear-gradient(145deg, rgba(24, 24, 24, 0.6) 0%, rgba(10, 10, 10, 0.8) 100%);
    border: 1px solid rgba(200, 169, 126, 0.15);
    border-radius: 4px;
    padding: clamp(1.5rem, 3vw, 2.5rem) 1rem;

    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    overflow: hidden;
    

    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                background 0.4s ease, 
                border-color 0.4s ease, 
                box-shadow 0.4s ease;
}


.insurer-plaque::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent);
    opacity: 0.2;
    transition: opacity 0.5s ease;
}

.insurer-plaque:hover {
    transform: translateY(-6px);
    background: linear-gradient(145deg, rgba(30, 30, 30, 0.95) 0%, rgba(15, 15, 15, 1) 100%);
    border-color: rgba(200, 169, 126, 0.4);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.7), inset 0 0 20px rgba(200, 169, 126, 0.05);
}

.insurer-plaque:hover::before {
    opacity: 1;
}


.insurer-plaque__icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(200, 169, 126, 0.05);
    border: 1px solid rgba(200, 169, 126, 0.15);
    color: var(--color-gold-solid);
    font-size: 1.2rem;
    margin-bottom: 18px;
    transition: all 0.5s ease;
}

.insurer-plaque:hover .insurer-plaque__icon {
    background: var(--color-gold-solid);
    color: var(--bg-deep-black);
    transform: scale(1.1);
    box-shadow: 0 0 20px rgba(200, 169, 126, 0.3);
    border-color: var(--color-gold-solid);
}

.insurer-plaque__name {
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(0.9rem, 1.5vw, 1.05rem);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.05em;
    margin-bottom: 15px;
    transition: color 0.3s ease;
}

.insurer-plaque:hover .insurer-plaque__name {
    color: var(--color-gold-solid);
}


.insurer-plaque__divider {
    width: 30px;
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
    margin: 0 auto 15px;
    transition: width 0.4s ease, background 0.4s ease;
}

.insurer-plaque:hover .insurer-plaque__divider {
    width: 60px;
    background: rgba(200, 169, 126, 0.5);
}

.insurer-plaque__status {
    color: var(--color-text-secondary);
    font-family: var(--font-body);
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: color 0.3s ease;
}

.insurer-plaque__status i {
    color: var(--color-gold-solid);
    font-size: 0.75rem;
}

.insurer-plaque:hover .insurer-plaque__status {
    color: #fff;
}

.insurer-plaque__cta {
    display: inline-block;
    margin-top: 12px;
    padding: 6px 18px;
    font-family: var(--font-body);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
    border: 1px solid rgba(200, 169, 126, 0.4);
    border-radius: 2px;
    text-decoration: none;
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.insurer-plaque__cta:hover,
.insurer-plaque:hover .insurer-plaque__cta {
    background: var(--color-gold-solid);
    color: #050505;
    border-color: var(--color-gold-solid);
}


@media(max-width: 1200px) {
    .insurer-plaque {
        width: calc(25% - 15px);
    }


    
}

@media(max-width: 900px) {
    .insurer-plaque {
        width: calc(33.333% - 14px);
    }

  
    
}

@media(max-width: 650px) {
    .insurer-plaque {
        width: calc(50% - 8px);
        min-width: 0;

        padding: 1.2rem 0.75rem;
    }

    .insurer-plaque__name {
        font-size: 0.85rem;
    }

    .insurer-plaque__status {
        font-size: 0.6rem;
        letter-spacing: 0.1em;
    }

    .insurer-plaque__icon {
        width: 38px;
        height: 38px;
        font-size: 0.95rem;
        margin-bottom: 10px;
    }
}

@media(max-width: 400px) {
    .insurer-plaque {
        width: calc(50% - 6px);
        padding: 1rem 0.5rem;
    }

    .insurer-plaque__name {
        font-size: 0.75rem;
        letter-spacing: 0.02em;
    }

    .insurer-plaque__status {
        font-size: 0.55rem;
        letter-spacing: 0.08em;
    }

    .insurer-plaque__icon {
        width: 32px;
        height: 32px;
        font-size: 0.85rem;
        margin-bottom: 8px;
    }

    .insurer-plaque__divider {
        margin-bottom: 10px;
    }

    .insurers-flex-grid {
        gap: 8px;
    }
}




#testimonios .swiper {
    width: 100%;
    margin: 0 auto;
    padding: 1rem 0 3rem;
    padding-left: 1rem;
    padding-right: 1rem;
    z-index: 1;
}


.swiper-pagination-bullet {
    background: rgba(200, 169, 126, 0.35) !important;
    opacity: 1 !important;
    width: 8px !important;
    height: 8px !important;
    margin: 0 5px !important;
    border-radius: 4px !important;
    transition: width 0.4s cubic-bezier(0.32, 0.72, 0, 1), background 0.3s ease, transform 0.3s ease !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    background-clip: border-box !important;
}

.swiper-pagination-bullet:hover {
    background: rgba(200, 169, 126, 0.6) !important;
    transform: scale(1.15);
}


.swiper-pagination-bullet-active {
    background: var(--color-gold-solid) !important;
    width: 28px !important;
    height: 8px !important;
    transform: scale(1) !important;
    box-shadow: 0 2px 8px rgba(200, 169, 126, 0.4);
}


.testimonialSwiper .swiper-pagination {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    margin: 2rem 0 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    pointer-events: auto;
}


.testimonialSwiper {
    padding: 0 56px;
    position: relative;
}

@media (max-width: 768px) {
    .testimonialSwiper {
        padding: 0 44px; 
        
    }
}


.testimonialSwiper .testimonios-arrow {
    position: absolute !important;

    top: calc(50% - 1.6rem) !important;
    transform: translateY(-50%) !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    background: linear-gradient(135deg, rgba(20, 18, 12, 0.85) 0%, rgba(8, 6, 3, 0.98) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.5) !important;
    border-radius: 50%;
    color: var(--color-gold-solid) !important;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease !important;
    box-shadow:
        0 6px 16px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(200, 169, 126, 0.2);
}

.testimonialSwiper .swiper-button-prev.testimonios-arrow {
    left: 4px !important;
    right: auto !important;
}

.testimonialSwiper .swiper-button-next.testimonios-arrow {
    right: 4px !important;
    left: auto !important;
}

.testimonios-arrow svg {
    width: 18px!important;
    height: 18px!important;
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.testimonialSwiper .testimonios-arrow:hover {
    background: var(--color-gold-solid) !important;
    border-color: var(--color-gold-solid) !important;
    color: #050505 !important;
    transform: translateY(-50%) scale(1.01) !important;
    box-shadow:
        0 10px 24px rgba(200, 169, 126, 0.45),
        0 0 0 1px rgba(200, 169, 126, 0.3) !important;
}

.testimonios-arrow.swiper-button-prev:hover svg {
    transform: translateX(-1px);
}

.testimonios-arrow.swiper-button-next:hover svg {
    transform: translateX(2px);
}


.testimonios-arrow.swiper-button-prev::after,
.testimonios-arrow.swiper-button-next::after {
    content: none !important;
}

.testimonios-arrow.swiper-button-disabled {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
}


@media (max-width: 480px) {
    .testimonialSwiper .testimonios-arrow {
        width: 38px !important;
        height: 38px !important;
    }
    .testimonialSwiper .swiper-button-prev.testimonios-arrow {
        left: 0 !important;
    }
    .testimonialSwiper .swiper-button-next.testimonios-arrow {
        right: 0 !important;
    }
    .testimonialSwiper {
        padding: 0 36px;
    }
}


#testimonios .swiper-slide {
    height: auto;
    display: flex;
}

.testimonial-card {
    background: var(--bg-deep-black);
    border: 1px solid rgba(255, 255, 255, 0.03);
    border-radius: 0;
    padding: clamp(2rem, 6vw, 3rem) clamp(1.5rem, 5vw, 2.5rem);
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.testimonial-card::after {
    content: ""; 
    position: absolute;
    top: 20px;
    right: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23C8A97E'%3E%3Cpath d='M464 256h-80v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8c-88.4 0-160 71.6-160 160v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zm-288 0H96v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8C71.6 32 0 103.6 0 192v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    opacity: 0.15;
    pointer-events: none;
}

.review-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.review-info h3 {
    font-family: var(--font-body);
    font-weight: 600;
    color: #fff;
    font-size: clamp(1rem, 3vw, 1.1rem);
    margin-bottom: 0.2rem;
}

.review-location {
    display: block;
    font-size: clamp(0.7rem, 2vw, 0.8rem);
    color: var(--color-gold-solid);
    margin-top: 5px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.review-text {
    color: var(--color-text-secondary);
    font-size: clamp(0.9rem, 3vw, 1.05rem);
    line-height: 1.8;
    margin-bottom: 1.5rem;
    font-weight: 300;
    font-style: italic;
    flex-grow: 1;
}

.google-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.7rem;
    color: #666;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px;
    margin-top: auto;
}


a.google-badge {
    text-decoration: none;
    cursor: pointer;
    padding: 6px 10px 6px 0;
    border-radius: 4px;
    transition: color 0.25s ease, transform 0.25s ease, gap 0.3s ease;
    align-self: flex-start;
    width: auto;
    -webkit-tap-highlight-color: rgba(200, 169, 126, 0.18);
}

a.google-badge:hover,
a.google-badge:focus-visible {
    color: var(--color-gold-solid);
    gap: 0.6rem;
    outline: none;
}

a.google-badge .google-badge__arrow {
    width: 0.55em;
    height: 0.55em;
    opacity: 0.55;
    transition: transform 0.3s ease, opacity 0.3s ease;
    margin-left: 2px;
    flex-shrink: 0;
}

a.google-badge:hover .google-badge__arrow,
a.google-badge:focus-visible .google-badge__arrow {
    transform: translateX(3px);
    opacity: 1;
}



.faq-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-bottom: clamp(32px, 5vw, 52px);
}

.faq-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 20px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 2px;
    color: var(--color-text-muted);
    font-family: var(--font-body);
    font-size: clamp(0.72rem, 1.8vw, 0.8rem);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.faq-tab i {
    font-size: 0.85rem;
    color: var(--color-text-muted);
    transition: color 0.3s ease;
}

.faq-tab:hover {
    border-color: rgba(200, 169, 126, 0.3);
    color: var(--color-text-secondary);
}

.faq-tab:hover i {
    color: var(--color-gold-solid);
}

.faq-tab.active {
    background: rgba(200, 169, 126, 0.1);
    border-color: rgba(200, 169, 126, 0.45);
    color: var(--color-gold-solid);
    box-shadow: 0 0 20px rgba(200, 169, 126, 0.08);
}

.faq-tab.active i {
    color: var(--color-gold-solid);
}

.faq-accordion {
    max-width: 1060px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
}


.accordion-group-header {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    margin: 0 0 1.5rem 0;
    padding: 1.5rem 1.75rem;
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.06) 0%, rgba(200, 169, 126, 0.01) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-left: 3px solid var(--color-gold-solid);
    border-radius: 6px;
    position: relative;
    overflow: hidden;
}

.accordion-group-header:not(:first-child) {
    margin-top: 3rem;
}

.accordion-group-header--contractual {
    border-left-color: #E6CFA1;
    background: linear-gradient(135deg, rgba(230, 207, 161, 0.05) 0%, rgba(200, 169, 126, 0.02) 100%);
}

.accordion-group-header__icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.15) 0%, rgba(200, 169, 126, 0.05) 100%);
    border: 1px solid rgba(200, 169, 126, 0.25);
    border-radius: 50%;
    color: var(--color-gold-solid);
    font-size: 1.4rem;
}

.accordion-group-header__icon svg {
    width: 1.4rem;
    height: 1.4rem;
}

.accordion-group-header__body {
    flex: 1;
    min-width: 0;
}

.accordion-group-header__overline {
    display: block;
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
    margin-bottom: 0.5rem;
}

.accordion-group-header__title {
    font-family: var(--font-display);
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 600;
    color: #ffffff;
    margin: 0 0 0.6rem 0;
    line-height: 1.3;
    letter-spacing: 0.01em;
}

.accordion-group-header__desc {
    font-family: var(--font-body);
    font-size: 0.92rem;
    line-height: 1.65;
    color: rgba(240, 240, 240, 0.78);
    margin: 0;
}

.accordion-group-header__desc strong {
    color: rgba(255, 255, 255, 0.95);
    font-weight: 500;
}

@media (max-width: 768px) {
    .accordion-group-header {
        flex-direction: column;
        gap: 1rem;
        padding: 1.25rem;
    }
    .accordion-group-header__icon {
        width: 48px;
        height: 48px;
    }
    .accordion-group-header__icon svg {
        width: 1.2rem;
        height: 1.2rem;
    }
    .accordion-group-header__title {
        font-size: 1.1rem;
    }
    .accordion-group-header__desc {
        font-size: 0.88rem;
    }
}

.faq-item {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 3px;
    padding: 0.5rem 1rem;
    overflow: hidden;
    transition: border-color 0.35s ease, background 0.35s ease,
        box-shadow 0.35s ease;

    scroll-margin-top: 110px;
}

.faq-item:hover {
    border-color: rgba(200, 169, 126, 0.15);
    background: rgba(255, 255, 255, 0.03);
}

.faq-item.faq-item--open {
    border-color: rgba(200, 169, 126, 0.3);
    background: rgba(10, 8, 4, 0.8);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4),
        inset 3px 0 0 var(--color-gold-solid);
}

@media (max-width: 992px) {
  .faq-item { transition: border-color .35s ease, background .35s ease; }
}

.faq-question {
    width: 100%;
    text-align: left;
    padding: clamp(16px, 2.5vw, 22px) clamp(16px, 2.5vw, 24px);
    background: transparent;
    border: none;
    color: var(--color-text-secondary);
    font-family: var(--font-body);
    font-size: clamp(0.88rem, 2.2vw, 1rem);
    font-weight: 500;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    transition: color 0.3s ease;
    line-height: 1.4;
    margin: 0;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

.faq-question:hover {
    color: #fff;
}

.faq-question__inner {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 1;
}

.faq-icon-wrap {
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 50%;
    background: rgba(200, 169, 126, 0.06);
    border: 1px solid rgba(200, 169, 126, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.4s ease, border-color 0.4s ease;
}

.faq-icon-wrap i {
    font-size: 0.8rem;
    color: rgba(200, 169, 126, 0.5);
    transition: color 0.4s ease;
}

.faq-item--open .faq-icon-wrap {
    background: var(--color-gold-solid);
    border-color: var(--color-gold-solid);
}

.faq-item--open .faq-icon-wrap i {
    color: var(--bg-deep-black);
}

.faq-question__text {
    flex: 1;
}

.toggle-icon {
    font-size: 0.85rem;
    color: rgba(200, 169, 126, 0.4);
    flex-shrink: 0;
    transition: transform 0.45s cubic-bezier(0.68, -0.55, 0.265, 1.55),
        color 0.3s ease;
}

.faq-item--open .toggle-icon {
    transform: rotate(45deg) scale(1.1);
    color: var(--color-gold-solid);
}

.faq-item--open .faq-question {
    color: #fff;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: max-height 0.55s cubic-bezier(0.25, 1, 0.5, 1),
        opacity 0.4s ease,
        visibility 0.55s;
}

.faq-item--open .faq-answer {
    opacity: 1;
    visibility: visible;
}

.faq-answer p {
    padding: 4px clamp(16px, 2.5vw, 24px) clamp(18px, 3vw, 26px) calc(clamp(16px, 2.5vw, 24px) + 34px + 14px);
    color: var(--color-text-secondary);
    font-size: clamp(0.82rem, 2vw, 0.92rem);
    line-height: 1.85;
    font-weight: 300;
}

.faq-answer p strong {
    color: #fff;
    font-weight: 500;
    position: relative;
}

.faq-answer p strong::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    background: rgba(200, 169, 126, 0.3);
    transition: background 0.3s ease;
}

.faq-item--open .faq-answer p strong {
    color: var(--color-gold-solid);
}

.faq-item--open .faq-answer p strong::after {
    background: rgba(200, 169, 126, 0.6);
}

.faq-item.faq-item--hidden {
    display: none;
}

.faq-question:focus-visible {
    outline: 2px solid var(--color-gold-solid) !important;
    outline-offset: -2px;
    border-radius: 2px;
}

@media (max-width: 480px) {
    .faq-tabs {
        gap: 6px;
    }

    .faq-tab {
        padding: 8px 12px;
        font-size: 0.68rem;
        gap: 6px;
    }

    .faq-tab i {
        font-size: 0.75rem;
    }

    .faq-tab span {
        display: none;
    }

    .faq-tab.active span {
        display: inline;
    }


    .faq-icon-wrap {
        width: 28px;
        height: 28px;
        min-width: 28px;
    }

    .faq-icon-wrap i {
        font-size: 0.7rem;
    }

    .faq-question__inner {
        gap: 10px;
    }

    .faq-answer p {
        padding-left: clamp(16px, 2.5vw, 24px);
        padding-right: clamp(16px, 2.5vw, 24px);
    }
}


.cta {
    padding: clamp(60px, 8vw, 120px) 0;
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, 0.02);
    border-bottom: 1px solid rgba(255, 255, 255, 0.02);
}

.cta__content {
    text-align: center;
    margin-bottom: clamp(30px, 6vw, 40px);
}

.cta__title {
    font-size: clamp(1.8rem, 6vw, 3rem);
    color: #ffffff;
    margin-bottom: 20px;
    line-height: 1.2;
    font-weight: 500;
}

.cta__subtitle {
    color: var(--color-text-secondary);
    font-size: clamp(0.9rem, 3vw, 1.2rem);
    max-width: 1050px;
    margin: 0 auto;
    line-height: 1.6;
    font-weight: 300;
}

.cta__action {
    text-align: center;
    margin-top: clamp(20px, 5vw, 40px);
}

.hero__highlight .cta__action {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    margin-top: 18px;
}

.cta__action--dual {
    display: inline-flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 18px;
}


.hero__highlight .cta__action--dual .btn-solid-gold,
.hero__highlight .cta__action--dual a.btn-solid-gold.premium-btn-sweep.magnetic-el,
.hero__highlight .cta__action--dual .btn-solid-gold.btn-areas,
.hero__highlight .cta__action--dual button.btn-solid-gold {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


.btn-solid-gold.btn-areas {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 720px !important;
    min-width: min(420px, 100%) !important;
    min-height: 56px !important;
    height: auto !important;
    padding: 12px clamp(18px, 4vw, 50px) !important;
    box-sizing: border-box !important;
    cursor: pointer !important;

    font-family: var(--font-body, Arial, sans-serif) !important;
    font-size: clamp(11px, 2.4vw, 13px) !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;

    background: linear-gradient(135deg, #4a3a2c 0%, #2a1f15 40%, #15100a 100%) !important;
    color: var(--color-gold-solid) !important;
    border-radius: 4px !important;
    
    border: 0 !important;


    box-shadow:
        0 14px 32px rgba(0, 0, 0, 0.55),
        0 5px 12px rgba(0, 0, 0, 0.35),
        inset 0 2px 3px rgba(200, 169, 126, 0.28),
        inset 0 -3px 8px rgba(0, 0, 0, 0.5),
        0 0 0 1px rgba(200, 169, 126, 0.22) !important;

    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.65) !important;

    will-change: transform;
    transform: translateZ(0);
    transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color 0.3s ease, color 0.3s ease !important;
}

.btn-solid-gold.btn-areas:hover {
    transform: translateY(-4px) translateZ(0) !important;
    background: linear-gradient(135deg, #5d4a38 0%, #38291c 40%, #1f160e 100%) !important;
    border: 0 !important;
    color: #f5e3c0 !important;
    box-shadow:
        0 18px 38px rgba(0, 0, 0, 0.65),
        0 6px 14px rgba(0, 0, 0, 0.42),
        inset 0 2px 3px rgba(200, 169, 126, 0.4),
        inset 0 -3px 8px rgba(0, 0, 0, 0.45),
        0 0 0 1.5px rgba(232, 200, 145, 0.5) !important;
}


@media (max-width: 990px) {
    .hero__highlight .cta__action--dual {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        max-width: 520px;
        margin-left: auto;
        margin-right: auto;
        gap: 10px;
    }
    .hero__highlight .cta__action--dual .btn-solid-gold,
    .hero__highlight .cta__action--dual a.btn-solid-gold,
    .hero__highlight .cta__action--dual button.btn-solid-gold,
    .hero__highlight .cta__action--dual .btn-solid-gold.btn-areas {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
    }
}

@media (max-width: 480px) {
    .cta__action--dual {
        flex-direction: column;
        gap: 3px !important;
        margin-top: 2px !important;
        width: 100%;
    }
}

.btn-solid-gold {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 16px clamp(20px, 6vw, 45px);
    background: var(--color-gold-solid);
    color: var(--bg-deep-black);
    font-family: var(--font-body);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-decoration: none;
    border-radius: 2px;
    transition: 0.3s ease;
    box-shadow: 0 10px 30px rgba(200, 169, 126, 0.15);
    font-size: clamp(0.75rem, 2.5vw, 0.9rem);
    width: auto;
    max-width: 100%;
    text-align: center;
}

.btn-solid-gold:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(200, 169, 126, 0.3);
    background: #dcc19a;
}



.map-section {
    position: relative;
    width: 100%;
    background: var(--bg-deep-black);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--border-subtle);
}

.map-section__header {
    text-align: center;
    padding: clamp(44px, 7vw, 80px) clamp(20px, 5vw, 60px) clamp(28px, 4vw, 48px);
    position: relative;
}

.map-section__pretitle {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.32em;
    color: var(--accent-gold);
    margin-bottom: 14px;
    opacity: 0.8;
}

.map-section__title {
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 4vw, 2.6rem);
    font-weight: 600;
    color: var(--color-text-primary);
    line-height: 1.2;
    margin-bottom: 16px;
    letter-spacing: 0.02em;
}

.map-section__title .gold-text {
    background: var(--color-accent-gold);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.map-section__subtitle {
    font-size: clamp(0.82rem, 2vw, 0.95rem);
    color: var(--color-text-secondary);
    max-width: 640px;
    margin: 0 auto 28px;
    line-height: 1.7;
}

.map-section__subtitle strong {
    color: var(--color-text-primary);
    font-weight: 500;
}

.map-stats {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    flex-wrap: wrap;
    margin-top: 10px;
    background: var(--bg-charcoal);
    border: 1px solid var(--border-subtle);
    border-radius: 3px;
    max-width: 680px;
    margin-inline: auto;
    overflow: hidden;
}

.map-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: clamp(10px, 2vw, 16px) clamp(14px, 3vw, 32px);
    flex: 1;
}

.map-stat__num {
    font-family: var(--font-display);
    font-size: clamp(1.1rem, 2.5vw, 1.5rem);
    font-weight: 700;
    color: var(--accent-gold);
    line-height: 1;
}

.map-stat__label {
    font-size: clamp(0.58rem, 1.2vw, 0.65rem);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #888;
    margin-top: 4px;
}

.map-stat__divider {
    width: 1px;
    height: 36px;
    background: var(--border-subtle);
    flex-shrink: 0;
}

.map-section__body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: clamp(320px, 48vw, 520px);
}

.map-container {
    position: relative;
    overflow: hidden;
}

.map-bg {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    filter: grayscale(100%) contrast(1.15) brightness(0.5);
    transition: filter 0.9s ease;
}

.map-section:hover .map-bg {
    filter: grayscale(35%) contrast(1.05) brightness(0.72);
}

.map-nap-card {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    background: rgba(10, 10, 10, 0.92);
    border: 1px solid var(--border-subtle);
    border-radius: 3px;
    padding: 14px 16px;
    
    align-items: center;
    gap: 12px;
    backdrop-filter: blur(8px);
    z-index: 5;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
    max-width: 100%;
    width: 70%;
}

.map-nap-card__icon {
    color: var(--accent-gold);
    font-size: 1.2rem;
    flex-shrink: 0;
}

.map-nap-card__data {
    display: flex;
    flex-direction: column;
    gap: 1px;
    flex: 1;
    font-size: clamp(0.68rem, 1.3vw, 0.75rem);
    color: var(--color-text-secondary);
    line-height: 1.5;
    padding-bottom: 1rem;
}

.map-nap-card__name {
    font-family: var(--font-display);
    font-size: clamp(0.7rem, 1.4vw, 0.78rem);
    color: var(--color-text-primary);
    font-weight: 600;
    letter-spacing: 0.05em;
}

.map-nap-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #25D366;
    color: #1a1a1a;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 8px 12px;
    border-radius: 2px;
    text-decoration: none;
    flex-shrink: 0;
    transition: background 0.2s;
    white-space: nowrap;
}

.map-nap-card__cta:hover {
    background: #1ebe5c;
}

.map-nap-card__cta i {
    font-size: 1rem;
}

.seo-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.map-zones {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    background: var(--bg-charcoal);
    border-left: 1px solid var(--border-subtle);
}

.map-zones__zone {
    padding: clamp(16px, 2.2vw, 26px) clamp(14px, 2vw, 24px);
    border-bottom: 1px solid var(--border-subtle);
    border-right: 1px solid var(--border-subtle);
    transition: background 0.25s ease;
    position: relative;
}

.map-zones__zone:hover {
    background: var(--bg-surface);
}

.map-zones__zone--highlight {
    background: rgba(200, 169, 126, 0.04);
}

.map-zones__zone--highlight:hover {
    background: rgba(200, 169, 126, 0.08);
}

.map-zones__zone-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 11px;
}

.map-zones__zone-header i {
    color: var(--accent-gold);
    font-size: 0.75rem;
    flex-shrink: 0;
}

.map-zones__zone-header h3 {
    font-family: var(--font-display);
    font-size: clamp(0.65rem, 1.3vw, 0.78rem);
    font-weight: 600;
    color: var(--color-text-primary);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.map-zones__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.map-zones__list li {
    font-size: clamp(0.68rem, 1.2vw, 0.77rem);
    color: var(--color-text-secondary);
    display: flex;
    align-items: center;
    gap: 7px;
}

.map-zones__list li::before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--accent-gold);
    opacity: 0.45;
    flex-shrink: 0;
}

.map-zones__list a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    gap: 6px;
}

.map-zones__list a:hover {
    color: var(--accent-gold);
}



.map-zones__rotator-wrap {
    position: relative;
    margin-bottom: 12px;
}

.map-zones__rotator-list {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
    height: clamp(34px, 4vw, 42px);
}

.map-zones__rotator-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transform: translateY(6px);
    pointer-events: none;
    transition:
        opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.map-zones__rotator-item.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.map-zones__rotator-item.exit {
    opacity: 0;
    transform: translateY(-6px);
}

.map-zones__rotator-item a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-size: clamp(0.95rem, 2.2vw, 1.15rem);
    font-weight: 500;
    color: var(--color-text-primary);
    text-decoration: none;
    letter-spacing: 0.03em;
    transition: color 0.25s ease;
    white-space: nowrap;
}

.map-zones__rotator-item a:hover {
    color: var(--accent-gold);
}

.map-zones__rotator-item a .zone-badge {
    font-family: var(--font-body);
    font-size: 0.5rem;
    vertical-align: middle;
}


.map-zones__rotator-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--border-subtle);
}

.map-zones__rotator-dots {
    display: flex;
    gap: 5px;
    align-items: center;
}

.map-zones__rotator-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--border-subtle);
    transition: background 0.3s ease, transform 0.3s ease;
    cursor: pointer;
}

.map-zones__rotator-dot.active {
    background: var(--accent-gold);
    transform: scale(1.4);
}

.map-zones__rotator-counter {
    font-family: var(--font-body);
    font-size: 0.6rem;
    font-weight: 600;
    color: var(--color-text-muted);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.map-zones__rotator-progress {
    position: absolute;
    bottom: -2px;
    left: 0;
    height: 1px;
    width: 100%; 
    background: var(--accent-gold);
    transform: scaleX(0); 
    transform-origin: left; 
    transition: transform linear; 
    will-change: transform;
}

.zone-badge {
    display: inline-block;
    font-size: 0.55rem;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--bg-deep-black);
    background: var(--accent-gold);
    padding: 1px 5px;
    border-radius: 2px;
    font-weight: 700;
    line-height: 1.7;
}

.zone-badge--gold {
    background: var(--accent-gold);
    color: var(--bg-deep-black);
}

.map-services-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: clamp(16px, 3vw, 24px) clamp(20px, 5vw, 40px);
    border-top: 1px solid var(--border-subtle);
    background: var(--bg-charcoal);
}

.map-service-tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px;
    background: var(--bg-surface);
    border: 1px solid var(--border-subtle);
    border-radius: 2px;
    color: var(--color-text-secondary);
    font-size: clamp(0.68rem, 1.5vw, 0.76rem);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    transition: all 0.25s ease;
    white-space: nowrap;
}

.map-service-tag i {
    color: var(--accent-gold);
    font-size: 0.85rem;
}

.map-service-tag:hover {
    background: var(--bg-deep-black);
    border-color: var(--accent-gold);
    color: var(--color-text-primary);
}

.map-service-tag--cta {
    background: rgba(200, 169, 126, 0.1);
    border-color: rgba(200, 169, 126, 0.4);
    color: var(--accent-gold);
}

.map-service-tag--cta:hover {
    background: var(--accent-gold);
    color: var(--bg-deep-black);
}

.map-service-tag--cta i {
    color: inherit;
}

.map-seo-banner {
    background: var(--bg-deep-black);
    text-align: center;
    padding: clamp(16px, 3vw, 22px) clamp(20px, 5vw, 40px);
    font-size: clamp(0.72rem, 2vw, 0.82rem);
    color: var(--color-text-secondary);
    letter-spacing: 0.03em;
    border-top: 1px solid var(--border-subtle);
    line-height: 1.8;
}

.map-seo-banner strong {
    color: var(--color-text-primary);
    font-weight: 500;
}

.map-seo-banner__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--accent-gold);
    text-decoration: none;
    margin-left: 10px;
    font-weight: 600;
    transition: opacity 0.2s;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.map-seo-banner__cta:hover {
    opacity: 0.7;
}

.map-seo-banner__cta i {
    font-size: 0.75rem;
}

.seo-crawl-block {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    font-size: 0;
}

.seo-li-kw {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    font-size: 0;
}

.seo-li-extra {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    font-size: 0;
}

.seo-qa-block {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--border-subtle);
    margin-top: 10px;
}

.seo-qa-block__q {
    font-size: clamp(0.64rem, 1.2vw, 0.70rem);
    font-weight: 600;
    color: var(--accent-gold);
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.4;
    margin-bottom: 2px;
}

.seo-qa-block__a {
    font-size: clamp(0.62rem, 1.1vw, 0.68rem);
    color: var(--color-text-muted);
    line-height: 1.7;
}

.seo-qa-block__a a {
    color: var(--accent-gold);
    text-decoration: none;
    font-weight: 600;
}

.seo-qa-block__a a:hover {
    opacity: 0.75;
}

.offer-schema-node {
    display: none;
}


@media (max-width: 1024px) {
    .map-stat {
        padding: 10px 16px;
    }

    .map-container {
        min-height: 420px;
    }

    .map-nap-card {
        gap: 10px;
        padding: 12px 14px;
        
    }

    .map-nap-card__data {
        font-size: 0.72rem;
    }

    .map-nap-card__cta {
        font-size: 0.65rem;
        padding: 7px 10px;
        letter-spacing: 0.05em;
    }
}

@media (min-width: 861px) and (max-width: 1024px) {
    .map-container {
        min-height: 420px;
    }

    .map-section__body {
        min-height: 420px;
    }
}

@media (max-width: 860px) {
    .map-section__body {
        grid-template-columns: 1fr;
    }

    .map-container {
        min-height: 280px;
    }

    .map-zones {
        grid-template-columns: 1fr 1fr;
        border-left: none;
        border-top: 1px solid var(--border-subtle);
    }

    .map-nap-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        bottom: 12px;
        left: 12px;
        right: 12px;
        padding: 14px 16px;
    }

    .map-nap-card__icon {
        display: none;
    }

    .map-nap-card__data {
        font-size: 0.75rem;
        width: 100%;
    }

    .map-nap-card__name {
        font-size: 0.78rem;
    }

    .map-nap-card__cta {
        width: 100%;
        justify-content: center;
        font-size: 0.72rem;
        padding: 10px 14px;
        white-space: normal;
        text-align: center;
    }
}

@media (max-width: 600px) {

    .map-container {
        min-height: 360px;
    }

    .map-nap-card {
        flex-direction: column;
        text-align: center;
        left: 0;
        right: 0;
        padding: 12px 14px;
        gap: 8px;
    }

    .map-nap-card__icon {
        display: none;
    }


    .map-nap-card__data {
        text-align: center;
        font-size: 0.7rem;
    }

    .map-nap-card__name {
        font-size: 0.72rem;
    }

    .map-nap-card__cta {
        width: 100%;
        justify-content: center;
        padding: 9px 12px;
    }

    .map-zones {
        grid-template-columns: 1fr;
    }

    .map-zones__rotator-item a {
        white-space: normal;
        line-height: 1.4;
    }

    .map-stat {
        padding: 10px 12px;
    }

    .map-stat__label {
        font-size: 0.55rem;
    }
}

@media (max-width: 400px) {
    .map-nap-card {
        bottom: 8px;
        left: 8px;
        right: 8px;
        padding: 12px 14px;
    }

    .map-nap-card__name {
        font-size: 0.72rem;
    }

    .map-nap-card__data {
        font-size: 0.68rem;
    }

    .map-nap-card__cta {
        font-size: 0.68rem;
        padding: 9px 12px;
    }
}

@media (max-width: 380px) {
    .map-container {
        min-height: 320px;
    }

    .map-nap-card {
        bottom: 8px;
        left: 0;
        right: 0;
        padding: 10px 12px;
    }

    .map-nap-card__name {
        font-size: 0.65rem;
    }

    .map-nap-card__data {
        font-size: 0.65rem;
    }

    .map-nap-card__cta {
        font-size: 0.68rem;
        padding: 8px;
    }

    .map-stat__num {
        font-size: 1rem;
    }

    .map-stat__label {
        font-size: 0.5rem;
        letter-spacing: 0.05em;
    }
}

@media (max-width: 540px) {
    .map-stats {
        flex-wrap: wrap;
    }

    .map-stat__divider {
        display: none;
    }

    .map-stat {
        flex: 0 0 50%;
        border-bottom: 1px solid var(--border-subtle);
    }

    .map-zones__zone {
        padding: 12px;
    }

}


.footer {
    background-color: var(--bg-deep-black);
    border-top: 1px solid var(--border-subtle);
    padding: clamp(60px, 8vw, 100px) 0 30px;
    position: relative;
}

.footer__grid {
    display: grid;
    grid-template-columns: 2.5fr 1fr 1.2fr 1.2fr;
    gap: clamp(40px, 5vw, 60px);
    margin-bottom: 20px;
    align-items: start;
}

.footer__brand-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
}

.footer__logo {
    display: block;
    text-decoration: none;
    margin-bottom: 0;
    flex-shrink: 0;
}

.logo-img-footer {
    max-height: clamp(75px, 8vw, 125px);
    width: auto;
    object-fit: contain;
    opacity: 0.9;
}


.footer__brand-title {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

.footer__brand-title strong {
    font-family: var(--font-display);
    font-size: clamp(1rem, 2.5vw, 1.25rem);
    color: var(--color-gold-solid);
    font-weight: 600;
    letter-spacing: 0.02em;
}

.footer__brand-title span {
    font-family: var(--font-body);
    font-size: clamp(0.7rem, 2vw, 0.8rem);
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 4px;
}

.footer__institutional-box {
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding-top: 25px;
}

.footer__institutional-text {
    color: var(--color-text-secondary);
    font-size: clamp(0.85rem, 2vw, 0.95rem);
    line-height: 1.85;
    font-weight: 300;
    max-width: 95%;
    text-align: justify;
}

.footer__heading {
    color: #fff;
    font-size: clamp(0.9rem, 3vw, 0.95rem);
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px;
    margin-bottom: 25px;
    border-left: 3px solid var(--color-gold-solid);
    padding-left: 12px;
    line-height: 1;
    font-family: var(--font-body);
}

.footer__links,
.footer__contact-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.footer__links a,
.footer__contact-list a,
.footer__contact-list span {
    color: var(--color-text-secondary);
    text-decoration: none;
    transition: 0.3s ease;
    font-size: clamp(0.85rem, 2.5vw, 0.95rem);
    font-weight: 400;
    display: inline-flex;
    align-items: flex-start;
    gap: 12px;
    padding: 8px 0;
    line-height: 1.5;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-left: 5px;
}

.footer__links a i,
.footer__contact-list i {
    font-size: 0.8rem;
    color: var(--color-gold-solid);
    margin-top: 4px;
    opacity: 0.8;
    transition: transform 0.3s;
    width: 15px;
    text-align: center;
    flex-shrink: 0;
}

.footer__contact-list li {
    display: flex !important;
    align-items: flex-start !important; 
    gap: 12px;
    margin-bottom: 12px;
}

.footer__contact-list li svg,
.footer__contact-list li i {
    flex-shrink: 0;
    margin-top: 6px !important; 
    font-size: 1rem;
}


.footer__links a:hover,
.footer__contact-list a:hover {
    color: #fff;
    transform: translateX(5px);
}

.footer__links a:hover i {
    opacity: 1;
    transform: translateX(2px);
}

.footer__social-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    margin-bottom: 30px;
}

.footer__social-heading {
    color: var(--color-text-secondary);
    font-family: var(--font-body);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-weight: 500;
    margin-bottom: 20px;
}

.footer__social-icons {
    display: flex;
    gap: 20px;
}

.footer__social-icons a {
    display: flex;
    justify-content: center;
    text-decoration: none;
    align-items: center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
    color: #fff;
    font-size: 1.2rem;
    transition: all 0.3s ease;
}

.footer__social-icons a:hover {
    background: var(--color-gold-solid);
    color: var(--bg-deep-black);
    border-color: var(--color-gold-solid);
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(200, 169, 126, 0.2);
}

.footer__copyright {
    text-align: center;
    color: var(--color-text-muted);
    font-size: clamp(0.75rem, 2.5vw, 0.85rem);
    font-weight: 400;
    line-height: 1.8;
}

.footer__separator {
    margin: 0 10px;
    color: var(--color-gold-solid);
    opacity: 0.5;
}

.soditec-trigger {
    background: transparent;
    border: none;
    color: var(--color-gold-solid);
    font-family: inherit;
    font-size: inherit;
    cursor: pointer;
    padding: 0;
    font-weight: 600;
    transition: color 0.3s ease;
    position: relative;
}

.soditec-trigger::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--color-gold-solid);
    transition: transform 0.3s ease;
    transform-origin: right;
    transform: scaleX(0);
}

.soditec-trigger:hover {
    color: #fff;
}

.soditec-trigger:hover::after {
    transform-origin: left;
    transform: scaleX(1);
    background: #fff;
}

.soditec-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.4s ease, visibility 0.4s;
}

.soditec-modal.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.soditec-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(5, 5, 5, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.soditec-modal__content {
    position: relative;
    z-index: 1;
    background: var(--bg-charcoal);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-top: 3px solid var(--color-gold-solid);
    padding: 45px 35px;
    width: 90%;
    max-width: 420px;
    border-radius: 4px;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.9);
    transform: translateY(30px) scale(0.95);
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.soditec-modal.active .soditec-modal__content {
    transform: translateY(0) scale(1);
}

.soditec-modal__close {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(255, 255, 255, 0.05);
    border: none;
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s;
}

.soditec-modal__close:hover {
    background: var(--color-gold-solid);
    color: var(--bg-deep-black);
    transform: rotate(90deg);
}

.soditec-modal__header {
    text-align: center;
    margin-bottom: 30px;
}

.soditec-modal__header h3 {
    font-family: var(--font-body);
    font-size: 1.4rem;
    color: #fff;
    margin-bottom: 5px;
}

.soditec-modal__header h3 span {
    color: var(--color-gold-solid);
    font-weight: 700;
}

.soditec-modal__header p {
    font-size: 0.85rem;
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.soditec-modal__contact {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.soditec-modal__contact a {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 16px 20px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 500;
    font-size: 0.95rem;
    transition: 0.3s ease;
}

.soditec-modal__contact i {
    color: var(--color-gold-solid);
    font-size: 1.2rem;
    width: 20px;
    text-align: center;
}

.soditec-modal__contact a:hover {
    background: rgba(200, 169, 126, 0.08);
    border-color: rgba(200, 169, 126, 0.3);
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}


.areas-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.6s, opacity 0.4s ease;
}

.areas-modal.active {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
}


.areas-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity 0.35s ease;
    will-change: opacity;
}

.areas-modal.active .areas-modal__overlay {
    opacity: 1;
}


.areas-modal__content {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 540px;
    max-height: 85vh;
    background: linear-gradient(180deg, var(--bg-charcoal) 0%, var(--bg-deep-black) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-bottom: none;
    border-radius: 24px 24px 0 0;
    padding: 14px clamp(20px, 5vw, 36px) 36px;
    box-shadow:
        0 -10px 50px rgba(0, 0, 0, 0.85),
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        inset 0 0 60px rgba(200, 169, 126, 0.04);
    transform: translate3d(0, 120%, 0);
    transition: transform 0.5s cubic-bezier(0.32, 0.72, 0, 1);
    overflow-y: auto;
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.areas-modal.active .areas-modal__content {
    transform: translate3d(0, 0, 0);
}


.areas-modal__drag-handle {
    width: 44px;
    height: 5px;
    background: rgba(255, 255, 255, 0.18);
    border-radius: 10px;
    margin: 0 auto 22px;
}

.areas-modal__close {
    position: absolute;
    top: 18px;
    right: 22px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #fff;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
    z-index: 2;
}

.areas-modal__close:hover {
    background: var(--color-gold-solid);
    color: var(--bg-deep-black);
    border-color: var(--color-gold-solid);
    transform: rotate(90deg);
}

.areas-modal__title {
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 4vw, 1.75rem);
    color: #ffffff;
    text-align: center;
    margin: 0 0 6px;
    letter-spacing: 0.01em;
}

.areas-modal__subtitle {
    display: block;
    text-align: center;
    color: rgba(255, 255, 255, 0.5);
    font-family: var(--font-body);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    margin-bottom: 26px;
}

.areas-modal__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}


.areas-modal__item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.025) 0%, rgba(255, 255, 255, 0.008) 100%);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 8px;
    color: #e8e8e8;
    text-decoration: none;
    font-family: var(--font-display);
    font-size: 1.02rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    position: relative;
    overflow: hidden;
    transition: background 0.35s ease, border-color 0.35s ease, color 0.35s ease, transform 0.35s ease;
}

.areas-modal__item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--color-gold-solid);
    transform: scaleY(0);
    transform-origin: center;
    transition: transform 0.35s ease;
}

.areas-modal__item::after {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 1.5px solid rgba(200, 169, 126, 0.55);
    border-top: 1.5px solid rgba(200, 169, 126, 0.55);
    transform: rotate(45deg);
    transition: transform 0.35s ease, border-color 0.35s ease;
    flex-shrink: 0;
    margin-left: auto;
}

.areas-modal__item:hover {
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.09) 0%, rgba(200, 169, 126, 0.02) 100%);
    border-color: rgba(200, 169, 126, 0.32);
    color: var(--color-gold-solid);
    transform: translateX(4px);
}

.areas-modal__item:hover::before {
    transform: scaleY(1);
}

.areas-modal__item:hover::after {
    border-color: var(--color-gold-solid);
    transform: rotate(45deg) translate(2px, -2px);
}

.areas-modal__item svg {
    color: var(--color-gold-solid);
    flex-shrink: 0;
    font-size: 1.35em;
    filter: drop-shadow(0 0 8px rgba(200, 169, 126, 0.2));
    transition: transform 0.35s ease;
}

.areas-modal__item:hover svg {
    transform: scale(1.08);
}

.areas-modal__item span {
    flex: 0 1 auto;
}

@media (max-width: 480px) {
    .areas-modal__content {
        max-width: 100%;
        border-radius: 20px 20px 0 0;
        padding: 12px 18px 28px;
    }

    .areas-modal__drag-handle {
        margin-bottom: 18px;
    }

    .areas-modal__close {
        top: 14px;
        right: 16px;
        width: 32px;
        height: 32px;
    }

    .areas-modal__subtitle {
        margin-bottom: 20px;
    }

    .areas-modal__item {
        padding: 14px 16px;
        font-size: 0.94rem;
        gap: 13px;
    }
}

@media(max-width: 1024px) {
    .footer__brand-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
}


@media(max-width: 992px) {
    .footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 50px 30px;
    }

    .footer__col--brand {
        grid-column: 1 / -1;
    }

    .footer__institutional-text {
        max-width: 100%;
        text-align: left;
    }

    .footer__brand-header {
        flex-direction: row;
        align-items: center;
    }
}

@media(max-width: 768px) {
    .footer__grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .footer__col {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        max-width: 260px;
        margin: 0 auto;
    }

    .footer__col--brand {
        align-items: center;
        width: 100%;
        max-width: 100%;
        text-align: center;
    }

    .footer__brand-header {
        flex-direction: column;
        text-align: center;
    }

    .footer__institutional-text {
        text-align: center;
    }

    .footer__copyright span {
        display: block; 
        margin-bottom: 5px;
    }

     .footer__copyright span.footer__separator {
        display: none !important;
    }

    .footer__separator {
        display: none;
    }
}



.whatsapp-float,
.back-to-top {
    position: fixed;
    width: clamp(45px, 10vw, 55px);
    height: clamp(45px, 10vw, 55px);
    border-radius: 50%;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: clamp(1.4rem, 4vw, 1.8rem);
    transition: 0.3s;
    border: none;
    cursor: pointer;
    text-decoration: none;
}

.back-to-top {
    width: clamp(35px, 8vw, 45px) !important;
    height: clamp(35px, 8vw, 45px) !important;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.8);
}

.whatsapp-float {
    box-shadow: 0 2px 15px rgb(39 211 103 / 30%);
 
    background: #25D366;
    color: #fff;
}

.whatsapp-float:hover {
    transform: scale(1.1);
}

.back-to-top {
    bottom: 20px;
    right: 25px;
    background: var(--bg-surface);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.05);
    opacity: 0;
    visibility: hidden;
    transform: scale(0.5);
    font-size: 1.2rem;
}

.back-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    pointer-events: auto !important;
}

.back-to-top:hover {
    background: var(--color-gold-solid);
    color: var(--bg-deep-black);
    border-color: var(--color-gold-solid);
}

.back-to-top svg,
.back-to-top svg * {
    pointer-events: none;
}

.back-to-top.visible,
.back-to-top:hover {
    cursor: pointer;
}
.whatsapp-float svg,
.whatsapp-float svg *,
.footer__social-icons a svg,
.footer__social-icons a svg * {
    pointer-events: none;
}


.reveal-up {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.reveal-up.active {
    opacity: 1;
    transform: translateY(0);
}

.reveal-up.is-revealed {
    will-change: auto;
}


@media (max-width: 1200px) {
    .practice-card {
        padding: 3rem;
        min-height: 480px;
    }
}


@media (max-height: 900px) {

    #pagina-principal .hero__content,
    #pagina-accidente-laboral .hero__content,
    #pagina-accidente-nautico .hero__content,
    #pagina-accidente-transito .hero__content,
    #pagina-accidente-general .hero__content {
        padding-top: clamp(85px, 11vh, 115px);
    }


    .hero__title {
        margin-bottom: clamp(6px, 1.2vh, 20px);
    }

    .hero__subtitle {
        margin-bottom: clamp(8px, 1.5vh, 25px);
    }

    .hero__editorial {
        margin: 0 auto clamp(6px, 1.2vh, 16px) auto;
    }

    .hero__highlight {
        padding-top: clamp(10px, 1.5vh, 20px);
        padding-bottom: clamp(10px, 1.5vh, 20px);
        margin-bottom: 8px;
    }

    .hero__list-wrapper {
        margin-top: 4px;
    }
}


@media (min-width: 992px) and (max-width: 1400px) and (max-height: 850px) {


    .hero__title {
        display: block !important;
        contain: none !important;
        min-height: 0 !important;
        gap: normal !important;
        font-size: clamp(2.4rem, 2.4vw, 3.5rem) !important;
        margin-bottom: 14px;
        line-height: 1.1;
        max-width: min(960px, 90vw);
    }

    .hero__title .cinematic-line-wrapper {
        line-height: 0.93;
        padding-bottom: 0;
    }

    .hero__title .cinematic-line-wrapper:last-child {
        padding-bottom: 0.12em;
    }

    .hero__title + .hero__subtitle {
        margin-top: 10px;
    }

    .hero__editorial {
        min-height: 0 !important;
        contain: none !important;
        gap: 8px !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        margin-top: 10px !important;
        margin-bottom: 10px !important;
    }

    .hero__list-wrapper {
        margin-top: 4px !important;
    }

    .hero__title--white {
        line-height: 1.32;
        padding-top: 0.05em;
        padding-bottom: 0.18em;
    }

    .hero__title--gold {
        line-height: 1.36;
        margin-top: 0.18em;
        padding-top: 0.06em;
        padding-bottom: 0.24em;
    }


    .hero__subtitle {
        font-size: 1rem;
        margin-bottom: 16px;
        max-width: 620px;
    }


    .hero__editorial {
        font-size: 0.85rem;
        margin-bottom: 10px;
    }


    .hero__highlight {
        padding: 14px 28px 16px !important;
        margin-bottom: 4px !important;
        overflow: visible !important;
        min-height: 0 !important;
    }

    .highlight-lead {
        font-size: 0.92rem;
        margin-bottom: 2px;
        line-height: 1.3;
    }

    .highlight-body {
        font-size: 0.78rem;
        margin-bottom: 4px;
        line-height: 1.4;
    }


    .hero__list-wrapper {
        height: 38px;
        margin-top: 2px !important;
    }

    .hero__list li {
        font-size: clamp(0.6rem, 0.7vw, 0.8rem);
        padding: 6px 18px;
    }


    .hero__highlight .btn-solid-gold,
    .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el {
        height: 42px !important;
        font-size: 11px !important;
        padding: 0 26px !important;
        margin-top: 2px !important;
        margin-bottom: 0 !important;
    }

    .hero__highlight .cta__action {
        margin-top: 2px !important;
    }


    .hero__btn {
        min-height: 38px;
        padding: 8px 28px;
        font-size: 0.78rem;
    }

    .hero__extra-info {
        margin-top: 16px;
    }


    .hero__overline {
        margin-bottom: 8px;
    }

     #pagina-accidente-laboral .hero__content,
    #pagina-accidente-nautico .hero__content,
    #pagina-accidente-transito .hero__content,
    #pagina-accidente-transito-caba .hero__content,
    #pagina-accidente-transito-zona-oeste .hero__content,
    #pagina-accidente-transito-argentina .hero__content,
    #pagina-accidente-transito-zona-norte .hero__content,
    #pagina-accidente-transito-zona-sur .hero__content,
    #pagina-accidente-laboral-caba .hero__content,
    #pagina-accidente-laboral-gba .hero__content,
    #pagina-accidente-laboral-zona-oeste .hero__content,
    #pagina-accidente-laboral-resto-pais .hero__content,
    #pagina-accidente-laboral-zona-norte .hero__content,
    #pagina-accidente-laboral-zona-sur .hero__content,
    #pagina-accidente-general .hero__content {
            padding-top: 100px;
    }
   #pagina-accidente-laboral .hero__title--white,
    #pagina-accidente-nautico .hero__title--white,
    #pagina-accidente-transito .hero__title--white,
    #pagina-accidente-transito-caba .hero__title--white,
    #pagina-accidente-transito-zona-oeste .hero__title--white,
    #pagina-accidente-transito-argentina .hero__title--white,
    #pagina-accidente-transito-zona-norte .hero__title--white,
    #pagina-accidente-transito-zona-sur .hero__title--white,
    #pagina-accidente-laboral-caba .hero__title--white,
    #pagina-accidente-laboral-gba .hero__title--white,
    #pagina-accidente-laboral-zona-oeste .hero__title--white,
    #pagina-accidente-laboral-resto-pais .hero__title--white,
    #pagina-accidente-laboral-zona-norte .hero__title--white,
    #pagina-accidente-laboral-zona-sur .hero__title--white,
    #pagina-accidente-general .hero__title--white,
    #pagina-accidente-laboral .hero__title--gold,
    #pagina-accidente-nautico .hero__title--gold,
    #pagina-accidente-transito .hero__title--gold,
    #pagina-accidente-transito-caba .hero__title--gold,
    #pagina-accidente-transito-zona-oeste .hero__title--gold,
    #pagina-accidente-transito-argentina .hero__title--gold,
    #pagina-accidente-transito-zona-norte .hero__title--gold,
    #pagina-accidente-transito-zona-sur .hero__title--gold,
    #pagina-accidente-laboral-caba .hero__title--gold,
    #pagina-accidente-laboral-gba .hero__title--gold,
    #pagina-accidente-laboral-zona-oeste .hero__title--gold,
    #pagina-accidente-laboral-resto-pais .hero__title--gold,
    #pagina-accidente-laboral-zona-norte .hero__title--gold,
    #pagina-accidente-laboral-zona-sur .hero__title--gold,
    #pagina-accidente-general .hero__title--gold {
            font-size: clamp(1.6rem, 4.5vw, 2.6rem);
    }
    #pagina-accidente-laboral .hero__editorial,
    #pagina-accidente-nautico .hero__editorial,
    #pagina-accidente-transito .hero__editorial,
    #pagina-accidente-transito-caba .hero__editorial,
    #pagina-accidente-transito-zona-oeste .hero__editorial,
    #pagina-accidente-transito-argentina .hero__editorial,
    #pagina-accidente-transito-zona-norte .hero__editorial,
    #pagina-accidente-transito-zona-sur .hero__editorial,
    #pagina-accidente-laboral-caba .hero__editorial,
    #pagina-accidente-laboral-gba .hero__editorial,
    #pagina-accidente-laboral-zona-oeste .hero__editorial,
    #pagina-accidente-laboral-resto-pais .hero__editorial,
    #pagina-accidente-laboral-zona-norte .hero__editorial,
    #pagina-accidente-laboral-zona-sur .hero__editorial,
    #pagina-accidente-general .hero__editorial {
            margin-bottom: 10px;
    }
    #pagina-accidente-laboral .hero__subtitle,
    #pagina-accidente-nautico .hero__subtitle,
    #pagina-accidente-transito .hero__subtitle,
    #pagina-accidente-transito-caba .hero__subtitle,
    #pagina-accidente-transito-zona-oeste .hero__subtitle,
    #pagina-accidente-transito-argentina .hero__subtitle,
    #pagina-accidente-transito-zona-norte .hero__subtitle,
    #pagina-accidente-transito-zona-sur .hero__subtitle,
    #pagina-accidente-laboral-caba .hero__subtitle,
    #pagina-accidente-laboral-gba .hero__subtitle,
    #pagina-accidente-laboral-zona-oeste .hero__subtitle,
    #pagina-accidente-laboral-resto-pais .hero__subtitle,
    #pagina-accidente-laboral-zona-norte .hero__subtitle,
    #pagina-accidente-laboral-zona-sur .hero__subtitle,
    #pagina-accidente-general .hero__subtitle {
            font-size: 0.95rem;
            margin-bottom: 10px;
    }
    #pagina-accidente-laboral .hero__highlight,
    #pagina-accidente-nautico .hero__highlight,
    #pagina-accidente-transito .hero__highlight,
    #pagina-accidente-transito-caba .hero__highlight,
    #pagina-accidente-transito-zona-oeste .hero__highlight,
    #pagina-accidente-transito-argentina .hero__highlight,
    #pagina-accidente-transito-zona-norte .hero__highlight,
    #pagina-accidente-transito-zona-sur .hero__highlight,
    #pagina-accidente-laboral-caba .hero__highlight,
    #pagina-accidente-laboral-gba .hero__highlight,
    #pagina-accidente-laboral-zona-oeste .hero__highlight,
    #pagina-accidente-laboral-resto-pais .hero__highlight,
    #pagina-accidente-laboral-zona-norte .hero__highlight,
    #pagina-accidente-laboral-zona-sur .hero__highlight,
    #pagina-accidente-general .hero__highlight {
            padding: 8px 28px 12px;
    }



}



@media (min-width: 1401px) and (max-height: 850px) {

    .hero__title {
        font-size: clamp(2.2rem, 2.6vw, 3rem) !important;
        margin-bottom: 14px;
        line-height: 1.1;
    }
    .hero__title .cinematic-line-wrapper {
        line-height: 0.93;
        padding-bottom: 0;
    }
    .hero__title .cinematic-line-wrapper:last-child {
        padding-bottom: 0.14em;
    }
    .hero__title--white {
        line-height: 1.32;
        padding-top: 0.05em;
        padding-bottom: 0.18em;
    }
    .hero__title--gold {
        line-height: 1.36;
        margin-top: 0.18em;
        padding-top: 0.06em;
        padding-bottom: 0.24em;
    }


    .hero__editorial {
        min-height: 0 !important;
        contain: none !important;
        gap: 8px !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        margin-top: 10px !important;
        margin-bottom: 10px !important;
    }
    .hero__subtitle,
    .hero__editorial-lead {
        font-size: 0.95rem !important;
        line-height: 1.5 !important;
    }


    .hero__highlight {
        padding: 12px 32px 14px !important;
        margin-bottom: 6px !important;
        overflow: visible !important;
        min-height: 0 !important;
    }
    .highlight-lead {
        font-size: 0.95rem;
        margin-bottom: 4px;
        line-height: 1.3;
    }
    .highlight-body {
        font-size: 0.82rem;
        margin-bottom: 6px;
        line-height: 1.4;
    }


    .hero__highlight .btn-solid-gold,
    .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el {
        height: 44px !important;
        min-height: 44px !important;
        font-size: 12px !important;
        padding: 0 28px !important;
    }
    .hero__highlight .cta__action,
    .hero__highlight .cta__action--dual {
        margin-top: 4px !important;
    }


    .hero__list-wrapper {
        height: 40px;
        margin-top: 4px !important;
    }
    .hero__list li {
        font-size: clamp(0.65rem, 0.75vw, 0.85rem);
        padding: 6px 18px;
    }


    .hero__content {
        padding-top: clamp(80px, 10vh, 110px) !important;
    }
}



@media (max-width: 991px) {
    .hero__title {
        min-height: 0 !important;
        contain: none !important;
        height: auto !important;
        flex-shrink: 0 !important;
        font-size: clamp(2.2rem, 9vw, 3rem) !important;
        line-height: 1.15;
        letter-spacing: -0.005em;
    }


    
    .hero__subtitle,
    .hero__editorial-lead {
        font-size: clamp(0.85rem, 2.6vw, 1rem) !important;
        line-height: 1.45 !important;
    }


    
    .hero__editorial {
        background: rgba(5, 5, 5, 0.15) !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .hero__list-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }


    
    .hero__list li {
        width: 100% !important;
        max-width: 100% !important;
    }


    
    .hero__content {
        padding-left: clamp(8px, 2.2vw, 14px) !important;
        padding-right: clamp(8px, 2.2vw, 14px) !important;
    }


    
    .hero__highlight,
    .hero__list-wrapper {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }


    
    .hero__title .cinematic-line-wrapper {
        overflow: visible !important;
    }


    
    .hero__highlight {
        padding: clamp(14px, 2.4vh, 22px) clamp(18px, 5vw, 28px) clamp(16px, 2.6vh, 24px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        min-height: 0 !important;
    }

    .hero__highlight > * {
        max-width: 100%;
        box-sizing: border-box;
    }

    .hero__highlight .cta__action {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .hero__highlight .btn-solid-gold,
    .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .highlight-lead,
    .highlight-body {
        max-width: 100%;
        word-break: normal;
        overflow-wrap: break-word;
        hyphens: auto;
    }
}



@media (min-width: 401px) and (max-width: 768px) {
    .hero__title {
        font-size: clamp(2.2rem, 7vw, 3rem) !important;
        margin-bottom: 10px !important;
        line-height: 1.15;
    }

    .hero__title--white,
    .hero__title--gold {
        line-height: 1.2;
        font-size: inherit !important;
    }

    .hero__title--gold {
        margin-top: 0.1em;
    }


    
    #pagina-accidente-laboral .hero__title--white,
    #pagina-accidente-nautico .hero__title--white,
    #pagina-accidente-transito .hero__title--white,
    #pagina-accidente-transito-caba .hero__title--white,
    #pagina-accidente-transito-zona-oeste .hero__title--white,
    #pagina-accidente-transito-argentina .hero__title--white,
    #pagina-accidente-transito-zona-norte .hero__title--white,
    #pagina-accidente-transito-zona-sur .hero__title--white,
    #pagina-accidente-laboral-caba .hero__title--white,
    #pagina-accidente-laboral-gba .hero__title--white,
    #pagina-accidente-laboral-zona-oeste .hero__title--white,
    #pagina-accidente-laboral-resto-pais .hero__title--white,
    #pagina-accidente-laboral-zona-norte .hero__title--white,
    #pagina-accidente-laboral-zona-sur .hero__title--white,
    #pagina-accidente-general .hero__title--white,
    #pagina-accidente-laboral .hero__title--gold,
    #pagina-accidente-nautico .hero__title--gold,
    #pagina-accidente-transito .hero__title--gold,
    #pagina-accidente-transito-caba .hero__title--gold,
    #pagina-accidente-transito-zona-oeste .hero__title--gold,
    #pagina-accidente-transito-argentina .hero__title--gold,
    #pagina-accidente-transito-zona-norte .hero__title--gold,
    #pagina-accidente-transito-zona-sur .hero__title--gold,
    #pagina-accidente-laboral-caba .hero__title--gold,
    #pagina-accidente-laboral-gba .hero__title--gold,
    #pagina-accidente-laboral-zona-oeste .hero__title--gold,
    #pagina-accidente-laboral-resto-pais .hero__title--gold,
    #pagina-accidente-laboral-zona-norte .hero__title--gold,
    #pagina-accidente-laboral-zona-sur .hero__title--gold,
    #pagina-accidente-general .hero__title--gold {
        font-size: clamp(2.2rem, 7vw, 3rem) !important;
        line-height: 1.15;
    }

   
    
    .hero__highlight {
        padding: clamp(16px, 2.4vh, 24px) clamp(20px, 5vw, 32px) clamp(18px, 2.6vh, 26px) !important;
        margin-bottom: 8px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        min-height: 0 !important;
    }

    .hero__highlight > * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .hero__highlight .cta__action {
        width: 100% !important;
        margin-top: 2px !important;
        box-sizing: border-box !important;
    }

    .highlight-lead {
        font-size: 0.85rem !important;
        line-height: 1.2 !important;
        margin-bottom: 2px !important;
        word-break: normal;
        overflow-wrap: break-word;
    }

    .highlight-body {
        font-size: 0.78rem !important;
        margin-bottom: 4px !important;
        line-height: 1.35 !important;
        word-break: normal;
        overflow-wrap: break-word;
    }

    .highlight-body .text-gold {
        font-size: inherit !important;
    }

    .hero__highlight .btn-solid-gold,
    .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 40px !important;
        font-size: 10.5px !important;
        padding: 6px 14px !important;
        margin-top: 2px !important;
        line-height: 1.3 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        letter-spacing: 0.04em !important;
        box-sizing: border-box !important;
    }
}


@media (max-width: 767px) {
    .hero__overline {
        font-size: clamp(0.5rem, 2.2vw, 0.65rem);
        letter-spacing: 0.18em;
        white-space: nowrap;
        margin-bottom: 12px;
    }
     #pagina-accidente-transito .hero__content {
        padding-top: 85px;
        padding-bottom: 30px;
    }
    #pagina-accidente-transito .hero__overline {
        font-size: 0.65rem;
        margin-bottom: 12px;
    }
    #pagina-accidente-laboral .hero__content,
    #pagina-accidente-nautico .hero__content,
    #pagina-accidente-transito .hero__content,
    #pagina-accidente-transito-caba .hero__content,
    #pagina-accidente-transito-zona-oeste .hero__content,
    #pagina-accidente-transito-argentina .hero__content,
    #pagina-accidente-transito-zona-norte .hero__content,
    #pagina-accidente-transito-zona-sur .hero__content,
    #pagina-accidente-laboral-caba .hero__content,
    #pagina-accidente-laboral-gba .hero__content,
    #pagina-accidente-laboral-zona-oeste .hero__content,
    #pagina-accidente-laboral-resto-pais .hero__content,
    #pagina-accidente-laboral-zona-norte .hero__content,
    #pagina-accidente-laboral-zona-sur .hero__content,
    #pagina-accidente-general .hero__content {
            padding-top: 85px;
            padding-bottom: 30px;
        }
        #pagina-accidente-laboral .hero__overline,
    #pagina-accidente-nautico .hero__overline,
    #pagina-accidente-transito .hero__overline,
    #pagina-accidente-transito-caba .hero__overline,
    #pagina-accidente-transito-zona-oeste .hero__overline,
    #pagina-accidente-transito-argentina .hero__overline,
    #pagina-accidente-transito-zona-norte .hero__overline,
    #pagina-accidente-transito-zona-sur .hero__overline,
    #pagina-accidente-laboral-caba .hero__overline,
    #pagina-accidente-laboral-gba .hero__overline,
    #pagina-accidente-laboral-zona-oeste .hero__overline,
    #pagina-accidente-laboral-resto-pais .hero__overline,
    #pagina-accidente-laboral-zona-norte .hero__overline,
    #pagina-accidente-laboral-zona-sur .hero__overline,
    #pagina-accidente-general .hero__overline {
            font-size: 0.65rem;
            margin-bottom: 12px;
        }
        #pagina-accidente-laboral .hero__highlight .btn-solid-gold,
    #pagina-accidente-nautico .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-caba .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-zona-oeste .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-argentina .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-zona-norte .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-zona-sur .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-caba .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-gba .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-zona-oeste .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-resto-pais .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-zona-norte .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-zona-sur .hero__highlight .btn-solid-gold,
    #pagina-accidente-general .hero__highlight .btn-solid-gold {
             min-width: unset !important;
            width: 100% !important;
            height: auto !important;         
            min-height: 55px !important;     
            padding: 12px 15px !important;   
            contain: none !important;       
            white-space: normal !important;
        }
}


@media (min-width: 992px) {
    .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el {
        min-width: 0 !important;
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: 480px !important;
        padding: 0 28px !important;
        contain: layout paint !important;
    }

    .hero__highlight .btn-solid-gold.btn-areas {
        flex: 0 0 auto !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: 280px !important;
    }

    .cta__action--dual {
        flex-wrap: nowrap;
        gap: 4px !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .highlight-lead,
    .highlight-body {
        max-width: 120ch;
        margin-left: auto;
        margin-right: auto;
    }

   
    .hero__title {
        display: block !important;
        contain: none !important;
        min-height: 0 !important;
        gap: normal !important;
        font-size: clamp(2.4rem, 3.4vw, 3.6rem) !important;
        line-height: 1.1;
        letter-spacing: -0.005em;
        max-width: min(1600px, 92vw);
        margin-left: auto;
        margin-right: auto;
        word-break: normal;
        overflow-wrap: break-word;
        isolation: isolate;
        padding-top: 0.04em;
        padding-bottom: 0.08em;
    }

    .hero__title .cinematic-line-wrapper {
        line-height: 0.92;
        padding-bottom: 0;
    }

    .hero__title .cinematic-line-wrapper:last-child {
        padding-bottom: 0.14em;
    }

    .hero__title + .hero__subtitle {
        margin-top: 12px;
    }

    .hero__title--white {
        line-height: 1.34;
     
      
    }

    .hero__title--gold {
        line-height: 1.38;
        margin-top: 0.22em;
        padding-top: 0.08em;
        padding-bottom: 0.28em;
    }
}



@media (min-width: 992px) and (min-height: 851px) {
    .hero__title {
        font-size: clamp(2.4rem, 3.4vw, 3.4rem) !important;
        margin-bottom: 20px;
    }


    
    .hero__title .cinematic-line-wrapper {
        line-height: 0.92;
        padding-bottom: 0;
    }

    .hero__title .cinematic-line-wrapper:last-child {
        padding-bottom: 0.12em;
    }


    
    .hero__editorial {
        min-height: 0 !important;
        contain: none !important;
        gap: 8px !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
        margin-top: 12px !important;
        margin-bottom: 14px !important;
    }


    .hero__title + .hero__subtitle {
        margin-top: 12px;
    }

    .hero__highlight {
        padding-top: 12px;
        padding-bottom: 16px;
        padding-left: clamp(36px, 3.5vw, 56px);
        padding-right: clamp(36px, 3.5vw, 56px);
        margin-bottom: 8px;
    }


    .hero__list-wrapper {
        margin-top: 6px !important;
    }

    .highlight-lead {
        font-size: clamp(0.95rem, 1.4vw, 1.15rem);
        margin-bottom: 4px;
    }

    .highlight-body {
        font-size: clamp(0.85rem, 1.1vw, 1rem);
        margin-bottom: 8px;
        line-height: 1.5;
    }

    .hero__highlight .btn-solid-gold,
    .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el {
        margin-top: 4px !important;
        margin-bottom: 0 !important;
        height: 52px !important;
        font-size: 12px !important;
    }
}



@media (min-width: 992px) and (min-height: 851px) and (max-height: 1000px) {
    .hero__title {
        font-size: clamp(2.2rem, 3.2vw, 3.05rem) !important;
        margin-bottom: 16px;
    }

    .hero__title .cinematic-line-wrapper {
        line-height: 0.92;
        padding-bottom: 0;
    }

    .hero__title .cinematic-line-wrapper:last-child {
        padding-bottom: 0.1em;
    }

    .hero__title + .hero__subtitle {
        margin-top: 10px;
    }

    .hero__highlight {
        padding-top: 10px;
        padding-bottom: 14px;
        margin-bottom: 6px;
    }

    .hero__list-wrapper {
        margin-top: 4px !important;
    }

    .highlight-lead {
        font-size: clamp(0.9rem, 1.3vw, 1.05rem);
        margin-bottom: 3px;
    }

    .highlight-body {
        font-size: clamp(0.8rem, 1vw, 0.95rem);
        margin-bottom: 6px;
        line-height: 1.45;
    }

    .hero__highlight .btn-solid-gold,
    .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el {
        height: 46px !important;
        margin-top: 2px !important;
    }
}



@media (min-width: 992px) and (max-height: 820px) {
    .hero__highlight,
    .hero__highlight .cta__action,
    .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el {
        flex-shrink: 0 !important;
    }

    .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el {
        height: 48px !important;
        padding: 0 28px !important;
        font-size: 12px !important;
    }

    .hero__highlight {
        padding-top: 14px;
        padding-bottom: 18px;
        margin-bottom: 12px;
    }

    .hero__title {
        display: block !important;
        contain: none !important;
        min-height: 0 !important;
        gap: normal !important;
        font-size: clamp(1.7rem, 2.8vw, 2.3rem) !important;
        margin-bottom: 12px;
        line-height: 1.1;
        letter-spacing: -0.005em;
        text-wrap: balance;
        max-width: min(960px, 90vw);
        padding-top: 0.03em;
        padding-bottom: 0.06em;
    }

    .hero__title .cinematic-line-wrapper {
        line-height: 0.93;
        padding-bottom: 0;
    }

    .hero__title .cinematic-line-wrapper:last-child {
        padding-bottom: 0.1em;
    }

    .hero__title + .hero__subtitle {
        margin-top: 8px;
    }

    .hero__editorial {
        min-height: 0 !important;
        contain: none !important;
        gap: 6px !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
        margin-top: 6px !important;
        margin-bottom: 6px !important;
    }

    .hero__title--white {
        line-height: 1.3;
        padding-top: 0.05em;
        padding-bottom: 0.18em;
    }

    .hero__title--gold {
        line-height: 1.34;
        margin-top: 0.16em;
        padding-top: 0.06em;
        padding-bottom: 0.22em;
    }

    .highlight-lead {
        font-size: 0.95rem;
        margin-bottom: 6px;
    }

    .highlight-body {
        font-size: 0.85rem;
        margin-bottom: 8px;
    }
}


@media(max-width: 992px) {
    .authority-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }

    .features-container {
        grid-template-columns: repeat(2, 1fr);
    }

    .practice-grid {
        grid-template-columns: 1fr;
        border: none;
        background: transparent;
        gap: 20px;
    }

    .practice-card {
        border: 1px solid rgba(255, 255, 255, 0.05);
        padding: 3rem 2rem;
        min-height: auto;
    }

    .success-cases__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .team__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: clamp(10rem, 4vw, 10rem);
    }

    .footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px 20px;
    }

    .footer__col:nth-child(2)::after {
        display: none;
    }

    .footer__col {
        padding-right: 0;
    }

    .footer__col::after {
        display: none;
    }

    .header__cta {
        display: none !important;
    }
}


@media (max-width: 768px) {
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }
}


@media(max-width: 576px) {
    .hero__content {
        padding-top: 60px;
    }


    .hero__list-wrapper {
        margin-top: 20px;
    }

    .authority-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .features-container {
        grid-template-columns: 1fr;
    }

    .success-cases__grid {
        grid-template-columns: 1fr;
    }

    .team__grid {
        grid-template-columns: 1fr;
        gap: clamp(10rem, 4vw, 10rem);
    }

    .footer__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}




@media (max-width: 400px) {
    .hero__title {
        font-size: clamp(2.2rem, 9vw, 3rem) !important;
        letter-spacing: -0.005em;
        line-height: 1.15;
        margin-bottom: 10px !important;
    }

    .hero__title--white,
    .hero__title--gold {
        font-size: inherit !important;
        line-height: 1.18 !important;
    }


    
    .hero__highlight {
        padding: 18px 22px 20px !important;
        margin-bottom: 10px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        width: calc(100% - 28px) !important;
        max-width: calc(100% - 28px) !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        min-height: 0 !important;
    }

    .hero__highlight > * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .hero__highlight .btn-solid-gold,
    .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 9px 14px !important;
        font-size: 9.5px !important;
        min-height: 42px !important;
        height: auto !important;
        line-height: 1.3 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        box-sizing: border-box !important;
        letter-spacing: 0.04em !important;
    }

    .hero__highlight .cta__action {
        width: 100% !important;
        box-sizing: border-box !important;
        margin-top: 4px !important;
    }

    .highlight-lead {
        font-size: 0.82rem !important;
        line-height: 1.3 !important;
        margin-bottom: 4px !important;
        word-break: normal;
        overflow-wrap: break-word;
    }

    .highlight-body {
        font-size: 0.72rem !important;
        line-height: 1.4 !important;
        margin-bottom: 6px !important;
        word-break: normal;
        overflow-wrap: break-word;
    }

    .highlight-body .text-gold {
        font-size: inherit !important;
    }

    .hero__list li {
        width: 100%;
        max-width: 100%;
        padding: 10px;
        text-align: center;
    }

    .hero__btn,
    .btn-solid-gold {
        width: 100%;
        padding: 14px 15px;
        font-size: 0.75rem;
    }

    #pagina-principal .hero__btn,
    .btn-solid-gold {
        padding: 14px 15px;
        font-size: 0.55rem !important;
    }

    .hero__extra-info {
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }

    .section-title {
        font-size: 1.6rem;
    }

    .practice-card {
        padding: 2rem 1.5rem;
    }

    .success-card__inner,
    .testimonial-card {
        padding: 2rem 1.5rem;
    }

    .footer__copyright span {
        display: block;
        margin-bottom: 5px;
    }

    .footer__separator {
        display: none;
    }

    #pagina-accidente-laboral .hero__content,
    #pagina-accidente-nautico .hero__content,
    #pagina-accidente-transito .hero__content,
    #pagina-accidente-transito-caba .hero__content,
    #pagina-accidente-transito-zona-oeste .hero__content,
    #pagina-accidente-transito-argentina .hero__content,
    #pagina-accidente-transito-zona-norte .hero__content,
    #pagina-accidente-transito-zona-sur .hero__content,
    #pagina-accidente-laboral-caba .hero__content,
    #pagina-accidente-laboral-gba .hero__content,
    #pagina-accidente-laboral-zona-oeste .hero__content,
    #pagina-accidente-laboral-resto-pais .hero__content,
    #pagina-accidente-laboral-zona-norte .hero__content,
    #pagina-accidente-laboral-zona-sur .hero__content,
    #pagina-accidente-general .hero__content {
            padding-top: 75px;
        }
        #pagina-accidente-laboral .hero__title--white,
    #pagina-accidente-nautico .hero__title--white,
    #pagina-accidente-transito .hero__title--white,
    #pagina-accidente-transito-caba .hero__title--white,
    #pagina-accidente-transito-zona-oeste .hero__title--white,
    #pagina-accidente-transito-argentina .hero__title--white,
    #pagina-accidente-transito-zona-norte .hero__title--white,
    #pagina-accidente-transito-zona-sur .hero__title--white,
    #pagina-accidente-laboral-caba .hero__title--white,
    #pagina-accidente-laboral-gba .hero__title--white,
    #pagina-accidente-laboral-zona-oeste .hero__title--white,
    #pagina-accidente-laboral-resto-pais .hero__title--white,
    #pagina-accidente-laboral-zona-norte .hero__title--white,
    #pagina-accidente-laboral-zona-sur .hero__title--white,
    #pagina-accidente-general .hero__title--white,
    #pagina-accidente-laboral .hero__title--gold,
    #pagina-accidente-nautico .hero__title--gold,
    #pagina-accidente-transito .hero__title--gold,
    #pagina-accidente-transito-caba .hero__title--gold,
    #pagina-accidente-transito-zona-oeste .hero__title--gold,
    #pagina-accidente-transito-argentina .hero__title--gold,
    #pagina-accidente-transito-zona-norte .hero__title--gold,
    #pagina-accidente-transito-zona-sur .hero__title--gold,
    #pagina-accidente-laboral-caba .hero__title--gold,
    #pagina-accidente-laboral-gba .hero__title--gold,
    #pagina-accidente-laboral-zona-oeste .hero__title--gold,
    #pagina-accidente-laboral-resto-pais .hero__title--gold,
    #pagina-accidente-laboral-zona-norte .hero__title--gold,
    #pagina-accidente-laboral-zona-sur .hero__title--gold,
    #pagina-accidente-general .hero__title--gold {
            font-size: clamp(0.9rem, 4.2vw, 1.15rem) !important;
            line-height: 1.18;
        }
        #pagina-accidente-laboral .hero__subtitle,
    #pagina-accidente-nautico .hero__subtitle,
    #pagina-accidente-transito .hero__subtitle,
    #pagina-accidente-transito-caba .hero__subtitle,
    #pagina-accidente-transito-zona-oeste .hero__subtitle,
    #pagina-accidente-transito-argentina .hero__subtitle,
    #pagina-accidente-transito-zona-norte .hero__subtitle,
    #pagina-accidente-transito-zona-sur .hero__subtitle,
    #pagina-accidente-laboral-caba .hero__subtitle,
    #pagina-accidente-laboral-gba .hero__subtitle,
    #pagina-accidente-laboral-zona-oeste .hero__subtitle,
    #pagina-accidente-laboral-resto-pais .hero__subtitle,
    #pagina-accidente-laboral-zona-norte .hero__subtitle,
    #pagina-accidente-laboral-zona-sur .hero__subtitle,
    #pagina-accidente-general .hero__subtitle {
            font-size: 0.85rem;
            margin-bottom: 8px;
        }
        #pagina-accidente-laboral .hero__highlight,
    #pagina-accidente-nautico .hero__highlight,
    #pagina-accidente-transito .hero__highlight,
    #pagina-accidente-transito-caba .hero__highlight,
    #pagina-accidente-transito-zona-oeste .hero__highlight,
    #pagina-accidente-transito-argentina .hero__highlight,
    #pagina-accidente-transito-zona-norte .hero__highlight,
    #pagina-accidente-transito-zona-sur .hero__highlight,
    #pagina-accidente-laboral-caba .hero__highlight,
    #pagina-accidente-laboral-gba .hero__highlight,
    #pagina-accidente-laboral-zona-oeste .hero__highlight,
    #pagina-accidente-laboral-resto-pais .hero__highlight,
    #pagina-accidente-laboral-zona-norte .hero__highlight,
    #pagina-accidente-laboral-zona-sur .hero__highlight,
    #pagina-accidente-general .hero__highlight {
            padding: 20px 12px;
            margin-bottom: 10px;
            border-left-width: 2px;
            border-right-width: 2px;
        }
        #pagina-accidente-laboral .highlight-lead,
    #pagina-accidente-nautico .highlight-lead,
    #pagina-accidente-transito .highlight-lead,
    #pagina-accidente-transito-caba .highlight-lead,
    #pagina-accidente-transito-zona-oeste .highlight-lead,
    #pagina-accidente-transito-argentina .highlight-lead,
    #pagina-accidente-transito-zona-norte .highlight-lead,
    #pagina-accidente-transito-zona-sur .highlight-lead,
    #pagina-accidente-laboral-caba .highlight-lead,
    #pagina-accidente-laboral-gba .highlight-lead,
    #pagina-accidente-laboral-zona-oeste .highlight-lead,
    #pagina-accidente-laboral-resto-pais .highlight-lead,
    #pagina-accidente-laboral-zona-norte .highlight-lead,
    #pagina-accidente-laboral-zona-sur .highlight-lead,
    #pagina-accidente-general .highlight-lead {
            font-size: 0.95rem;
        }
        #pagina-accidente-laboral .hero__highlight .text-gold,
    #pagina-accidente-nautico .hero__highlight .text-gold,
    #pagina-accidente-transito .hero__highlight .text-gold,
    #pagina-accidente-transito-caba .hero__highlight .text-gold,
    #pagina-accidente-transito-zona-oeste .hero__highlight .text-gold,
    #pagina-accidente-transito-argentina .hero__highlight .text-gold,
    #pagina-accidente-transito-zona-norte .hero__highlight .text-gold,
    #pagina-accidente-transito-zona-sur .hero__highlight .text-gold,
    #pagina-accidente-laboral-caba .hero__highlight .text-gold,
    #pagina-accidente-laboral-gba .hero__highlight .text-gold,
    #pagina-accidente-laboral-zona-oeste .hero__highlight .text-gold,
    #pagina-accidente-laboral-resto-pais .hero__highlight .text-gold,
    #pagina-accidente-laboral-zona-norte .hero__highlight .text-gold,
    #pagina-accidente-laboral-zona-sur .hero__highlight .text-gold,
    #pagina-accidente-general .hero__highlight .text-gold {
            font-size: 0.8rem;
            line-height: 1.3;
        }
        #pagina-accidente-laboral .hero__highlight .btn-solid-gold,
    #pagina-accidente-nautico .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-caba .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-zona-oeste .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-argentina .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-zona-norte .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-zona-sur .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-caba .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-gba .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-zona-oeste .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-resto-pais .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-zona-norte .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-zona-sur .hero__highlight .btn-solid-gold,
    #pagina-accidente-general .hero__highlight .btn-solid-gold {
            height: auto !important;
            min-height: 50px !important;
            font-size: 11px !important;
            padding: 10px 12px !important;
            contain: none !important;
        }
        #pagina-accidente-laboral .hero__list-wrapper,
    #pagina-accidente-nautico .hero__list-wrapper,
    #pagina-accidente-transito .hero__list-wrapper,
    #pagina-accidente-transito-caba .hero__list-wrapper,
    #pagina-accidente-transito-zona-oeste .hero__list-wrapper,
    #pagina-accidente-transito-argentina .hero__list-wrapper,
    #pagina-accidente-transito-zona-norte .hero__list-wrapper,
    #pagina-accidente-transito-zona-sur .hero__list-wrapper,
    #pagina-accidente-laboral-caba .hero__list-wrapper,
    #pagina-accidente-laboral-gba .hero__list-wrapper,
    #pagina-accidente-laboral-zona-oeste .hero__list-wrapper,
    #pagina-accidente-laboral-resto-pais .hero__list-wrapper,
    #pagina-accidente-laboral-zona-norte .hero__list-wrapper,
    #pagina-accidente-laboral-zona-sur .hero__list-wrapper,
    #pagina-accidente-general .hero__list-wrapper {
            height: 60px;
            margin-top: 5px;
        }
}

@media (max-width: 380px) {
    .hero__title {
        font-size: clamp(0.85rem, 4vw, 1.1rem) !important;
        line-height: 1.18;
    }

    .hero__title--white {
        font-size: inherit !important;
    }

    .hero__title--gold {
        font-size: inherit !important;
    }


    
    #pagina-accidente-laboral .hero__title--white,
    #pagina-accidente-nautico .hero__title--white,
    #pagina-accidente-transito .hero__title--white,
    #pagina-accidente-transito-caba .hero__title--white,
    #pagina-accidente-transito-zona-oeste .hero__title--white,
    #pagina-accidente-transito-argentina .hero__title--white,
    #pagina-accidente-transito-zona-norte .hero__title--white,
    #pagina-accidente-transito-zona-sur .hero__title--white,
    #pagina-accidente-laboral-caba .hero__title--white,
    #pagina-accidente-laboral-gba .hero__title--white,
    #pagina-accidente-laboral-zona-oeste .hero__title--white,
    #pagina-accidente-laboral-resto-pais .hero__title--white,
    #pagina-accidente-laboral-zona-norte .hero__title--white,
    #pagina-accidente-laboral-zona-sur .hero__title--white,
    #pagina-accidente-general .hero__title--white,
    #pagina-accidente-laboral .hero__title--gold,
    #pagina-accidente-nautico .hero__title--gold,
    #pagina-accidente-transito .hero__title--gold,
    #pagina-accidente-transito-caba .hero__title--gold,
    #pagina-accidente-transito-zona-oeste .hero__title--gold,
    #pagina-accidente-transito-argentina .hero__title--gold,
    #pagina-accidente-transito-zona-norte .hero__title--gold,
    #pagina-accidente-transito-zona-sur .hero__title--gold,
    #pagina-accidente-laboral-caba .hero__title--gold,
    #pagina-accidente-laboral-gba .hero__title--gold,
    #pagina-accidente-laboral-zona-oeste .hero__title--gold,
    #pagina-accidente-laboral-resto-pais .hero__title--gold,
    #pagina-accidente-laboral-zona-norte .hero__title--gold,
    #pagina-accidente-laboral-zona-sur .hero__title--gold,
    #pagina-accidente-general .hero__title--gold {
        font-size: clamp(0.85rem, 4vw, 1.1rem) !important;
        line-height: 1.18;
    }

    .hero__highlight {
        padding: 10px 18px 14px !important;
        margin-bottom: 8px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        width: calc(100% - 36px) !important;
        max-width: calc(100% - 36px) !important;
        box-sizing: border-box !important;
    }

    .hero__highlight > * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .hero__highlight .btn-solid-gold,
    .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 8px 12px !important;
        font-size: 9px !important;
        min-height: 38px !important;
        height: auto !important;
        line-height: 1.3 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        box-sizing: border-box !important;
        letter-spacing: 0.03em !important;
    }

    .hero__highlight .cta__action {
        width: 100% !important;
        margin-top: 3px !important;
        box-sizing: border-box !important;
    }

    .highlight-lead {
        font-size: 0.78rem !important;
        line-height: 1.3 !important;
        margin-bottom: 3px !important;
    }

    .highlight-body {
        font-size: 0.7rem !important;
        line-height: 1.4 !important;
        margin-bottom: 5px !important;
    }

    .highlight-body .text-gold {
        font-size: inherit !important;
    }

    .highlight-action {
        font-size: 0.65rem;
    }

    .hero__btn {
        padding: 10px 14px;
        font-size: 0.65rem;
    }
}

@media (max-width: 360px) {
    .hero__title {
        font-size: clamp(1.2rem, 5.6vw, 1.45rem) !important;
        letter-spacing: -0.01em;
    }

    .hero__title--white {
        font-size: inherit !important;
    }

    .hero__subtitle {
        font-size: 0.8rem;
        margin-bottom: 20px;
        line-height: 1.4;
    }

    .stats-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .stat-number {
        font-size: 2.5rem;
    }

    .faq-question {
        font-size: 0.9rem;
        padding: 15px 0;
    }

    .faq-answer p {
        font-size: 0.8rem;
        padding-right: 15px;
    }
     .premium-list {
        max-width: 100% !important;
        margin: 1.2rem 0 1.5rem 0 !important; 
        padding: 0 !important;
    }


    .premium-list li {
        display: block !important;
        position: relative !important;
        padding-left: 24px !important; 
        margin-bottom: 12px !important;
        font-size: 0.85rem !important;
        line-height: 1.5 !important;
        text-align: left !important;
    }


    .premium-list li svg,
    .premium-list li i {
        position: absolute !important;
        left: 0 !important;
        top: 3px !important; 
        font-size: 0.9rem !important;
        margin: 0 !important;
        transform: none !important;
    }

  
    .premium-list li strong {
        display: inline !important;
    }


     #pagina-accidente-laboral .hero__title--white,
    #pagina-accidente-nautico .hero__title--white,
    #pagina-accidente-transito .hero__title--white,
    #pagina-accidente-transito-caba .hero__title--white,
    #pagina-accidente-transito-zona-oeste .hero__title--white,
    #pagina-accidente-transito-argentina .hero__title--white,
    #pagina-accidente-transito-zona-norte .hero__title--white,
    #pagina-accidente-transito-zona-sur .hero__title--white,
    #pagina-accidente-laboral-caba .hero__title--white,
    #pagina-accidente-laboral-gba .hero__title--white,
    #pagina-accidente-laboral-zona-oeste .hero__title--white,
    #pagina-accidente-laboral-resto-pais .hero__title--white,
    #pagina-accidente-laboral-zona-norte .hero__title--white,
    #pagina-accidente-laboral-zona-sur .hero__title--white,
    #pagina-accidente-general .hero__title--white,
    #pagina-accidente-laboral .hero__title--gold,
    #pagina-accidente-nautico .hero__title--gold,
    #pagina-accidente-transito .hero__title--gold,
    #pagina-accidente-transito-caba .hero__title--gold,
    #pagina-accidente-transito-zona-oeste .hero__title--gold,
    #pagina-accidente-transito-argentina .hero__title--gold,
    #pagina-accidente-transito-zona-norte .hero__title--gold,
    #pagina-accidente-transito-zona-sur .hero__title--gold,
    #pagina-accidente-laboral-caba .hero__title--gold,
    #pagina-accidente-laboral-gba .hero__title--gold,
    #pagina-accidente-laboral-zona-oeste .hero__title--gold,
    #pagina-accidente-laboral-resto-pais .hero__title--gold,
    #pagina-accidente-laboral-zona-norte .hero__title--gold,
    #pagina-accidente-laboral-zona-sur .hero__title--gold,
    #pagina-accidente-general .hero__title--gold {
            font-size: 1.5rem !important;
        }
        #pagina-accidente-laboral .hero__subtitle,
    #pagina-accidente-nautico .hero__subtitle,
    #pagina-accidente-transito .hero__subtitle,
    #pagina-accidente-transito-caba .hero__subtitle,
    #pagina-accidente-transito-zona-oeste .hero__subtitle,
    #pagina-accidente-transito-argentina .hero__subtitle,
    #pagina-accidente-transito-zona-norte .hero__subtitle,
    #pagina-accidente-transito-zona-sur .hero__subtitle,
    #pagina-accidente-laboral-caba .hero__subtitle,
    #pagina-accidente-laboral-gba .hero__subtitle,
    #pagina-accidente-laboral-zona-oeste .hero__subtitle,
    #pagina-accidente-laboral-resto-pais .hero__subtitle,
    #pagina-accidente-laboral-zona-norte .hero__subtitle,
    #pagina-accidente-laboral-zona-sur .hero__subtitle,
    #pagina-accidente-general .hero__subtitle {
            font-size: 0.75rem;
        }
        #pagina-accidente-laboral .hero__highlight,
    #pagina-accidente-nautico .hero__highlight,
    #pagina-accidente-transito .hero__highlight,
    #pagina-accidente-transito-caba .hero__highlight,
    #pagina-accidente-transito-zona-oeste .hero__highlight,
    #pagina-accidente-transito-argentina .hero__highlight,
    #pagina-accidente-transito-zona-norte .hero__highlight,
    #pagina-accidente-transito-zona-sur .hero__highlight,
    #pagina-accidente-laboral-caba .hero__highlight,
    #pagina-accidente-laboral-gba .hero__highlight,
    #pagina-accidente-laboral-zona-oeste .hero__highlight,
    #pagina-accidente-laboral-resto-pais .hero__highlight,
    #pagina-accidente-laboral-zona-norte .hero__highlight,
    #pagina-accidente-laboral-zona-sur .hero__highlight,
    #pagina-accidente-general .hero__highlight {
            padding: 12px 10px;
        }
        #pagina-accidente-laboral .highlight-lead,
    #pagina-accidente-nautico .highlight-lead,
    #pagina-accidente-transito .highlight-lead,
    #pagina-accidente-transito-caba .highlight-lead,
    #pagina-accidente-transito-zona-oeste .highlight-lead,
    #pagina-accidente-transito-argentina .highlight-lead,
    #pagina-accidente-transito-zona-norte .highlight-lead,
    #pagina-accidente-transito-zona-sur .highlight-lead,
    #pagina-accidente-laboral-caba .highlight-lead,
    #pagina-accidente-laboral-gba .highlight-lead,
    #pagina-accidente-laboral-zona-oeste .highlight-lead,
    #pagina-accidente-laboral-resto-pais .highlight-lead,
    #pagina-accidente-laboral-zona-norte .highlight-lead,
    #pagina-accidente-laboral-zona-sur .highlight-lead,
    #pagina-accidente-general .highlight-lead {
            font-size: 0.85rem;
            margin-bottom: 2px;
        }
        #pagina-accidente-laboral .hero__highlight .text-gold,
    #pagina-accidente-nautico .hero__highlight .text-gold,
    #pagina-accidente-transito .hero__highlight .text-gold,
    #pagina-accidente-transito-caba .hero__highlight .text-gold,
    #pagina-accidente-transito-zona-oeste .hero__highlight .text-gold,
    #pagina-accidente-transito-argentina .hero__highlight .text-gold,
    #pagina-accidente-transito-zona-norte .hero__highlight .text-gold,
    #pagina-accidente-transito-zona-sur .hero__highlight .text-gold,
    #pagina-accidente-laboral-caba .hero__highlight .text-gold,
    #pagina-accidente-laboral-gba .hero__highlight .text-gold,
    #pagina-accidente-laboral-zona-oeste .hero__highlight .text-gold,
    #pagina-accidente-laboral-resto-pais .hero__highlight .text-gold,
    #pagina-accidente-laboral-zona-norte .hero__highlight .text-gold,
    #pagina-accidente-laboral-zona-sur .hero__highlight .text-gold,
    #pagina-accidente-general .hero__highlight .text-gold {
            font-size: 0.75rem;
        }
        #pagina-accidente-laboral .hero__highlight .btn-solid-gold,
    #pagina-accidente-nautico .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-caba .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-zona-oeste .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-argentina .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-zona-norte .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-zona-sur .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-caba .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-gba .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-zona-oeste .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-resto-pais .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-zona-norte .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-zona-sur .hero__highlight .btn-solid-gold,
    #pagina-accidente-general .hero__highlight .btn-solid-gold {
            height: 45px !important;
            font-size: 10px !important;
        }
}

@media (max-width: 320px) {
    .container {
        padding: 0 20px;
    }

    .hero__content {
        padding: 50px 20px 0;
    }

    .hero__title {
        font-size: clamp(1.1rem, 5.4vw, 1.35rem) !important;
        word-break: break-word;
    }

    .hero__title--white {
        font-size: inherit !important;
    }

    .hero__highlight {
        padding: 10px 14px 14px !important;
        width: calc(100% - 12px) !important;
        max-width: calc(100% - 12px) !important;
    }

    .highlight-body {
        font-size: 0.75rem;
    }

    .hero__extra-info {
        font-size: 0.6rem;
    }

    .hero__list-wrapper {
        height: 70px;
    }

    .hero__list li {
        font-size: 0.55rem;
        padding: 6px 8px;
        gap: 8px;
    }

    .practice-card__meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .practice-card__title {
        font-size: 1.3rem;
    }

    .practice-card__btn {
        font-size: 0.65rem;
    }
    .premium-list li {
        padding-left: 20px !important; 
        margin-bottom: 10px !important;
        font-size: 0.8rem !important;
        line-height: 1.4 !important;
    }

    .premium-list li svg,
    .premium-list li i {
        font-size: 0.8rem !important;
        top: 3px !important;
    }

     #pagina-accidente-laboral .hero__content,
    #pagina-accidente-nautico .hero__content,
    #pagina-accidente-transito .hero__content,
    #pagina-accidente-transito-caba .hero__content,
    #pagina-accidente-transito-zona-oeste .hero__content,
    #pagina-accidente-transito-argentina .hero__content,
    #pagina-accidente-transito-zona-norte .hero__content,
    #pagina-accidente-transito-zona-sur .hero__content,
    #pagina-accidente-laboral-caba .hero__content,
    #pagina-accidente-laboral-gba .hero__content,
    #pagina-accidente-laboral-zona-oeste .hero__content,
    #pagina-accidente-laboral-resto-pais .hero__content,
    #pagina-accidente-laboral-zona-norte .hero__content,
    #pagina-accidente-laboral-zona-sur .hero__content,
    #pagina-accidente-general .hero__content {
            padding-top: 65px !important;
            padding-bottom: 10px !important;
            padding-left: 10px !important;
            padding-right: 10px !important;
        }
        #pagina-accidente-laboral .hero__overline,
    #pagina-accidente-nautico .hero__overline,
    #pagina-accidente-transito .hero__overline,
    #pagina-accidente-transito-caba .hero__overline,
    #pagina-accidente-transito-zona-oeste .hero__overline,
    #pagina-accidente-transito-argentina .hero__overline,
    #pagina-accidente-transito-zona-norte .hero__overline,
    #pagina-accidente-transito-zona-sur .hero__overline,
    #pagina-accidente-laboral-caba .hero__overline,
    #pagina-accidente-laboral-gba .hero__overline,
    #pagina-accidente-laboral-zona-oeste .hero__overline,
    #pagina-accidente-laboral-resto-pais .hero__overline,
    #pagina-accidente-laboral-zona-norte .hero__overline,
    #pagina-accidente-laboral-zona-sur .hero__overline,
    #pagina-accidente-general .hero__overline {
            font-size: 0.55rem !important;
            margin-bottom: 8px !important;
        }
        #pagina-accidente-laboral .hero__title,
    #pagina-accidente-nautico .hero__title,
    #pagina-accidente-transito .hero__title,
    #pagina-accidente-transito-caba .hero__title,
    #pagina-accidente-transito-zona-oeste .hero__title,
    #pagina-accidente-transito-argentina .hero__title,
    #pagina-accidente-transito-zona-norte .hero__title,
    #pagina-accidente-transito-zona-sur .hero__title,
    #pagina-accidente-laboral-caba .hero__title,
    #pagina-accidente-laboral-gba .hero__title,
    #pagina-accidente-laboral-zona-oeste .hero__title,
    #pagina-accidente-laboral-resto-pais .hero__title,
    #pagina-accidente-laboral-zona-norte .hero__title,
    #pagina-accidente-laboral-zona-sur .hero__title,
    #pagina-accidente-general .hero__title {
            margin-bottom: 8px !important;
        }
        #pagina-accidente-laboral .hero__title--white,
    #pagina-accidente-nautico .hero__title--white,
    #pagina-accidente-transito .hero__title--white,
    #pagina-accidente-transito-caba .hero__title--white,
    #pagina-accidente-transito-zona-oeste .hero__title--white,
    #pagina-accidente-transito-argentina .hero__title--white,
    #pagina-accidente-transito-zona-norte .hero__title--white,
    #pagina-accidente-transito-zona-sur .hero__title--white,
    #pagina-accidente-laboral-caba .hero__title--white,
    #pagina-accidente-laboral-gba .hero__title--white,
    #pagina-accidente-laboral-zona-oeste .hero__title--white,
    #pagina-accidente-laboral-resto-pais .hero__title--white,
    #pagina-accidente-laboral-zona-norte .hero__title--white,
    #pagina-accidente-laboral-zona-sur .hero__title--white,
    #pagina-accidente-general .hero__title--white,
    #pagina-accidente-laboral .hero__title--gold,
    #pagina-accidente-nautico .hero__title--gold,
    #pagina-accidente-transito .hero__title--gold,
    #pagina-accidente-transito-caba .hero__title--gold,
    #pagina-accidente-transito-zona-oeste .hero__title--gold,
    #pagina-accidente-transito-argentina .hero__title--gold,
    #pagina-accidente-transito-zona-norte .hero__title--gold,
    #pagina-accidente-transito-zona-sur .hero__title--gold,
    #pagina-accidente-laboral-caba .hero__title--gold,
    #pagina-accidente-laboral-gba .hero__title--gold,
    #pagina-accidente-laboral-zona-oeste .hero__title--gold,
    #pagina-accidente-laboral-resto-pais .hero__title--gold,
    #pagina-accidente-laboral-zona-norte .hero__title--gold,
    #pagina-accidente-laboral-zona-sur .hero__title--gold,
    #pagina-accidente-general .hero__title--gold {
            font-size: 1.35rem !important;
            line-height: 1 !important;
        }
        #pagina-accidente-laboral .hero__subtitle,
    #pagina-accidente-nautico .hero__subtitle,
    #pagina-accidente-transito .hero__subtitle,
    #pagina-accidente-transito-caba .hero__subtitle,
    #pagina-accidente-transito-zona-oeste .hero__subtitle,
    #pagina-accidente-transito-argentina .hero__subtitle,
    #pagina-accidente-transito-zona-norte .hero__subtitle,
    #pagina-accidente-transito-zona-sur .hero__subtitle,
    #pagina-accidente-laboral-caba .hero__subtitle,
    #pagina-accidente-laboral-gba .hero__subtitle,
    #pagina-accidente-laboral-zona-oeste .hero__subtitle,
    #pagina-accidente-laboral-resto-pais .hero__subtitle,
    #pagina-accidente-laboral-zona-norte .hero__subtitle,
    #pagina-accidente-laboral-zona-sur .hero__subtitle,
    #pagina-accidente-general .hero__subtitle {
            font-size: 0.7rem !important;
            line-height: 1.3 !important;
            margin-bottom: 5px !important;
        }
        #pagina-accidente-laboral .hero__highlight,
    #pagina-accidente-nautico .hero__highlight,
    #pagina-accidente-transito .hero__highlight,
    #pagina-accidente-transito-caba .hero__highlight,
    #pagina-accidente-transito-zona-oeste .hero__highlight,
    #pagina-accidente-transito-argentina .hero__highlight,
    #pagina-accidente-transito-zona-norte .hero__highlight,
    #pagina-accidente-transito-zona-sur .hero__highlight,
    #pagina-accidente-laboral-caba .hero__highlight,
    #pagina-accidente-laboral-gba .hero__highlight,
    #pagina-accidente-laboral-zona-oeste .hero__highlight,
    #pagina-accidente-laboral-resto-pais .hero__highlight,
    #pagina-accidente-laboral-zona-norte .hero__highlight,
    #pagina-accidente-laboral-zona-sur .hero__highlight,
    #pagina-accidente-general .hero__highlight {
            padding: 10px 8px !important;
            margin-bottom: 5px !important;
        }
        #pagina-accidente-laboral .highlight-lead,
    #pagina-accidente-nautico .highlight-lead,
    #pagina-accidente-transito .highlight-lead,
    #pagina-accidente-transito-caba .highlight-lead,
    #pagina-accidente-transito-zona-oeste .highlight-lead,
    #pagina-accidente-transito-argentina .highlight-lead,
    #pagina-accidente-transito-zona-norte .highlight-lead,
    #pagina-accidente-transito-zona-sur .highlight-lead,
    #pagina-accidente-laboral-caba .highlight-lead,
    #pagina-accidente-laboral-gba .highlight-lead,
    #pagina-accidente-laboral-zona-oeste .highlight-lead,
    #pagina-accidente-laboral-resto-pais .highlight-lead,
    #pagina-accidente-laboral-zona-norte .highlight-lead,
    #pagina-accidente-laboral-zona-sur .highlight-lead,
    #pagina-accidente-general .highlight-lead {
            font-size: 0.75rem !important;
        }
        #pagina-accidente-laboral .hero__highlight .text-gold,
    #pagina-accidente-nautico .hero__highlight .text-gold,
    #pagina-accidente-transito .hero__highlight .text-gold,
    #pagina-accidente-transito-caba .hero__highlight .text-gold,
    #pagina-accidente-transito-zona-oeste .hero__highlight .text-gold,
    #pagina-accidente-transito-argentina .hero__highlight .text-gold,
    #pagina-accidente-transito-zona-norte .hero__highlight .text-gold,
    #pagina-accidente-transito-zona-sur .hero__highlight .text-gold,
    #pagina-accidente-laboral-caba .hero__highlight .text-gold,
    #pagina-accidente-laboral-gba .hero__highlight .text-gold,
    #pagina-accidente-laboral-zona-oeste .hero__highlight .text-gold,
    #pagina-accidente-laboral-resto-pais .hero__highlight .text-gold,
    #pagina-accidente-laboral-zona-norte .hero__highlight .text-gold,
    #pagina-accidente-laboral-zona-sur .hero__highlight .text-gold,
    #pagina-accidente-general .hero__highlight .text-gold {
            font-size: 0.65rem;
        }
        #pagina-accidente-laboral .hero__highlight .cta__action,
    #pagina-accidente-nautico .hero__highlight .cta__action,
    #pagina-accidente-transito .hero__highlight .cta__action,
    #pagina-accidente-transito-caba .hero__highlight .cta__action,
    #pagina-accidente-transito-zona-oeste .hero__highlight .cta__action,
    #pagina-accidente-transito-argentina .hero__highlight .cta__action,
    #pagina-accidente-transito-zona-norte .hero__highlight .cta__action,
    #pagina-accidente-transito-zona-sur .hero__highlight .cta__action,
    #pagina-accidente-laboral-caba .hero__highlight .cta__action,
    #pagina-accidente-laboral-gba .hero__highlight .cta__action,
    #pagina-accidente-laboral-zona-oeste .hero__highlight .cta__action,
    #pagina-accidente-laboral-resto-pais .hero__highlight .cta__action,
    #pagina-accidente-laboral-zona-norte .hero__highlight .cta__action,
    #pagina-accidente-laboral-zona-sur .hero__highlight .cta__action,
    #pagina-accidente-general .hero__highlight .cta__action {
            margin-top: 8px !important;
        }
        #pagina-accidente-laboral .hero__highlight .btn-solid-gold,
    #pagina-accidente-nautico .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-caba .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-zona-oeste .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-argentina .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-zona-norte .hero__highlight .btn-solid-gold,
    #pagina-accidente-transito-zona-sur .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-caba .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-gba .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-zona-oeste .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-resto-pais .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-zona-norte .hero__highlight .btn-solid-gold,
    #pagina-accidente-laboral-zona-sur .hero__highlight .btn-solid-gold,
    #pagina-accidente-general .hero__highlight .btn-solid-gold {
            height: auto !important;
            min-height: 45px !important;
            font-size: 10px !important;
            padding: 10px !important;
            letter-spacing: 0.05em !important;
            contain: none !important;
        }
        #pagina-accidente-laboral .hero__list-wrapper,
    #pagina-accidente-nautico .hero__list-wrapper,
    #pagina-accidente-transito .hero__list-wrapper,
    #pagina-accidente-transito-caba .hero__list-wrapper,
    #pagina-accidente-transito-zona-oeste .hero__list-wrapper,
    #pagina-accidente-transito-argentina .hero__list-wrapper,
    #pagina-accidente-transito-zona-norte .hero__list-wrapper,
    #pagina-accidente-transito-zona-sur .hero__list-wrapper,
    #pagina-accidente-laboral-caba .hero__list-wrapper,
    #pagina-accidente-laboral-gba .hero__list-wrapper,
    #pagina-accidente-laboral-zona-oeste .hero__list-wrapper,
    #pagina-accidente-laboral-resto-pais .hero__list-wrapper,
    #pagina-accidente-laboral-zona-norte .hero__list-wrapper,
    #pagina-accidente-laboral-zona-sur .hero__list-wrapper,
    #pagina-accidente-general .hero__list-wrapper {
            height: 50px !important;
            margin-top: 1.5rem !important;
        }
        #pagina-accidente-laboral .hero__list li,
    #pagina-accidente-nautico .hero__list li,
    #pagina-accidente-transito .hero__list li,
    #pagina-accidente-transito-caba .hero__list li,
    #pagina-accidente-transito-zona-oeste .hero__list li,
    #pagina-accidente-transito-argentina .hero__list li,
    #pagina-accidente-transito-zona-norte .hero__list li,
    #pagina-accidente-transito-zona-sur .hero__list li,
    #pagina-accidente-laboral-caba .hero__list li,
    #pagina-accidente-laboral-gba .hero__list li,
    #pagina-accidente-laboral-zona-oeste .hero__list li,
    #pagina-accidente-laboral-resto-pais .hero__list li,
    #pagina-accidente-laboral-zona-norte .hero__list li,
    #pagina-accidente-laboral-zona-sur .hero__list li,
    #pagina-accidente-general .hero__list li {
            padding: 6px 8px !important;
            font-size: 0.55rem !important;
            flex-direction: column !important;
            gap: 2px !important;
        }
        #pagina-accidente-laboral .hero__list li svg,
    #pagina-accidente-nautico .hero__list li svg,
    #pagina-accidente-transito .hero__list li svg,
    #pagina-accidente-transito-caba .hero__list li svg,
    #pagina-accidente-transito-zona-oeste .hero__list li svg,
    #pagina-accidente-transito-argentina .hero__list li svg,
    #pagina-accidente-transito-zona-norte .hero__list li svg,
    #pagina-accidente-transito-zona-sur .hero__list li svg,
    #pagina-accidente-laboral-caba .hero__list li svg,
    #pagina-accidente-laboral-gba .hero__list li svg,
    #pagina-accidente-laboral-zona-oeste .hero__list li svg,
    #pagina-accidente-laboral-resto-pais .hero__list li svg,
    #pagina-accidente-laboral-zona-norte .hero__list li svg,
    #pagina-accidente-laboral-zona-sur .hero__list li svg,
    #pagina-accidente-general .hero__list li svg {
            font-size: 1rem !important;
        }
    }



.hero--subpage {
    height: 70vh;
    min-height: 500px;
    display: flex;
    align-items: center;
}

.text-block-premium {
    max-width: 1200px;
    margin: 0 auto;
    background: linear-gradient(160deg, rgba(24, 24, 24, 0.6) 0%, rgba(10, 10, 10, 0.95) 100%);
    border: 1px solid rgba(200, 169, 126, 0.15);
    border-top: 3px solid var(--color-gold-solid);
    border-radius: 6px;
    padding: clamp(30px, 5vw, 50px);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.text-block-premium p {
    color: var(--color-text-secondary);
    font-size: clamp(0.95rem, 2.5vw, 1.1rem);
    line-height: 1.8;
    margin-bottom: 20px;
    font-weight: 300;
}

.text-block-premium p:last-child {
    margin-bottom: 0;
}

.faq-answer-inner {
    padding-bottom: 25px;
}

.faq-answer-inner p {
    padding-bottom: 15px;
}


.faq-subsection-title {
    font-family: var(--font-display);
    font-size: clamp(1rem, 2.6vw, 1.15rem);
    font-weight: 600;
    color: var(--color-gold-solid);
    letter-spacing: 0.04em;
    line-height: 1.3;
    margin: 2.4rem 0 1rem 0;
    padding-left: 14px;
    border-left: 3px solid var(--color-gold-solid);
}

.faq-subsection-title:first-child {
    margin-top: 0;
}

.premium-list {
    list-style: none;
    padding: 0;
    margin: 1.5rem 0 2rem 0;
}

.premium-list li {
    position: relative;
    padding-left: 32px;
    margin-bottom: 16px;
    color: var(--color-text-secondary);
    line-height: 1.6;
    font-size: clamp(0.85rem, 2.5vw, 0.95rem);
    transition: color 0.3s ease;
}

.premium-list li i {
    position: absolute;
    left: 0;
    top: 5px;
    color: var(--color-gold-solid);
    font-size: 0.9rem;
    opacity: 0.8;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.3s ease;
}

.premium-list li:hover {
    color: #ffffff;
}

.premium-list li:hover i {
    transform: scale(1.15) translateX(3px);
    opacity: 1;
}

.premium-list li strong {
    color: var(--color-gold-solid);
    font-weight: 600;
}


.process-timeline--5 {
    grid-template-columns: repeat(5, 1fr);
}



@media (min-width: 993px) {
    #proceso:has(.process-timeline--5) {
        height: 200vh !important;
    }
}



@media (max-width: 1200px) {
    .process-timeline--5 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 992px) {
    .process-timeline--5 {
        grid-template-columns: 1fr;
        padding-left: 32px;
    }
}



.process-timeline--3 {
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 992px) {
    .process-timeline--3 {
        grid-template-columns: 1fr;
        padding-left: 32px;
    }
}


.scroll-indicator-position {
    position: absolute;
    bottom: clamp(15px, 12vh, 25px);
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    z-index: 20;
}

.scroll-indicator-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    cursor: pointer;
}

.scroll-text {
    font-family: var(--font-body);
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.3em;
    color: rgba(255, 255, 255, 0.5);
    transition: color 0.3s ease;
}

.scroll-arrows {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.scroll-arrows span {
    display: block;
    width: 12px;
    height: 12px;
    border-bottom: 2px solid var(--color-gold-solid);
    border-right: 2px solid var(--color-gold-solid);
    transform: rotate(45deg);
    margin: -4px 0;
    opacity: 0;
    animation: premiumArrows 2.5s infinite;
}

.scroll-arrows span:nth-child(1) {
    animation-delay: 0s;
}

.scroll-arrows span:nth-child(2) {
    animation-delay: 0.2s;
}

.scroll-arrows span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes premiumArrows {
    0% {
        opacity: 0;
        transform: rotate(45deg) translate(-5px, -5px);
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: rotate(45deg) translate(5px, 5px);
    }
}

.scroll-indicator-wrapper:hover .scroll-text {
    color: var(--color-gold-solid);
}

.scroll-indicator-wrapper:hover .scroll-arrows span {
    animation-play-state: paused;
    opacity: 1;
    transform: rotate(45deg) translate(0, 0);
    transition: all 0.3s ease;
}

@media (max-height: 650px) {
    .scroll-indicator-position {
        display: none;
    }
}

.seo-expand-block {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        opacity 0.35s ease;
    pointer-events: none;
}

.seo-expand-block.is-open {
    max-height: 400px;
    opacity: 1;
    pointer-events: auto;
}

.seo-expand-block p {
    font-size: clamp(0.65rem, 1.2vw, 0.72rem);
    color: var(--color-text-muted);
    line-height: 1.75;
    padding-top: 10px;
    border-top: 1px solid var(--border-subtle);
    margin-top: 10px;
}

.practice-tags-wrap {
    position: relative;
}

.practice-tags-wrap .practice-tags {
    margin-bottom: 1rem;
}

.practice-tags-wrap .practice-tags li {
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.practice-tags-wrap .practice-tags li.tag-hidden {
    display: none;
}

.practice-tags-wrap.is-open .practice-tags li.tag-hidden {
    display: flex !important;
    animation: fadeInTags 0.4s ease forwards;
}

.btn-ver-mas {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    font-family: var(--font-body);
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--accent-gold);
    background: none;
    border: none;
    padding: 4px 0;
    cursor: pointer;
    transition: opacity 0.2s ease;
    opacity: 0.7;
}

.btn-ver-mas:hover {
    opacity: 1;
}

.btn-ver-mas i {
    font-size: 0.6rem;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.btn-ver-mas.is-open i {
    transform: rotate(180deg);
}

.btn-ver-mas--tags {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-bottom: 2rem;
    padding: 10px 16px;
    font-size: 0.75rem;
    color: var(--color-text-secondary);
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 3px;
    transition: all 0.3s ease;
}

.btn-ver-mas--tags:hover {
    background: rgba(200, 169, 126, 0.08);
    color: var(--color-gold-solid);
    border-color: rgba(200, 169, 126, 0.3);
}

.btn-ver-mas--tags i {
    margin-left: 8px;
}




@keyframes fadeInTags {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


@media (hover: none) {

    .feature-box.auto-hover {
        transform: translateY(-4px);
        border-color: rgba(200, 169, 126, 0.25);
        background: rgba(22, 19, 13, 0.98);
        box-shadow:
            0 20px 40px rgba(0, 0, 0, 0.7),
            0 0 0 1px rgba(200, 169, 126, 0.08);
    }

    .feature-box.auto-hover .whyus-icon-animated {
        background: var(--color-gold-solid);
        border-color: var(--color-gold-solid);
        box-shadow: 0 0 24px rgba(200, 169, 126, 0.3);
        transform: rotate(-8deg) scale(1.1);
    }

    .feature-box.auto-hover .whyus-icon-animated i {
        color: var(--bg-deep-black) !important;
    }

    .feature-box.auto-hover .feature-box__title {
        color: var(--color-gold-solid);
    }

    .feature-box.auto-hover .feature-box__title::after {
        width: 100%;
    }

    .feature-box.auto-hover .feature-box__text strong {
        color: var(--color-gold-solid);
    }

    .feature-box.auto-hover .practice-tags li {
        color: #e8e4dc;
        border-color: rgba(200, 169, 126, 0.35);
        background: rgba(200, 169, 126, 0.06);
    }

    .feature-box.auto-hover .feature-microcopy {
        color: var(--color-gold-solid);
        border-top-color: rgba(200, 169, 126, 0.15);
    }

    .authority-item.auto-hover .authority-item__glow {
        opacity: 1;
    }

    .authority-item.auto-hover .authority-item__line {
        width: 100%;
    }

    .authority-item.auto-hover .authority-item__num {
        color: var(--color-gold-solid);
        text-shadow: 0 0 30px rgba(200, 169, 126, 0.5);
    }

    .authority-item.auto-hover .authority-item__icon-wrap {
        background: var(--color-gold-solid);
        border-color: var(--color-gold-solid);
        box-shadow: 0 0 20px rgba(200, 169, 126, 0.3);
    }

    .authority-item.auto-hover .authority-item__icon-wrap i,
    .authority-item.auto-hover .authority-item__icon-wrap svg {
        color: var(--bg-deep-black);
    }

    .authority-item.auto-hover .authority-item__title {
        color: var(--color-gold-solid);
    }

    .process-card.auto-hover,
    .process-step.auto-hover .process-card {
        border-color: rgba(200, 169, 126, 0.25);
        border-top-color: rgba(200, 169, 126, 0.6);
        transform: translateY(-4px);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6);
    }

    .process-step.auto-hover .process-card__glow {
        opacity: 1;
    }

    .process-step.auto-hover .process-card__line {
        width: 100%;
    }

    .process-step.auto-hover .process-number {
        color: var(--color-gold-solid);
        text-shadow: 0 0 30px rgba(200, 169, 126, 0.5);
    }

    .process-step.auto-hover .process-icon-wrap {
        background: var(--color-gold-solid);
        border-color: var(--color-gold-solid);
    }

    .process-step.auto-hover .process-icon-wrap i {
        color: var(--bg-deep-black);
    }

    .process-step.auto-hover .process-title {
        color: #fff;
    }

    .process-bg-svg path {
    transition: opacity 0.5s ease, stroke-width 0.5s ease;
    }

    .process-step.step-active .process-bg-svg path[stroke="var(--color-gold-solid)"] {
        opacity: 0.15; 
        stroke-width: 2; 
    }

    .insurer-plaque.auto-hover {
        transform: translateY(-4px);
        border-color: rgba(200, 169, 126, 0.4);
        box-shadow: 0 16px 32px rgba(0, 0, 0, 0.6);
    }

    .insurer-plaque.auto-hover .insurer-plaque__icon {
        background: var(--color-gold-solid);
        color: var(--bg-deep-black);
        box-shadow: 0 0 18px rgba(200, 169, 126, 0.3);
    }

    .insurer-plaque.auto-hover .insurer-plaque__name {
        color: var(--color-gold-solid);
    }

    .insurer-plaque.auto-hover .insurer-plaque__divider {
        width: 60px;
        background: rgba(200, 169, 126, 0.5);
    }

    .faq-item.auto-hover {
        border-color: rgba(200, 169, 126, 0.2);
        background: rgba(255, 255, 255, 0.03);
    }

    .feature-box,
    .authority-item,
    .insurer-plaque {
        transition-duration: 0.35s !important;
    }
}


.premium-reading-text {
    text-align: justify;
    text-justify: inter-word;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    font-size: clamp(0.95rem, 2.5vw, 1.1rem);
    line-height: 1.85;
    color: var(--color-text-secondary);
    font-weight: 300;
    margin: 0 auto 1.5rem auto;
}

.premium-reading-text:last-child {
    margin-bottom: 0;
}

.premium-reading-text strong {
    color: #ffffff;
    font-weight: 500;
    box-shadow: inset 0 -6px 0 rgba(200, 169, 126, 0.35);
    padding: 0 2px;
    text-shadow: 0 0 10px rgba(200, 169, 126, 0.1);
    transition: all 0.3s ease;
    border-radius: 1px;
}

.premium-reading-text strong:hover {
    color: var(--color-gold-solid);
    box-shadow: inset 0 -10px 0 rgba(200, 169, 126, 0.1);
}


.authority-item__icon-wrap svg {
    display: block;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    color: var(--color-gold-solid);
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.4s ease;
}

.whyus-icon-animated svg {
    display: block;
    margin: auto;
}


.feature-box__icon {
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
    display: flex;
}
.feature-box__icon svg {
    display: block;
    margin: 0;
}


.whatsapp-float-wrap {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
    pointer-events: none; 
}

.whatsapp-float {
    position: relative !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(45px, 10vw, 55px) !important;
    height: clamp(45px, 10vw, 55px) !important;
    pointer-events: auto;
    z-index: 20;


    background: radial-gradient(circle at 32% 28%, #34d878 0%, #25D366 60%, #1eb155 100%) !important;
    border-radius: 50% !important;
    box-shadow:
        0 6px 16px rgba(37, 211, 102, 0.28),
        0 2px 5px rgba(0, 0, 0, 0.18),
        inset 0 1px 1px rgba(255, 255, 255, 0.18) !important;
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
}

.whatsapp-float::before {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(37, 211, 102, 0.22) 0%, transparent 75%);
    z-index: -1;
    animation: whatsappOrbPulse 3s ease-in-out infinite;
    pointer-events: none;
}

@keyframes whatsappOrbPulse {
    0%, 100% { transform: scale(1); opacity: 0.5; }
    50%      { transform: scale(1.08); opacity: 0.25; }
}

.whatsapp-float:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow:
        0 10px 22px rgba(37, 211, 102, 0.4),
        0 3px 7px rgba(0, 0, 0, 0.22),
        inset 0 1px 1px rgba(255, 255, 255, 0.22) !important;
}

.whatsapp-float:hover::before {
    animation-play-state: paused;
    transform: scale(1.12);
    opacity: 0.45;
}

.whatsapp-float svg {
    position: relative;
    z-index: 1;
}

.whatsapp-tooltip svg {
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
}


.whatsapp-tooltip {
    position: absolute;
    bottom: calc(100% + 15px);
    right: 10px;
    transform: scale(0.9) translateY(10px);
    transform-origin: bottom right;
    background: linear-gradient(145deg, rgba(20, 20, 20, 0.85) 0%, rgba(5, 5, 5, 0.95) 100%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(200, 169, 126, 0.15);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    
    color: #e0e0e0;
    padding: 14px 20px;
    border-radius: 8px;
    font-size: 0.85rem;
    font-family: var(--font-body);
    font-weight: 400;
    width: max-content;
    max-width: 240px;
    text-align: center;
    line-height: 1.5;
    
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                visibility 0.5s;
    z-index: 10;
}

.whatsapp-tooltip::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 1px;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.5) 0%, transparent 100%);
    z-index: 1;
}

.whatsapp-tooltip strong {
    color: #ffffff;
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 0.02em;
    display: inline-block;
    margin-top: 2px;
}


.whatsapp-tooltip .close-wt {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 16px;
    height: 16px;
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    transition: color 0.3s ease, transform 0.3s ease;
    z-index: 11;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
}

.whatsapp-tooltip .close-wt:hover {
    color: var(--color-gold-solid);
    transform: scale(1.1) rotate(90deg);
}


.whatsapp-tooltip::after {
    content: '';
    position: absolute;
    bottom: -6px;
    right: 18px;
    width: 12px;
    height: 12px;
    background: rgba(5, 5, 5, 0.95);
    border-right: 1px solid rgba(200, 169, 126, 0.15);
    border-bottom: 1px solid rgba(200, 169, 126, 0.15);
    transform: rotate(45deg);
    z-index: 0;
}


.wt-text-container {
    display: grid;
    place-items: center;
    width: 100%;
}

.wt-text-default, 
.wt-text-hover {
    grid-area: 1 / 1; 
    transition: opacity 0.4s ease, transform 0.4s ease;
    width: 100%;
    text-align: center;
}

.wt-text-default {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.wt-text-hover {
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--color-gold-solid);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.wt-text-hover strong {
    font-size: 0.9rem;
    font-weight: 600;
    margin-top: 2px;
    letter-spacing: 0.05em;
    color: var(--color-gold-solid);
}


.whatsapp-tooltip.show {
    opacity: 1 !important;
    visibility: visible !important;
    transform: scale(1) translateY(0) !important;
    pointer-events: auto !important; 
}

.whatsapp-float:hover + .whatsapp-tooltip {
    opacity: 1 !important;
    visibility: visible !important;
    transform: scale(1) translateY(0) !important;
}

.whatsapp-float:hover + .whatsapp-tooltip .wt-text-default {
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
}

.whatsapp-float:hover + .whatsapp-tooltip .wt-text-hover {
    opacity: 1;
    transform: translateY(0);
}

.whatsapp-tooltip.wt-hovering {
    opacity: 1 !important;
    visibility: visible !important;
    transform: scale(1) translateY(0) !important;
    pointer-events: auto !important;
}

.whatsapp-tooltip.wt-hovering .wt-text-default {
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
}

.whatsapp-tooltip.wt-hovering .wt-text-hover {
    opacity: 1;
    transform: translateY(0);
}




@media (max-width: 480px) {
    .whatsapp-tooltip {
        font-size: 0.75rem;
        padding: 10px 16px;
        right: 0;
        bottom: calc(100% + 12px);
        max-width: 190px;
    }
    
    .wt-text-container {
        min-height: 34px;
    }

    .wt-text-hover {
        font-size: 0.65rem; 
        gap: 4px;
    }

    .wt-text-hover svg {
        font-size: 0.8rem;
    }

    .wt-text-hover strong {
        font-size: 0.85rem;
        margin-top: 1px;
    }

    .whatsapp-tooltip .close-wt {
        top: 4px;
        right: 4px;
        width: 16px;
        height: 16px;
    }
}


#perf-toggle-btn {
    position: fixed;
    bottom: 80px;
    left: -10px;
    width: 45px;
    height: 45px;
    border-radius: 30%;
    background: rgba(18, 18, 18, 0.85);
    border: 1px solid rgba(200, 169, 126, 0.25);
    color: rgba(200, 169, 126, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 999;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.2s ease;
    padding: 0;
}

#perf-toggle-btn:hover {
    background: rgba(28, 28, 28, 0.95);
    color: var(--color-gold-solid);
    border-color: rgba(200, 169, 126, 0.6);
    transform: scale(1.08);
}

#perf-toggle-btn.is-active {
    background: rgba(200, 169, 126, 0.15);
    color: var(--color-gold-solid);
    border-color: var(--color-gold-solid);
}


@media (max-width: 991px), (pointer: coarse) {
    #perf-toggle-btn {
        display: none !important;
    }
}


.consulta-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(20px, 3vw, 32px);
    align-items: stretch;
    max-width: 1100px;
    margin: 0 auto;
}

@media (min-width: 992px) {
    .consulta-layout {
        grid-template-columns: minmax(280px, 1fr) minmax(0, 1.4fr);
        gap: clamp(28px, 4vw, 48px);
        align-items: stretch;
    }
}

.consulta-photo {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 6px;
    background: linear-gradient(135deg,
        rgba(200, 169, 126, 0.2) 0%,
        rgba(22, 19, 13, 0.95) 60%,
        rgba(10, 10, 10, 1) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    box-shadow:
        0 25px 50px rgba(0, 0, 0, 0.55),
        0 8px 16px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(200, 169, 126, 0.12);
}

.consulta-photo::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent);
    z-index: 2;
    opacity: 0.7;
}

.consulta-photo::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(10, 10, 10, 0.55) 100%);
    pointer-events: none;
    z-index: 2;
}

.consulta-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 1;
    filter: saturate(0.95) contrast(1.05);
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.consulta-photo:hover img {
    transform: scale(1.03);
}

@media (max-width: 600px) {
    .consulta-photo {
        aspect-ratio: 16 / 10;
    }
}


.consulta-submit-gold {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-top: 1rem !important;
    cursor: pointer;
}



.submenu-zones a.is-active-page,
.header__submenu .submenu-zones a.is-active-page {
    color: var(--color-gold-solid) !important;
    border-color: var(--color-gold-solid) !important;
    background: rgba(200, 169, 126, 0.12) !important;
    text-decoration: underline !important;
    text-decoration-color: var(--color-gold-solid) !important;
    text-underline-offset: 4px !important;
    text-decoration-thickness: 2px !important;
    font-weight: 600 !important;
}


.submenu-main-link.is-active-page,
.header__submenu .submenu-main-link.is-active-page {
    color: var(--color-gold-solid) !important;
    text-decoration: none !important;
    padding-bottom: 4px;
}


.submenu-main-link.is-active-page::after,
.header__submenu .submenu-main-link.is-active-page::after {
    text-decoration: none !important;
    text-decoration-line: none !important;
    display: block !important;
    box-shadow: none !important;
    padding-bottom: 0 !important;
}


.header__menu > li > .header__link.is-active-page {
    color: #ffffff !important;
    text-shadow: 0 0 15px rgba(200, 169, 126, 0.4);
    transform: translateY(-2px);
    text-decoration: none !important;
}

.header__menu > li > .header__link.is-active-page::after {
    transform: scaleX(1) !important;
    opacity: 1 !important;
}


@media (min-width: 992px) {

    .submenu-item-all .submenu-main-link::after {
        content: none !important;
        display: none !important;
    }

    .submenu-item-all a:hover,
    .submenu-item-all .submenu-main-link:hover {
        background: var(--color-gold-solid) !important;
        color: #050505 !important;
        border-color: var(--color-gold-solid) !important;
        box-shadow: 0 6px 18px rgba(200, 169, 126, 0.35) !important;
    }

    .submenu-item-all a::after {
        display: inline-block !important;
        content: '' !important;
        width: 8px;
        height: 8px;
        border-right: 2px solid currentColor;
        border-top: 2px solid currentColor;
        transform: translateY(-1px) rotate(45deg);
        flex-shrink: 0;
        margin-left: 2px;
        background: none;
        opacity: 1;
        position: static;
    }
    .submenu-item-all a:hover::after {
        transform: translate(4px, -1px) rotate(45deg) !important;
    }
}

.submenu-card.has-active-page {
    position: relative;
}

.submenu-card.has-active-page::before {
    content: '';
    position: absolute;
    left: -8px;
    top: 4px;
    bottom: 4px;
    width: 2px;
    background: linear-gradient(180deg, transparent, var(--color-gold-solid), transparent);
    box-shadow: 0 0 8px rgba(200, 169, 126, 0.4);
    pointer-events: none;
}


.feature-box__icon svg {
    font-size: 2.2rem;
}

.whyus-icon-animated svg,
.practice-card__icon-wrap svg {
    font-size: inherit;
}

.stat-icon-special {
    background: none !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
    color: var(--color-gold-solid);
}

.map-service-tag svg {
    font-size: 1.1em;
}


.premium-card-hover, .practice-card {
    transform-style: preserve-3d;
    perspective: 2000px; 
    transition: transform 0.15s ease-out, box-shadow 0.4s ease, border-color 0.4s ease;
    
    will-change: transform; 
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
}

.premium-card-hover > *, .practice-card > * {
    transform: translateZ(10px); 
    transition: transform 0.3s ease;
}


.feature-box,
.practice-card,
.premium-card-hover {
    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: auto !important; 
}

.feature-box:hover,
.practice-card:hover,
.premium-card-hover:hover {
    transform: translate3d(0, -6px, 0) !important;
}

.feature-box *,
.practice-card *,
.premium-card-hover * {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;

}

.practice-tags li,
.btn-ver-mas--tags {
    will-change: auto;
}



.text-reveal-on-scroll {
    --scroll-progress: 0%;
    -webkit-mask-image: linear-gradient(
        to bottom, 
        black var(--scroll-progress), 
        rgba(0,0,0,0.2) calc(var(--scroll-progress) + 25%)
    );
    mask-image: linear-gradient(
        to bottom, 
        black var(--scroll-progress), 
        rgba(0,0,0,0.2) calc(var(--scroll-progress) + 25%)
    );
}

.insurers-section {
    position: relative;
    overflow: hidden; 
}

.insurers-section .container {
    position: relative;
    z-index: 1; 
}


.local-seo {
    position: relative;
    z-index: 10;
}


.local-seo__card {
    background: linear-gradient(160deg, rgba(24, 24, 24, 0.6) 0%, rgba(10, 10, 10, 0.95) 100%);
    border: 1px solid rgba(200, 169, 126, 0.15);
    border-top: 3px solid var(--color-gold-solid);
    border-radius: 6px;
    padding: clamp(40px, 6vw, 70px) clamp(20px, 4vw, 60px);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    position: relative;
    overflow: hidden;
    max-width: 1100px;
    margin: 0 auto;
}

.local-seo__glow {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 70%;
    height: 100%;
    background: radial-gradient(ellipse at top, rgba(200, 169, 126, 0.08) 0%, transparent 60%);
    pointer-events: none;
    z-index: 0;
}


.local-seo__header {
    position: relative;
    z-index: 2;
    text-align: center;
    margin-bottom: clamp(30px, 5vw, 40px);
}

.local-seo__title {
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 4vw, 2.2rem);
    color: #fff;
    line-height: 1.25;
    margin-bottom: 16px;
    letter-spacing: 0.02em;
}

.local-seo__subtitle {
    font-size: clamp(0.95rem, 2vw, 1.1rem);
    color: var(--color-text-secondary);
    max-width: 1250px;
    margin: 0 auto;
    line-height: 1.6;
    font-weight: 300;
}


.local-seo__body {
    position: relative;
    z-index: 2;
}


.local-seo__text p {
    font-size: clamp(0.95rem, 2vw, 1.05rem);
    line-height: 1.8;
    color: var(--color-text-secondary);
    margin-bottom: 1.2rem;
    max-width: 1250px;
    margin-inline: auto;
    text-align: center;
    font-weight: 300;
}

.local-seo__text p:last-child {
    margin-bottom: 0;
}

.local-seo__text--bottom {
    margin-top: clamp(30px, 5vw, 45px);
    margin-bottom: clamp(30px, 5vw, 40px);
}


.local-seo__text strong, .local-seo__subtitle strong {
    color: #fff;
    font-weight: 500;
    box-shadow: inset 0 -6px 0 rgba(200, 169, 126, 0.25);
    transition: color 0.3s ease, box-shadow 0.3s ease;
    padding: 0 2px;
}

.local-seo__text strong:hover {
    color: var(--color-gold-solid);
    box-shadow: inset 0 -10px 0 rgba(200, 169, 126, 0.15);
}

.coverage-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(12px, 2vw, 20px);
    margin: clamp(35px, 5vw, 45px) auto;
    max-width: 1200px;
}

@media (min-width: 861px) {
    .coverage-grid > .coverage-item:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        justify-self: center;
        width: calc(50% - 10px); 
    }
}

.coverage-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: clamp(16px, 3vw, 20px) clamp(16px, 3vw, 24px);
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 4px;
    transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
    will-change: transform;
}

.coverage-item:hover {
    background: rgba(200, 169, 126, 0.06);
    border-color: rgba(200, 169, 126, 0.3);
    transform: translateY(-3px);
}

.coverage-item__icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 50%;
    background: rgba(200, 169, 126, 0.08);
    border: 1px solid rgba(200, 169, 126, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gold-solid);
    font-size: 1rem;
    transition: all 0.3s ease;
}

.coverage-item:hover .coverage-item__icon {
    background: var(--color-gold-solid);
    color: var(--bg-deep-black);
    box-shadow: 0 0 15px rgba(200, 169, 126, 0.3);
}

.coverage-item__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.coverage-item__text strong {
    font-family: var(--font-display);
    font-size: clamp(0.9rem, 2vw, 1.05rem);
    color: #fff;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.2;
    transition: color 0.3s ease;
}

.coverage-item:hover .coverage-item__text strong {
    color: var(--color-gold-solid);
}

.coverage-item__text span {
    font-size: clamp(0.75rem, 1.5vw, 0.85rem);
    color: var(--color-text-muted);
    line-height: 1.4;
    font-weight: 400;
    transition: color 0.3s ease;
}

.coverage-item:hover .coverage-item__text span {
    color: var(--color-text-secondary);
}

.local-seo__cta {
    text-align: center;
}

@media (max-width: 860px) {
    .coverage-grid {
        grid-template-columns: 1fr;
    }
    
    .local-seo__text p {
        text-align: left;
    }
}

@media (max-width: 400px) {
    .local-seo__card {
        padding: 28px 16px;
    }
    
    .local-seo__title {
        font-size: 1.4rem;
    }

    .local-seo__subtitle {
        font-size: 0.9rem;
    }

    .local-seo__text p {
        font-size: 0.88rem;
    }

    .coverage-item {
        padding: 14px 12px;
        gap: 12px;
    }

    .coverage-item__icon {
        width: 34px;
        height: 34px;
        min-width: 34px;
        font-size: 0.85rem;
    }
}

@media (max-width: 320px) {
    .local-seo__card {
        padding: 24px 12px;
        border-radius: 4px;
    }
    
    .local-seo__text p {
        font-size: 0.85rem;
        line-height: 1.6;
    }

    .coverage-item__text strong {
        font-size: 0.85rem;
    }

    .coverage-item__text span {
        font-size: 0.7rem;
    }
}



.seo-premium-card {
    position: relative;
    background: linear-gradient(160deg, rgba(20, 20, 20, 0.6) 0%, rgba(5, 5, 5, 0.95) 100%);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-top: 3px solid var(--color-gold-solid);
    border-radius: 8px;
    padding: clamp(35px, 6vw, 70px) clamp(20px, 5vw, 60px);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    max-width: 1400px;
    margin: 0 auto;
    overflow: hidden;
    z-index: 1;
}

.seo-premium-card__glow {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 70%;
    height: 120px;
    background: radial-gradient(ellipse, rgba(200, 169, 126, 0.12) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.seo-premium-card .premium-reading-text {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.8rem;
    font-size: clamp(0.95rem, 2vw, 1.05rem);
    line-height: 1.85;
    color: var(--color-text-secondary);
    text-align: justify;
    text-justify: inter-word;
    -webkit-hyphens: auto;
    hyphens: auto;
    position: relative;
    z-index: 2;
}

.seo-premium-card .premium-reading-text:last-of-type {
    margin-bottom: 1rem;
}

.seo-premium-card__divider {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(200, 169, 126, 0.25), transparent);
    margin: clamp(2rem, 5vw, 3.5rem) 0;
    position: relative;
    z-index: 2;
}

.premium-list--grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 3vw, 24px);
    margin: 0 auto;
    max-width: 900px;
    padding: 0;
    position: relative;
    z-index: 2;
}

.premium-list--grid li {
    display: flex !important; 
    align-items: flex-start;
    gap: 16px;
    padding: clamp(16px, 3vw, 24px) !important; 
    margin-bottom: 0 !important;
    background: rgba(255, 255, 255, 0.015);
    border: 1px solid rgba(255, 255, 255, 0.03);
    border-radius: 6px;
    transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
    will-change: transform;
}

.premium-list--grid li:hover {
    background: rgba(200, 169, 126, 0.04);
    border-color: rgba(200, 169, 126, 0.25);
    transform: translateY(-3px);
}

.premium-list--grid li svg {
    position: static !important; 
    flex-shrink: 0;
    font-size: 1.3rem !important;
    color: var(--color-gold-solid);
    margin-top: 3px !important; 
    opacity: 1 !important;
}

.premium-list--grid li:hover svg {
    transform: scale(1.1); 
}

.premium-list--grid li .list-text {
    flex: 1;
    font-size: clamp(0.85rem, 1.8vw, 0.95rem);
    line-height: 1.6;
    color: var(--color-text-secondary);
}

.premium-list--grid li strong {
    display: block; 
    font-family: var(--font-display);
    font-size: 1.05em;
    color: #fff;
    margin-bottom: 4px;
    font-weight: 500;
    letter-spacing: 0.02em;
    transition: color 0.3s ease;
}

.premium-list--grid li:hover strong {
    color: var(--color-gold-solid);
}

.seo-premium-card__outro {
    text-align: center;
    position: relative;
    z-index: 2;
}

.seo-premium-card__outro .premium-reading-text {
    text-align: center; 
    margin-bottom: 2rem;
}

.seo-premium-card__outro .cta__action {
    margin-top: 0;
}




@media (max-width: 860px) {
    .premium-list--grid {
        grid-template-columns: 1fr; 
        gap: 16px;
    }
}

@media (max-width: 576px) {
    .seo-premium-card {
        padding: 30px 20px;
        border-radius: 4px;
    }
    
    .seo-premium-card .premium-reading-text {
        font-size: 0.9rem;
        line-height: 1.7;
    }

    .premium-list--grid li {
        padding: 16px !important;
        gap: 12px;
    }

    .premium-list--grid li svg {
        font-size: 1.15rem !important;
    }

    .premium-list--grid li .list-text {
        font-size: 0.85rem;
    }
}

@media (max-width: 360px) {
    .seo-premium-card {
        padding: 24px 14px;
    }

    .seo-premium-card__divider {
        margin: 1.8rem 0;
    }

    .seo-premium-card .premium-reading-text {
        font-size: 0.85rem;
        line-height: 1.6;
        margin-bottom: 1.2rem;
    }

    .premium-list--grid {
        gap: 12px;
    }

    .premium-list--grid li {
        padding: 14px 12px !important;
        gap: 10px;
    }

    .premium-list--grid li svg {
        font-size: 1rem !important;
        margin-top: 2px !important;
    }

    .premium-list--grid li .list-text {
        font-size: 0.8rem;
    }

    .premium-list--grid li strong {
        font-size: 1em;
        margin-bottom: 2px;
    }

    .seo-premium-card__outro .premium-reading-text {
        margin-bottom: 1.5rem;
    }
}


.editorial-premium-box {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    background: linear-gradient(145deg, rgba(24, 24, 24, 0.6) 0%, rgba(10, 10, 10, 0.9) 100%);
    border: 1px solid rgba(200, 169, 126, 0.15);
    border-left: 4px solid var(--color-gold-solid);
    border-radius: 4px;
    padding: clamp(30px, 5vw, 60px) clamp(20px, 5vw, 50px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
    overflow: clip;
    text-align: left;
}

.editorial-glow {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle at top left, rgba(200, 169, 126, 0.05) 0%, transparent 50%);
    pointer-events: none;
    z-index: 0;
}

.editorial-content, .editorial-list-wrapper {
    position: relative;
    z-index: 2;
}

.drop-cap {
    float: left;
    font-family: var(--font-display);
    font-size: clamp(3.5rem, 6vw, 4.5rem);
    color: var(--color-gold-solid);
    line-height: 0.8;
    padding-right: 8px;
    padding-top: 4px;
    margin-bottom: -4px;
    text-shadow: 0 4px 15px rgba(200, 169, 126, 0.2);
}

.editorial-lead {
    font-size: clamp(1.05rem, 2.5vw, 1.2rem);
    color: #fff;
    line-height: 1.7;
    margin-bottom: 1.5rem;
    font-weight: 300;
}

.editorial-lead strong {
    font-weight: 500;
    color: var(--color-gold-solid);
}


.editorial-concept-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 2rem 0;
}

@media (max-width: 992px) {
    .editorial-concept-grid {
        grid-template-columns: 1fr;
    }
}


.law-badge-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px dashed rgba(200, 169, 126, 0.18);
}

.law-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    background: rgba(200, 169, 126, 0.08);
    border: 1px solid rgba(200, 169, 126, 0.22);
    border-radius: 999px;
    color: var(--color-gold-solid);
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.2;
    white-space: nowrap;
    transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.law-badge::before {
    content: '§';
    font-family: var(--font-display, 'Cinzel', serif);
    font-size: 0.9rem;
    line-height: 1;
    color: var(--color-gold-solid);
    opacity: 0.7;
}

.law-badge:hover {
    background: rgba(200, 169, 126, 0.18);
    border-color: rgba(200, 169, 126, 0.5);
    color: #f5e8d3;
    transform: translateY(-1px);
}

.law-badge:hover::before { opacity: 1; }


.editorial-stat-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin-top: 2.25rem;
    padding: clamp(1.25rem, 2.5vw, 1.75rem) 0;
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.05) 0%, rgba(200, 169, 126, 0.015) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 8px;
    position: relative;
    overflow: hidden;
}

.editorial-stat-strip::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--color-gold-solid) 50%, transparent 100%);
    opacity: 0.35;
}

.editorial-stat {
    text-align: center;
    padding: 0.4rem 1rem;
    border-right: 1px solid rgba(200, 169, 126, 0.12);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.4rem;
}

.editorial-stat:last-child { border-right: 0; }

.editorial-stat__num {
    display: block;
    font-family: var(--font-display, 'Cinzel', serif);
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 600;
    color: var(--color-gold-solid);
    line-height: 1;
    letter-spacing: -0.02em;
}

.editorial-stat__lbl {
    display: block;
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 0.78rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.78);
    font-weight: 400;
    max-width: 140px;
}

.editorial-stat__cite {
    display: inline-block;
    padding: 3px 9px;
    background: rgba(200, 169, 126, 0.12);
    border: 1px solid rgba(200, 169, 126, 0.28);
    border-radius: 999px;
    color: var(--color-gold-solid);
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .editorial-stat-strip {
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
    }
    .editorial-stat {
        padding: 0.8rem 0.75rem;
        border-bottom: 1px solid rgba(200, 169, 126, 0.12);
    }
    .editorial-stat:nth-child(2n) { border-right: 0; }
    .editorial-stat:nth-last-child(-n+2) { border-bottom: 0; }
}

@media (max-width: 480px) {
    .editorial-stat-strip {
        grid-template-columns: 1fr;
    }
    .editorial-stat {
        border-right: 0;
        border-bottom: 1px solid rgba(200, 169, 126, 0.12);
        padding: 1rem;
    }
    .editorial-stat:last-child { border-bottom: 0; }
}

.editorial-concept-card {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 4px;
    padding: clamp(16px, 3vw, 24px);
    transition: background 0.3s ease, border-color 0.3s ease;
}

.editorial-concept-card:hover {
    background: rgba(200, 169, 126, 0.04);
    border-color: rgba(200, 169, 126, 0.2);
}

.editorial-concept-card .concept-icon {
    font-size: 1.3rem;
    color: var(--color-gold-solid);
    margin-bottom: 12px;
}

.editorial-concept-card h4 {
    font-family: var(--font-display);
    font-size: clamp(0.9rem, 2vw, 1.05rem);
    color: #fff;
    margin-bottom: 10px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.editorial-concept-card p {
    font-size: clamp(0.85rem, 2vw, 0.95rem);
    color: var(--color-text-secondary);
    line-height: 1.7;
    margin: 0;
}

.editorial-concept-card p strong {
    color: #fff;
    font-weight: 500;
}

.editorial-highlight-inline {
    margin: 2rem 0;
    padding: 1rem 1.5rem;
    background: rgba(200, 169, 126, 0.04);
    border-left: 2px solid var(--color-gold-solid);
    border-radius: 0 4px 4px 0;
}

.editorial-highlight-inline p {
    margin: 0;
    font-size: clamp(1rem, 2vw, 1.15rem);
    color: var(--color-gold-solid);
    font-style: italic;
    font-weight: 400;
    line-height: 1.6;
}

.editorial-highlight-inline strong {
    color: #fff;
    font-style: normal;
}

.editorial-divider {
    position: relative;
    z-index: 2;
    height: 1px;
    width: 100%;
    background: linear-gradient(90deg, rgba(200, 169, 126, 0.3) 0%, transparent 100%);
    margin: 2.5rem 0;
}

.editorial-list-title {
    font-family: var(--font-display);
    font-size: clamp(1.1rem, 2vw, 1.3rem);
    color: #fff;
    margin-bottom: 1.5rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    display: flex;
    align-items: center;
    gap: 10px;
}

.editorial-list-title i, .editorial-list-title svg {
    color: var(--color-gold-solid);
    font-size: 1rem;
}

.editorial-premium-box .premium-list {
    margin: 0;
}

.editorial-premium-box .premium-list li {
    font-size: clamp(0.9rem, 2vw, 0.95rem);
    margin-bottom: 14px;
}



.premium-list--scenarios {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(12px, 1.5vw, 18px);
    counter-reset: scenario-counter;
}

.premium-list--scenarios li {
    list-style: none !important;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    margin: 0 !important;
    padding: 1.25rem 1rem 1.1rem 1rem;
    background: linear-gradient(155deg, rgba(200, 169, 126, 0.04) 0%, rgba(200, 169, 126, 0.005) 60%, transparent 100%);
    border: 1px solid rgba(200, 169, 126, 0.16);
    border-left: 2px solid var(--color-gold-solid);
    border-radius: 0 6px 6px 0;
    overflow: hidden;
    isolation: isolate;
    counter-increment: scenario-counter;
    transition: background 0.35s ease, border-color 0.35s ease, transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                box-shadow 0.35s ease;
}



.premium-list--scenarios li::before {
    content: "0" counter(scenario-counter);
    position: absolute;
    top: -8px;
    right: -2px;
    font-family: var(--font-display, 'Cinzel', serif);
    font-size: 3.2rem;
    color: rgba(200, 169, 126, 0.05);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.04em;
    pointer-events: none;
    z-index: 0;
    transition: color 0.4s ease, transform 0.4s ease;
}



.premium-list--scenarios li::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background: linear-gradient(90deg, var(--color-gold-solid) 0%, transparent 100%);
    transition: width 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    pointer-events: none;
    z-index: 1;
}

.premium-list--scenarios li:hover {
    background: linear-gradient(155deg, rgba(200, 169, 126, 0.10) 0%, rgba(200, 169, 126, 0.02) 60%, transparent 100%);
    border-color: rgba(200, 169, 126, 0.42);
    border-left-color: #e8d4a8;
    transform: translateY(-3px);
    box-shadow: 0 14px 28px -16px rgba(200, 169, 126, 0.45),
                0 4px 8px -4px rgba(0, 0, 0, 0.4);
}

.premium-list--scenarios li:hover::before {
    color: rgba(200, 169, 126, 0.18);
    transform: translateX(-4px) translateY(2px);
}

.premium-list--scenarios li:hover::after { width: 100%; }



.premium-list--scenarios li > svg {
    flex-shrink: 0;
    width: 38px !important;
    height: 38px !important;
    padding: 9px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.18) 0%, rgba(200, 169, 126, 0.05) 100%);
    border: 1px solid rgba(200, 169, 126, 0.35);
    color: var(--color-gold-solid);
    box-sizing: border-box;
    transition: background 0.35s ease, border-color 0.35s ease, transform 0.35s ease;
    position: relative;
    z-index: 2;
}

.premium-list--scenarios li:hover > svg {
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.32) 0%, rgba(200, 169, 126, 0.12) 100%);
    border-color: var(--color-gold-solid);
    transform: scale(1.05);
}


.premium-list--scenarios li {
    font-size: 0.85rem !important;
    line-height: 1.55 !important;
    color: rgba(255, 255, 255, 0.72);
    position: relative;
    z-index: 2;
}

.premium-list--scenarios li > strong {
    display: block;
    font-family: var(--font-display, 'Cinzel', serif);
    font-size: clamp(0.95rem, 1.7vw, 1.05rem) !important;
    font-weight: 600;
    color: #ffffff;
    letter-spacing: 0.005em;
    line-height: 1.3;
    margin-bottom: 2px;
}

.premium-list--scenarios li:hover > strong {
    color: #f8efde;
}


@media (prefers-reduced-motion: reduce) {
    .premium-list--scenarios li,
    .premium-list--scenarios li::before,
    .premium-list--scenarios li::after,
    .premium-list--scenarios li > svg {
        transition: none !important;
    }
    .premium-list--scenarios li:hover {
        transform: none;
    }
}


@media (max-width: 1100px) {
    .premium-list--scenarios {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 768px) {
    .premium-list--scenarios {
        grid-template-columns: repeat(2, 1fr);
    }
    .premium-list--scenarios li::before {
        font-size: 2.6rem;
    }
}
@media (max-width: 460px) {
    .premium-list--scenarios {
        grid-template-columns: 1fr;
    }
    .premium-list--scenarios li {
        padding: 1.1rem 1rem;
    }
}


.editorial-premium-box .premium-list--scenarios li {
    font-size: 0.85rem;
    margin-bottom: 0;
}
.editorial-premium-box .premium-list--scenarios li svg {
    width: 38px;
    height: 38px;
}


@media (max-width: 768px) {
    .editorial-concept-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}

@media (max-width: 400px) {
    .editorial-premium-box {
        border-left-width: 3px;
        padding: 24px 16px;
    }
    
    .editorial-highlight-inline {
        margin: 1.5rem 0;
        padding: 0.8rem 1rem;
    }
    
    .editorial-divider {
        margin: 2rem 0;
    }
}

@media (max-width: 320px) {
    .editorial-premium-box {
        padding: 20px 12px;
    }
    .editorial-concept-card {
        padding: 14px;
    }
    .editorial-concept-card h4 {
        font-size: 0.85rem;
    }
    .editorial-list-title {
        font-size: 0.95rem;
    }
}


.editorial-mini-cta {
    margin-top: 2rem;
    padding: 1rem 1.5rem;
    background: linear-gradient(90deg, rgba(200, 169, 126, 0.06) 0%, transparent 100%);
    border-left: 2px solid var(--color-gold-solid);
    border-radius: 0 4px 4px 0;
    font-family: var(--font-body);
    font-size: clamp(0.85rem, 2vw, 0.95rem);
    color: var(--color-text-secondary);
    line-height: 1.6;
    font-style: italic;
    position: relative;
    z-index: 2;
}

.editorial-mini-cta strong {
    color: #ffffff;
    font-weight: 600;
    font-style: normal;
    transition: color 0.3s ease;
}

.editorial-mini-cta:hover strong {
    color: var(--color-gold-solid);
}




.editorial-concept-card .concept-icon {
    font-size: 2.2rem; 
}

.editorial-concept-card .concept-icon svg {
    width: 1em;
    height: 1em;
    display: block; 
}


.editorial-premium-box .premium-list li svg {
    width: 1.2em;
    height: 1.2em;
    flex-shrink: 0; 
}




.map-seo-banner a:not(.btn-solid-gold),
.local-seo__body a:not(.btn-solid-gold):not(.coverage-item),
.seo-inline-link,
.faq-answer a:not(.btn-solid-gold) {
    position: relative;
    color: var(--color-gold-solid);
    text-decoration: none;
    font-weight: 600;
   
    transition: color 0.3s ease;
    border-bottom: none !important; 
    background-image: none !important;
}

.map-seo-banner a:not(.btn-solid-gold)::after,
.local-seo__body a:not(.btn-solid-gold):not(.coverage-item)::after,
.seo-inline-link::after,
.faq-answer a:not(.btn-solid-gold)::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: 0;
    left: 0;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent);
    transform: scaleX(0);
    transform-origin: bottom right;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.map-seo-banner a:not(.btn-solid-gold):hover,
.local-seo__body a:not(.btn-solid-gold):not(.coverage-item):hover,
.seo-inline-link:hover,
.faq-answer a:not(.btn-solid-gold):hover {
    color: #fff;
    text-shadow: 0 0 12px rgba(200, 169, 126, 0.4);
}

.map-seo-banner a:not(.btn-solid-gold):hover::after,
.local-seo__body a:not(.btn-solid-gold):not(.coverage-item):hover::after,
.seo-inline-link:hover::after,
.faq-answer a:not(.btn-solid-gold):hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}


a.coverage-item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: clamp(18px, 3vw, 26px);
    background: linear-gradient(145deg, rgba(25, 25, 25, 0.4) 0%, rgba(10, 10, 10, 0.8) 100%);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 8px;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    box-shadow: 
        0 15px 35px rgba(0, 0, 0, 0.6), 
        inset 0 1px 0 rgba(255, 255, 255, 0.06);

    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: auto;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                border-color 0.4s ease, 
                box-shadow 0.4s ease,
                background 0.4s ease;
                
}

a.coverage-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: var(--color-gold-solid);
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

a.coverage-item:hover,
a.coverage-item:focus-visible {
    transform: translate3d(0, -6px, 0);
    background: linear-gradient(145deg, rgba(30, 30, 30, 0.6) 0%, rgba(15, 15, 15, 0.95) 100%);
    border-color: rgba(200, 169, 126, 0.3);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.8), 
                inset 0 0 20px rgba(200, 169, 126, 0.05);
    outline: none;
}

a.coverage-item:hover::before,
a.coverage-item:focus-visible::before {
    transform: scaleY(1);
    transform-origin: top;
}


.coverage-item__icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 50%;
    background: radial-gradient(circle at top left, rgba(200, 169, 126, 0.15) 0%, rgba(200, 169, 126, 0.02) 100%);
    border: 1px solid rgba(200, 169, 126, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gold-solid);
    font-size: 1.2rem;
    box-shadow: inset 0 0 10px rgba(200, 169, 126, 0.1);
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), 
                background 0.4s ease, 
                color 0.4s ease,
                box-shadow 0.4s ease;
}

a.coverage-item:hover .coverage-item__icon {
    background: var(--color-gold-solid);
    color: var(--bg-deep-black);
    transform: scale(1.1) rotate(-5deg);
    box-shadow: 0 0 20px rgba(200, 169, 126, 0.4);
    border-color: var(--color-gold-solid);
}


.coverage-item__text {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
    -webkit-font-smoothing: antialiased;
}

.coverage-item__text strong {
    font-family: var(--font-display);
    font-size: clamp(1rem, 2vw, 1.1rem);
    color: #ffffff;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.2;
    transition: color 0.3s ease, text-shadow 0.3s ease;
}

a.coverage-item:hover .coverage-item__text strong {
    color: var(--color-gold-solid);
    text-shadow: 0 0 15px rgba(200, 169, 126, 0.3);
}

.coverage-item__text span {
    font-size: clamp(0.8rem, 1.5vw, 0.9rem);
    color: rgba(255, 255, 255, 0.65); 
    line-height: 1.6;
    font-weight: 300;
    transition: color 0.3s ease;
}

a.coverage-item:hover .coverage-item__text span {
    color: rgba(255, 255, 255, 0.85);
}


.coverage-item__arrow {
    color: rgba(200, 169, 126, 0.4);
    font-size: 1.2rem;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.3s ease;
}

a.coverage-item:hover .coverage-item__arrow {
    color: var(--color-gold-solid);
    transform: translateX(5px);
}


.map-seo-banner {
    position: relative;
    background: linear-gradient(170deg, rgba(20, 20, 20, 0.95) 0%, rgba(5, 5, 5, 1) 100%);
    border-top: 3px solid var(--color-gold-solid);
    box-shadow: 0 -15px 40px rgba(0, 0, 0, 0.7);
    text-align: center;
    padding: clamp(40px, 6vw, 60px) clamp(20px, 5vw, 40px);
    font-size: clamp(0.9rem, 2vw, 1.05rem);
    color: var(--color-text-secondary);
    letter-spacing: 0.02em;
    line-height: 1.8;
    z-index: 5;
    overflow: hidden;
}

.map-seo-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 150px;
    background: radial-gradient(ellipse at top, rgba(200, 169, 126, 0.15) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.map-seo-banner > * {
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin-inline: auto;
}

.map-seo-banner strong {
    color: #ffffff;
    font-weight: 500;
    box-shadow: inset 0 -6px 0 rgba(200, 169, 126, 0.2);
    padding: 0 2px;
}


*:focus-visible {
    outline: 2px solid var(--color-gold-solid) !important;
    outline-offset: 4px !important;
    border-radius: 4px;
}

@media (max-width: 480px) {
    a.coverage-item {
        padding: 16px 14px;
        gap: 14px;
    }
    .coverage-item__icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
        font-size: 1rem;
    }
}


#consecuencia-accidente {
    position: relative;
    overflow: hidden;
    z-index: 1;
}


.consec-wrap {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    padding: clamp(40px, 6vw, 80px) clamp(20px, 4vw, 60px);
    background: linear-gradient(160deg, rgba(24, 24, 24, 0.6) 0%, rgba(10, 10, 10, 0.95) 100%);
    border: 1px solid rgba(255, 255, 255, 0.03);
    border-top: 3px solid var(--color-gold-solid);
    border-radius: 4px;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    z-index: 2;
}



.consec-wrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 150px;
    background: radial-gradient(ellipse at top, rgba(200, 169, 126, 0.1) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}



.consec-header {
    text-align: center;
    margin-bottom: clamp(30px, 5vw, 40px);
    position: relative;
    z-index: 2;
}

.consec-title {
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    line-height: 1.15;
    letter-spacing: -0.01em;
    font-weight: 500;
    color: #fff;
    margin-bottom: 16px;
}

.consec-title .consec-gold {
    background: var(--color-accent-gold);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 2px 10px rgba(200, 169, 126, 0.2));
}

.consec-sub {
    font-size: clamp(0.95rem, 2vw, 1.1rem);
    line-height: 1.7;
    color: var(--color-text-secondary);
    max-width: 1100px;
    margin: 0 auto;
    font-weight: 300;
}

.consec-sub strong {
    color: #fff;
    font-weight: 500;
}



.consec-legal-card {
    position: relative;
    background: linear-gradient(90deg, rgba(200, 169, 126, 0.05) 0%, transparent 100%);
    border-left: 3px solid var(--color-gold-solid);
    padding: clamp(20px, 3vw, 30px) clamp(20px, 3vw, 40px);
    margin-bottom: clamp(35px, 5vw, 50px);
    border-radius: 0 4px 4px 0;
    z-index: 2;
}

.consec-legal-card__label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-body);
    font-size: 0.7rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
    margin-bottom: 12px;
    font-weight: 600;
}

.consec-legal-card p {
    font-size: clamp(0.95rem, 2vw, 1.05rem);
    line-height: 1.8;
    color: #e0e0e0;
    margin-bottom: 12px;
    font-weight: 300;
}

.consec-legal-card p:last-child {
    margin-bottom: 0;
}

.consec-legal-card strong {
    color: #fff;
    font-weight: 600;
    box-shadow: inset 0 -6px 0 rgba(200, 169, 126, 0.2);
}



.consec-rubros-title {
    font-family: var(--font-display);
    font-size: clamp(1.2rem, 2.5vw, 1.5rem);
    color: #fff;
    text-align: center;
    margin-bottom: 24px;
    font-weight: 500;
    position: relative;
    z-index: 2;
}

.consec-rubros {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(12px, 2vw, 20px);
    margin-bottom: clamp(40px, 6vw, 60px);
    position: relative;
    z-index: 2;
}

.consec-rubro {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 4px;
    padding: 24px 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.consec-rubro:hover {
    background: rgba(200, 169, 126, 0.05);
    border-color: rgba(200, 169, 126, 0.3);
    transform: translateY(-3px);
}

.consec-rubro__num {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 600;
    color: var(--color-gold-solid);
    line-height: 1;
    margin-bottom: 8px;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.consec-rubro:hover .consec-rubro__num {
    opacity: 1;
    text-shadow: 0 0 15px rgba(200, 169, 126, 0.5);
}

.consec-rubro__lbl {
    font-family: var(--font-body);
    font-size: clamp(0.75rem, 1.5vw, 0.85rem);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-secondary);
    font-weight: 600;
}

.consec-rubro:hover .consec-rubro__lbl {
    color: #fff;
}


.consec-divider {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    position: relative;
    z-index: 2;
}

.consec-divider::before,
.consec-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(200, 169, 126, 0.3), transparent);
}

.consec-divider__text {
    font-family: var(--font-body);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--color-gold-solid);
    font-weight: 600;
}


.consec-paths {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2.5vw, 24px);
    margin-bottom: clamp(30px, 5vw, 45px);
    position: relative;
    z-index: 2;
}

@media (max-width: 992px) {
    .consec-paths {
        grid-template-columns: repeat(2, 1fr);
    }
}

.consec-path {
    display: flex;
    flex-direction: column;
    background: linear-gradient(145deg, rgba(35, 35, 38, 0.5) 0%, rgba(10, 10, 12, 0.9) 100%);
    
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 6px;
    padding: clamp(24px, 4vw, 32px);
    text-decoration: none;
    position: relative;
    overflow: hidden;
    

    box-shadow: 
        0 15px 35px rgba(0, 0, 0, 0.6), 
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: auto;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                border-color 0.3s ease, 
                box-shadow 0.3s ease, 
                background 0.3s ease;
}

.consec-path::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 0%;
    background: var(--color-gold-solid);
    transition: height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.consec-path:hover {

    transform: translate3d(0, -8px, 0);
    background: linear-gradient(145deg, rgba(45, 45, 48, 0.7) 0%, rgba(15, 15, 18, 0.95) 100%);
    border-color: rgba(200, 169, 126, 0.3);
    box-shadow: 
        0 25px 50px rgba(0, 0, 0, 0.8), 
        inset 0 1px 0 rgba(200, 169, 126, 0.2);
}

.consec-path:hover::before {
    height: 100%;
}

.consec-path__icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(200, 169, 126, 0.05);
    border: 1px solid rgba(200, 169, 126, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gold-solid);
    font-size: 1.1rem;
    margin-bottom: 18px;
    transition: all 0.3s ease;
}

.consec-path:hover .consec-path__icon {
    background: var(--color-gold-solid);
    color: var(--bg-deep-black);
    transform: scale(1.1) rotate(-5deg);
}

.consec-path__title {
    font-family: var(--font-display);
    font-size: clamp(1.1rem, 2vw, 1.25rem);
    color: #fff;
    font-weight: 500;
    margin-bottom: 10px;
    letter-spacing: 0.02em;
    transition: color 0.3s ease;
}

.consec-path:hover .consec-path__title {
    color: var(--color-gold-solid);
}

.consec-path__desc {
    font-family: var(--font-body);
    font-size: clamp(0.85rem, 1.5vw, 0.95rem);
    color: var(--color-text-secondary);
    line-height: 1.6;
    margin-bottom: 20px;
    flex-grow: 1;
}

.consec-path__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--color-gold-solid);
    margin-top: auto;
    transition: transform 0.3s ease;
}

.consec-path:hover .consec-path__link {
    transform: translateX(5px);
}


.consec-outro {
    text-align: center;
    position: relative;
    z-index: 2;
}

.consec-outro p {
    font-size: clamp(0.95rem, 2vw, 1.1rem);
    color: var(--color-text-secondary);
    margin-bottom: 0;
}


@media (max-width: 992px) {
    .consec-paths {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .consec-rubros {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    
    .consec-rubro {
        padding: 20px 12px;
    }
    
    .consec-rubro__num {
        font-size: 1.6rem;
    }
    
    .consec-legal-card {
        padding: 20px;
    }
}

@media (max-width: 360px) {
    .consec-wrap {
        padding: 30px 16px;
    }

    .consec-title {
        font-size: 1.5rem;
    }
}


body.sitemap-open { overflow: hidden; }
html.sitemap-open { overflow: hidden; }
.sitemap-drawer { overscroll-behavior: contain; }
.sitemap-drawer__content { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }


.seo-showcase-premium {
    position: relative;
    overflow: hidden;
    padding: clamp(80px, 8vw, 120px) 0;
    background-color: var(--bg-deep-black, #050505);
    border-top: 1px solid rgba(255, 255, 255, 0.03);
}

.seo-showcase-premium__bg-glow {
    position: absolute;
    top: 20%;
    left: 60%;
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.05) 0%, transparent 60%);
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 0;
}

.seo-showcase-premium .container {
    position: relative;
    z-index: 2;
}

.seo-showcase-premium__grid {
    display: grid;
    grid-template-columns: 4fr 5fr;
    gap: clamp(40px, 6vw, 80px);
    align-items: flex-start;
}


.seo-showcase-premium__left {
    position: sticky;
    top: 120px; 
}

.seo-showcase-premium__overline {
    display: block;
    font-family: var(--font-body, sans-serif);
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    color: var(--color-gold-solid, #C8A97E);
    margin-bottom: 20px;
    font-weight: 700;
}

.seo-showcase-premium__title {
    font-family: var(--font-display, serif);
    font-size: clamp(2rem, 4vw, 3.2rem);
    color: #ffffff;
    line-height: 1.15;
    font-weight: 500;
    text-transform: uppercase;
    margin-bottom: 40px;
    letter-spacing: -0.01em;
}


.seo-showcase-premium__metrics {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 25px 30px;
    background: linear-gradient(145deg, rgba(20, 20, 20, 0.6) 0%, rgba(5, 5, 5, 0.9) 100%);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-left: 3px solid var(--color-gold-solid, #C8A97E);
    border-radius: 4px;
    max-width: 520px;
    height: max-content;
    box-shadow: 0 15px 40px rgba(0,0,0,0.5);
}

.metric-item {
    display: flex;
    align-items: center;
    gap: 40px;
    margin: 1rem 1rem 1rem 1rem;
}

.metric-num {
    font-family: var(--font-display, serif);
    font-size: clamp(2.2rem, 3vw, 2.8rem);
    color: var(--color-gold-solid, #C8A97E);
    line-height: 1;
    font-weight: 600;
    min-width: 85px;
}

.metric-text {
    font-family: var(--font-body, sans-serif);
    font-size: 0.75rem;
    color: var(--color-text-secondary, #c9c8c8);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    line-height: 1.4;
    font-weight: 600;
}

.metric-divider {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(200, 169, 126, 0.2), transparent);
}


.seo-drop-cap {
    float: left;
    font-family: var(--font-display, serif);
    font-size: clamp(3.5rem, 5vw, 4.5rem);
    color: var(--color-gold-solid, #C8A97E);
    line-height: 0.8;
    padding-right: 12px;
    padding-top: 4px;
    margin-bottom: -5px;
    text-shadow: 0 4px 15px rgba(200, 169, 126, 0.2);
}


.seo-drop-cap--sub {
    color: rgba(200, 169, 126, 0.6);
}


.seo-showcase-premium__right {
    display: flex;
    flex-direction: column;
    gap: clamp(30px, 4vw, 50px);
}

.seo-showcase-premium__lead,
.seo-showcase-premium__sidebar-text p {
    font-size: clamp(0.95rem, 1.8vw, 1.05rem);
    color: var(--color-text-secondary, #c9c8c8);
    line-height: 1.8;
    font-weight: 300;
    margin: 0;
}

.seo-showcase-premium__lead strong,
.seo-showcase-premium__sidebar-text strong {
    color: #ffffff;
    font-weight: 600;
}


.seo-showcase-premium__card {
    position: relative;
    background: linear-gradient(160deg, rgba(24, 24, 24, 0.6) 0%, rgba(10, 10, 10, 0.95) 100%);
    border: 1px solid rgba(200, 169, 126, 0.25);
    border-radius: 6px;
    padding: clamp(40px, 5vw, 60px) clamp(30px, 4vw, 50px); /* Más alta */
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.seo-showcase-premium__card:hover {
    transform: translateY(-5px);
    box-shadow: 0 25px 60px rgba(0,0,0,0.8), inset 0 0 20px rgba(200, 169, 126, 0.05);
}

.seo-showcase-premium__card-icon {
    position: absolute;
    top: -18px;
    right: 30px;
    width: 36px;
    height: 36px;
    background: var(--bg-deep-black, #050505);
    border: 1px solid var(--color-gold-solid, #C8A97E);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gold-solid, #C8A97E);
    font-size: 0.9rem;
}

.seo-card-highlight {
    font-family: var(--font-display, serif);
    font-size: clamp(1rem, 2vw, 1.25rem) !important;
    color: #ffffff !important;
    text-transform: uppercase;
    line-height: 1.4 !important;
    margin-bottom: 30px !important;
    font-weight: 500;
}

.seo-card-sub {
    font-family: var(--font-body, sans-serif);
    font-size: clamp(0.9rem, 1.5vw, 1rem) !important;
    color: var(--color-text-secondary, #c9c8c8) !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}


.seo-showcase-premium__card .seo-drop-cap {
    font-size: clamp(2.8rem, 4vw, 3.5rem);
    padding-top: 4px;
    padding-right: 15px;
}


.seo-showcase-premium__action {
    display: flex;
    justify-content: flex-start;
    margin-top: 10px;
}



@media (max-width: 992px) {

    .seo-showcase-premium { padding: 80px 0 !important; }
    .seo-showcase-premium__grid { grid-template-columns: 1fr; gap: 50px !important; }
    .seo-showcase-premium__left { position: relative; top: 0; }
    .seo-showcase-premium__title { margin-bottom: 25px !important; text-align: center !important; }
    .seo-showcase-premium__overline { text-align: center !important; }
    
    .seo-showcase-premium__metrics {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        max-width: 100%;
        padding: 20px;
        gap: 15px;
    }
    .metric-divider { display: none; } 
    .metric-item { flex-direction: column; text-align: center; gap: 5px; }
    .metric-num { min-width: auto; font-size: 2.2rem; }


    .seo-showcase-premium__right { padding: 0 10px; }
    .seo-showcase-premium__action .btn-solid-gold { width: 100%; }
}

@media (max-width: 576px) {

    .seo-showcase-premium__title { font-size: 2.2rem !important; }
    

    .seo-showcase-premium__card { 
        padding: 35px 25px 30px 25px !important; 
        margin: 1.5rem 0 !important; 
    }
    
    .seo-showcase-premium__card-icon { top: -15px; right: 20px; }
    

    .seo-drop-cap { 
        font-size: 3.2rem !important; 
        padding-right: 12px !important; 
        padding-top: 6px !important; 
    }
    .seo-showcase-premium__card .seo-drop-cap { 
        font-size: 2.6rem !important; 
        padding-right: 10px !important; 
    }


    .seo-showcase-premium__metrics {
        grid-template-columns: 1fr 1fr;
    }
    .seo-showcase-premium__metrics .metric-item:last-child {
        grid-column: 1 / -1;
    }


    [id^="info-ampliada-"] { padding-top: 60px !important; padding-bottom: 60px !important; }
    [id^="info-ampliada-"] .container { padding-left: 20px !important; padding-right: 20px !important; }
    [id^="info-ampliada-"] .container div > p { margin-bottom: 2rem !important; font-size: 1rem !important; }
    [id^="info-ampliada-"] .container div > p:nth-of-type(2) {
        padding: 1.5rem !important;
        margin: 2.5rem 0 !important;
    }
}

@media (max-width: 380px) {

    .seo-showcase-premium__card { padding: 30px 15px 25px 15px !important; }
    [id^="info-ampliada-"] .container div > p:nth-of-type(2) { padding: 1.2rem 1rem !important; }
    .metric-num { font-size: 1.8rem; }
}




@media (max-width: 992px) and (min-width: 769px) {
    .seo-showcase-premium { padding: 60px 0 !important; }
    .seo-showcase-premium__grid { gap: 40px !important; }
    .seo-showcase-premium__title {
        font-size: clamp(1.8rem, 3.5vw, 2.6rem) !important;
        margin-bottom: 24px !important;
    }
    .seo-showcase-premium__lead,
    .seo-showcase-premium__sidebar-text p {
        font-size: clamp(0.9rem, 1.5vw, 1rem) !important;
        line-height: 1.7 !important;
    }
    .seo-showcase-premium__card {
        padding: clamp(28px, 4vw, 44px) clamp(24px, 3.5vw, 36px) !important;
    }
    .seo-card-highlight { font-size: 1.05rem !important; margin-bottom: 20px !important; }
    .seo-drop-cap { font-size: 3.6rem !important; }
}


@media (max-width: 768px) {
    .seo-showcase-premium { padding: 50px 0 !important; }
    .seo-showcase-premium__grid { gap: 32px !important; }
    .seo-showcase-premium__overline {
        font-size: 0.6rem !important;
        margin-bottom: 14px !important;
        letter-spacing: 0.22em !important;
    }
    .seo-showcase-premium__title {
        font-size: clamp(1.6rem, 5.5vw, 2.2rem) !important;
        margin-bottom: 20px !important;
        line-height: 1.18 !important;
    }
    .seo-showcase-premium__metrics {
        padding: 16px !important;
        gap: 12px !important;
    }
    .metric-num { font-size: clamp(1.6rem, 5.5vw, 2.1rem) !important; }
    .metric-text { font-size: 0.68rem !important; }
    .seo-showcase-premium__lead,
    .seo-showcase-premium__sidebar-text p {
        font-size: 0.92rem !important;
        line-height: 1.65 !important;
    }
    .seo-showcase-premium__card {
        padding: 30px 22px 26px !important;
    }
    .seo-card-highlight {
        font-size: 0.98rem !important;
        margin-bottom: 16px !important;
    }
    .seo-card-sub { font-size: 0.86rem !important; line-height: 1.55 !important; }
    .seo-drop-cap {
        font-size: 2.8rem !important;
        padding-right: 10px !important;
        padding-top: 4px !important;
    }
    .seo-showcase-premium__card .seo-drop-cap {
        font-size: 2.4rem !important;
        padding-right: 8px !important;
    }
}


@media (max-width: 480px) {
    .seo-showcase-premium { padding: 40px 0 !important; }
    .seo-showcase-premium__grid { gap: 26px !important; }
    .seo-showcase-premium__right { padding: 0 !important; }
    .seo-showcase-premium__title {
        font-size: clamp(1.5rem, 6vw, 1.9rem) !important;
        margin-bottom: 16px !important;
    }
    .seo-showcase-premium__metrics {
        grid-template-columns: 1fr 1fr !important;
        padding: 14px !important;
        gap: 10px !important;
    }
    .seo-showcase-premium__metrics .metric-item:last-child {
        grid-column: 1 / -1;
    }
    .metric-num { font-size: 1.7rem !important; min-width: auto !important; }
    .metric-text { font-size: 0.62rem !important; letter-spacing: 0.06em !important; }
    .seo-showcase-premium__card {
        padding: 26px 18px 22px !important;
    }
    .seo-showcase-premium__card-icon {
        top: -14px !important;
        right: 16px !important;
        width: 32px !important;
        height: 32px !important;
    }
    .seo-card-highlight {
        font-size: 0.9rem !important;
        margin-bottom: 14px !important;
        line-height: 1.35 !important;
    }
    .seo-card-sub { font-size: 0.82rem !important; }
    .seo-drop-cap { font-size: 2.4rem !important; padding-right: 8px !important; }
    .seo-showcase-premium__card .seo-drop-cap { font-size: 2rem !important; padding-right: 6px !important; }
    .seo-showcase-premium__action { justify-content: center !important; }
    .seo-showcase-premium__action .btn-solid-gold {
        width: 100% !important;
        max-width: 100% !important;
    }
}


@media (max-width: 360px) {
    .seo-showcase-premium__title { font-size: 1.45rem !important; }
    .seo-showcase-premium__card { padding: 22px 14px 20px !important; }
    .seo-card-highlight { font-size: 0.85rem !important; }
    .seo-card-sub { font-size: 0.78rem !important; line-height: 1.5 !important; }
    .seo-drop-cap { font-size: 2.1rem !important; padding-right: 6px !important; }
    .seo-showcase-premium__card .seo-drop-cap { font-size: 1.8rem !important; }
    .metric-num { font-size: 1.5rem !important; }
}


[id^="info-ampliada-"] a:not(.btn-solid-gold):not([class*="btn"]),
.seo-showcase-premium a:not(.btn-solid-gold):not([class*="btn"]),
.map-seo-banner a:not(.btn-solid-gold):not([class*="btn"]),
.seo-inline-link {
    display: inline !important;
    color: var(--color-gold-solid) !important;
    font-weight: 600;
    text-decoration: none !important;
    background-image: linear-gradient(var(--color-gold-solid), var(--color-gold-solid)) !important;
    background-position: 0% 100% !important;
    background-repeat: no-repeat !important;
    background-size: 0% 1px !important;
    transition: background-size 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.3s ease !important;
}

[id^="info-ampliada-"] a:not(.btn-solid-gold):not([class*="btn"]):hover,
.seo-showcase-premium a:not(.btn-solid-gold):not([class*="btn"]):hover,
.map-seo-banner a:not(.btn-solid-gold):not([class*="btn"]):hover,
.seo-inline-link:hover {
    color: #ffffff !important;
    background-size: 100% 1px !important;
}

.map-seo-banner {
    position: relative;
    background: linear-gradient(175deg, rgba(18, 18, 18, 0.98) 0%, rgba(5, 5, 5, 1) 100%);
    border-top: 2px solid var(--color-gold-solid);
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    box-shadow: 0 -15px 40px rgba(0, 0, 0, 0.7);
    text-align: center;
    padding: clamp(50px, 8vw, 80px) clamp(20px, 5vw, 50px);
    font-size: clamp(0.95rem, 2vw, 1.05rem);
    color: #cfcfcf;
    line-height: 1.8;
    z-index: 5;
}

.map-seo-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 70%;
    height: 140px;
    background: radial-gradient(ellipse at top, rgba(200, 169, 126, 0.1) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.map-seo-banner > * {
    position: relative;
    z-index: 1;
    max-width: 950px;
    margin-inline: auto;
    margin-bottom: 1.8rem;
}

.map-seo-banner > *:last-child { margin-bottom: 0; }
.map-seo-banner strong { display: inline !important; color: #ffffff; font-weight: 600; }


[id^="info-ampliada-"] .container {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: clamp(40px, 5vw, 60px) clamp(16px, 5vw, 24px) !important;
    max-width: 900px;
}

[id^="info-ampliada-"] .section-title {
    padding-bottom: 30px !important;
    font-size: clamp(1.6rem, 4vw, 2.2rem) !important;
}

[id^="info-ampliada-"] .section-title::after {
    width: 200px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    height: 2px !important;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent) !important;
}

[id^="info-ampliada-"] .container div > p {
    font-size: clamp(1rem, 2vw, 1.15rem) !important;
    line-height: 1.85 !important;
    color: var(--color-text-secondary) !important;
    margin-bottom: 2rem !important;
    text-align: left !important;
}

[id^="info-ampliada-"] .container div > p:nth-of-type(2) {
    position: relative;
    background: linear-gradient(90deg, rgba(200, 169, 126, 0.05) 0%, transparent 100%);
    border-left: 3px solid var(--color-gold-solid) !important;
    padding: 1.5rem 2rem !important;
    margin: 2.5rem 0 !important;
    border-radius: 0 8px 8px 0 !important;
}

[id^="info-ampliada-"] p strong {
    color: #ffffff !important;
    font-weight: 600 !important;
    background: transparent !important;
    border: none !important;
    transition: color 0.3s ease !important;
}

[id^="info-ampliada-"] p strong:hover {
    color: var(--color-gold-solid) !important;
}

[id^="info-ampliada-"] .container div > p:first-of-type { font-size: clamp(1.1rem, 2.3vw, 1.3rem) !important; color: #ffffff !important; line-height: 1.7 !important; }
[id^="info-ampliada-"] p em { color: var(--color-gold-solid); font-style: italic; }



.info-reading-wrapper {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
    padding-left: clamp(45px, 8vw, 70px);
    margin-top: clamp(20px, 4vw, 40px);
}


.info-reading-wrapper::before {
    content: '';
    position: absolute;
    top: 30px;
    bottom: 30px;
    left: clamp(22.5px, 4vw, 35px); 
    width: 2px;
    background: linear-gradient(to bottom, rgba(200, 169, 126, 0.05), rgba(200, 169, 126, 0.3), rgba(200, 169, 126, 0.05));
    transform: translateX(-50%);
    z-index: 0;
}


.info-reading-progress {
    position: absolute;
    top: 30px;
    left: clamp(22.5px, 4vw, 35px);
    width: 2px;
    background: var(--color-gold-solid);
    box-shadow: 0 0 12px rgba(200, 169, 126, 0.8);
    transform: translateX(-50%);
    height: var(--info-reading-progress, 0%);
    z-index: 1;
    transition: height 0.15s ease-out;
}


.info-reading-card {
    position: relative;
    background: linear-gradient(145deg, rgba(24, 24, 24, 0.6) 0%, rgba(10, 10, 10, 0.95) 100%);
    border: 1px solid rgba(255, 255, 255, 0.03);
    border-radius: 12px;
    padding: clamp(24px, 5vw, 40px) clamp(24px, 4vw, 35px);
    margin-bottom: clamp(30px, 5vw, 40px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.4s ease;
    z-index: 2;
    transform: translateZ(0); 
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: auto;
}

.info-reading-card:hover {
    transform: translate3d(0, -6px, 0);
    border-color: rgba(200, 169, 126, 0.3);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(200, 169, 126, 0.1);
}


.info-reading-icon {
    position: absolute;
    top: 35px;
    left: calc(clamp(45px, 8vw, 70px) * -1 + clamp(22.5px, 4vw, 35px));
    transform: translateX(-50%);
    width: 44px;
    height: 44px;
    background: var(--bg-deep-black);
    border: 2px solid rgba(200, 169, 126, 0.25);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gold-solid);
    font-size: 1.15rem;
    z-index: 3;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.info-reading-icon svg {
    width: 1em;
    height: 1em;
    display: block;
}

.info-reading-card:hover .info-reading-icon {
    background: var(--color-gold-solid);
    color: var(--bg-deep-black);
    border-color: var(--color-gold-solid);
    box-shadow: 0 0 18px rgba(200, 169, 126, 0.5);
    transform: translateX(-50%) scale(1.15);
}


.info-reading-content p {
    font-family: var(--font-body);
    font-size: clamp(0.95rem, 2vw, 1.08rem);
    line-height: 1.85;
    color: var(--color-text-secondary);
    margin: 0;
    font-weight: 300;
}


.lead-text {
    font-size: 1.05em;
    color: #ffffff;
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 400;
}


.info-reading-content p strong {
    color: #ffffff;
    font-weight: 500;
}

strong.data-pill {
    background: linear-gradient(120deg, rgba(200, 169, 126, 0.15) 0%, rgba(200, 169, 126, 0.02) 100%);
    border-left: 2px solid var(--color-gold-solid);
    padding: 2px 6px 2px 8px;
    border-radius: 2px 4px 4px 2px;
    transition: all 0.3s ease;
    display: inline;
    line-height: 1.5;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.info-reading-card:hover p strong.data-pill {
    background: linear-gradient(120deg, rgba(200, 169, 126, 0.22) 0%, rgba(200, 169, 126, 0.05) 100%);
    color: var(--color-gold-solid);
}


.info-text-expandable {
    position: relative;
    max-height: 120px; 
    overflow: hidden;
    transition: max-height 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.info-text-expandable::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background: linear-gradient(to bottom, rgba(17, 17, 17, 0) 0%, rgba(15, 15, 15, 0.95) 100%);
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.info-text-expandable.is-expanded {
    max-height: 1500px; 
}

.info-text-expandable.is-expanded::after {
    opacity: 0;
}

.info-read-more-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: none;
    color: var(--color-gold-solid);
    font-family: var(--font-body);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    margin-top: 15px;
    padding: 0;
    transition: color 0.3s ease;
}

.info-read-more-btn svg {
    width: 12px;
    transition: transform 0.3s ease;
}

.info-read-more-btn:hover {
    color: #ffffff;
}

.info-read-more-btn.is-active svg {
    transform: rotate(180deg);
}


@media (max-width: 768px) {
    .info-reading-wrapper {
        padding-left: 0; 
    }
    
    .info-reading-wrapper::before,
    .info-reading-progress {
        display: none; 
    }
    
    .info-reading-icon {
        position: relative;
        top: 0;
        left: 0;
        transform: none;
        margin-bottom: 20px;
        width: 48px;
        height: 48px;
        font-size: 1.25rem;
        background: rgba(200, 169, 126, 0.08);
        border: 1px solid rgba(200, 169, 126, 0.2);
    }
    
    .info-reading-card:hover .info-reading-icon {
        transform: scale(1.08);
    }
    
    .info-reading-card {
        padding: 28px 20px;
        border-radius: 8px;
        margin-bottom: 24px;
    }
    
    strong.data-pill {
        background: transparent;
        padding: 0;
        border-left: none;
        border-bottom: 2px solid rgba(200, 169, 126, 0.4);
        border-radius: 0;
    }
}




@media (hover: none) {
    .practice-card:hover {
        background-color: var(--bg-charcoal);
    }
    .practice-card:hover .practice-card__bg {
        opacity: 0.65;
        transform: scale(1);
    }
    .practice-card:hover .practice-card__overlay {
        opacity: 1;
    }
    .practice-card:hover::before {
        opacity: 0;
    }
    .practice-card:hover .practice-icon {
        transform: none;
        color: var(--color-gold-solid);
    }
    .practice-card:hover .practice-card__title,
    .practice-card:hover .practice-card__desc {
        color: revert;
    }
    .practice-card:hover .practice-tags li {
        color: var(--color-text-secondary);
        border-color: rgba(200, 169, 126, 0.15);
        background: rgba(255, 255, 255, 0.03);
    }
    .practice-tags li:hover {
        background: rgba(255, 255, 255, 0.03) !important;
        color: var(--color-text-secondary) !important;
        transform: none;
        box-shadow: none;
    }
    .practice-card:hover .practice-card__btn,
    .practice-card:hover .practice-card__btn::after,
    .practice-card:hover .practice-card__btn i {
        transform: none;
    }
    .feature-box:hover .practice-tags li {
        color: var(--color-text-secondary);
        border-color: rgba(200, 169, 126, 0.15);
        background: rgba(255, 255, 255, 0.03);
        transform: none;
    }
   

    .feature-box .practice-tags li,
    .practice-card .practice-tags li,
    .feature-box.auto-hover .practice-tags li,
    .practice-card.auto-hover .practice-tags li {
        transition-delay: 0s !important;
        transition-duration: 0.15s !important;
    }
}


   
.insurers-flip-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 24px);
    margin-top: clamp(40px, 6vw, 60px);
    max-width: 1200px;
    margin-inline: auto;
    position: relative;
    z-index: 1;
}

.insurer-flip-card {
    position: relative;
    background: transparent;
    perspective: 1200px; 
    width: 100%;
    min-height: 350px; 
    cursor: pointer;
    outline: none; 
    -webkit-tap-highlight-color: transparent;
}

.insurer-flip-card__inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform-style: preserve-3d;
    will-change: transform;
}

@media (hover: hover) {
    .insurer-flip-card:hover .insurer-flip-card__inner,
    .insurer-flip-card:focus-within .insurer-flip-card__inner {
        transform: rotateY(180deg);
    }
}

.insurer-flip-card.is-flipped .insurer-flip-card__inner {
    transform: rotateY(180deg);
}

.insurer-flip-card:focus-visible {
    outline: 2px solid var(--color-gold-solid);
    outline-offset: 4px;
    border-radius: 8px;
}

.insurer-flip-card__front, 
.insurer-flip-card__back {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: clamp(1.5rem, 3vw, 2rem) 1.25rem;
    transform: translateZ(0); 
}

.insurer-flip-card__front {
    background: linear-gradient(145deg, rgba(24, 24, 24, 0.8) 0%, rgba(10, 10, 10, 0.95) 100%);
    border: 1px solid rgba(255, 255, 255, 0.04);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.insurer-flip-card__icon {
    width: 56px;
    height: 56px;
    background: radial-gradient(circle at top left, rgba(200, 169, 126, 0.15) 0%, rgba(200, 169, 126, 0.02) 100%);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gold-solid);
    font-size: 1.4rem;
    margin-bottom: 20px;
    box-shadow: inset 0 0 10px rgba(200, 169, 126, 0.1);
}

.insurer-flip-card__name {
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(1.05rem, 1.5vw, 1.25rem);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.03em;
    margin-bottom: 15px;
}

.insurer-flip-card__divider {
    width: 40px;
    height: 2px;
    background: rgba(200, 169, 126, 0.4);
    margin: 0 auto 15px;
}

.insurer-flip-card__status {
    color: var(--color-text-secondary);
    font-family: var(--font-body);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
}

.insurer-flip-card__status svg {
    color: var(--color-gold-solid);
    font-size: 0.85rem;
}

.insurer-flip-card__hint {
    margin-top: auto;
    padding-top: 25px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(200, 169, 126, 0.5);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
    opacity: 0.8;
}

.insurer-flip-card__back {

    background: radial-gradient(circle at center, rgba(30, 30, 32, 0.98) 0%, rgba(10, 10, 10, 1) 100%);
    border: 1px solid rgba(200, 169, 126, 0.35);
    transform: rotateY(180deg);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.8), inset 0 0 30px rgba(200, 169, 126, 0.08);
    justify-content: space-between;
}


.insurer-flip-card__back-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding-top: 10px;
    flex-grow: 1;
}


.insurer-flip-card__back-icon {
    color: var(--color-gold-solid);
    font-size: 1.2rem;
    margin-bottom: 15px;
    opacity: 0.9;
    filter: drop-shadow(0 0 8px rgba(200, 169, 126, 0.3));
}


.insurer-flip-card__seo-text {
    font-family: var(--font-body);
    font-size: 0.92rem;
    color: rgba(255, 255, 255, 0.85); 
    line-height: 1.65;
    margin: 0;
    font-weight: 300;
    text-align: center;
    -webkit-font-smoothing: antialiased;
}


.insurer-flip-card__seo-text strong {
    color: #ffffff;
    font-weight: 600;

    background-image: linear-gradient(120deg, rgba(200, 169, 126, 0.4) 0%, transparent 100%);
    background-repeat: no-repeat;
    background-size: 100% 35%;
    background-position: 0 90%;
    padding: 0 4px;
    border-radius: 2px;
    text-shadow: 0 0 15px rgba(200, 169, 126, 0.2);
    transition: background-size 0.4s ease;
}


.insurer-flip-card:hover .insurer-flip-card__seo-text strong,
.insurer-flip-card.is-flipped .insurer-flip-card__seo-text strong {
    background-size: 100% 50%;
}


.insurer-flip-card__cta {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 14px 15px !important;
    margin-top: 20px;
    font-family: var(--font-body) !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--bg-deep-black) !important;
    background: var(--color-gold-solid) !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    border: none !important;
    background-image: none !important;
    box-shadow: 0 5px 15px rgba(200, 169, 126, 0.15);
    transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease !important;
}

.insurer-flip-card__cta:hover,
.insurer-flip-card__cta:focus-visible {
    background: #dcc19a !important;
    transform: translateY(-3px) !important;
    color: var(--bg-deep-black) !important;
    box-shadow: 0 8px 25px rgba(200, 169, 126, 0.35) !important;
}


.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


@media (max-width: 992px) {
    .insurers-flip-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .insurers-flip-grid {
        gap: 16px;
    }
    .insurer-flip-card {
        min-height: 320px;
    }
    .insurer-flip-card__name {
        font-size: 1.05rem;
    }
    .insurer-flip-card__seo-text {
        font-size: 0.85rem;
    }
}

@media (max-width: 576px) {
    .insurers-flip-grid {
        grid-template-columns: 1fr;
        max-width: 380px; 
    }
    .insurer-flip-card {
        min-height: 300px;
    }
}



body.low-power-mode .noise-overlay,
body.low-power-mode .premium-orb,
body.low-power-mode .scroll-glow-line,
body.low-power-mode .legal-flow-animated,
body.low-power-mode .highlight-glow,
body.low-power-mode .editorial-glow,
body.low-power-mode .seo-premium-card__glow {
    display: none !important;
}



body.low-power-mode * {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}


body.low-power-mode .hero__background {
    animation: none !important;
    transform: scale(1) !important;
}

body.low-power-mode .whyus-particle,
body.low-power-mode .scroll-arrows span {
    animation: none !important;
    display: none !important;
}


body.low-power-mode .auto-hover,
body.low-power-mode .premium-card-hover.auto-hover,
body.low-power-mode .feature-box.auto-hover,
body.low-power-mode .process-step.auto-hover .process-card {
    transform: none !important;
    box-shadow: none !important;
   
}



.cookie-banner {
        position: fixed;
        bottom: 20px;
        right: 100px;
        max-width: 520px;
        background: rgba(15, 15, 20, 0.98);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border: 1px solid rgba(201, 165, 90, 0.25);
        border-radius: 12px;
        padding: 1.25rem 1.5rem;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(201, 165, 90, 0.08);
        z-index: 9998;
        font-family: 'Manrope', sans-serif;
        color: rgba(255, 255, 255, 0.85);
        transform: translateY(200%);
        opacity: 0;
        visibility: hidden;
        transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease, visibility 0s linear 0.5s;
    }
    .cookie-banner.is-visible {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
        transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease, visibility 0s linear 0s;
    }
    .cookie-banner.is-hiding {
        transform: translateY(200%);
        opacity: 0;
        transition: transform 0.4s ease, opacity 0.3s ease;
    }
    .cookie-banner__text {
        font-size: 0.9rem;
        line-height: 1.55;
        margin: 0 0 1rem;
        color: rgba(255, 255, 255, 0.8);
    }
    .cookie-banner__text a {
        color: #c9a55a;
        text-decoration: none;
        border-bottom: 1px solid rgba(201, 165, 90, 0.4);
        transition: border-color 0.3s ease;
    }
    .cookie-banner__text a:hover {
        border-bottom-color: #c9a55a;
    }
    .cookie-banner__actions {
        display: flex;
        gap: 0.6rem;
        justify-content: flex-end;
        flex-wrap: wrap;
    }
    .cookie-banner__btn {
        padding: 0.55rem 1.25rem;
        font-family: 'Manrope', sans-serif;
        font-size: 0.85rem;
        font-weight: 500;
        border-radius: 6px;
        cursor: pointer;
        transition: all 0.25s ease;
        letter-spacing: 0.01em;
        border: 1px solid transparent;
        background: transparent;
        font-family: inherit;
    }
    .cookie-banner__btn--reject {
        color: rgba(255, 255, 255, 0.6);
        border-color: rgba(255, 255, 255, 0.15);
    }
    .cookie-banner__btn--reject:hover {
        color: rgba(255, 255, 255, 0.9);
        border-color: rgba(255, 255, 255, 0.3);
    }
    .cookie-banner__btn--accept {
        background: #c9a55a;
        color: #0a0a0c;
        border-color: #c9a55a;
        font-weight: 600;
    }
    .cookie-banner__btn--accept:hover {
        background: #d4b470;
        border-color: #d4b470;
        transform: translateY(-1px);
    }
    @media (max-width: 540px) {
        .cookie-banner {
            left: 12px;
            right: 12px;
            bottom: 12px;
            padding: 1rem 1.1rem;
            border-radius: 10px;
        }
        .cookie-banner__text {
            font-size: 0.85rem;
            margin-bottom: 0.85rem;
        }
        .cookie-banner__actions {
            justify-content: stretch;
        }
        .cookie-banner__btn {
            flex: 1;
            padding: 0.65rem 1rem;
            font-size: 0.82rem;
        }
    }
    @media (prefers-reduced-motion: reduce) {
        .cookie-banner {
            transition: opacity 0.3s ease, visibility 0s linear 0.3s;
            transform: none;
        }
        .cookie-banner.is-visible {
            transform: none;
            transition: opacity 0.3s ease, visibility 0s linear 0s;
        }
    }

    

.mobile-nav-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 16px 20px;
    background: linear-gradient(135deg, #C8A97E 0%, #E6CFA1 50%, #B39260 100%);
    color: #050505 !important; /* Fuerza color negro */
    text-decoration: none;
    border-radius: 4px;
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-weight: 800;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    box-shadow: 0 8px 25px rgba(200, 169, 126, 0.25);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.mobile-nav-cta svg {
    font-size: 1.2rem;
    color: #050505 !important;
}

.mobile-nav-cta:hover,
.mobile-nav-cta:focus {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(200, 169, 126, 0.4);
    color: #050505 !important;
}


.floating-cta-pill {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 999;
    display: flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(135deg, #D9BC8E 0%, #C8A97E 50%, #B39260 100%);
    padding: 10px 20px 10px 12px;
    border-radius: 40px;
    text-decoration: none;
    cursor: pointer;
    box-shadow:
        0 6px 16px rgba(200, 169, 126, 0.35),
        inset 0 1px 0 rgba(255, 240, 210, 0.35),
        0 0 0 0 rgba(200, 169, 126, 0.5); 
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
    animation: ctaPillPulse 3s infinite cubic-bezier(0.66, 0, 0, 1);
}


@keyframes ctaPillPulse {
    0% {
        box-shadow:
            0 6px 16px rgba(200, 169, 126, 0.35),
            inset 0 1px 0 rgba(255, 240, 210, 0.35),
            0 0 0 0 rgba(200, 169, 126, 0.5);
    }
    70% {
        box-shadow:
            0 6px 16px rgba(200, 169, 126, 0.35),
            inset 0 1px 0 rgba(255, 240, 210, 0.35),
            0 0 0 12px rgba(200, 169, 126, 0);
    }
    100% {
        box-shadow:
            0 6px 16px rgba(200, 169, 126, 0.35),
            inset 0 1px 0 rgba(255, 240, 210, 0.35),
            0 0 0 0 rgba(200, 169, 126, 0);
    }
}

.floating-cta-pill:hover {
    transform: translateY(-3px) scale(1.04);
    background: linear-gradient(135deg, #E5C99B 0%, #D4B388 50%, #BF9D6A 100%);
    box-shadow:
        0 10px 22px rgba(200, 169, 126, 0.45),
        inset 0 1px 0 rgba(255, 240, 210, 0.45);
    animation-play-state: paused;
}


.floating-cta-pill__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #050505;
    border-radius: 50%;
    color: #C8A97E;
    font-size: 1.1rem;
    box-shadow: inset 0 0 8px rgba(200, 169, 126, 0.5);
    transition: transform 0.3s ease;
}

.floating-cta-pill:hover .floating-cta-pill__icon {
    transform: rotate(10deg);
}


.floating-cta-pill__text {
    color: #050505;
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 0.7rem;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: left;
}

.floating-cta-pill__text strong {
    font-weight: 800;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    display: block;
}


@media (max-width: 768px) {
    .floating-cta-pill {
        bottom: 20px;
        left: 20px;
        gap: 5px;
        padding: 4px 5px 4px 5px;
    }
    
    .floating-cta-pill__icon {
        width: 32px;
        height: 32px;
        font-size: 0.8rem;
    }
    
    .floating-cta-pill__text {
        font-size: 0.55rem;
    }
    
    .floating-cta-pill__text strong {
        font-size: 0.65rem;
    }
}

@media (max-width: 400px) {
    .floating-cta-pill {
        left: 15px;
        bottom: 15px;
    }
}



.conversion-section {
    border-top: 1px solid rgba(255, 255, 255, 0.02);
    border-bottom: 1px solid rgba(255, 255, 255, 0.02);
}

.conversion-hook {
    background: linear-gradient(90deg, rgba(200, 169, 126, 0.05) 0%, transparent 100%);
    padding: 1.2rem 1.8rem;
    border-radius: 0 6px 6px 0;
    margin: 1.5rem auto 3rem;
    text-align: left;
}

.conversion-hook p {
    margin: 0;
    font-size: clamp(1rem, 2vw, 1.1rem);
    line-height: 1.7;
    color: var(--color-text-secondary);
    font-weight: 300;
}

.conversion-hook strong {
    color: #fff;
    font-weight: 500;
}

.conversion-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: clamp(16px, 3vw, 24px);
    list-style: none;
    padding: 0;
    margin: 0 auto 3.5rem;
    max-width: 1250px;
}

.conversion-card {
    background: linear-gradient(145deg, rgba(25, 25, 25, 0.4) 0%, rgba(10, 10, 10, 0.8) 100%);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 6px;
    padding: clamp(20px, 4vw, 28px);
    display: flex;
    flex-direction: column;
    height: 100%;
    transform: translateZ(0); 
    will-change: transform;
    box-shadow: 
        0 15px 35px rgba(0, 0, 0, 0.6), 
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                border-color 0.3s ease, 
                box-shadow 0.3s ease, 
                background 0.3s ease;
}

.conversion-card:hover {
    transform: translateY(-5px);
    border-color: rgba(200, 169, 126, 0.3);
    background: linear-gradient(145deg, rgba(30, 30, 30, 0.6) 0%, rgba(15, 15, 15, 0.95) 100%);
}

.conversion-card__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-body);
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-gold-solid);
    font-weight: 700;
    margin-bottom: 12px;
}

.conversion-card__title {
    font-family: var(--font-display);
    font-size: clamp(1.05rem, 2vw, 1.15rem);
    color: #fff;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 8px 0;
}

.conversion-card__desc {
    font-size: clamp(0.85rem, 1.5vw, 0.9rem);
    color: rgba(255, 255, 255, 0.65);
    line-height: 1.6;
    margin: 0;
    flex-grow: 1; 
}


.conversion-alert {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    max-width: 800px;
    margin: 0 auto 3.5rem;
    background: rgba(200, 169, 126, 0.04);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-radius: 6px;
    padding: 22px 28px;
}

.conversion-alert__icon {
    flex-shrink: 0;
    padding-top: 2px;
}

.conversion-alert__text strong {
    display: block;
    color: #fff;
    font-size: 1.05rem;
    margin-bottom: 6px;
    font-family: var(--font-display);
    letter-spacing: 0.02em;
}

.conversion-alert__text p {
    margin: 0;
    font-size: 0.9rem;
    color: var(--color-text-secondary);
    line-height: 1.6;
}


.conversion-cta-trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(8px, 2vw, 12px);
    margin-top: 24px;
}

.conversion-cta-trust span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.7rem;
    color: #e0e0e0;
    background: rgba(200, 169, 126, 0.08); 
    border: 1px solid rgba(200, 169, 126, 0.2);
    padding: 8px 18px;
    border-radius: 50px; 
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
    cursor: default;
}

.conversion-cta-trust span:hover {
    transform: translateY(-3px);
    background: rgba(200, 169, 126, 0.15);
    border-color: rgba(200, 169, 126, 0.5);
    color: #ffffff;
    box-shadow: 0 6px 15px rgba(200, 169, 126, 0.15);
}

.conversion-cta-trust span::first-letter {
    color: var(--color-gold-solid);
    font-size: 0.8rem;
}

.conversion-cta-trust span svg {
    color: var(--color-gold-solid);
}

@media (max-width: 768px) {
    .conversion-hook {
        padding: 1rem 1.2rem;
        font-size: 0.95rem;
    }
    .conversion-grid {
        grid-template-columns: 1fr;
    }
    .conversion-alert {
        flex-direction: column;
        gap: 12px;
        padding: 18px;
    }
}


.seo-support-text {
    background: linear-gradient(160deg, rgba(24, 24, 24, 0.5) 0%, rgba(5, 5, 5, 0.95) 100%);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-left: 3px solid var(--color-gold-solid);
    border-radius: 6px;
    padding: clamp(30px, 5vw, 50px) clamp(25px, 5vw, 60px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    position: relative;
    overflow: hidden;
}


.seo-support-text::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: radial-gradient(circle at top right, rgba(200, 169, 126, 0.05) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}


.seo-support-text p {
    position: relative;
    z-index: 1;
    font-size: clamp(0.95rem, 2vw, 1.05rem);
    line-height: 1.85;
    color: var(--color-text-secondary);
    margin-bottom: 1.5rem;
    font-weight: 300;
    text-align: left;
}


.seo-support-text strong {
    color: #ffffff;
    font-weight: 500;
    transition: color 0.3s ease;
}

.seo-support-text strong:hover {
    color: var(--color-gold-solid);
}


.seo-support-text p:last-child {
    background: rgba(200, 169, 126, 0.05);
    border: 1px solid rgba(200, 169, 126, 0.15);
    border-radius: 4px;
    padding: 16px 24px;
    margin-top: 2rem !important; 
    margin-bottom: 0;
    text-align: center;
    color: #ffffff;
}

.seo-support-text p:last-child strong {
    color: var(--color-gold-solid);
    font-weight: 600;
}


@media (max-width: 576px) {
    .seo-support-text {
        padding: 25px 20px;
    }
    .seo-support-text p {
        font-size: 0.9rem;
    }
    .seo-support-text p:last-child {
        padding: 12px 16px;
    }
}

.seo-support-box {
    position: relative;
    background: linear-gradient(145deg, rgba(200, 169, 126, 0.06) 0%, rgba(10, 10, 10, 0.8) 100%);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-radius: 6px;
    padding: clamp(24px, 4vw, 32px);
    margin: 2rem 0 0 0;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    overflow: hidden;
    z-index: 2;
}

.seo-support-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: 120px;
    background: radial-gradient(ellipse at top, rgba(200, 169, 126, 0.12) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.seo-support-badge {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-body);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--color-gold-solid);
    background: rgba(200, 169, 126, 0.1);
    border: 1px solid rgba(200, 169, 126, 0.25);
    padding: 6px 14px;
    border-radius: 4px;
    margin-bottom: 16px;
    position: relative;
    z-index: 1;
}

.seo-support-box .seo-support-text {
    font-family: var(--font-body);
    font-size: clamp(0.95rem, 2vw, 1.1rem);
    line-height: 1.75;
    color: #f0f0f0;
    margin: 0;
    font-weight: 300;
    position: relative;
    z-index: 1;
    background: none;
    border: none;
    padding: 0;
    box-shadow: none;
}

.seo-support-box .seo-support-text strong {
    color: #ffffff;
    font-weight: 600;
    box-shadow: inset 0 -6px 0 rgba(200, 169, 126, 0.35);
    padding: 0 4px;
    border-radius: 2px;
    transition: color 0.3s ease, box-shadow 0.3s ease;
}

.seo-support-box:hover .seo-support-text strong {
    color: var(--color-gold-solid);
    box-shadow: inset 0 -10px 0 rgba(200, 169, 126, 0.15);
}

.sitemap-drawer,
.soditec-modal,
.bottom-sheet {

    contain: strict; 
    content-visibility: hidden; 
}

.sitemap-drawer.is-open,
.soditec-modal.active,
.bottom-sheet.is-open {

    content-visibility: visible;
}


#why-us,
#proceso,
#estudio-stats,
#servicios,
#testimonios,
footer {
    contain: layout style;
    content-visibility: auto;
    contain-intrinsic-size: auto 800px; 
}


        .hero-blend-dg-bottom {
            position: absolute;
            bottom: -1px;
            left: 0;
            width: 100%;
            height: clamp(200px, 35vh, 400px); 
            background: linear-gradient(
                to bottom,
                rgba(17, 17, 17, 0) 0%,
                rgba(17, 17, 17, 0.03) 15%,
                rgba(17, 17, 17, 0.1) 30%,
                rgba(17, 17, 17, 0.25) 45%,
                rgba(17, 17, 17, 0.45) 60%,
                rgba(17, 17, 17, 0.7) 75%,
                rgba(17, 17, 17, 0.9) 88%,
                var(--bg-charcoal) 100%
            );
            z-index: 15;
            pointer-events: none;
        }

        
.hero-blend-db-bottom {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: clamp(200px, 35vh, 400px); 
    background: linear-gradient(
        to bottom,
        rgba(5, 5, 5, 0) 0%,
        rgba(5, 5, 5, 0.03) 15%,
        rgba(5, 5, 5, 0.1) 30%,
        rgba(5, 5, 5, 0.25) 45%,
        rgba(5, 5, 5, 0.45) 60%,
        rgba(5, 5, 5, 0.7) 75%,
        rgba(5, 5, 5, 0.9) 88%,
        var(--bg-deep-black) 100%
    );
    z-index: 15;
    pointer-events: none;
}


.soditec-trigger {
    color: #E0C99B !important;
}

.soditec-trigger:hover,
.soditec-trigger:focus-visible {
    color: #FFFFFF !important;
}

.email-seguro {
    color: #E0C99B !important;
}

.email-seguro:hover,
.email-seguro:focus-visible {
    color: #FFFFFF !important;
}


.footer__links a,
.footer__contact-list a,
.footer__contact-list span,
.footer__contact-list strong {
    color: #DCDCDC !important;
    opacity: 1 !important;
}

.footer__contact-list .text-gold,
.footer__copyright .text-gold {
    color: #E0C99B !important;
}


.footer__links a svg,
.footer__contact-list svg {
    opacity: 1 !important;
    color: #E0C99B !important;
}


a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
.faq-trigger:focus-visible {
    outline: 2px solid #E0C99B;
    outline-offset: 2px;
    border-radius: 2px;
}


.zona-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.82);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 99990;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0s linear 0.35s;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.zona-modal-overlay.is-open {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.35s ease;
}
.zona-modal {
    background: linear-gradient(160deg, #111111 0%, #0a0a0a 100%);
    border: 1px solid rgba(200, 169, 126, 0.25);
    border-top: 2px solid rgba(200, 169, 126, 0.6);
    border-radius: 12px;
    padding: clamp(28px, 5vw, 44px);
    max-width: 480px;
    width: 100%;
    position: relative;
    box-shadow: 0 40px 80px rgba(0,0,0,0.8), inset 0 1px 0 rgba(255,255,255,0.04);
    transform: translateY(24px);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.zona-modal-overlay.is-open .zona-modal {
    transform: translateY(0);
}
.zona-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.12);
    background: transparent;
    color: rgba(255,255,255,0.5);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    transition: all 0.25s ease;
    font-family: inherit;
    line-height: 1;
}
.zona-modal__close:hover { background: rgba(255,255,255,0.08); color: #fff; }
 
.zona-modal__overline {
    font-family: var(--font-display);
    font-size: 0.68rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.zona-modal__overline::before {
    content: '';
    display: block;
    width: 20px;
    height: 1px;
    background: var(--color-gold-solid);
    opacity: 0.5;
}
.zona-modal__title {
    font-family: var(--font-display);
    font-size: clamp(1.2rem, 3vw, 1.5rem);
    color: #fff;
    margin-bottom: 6px;
    font-weight: 500;
    line-height: 1.2;
}
.zona-modal__zona-tag {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.82rem;
    color: var(--color-gold-solid);
    background: rgba(200,169,126,0.08);
    border: 1px solid rgba(200,169,126,0.2);
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 22px;
    font-weight: 600;
}
.zona-modal__label {
    display: block;
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255,255,255,0.45);
    margin-bottom: 8px;
}
.zona-modal__input,
.zona-modal__select {
    width: 100%;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(200,169,126,0.2);
    border-radius: 6px;
    color: #f0f0f0;
    font-family: var(--font-body);
    font-size: 0.95rem;
    padding: 13px 16px;
    margin-bottom: 16px;
    outline: none;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
    -webkit-appearance: none;
}
.zona-modal__input::placeholder { color: rgba(255,255,255,0.25); }
.zona-modal__input:focus,
.zona-modal__select:focus {
    border-color: rgba(200,169,126,0.5);
    box-shadow: 0 0 0 3px rgba(200,169,126,0.08);
}
.zona-modal__select option {
    background-color: #111111;
    color: #e8e8e8;
}
.zona-modal__select option:checked {
    background-color: #1e1a14;
    color: var(--color-gold-solid);
}


.zona-modal__select optgroup {
    background-color: #0d0d0d;
    color: var(--color-gold-solid);
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 0.82rem;
    padding: 4px 0;
}
.zona-modal__select optgroup option {
    background-color: #111111;
    color: #e8e8e8;
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
    font-size: 0.95rem;
    padding-left: 14px;
}
.zona-modal__btn {
    width: 100%;
    height: 56px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    font-family: var(--font-body);
    font-size: 0.92rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background: linear-gradient(135deg, #E6CFA1 0%, #C8A97E 40%, #B39260 100%);
    color: #050505;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 6px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 8px 20px rgba(200,169,126,0.2);
}
.zona-modal__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(200,169,126,0.3);
}
.zona-modal__btn svg { width: 1.2em; height: 1.2em; flex-shrink: 0; }
.zona-modal__disclaimer {
    text-align: center;
    font-size: 0.72rem;
    color: rgba(255,255,255,0.28);
    margin-top: 14px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}
 

.zonas-grid-master {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(24px, 4vw, 40px);
    margin-top: clamp(30px, 5vw, 50px);
    position: relative;
    z-index: 2;
}
@media (max-width: 992px) {
    .zonas-grid-master { grid-template-columns: 1fr; }
}
 

.zonas-keywords-strip {
    margin-top: clamp(32px, 5vw, 56px);
    padding: 22px 28px;
    background: rgba(200,169,126,0.04);
    border: 1px solid rgba(200,169,126,0.12);
    border-radius: 8px;
    position: relative;
    z-index: 2;
}
.zonas-keywords-strip__title {
    font-family: var(--font-display);
    font-size: 0.72rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(200,169,126,0.6);
    margin-bottom: 14px;
}
.zonas-keywords-strip__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.zonas-keywords-strip__tag {
    font-family: var(--font-body);
    font-size: 0.8rem;
    color: rgba(255,255,255,0.5);
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.07);
    padding: 5px 12px;
    border-radius: 20px;
    transition: color 0.25s ease, border-color 0.25s ease;
    cursor: default;
}
.zonas-keywords-strip__tag:hover {
    color: var(--color-gold-solid);
    border-color: rgba(200,169,126,0.25);
}


.hero__highlight {
    overflow: visible !important;
}


@media (max-width: 991px) {
    main .hero__highlight,
    body .hero__highlight,
    [id^="pagina-"] .hero__highlight {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    main .hero__list-wrapper,
    body .hero__list-wrapper,
    [id^="pagina-"] .hero__list-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
}



@media (max-width: 480px) {
    .hero__title {
        padding-left: clamp(14px, 4.5vw, 24px) !important;
        padding-right: clamp(14px, 4.5vw, 24px) !important;
        box-sizing: border-box !important;
    }

    .hero__overline {
        padding-left: clamp(14px, 4.5vw, 24px) !important;
        padding-right: clamp(14px, 4.5vw, 24px) !important;
        box-sizing: border-box !important;
    }
}



@media (max-width: 380px) and (max-height: 700px) {
    .hero__title {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .hero__overline {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}



@media (max-width: 360px) {
    .hero__highlight {
        padding: 14px 14px 16px !important;
        min-height: 0 !important;
    }
}

@media (max-width: 320px) {
    .hero__highlight {
        padding: 12px 12px 14px !important;
    }
}



@media (max-width: 380px) and (max-height: 660px) {

    .highlight-lead {
        font-size: 0.78rem !important;
        margin-bottom: 3px !important;
        line-height: 1.25 !important;
    }

    .highlight-body {
        font-size: 0.7rem !important;
        margin-bottom: 5px !important;
        line-height: 1.3 !important;
    }

    .highlight-body .text-gold {
        font-size: inherit !important;
    }


    .hero__highlight .btn-solid-gold,
    .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el {
        min-height: 36px !important;
        height: auto !important;
        font-size: 9.5px !important;
        padding: 6px 10px !important;
        letter-spacing: 0.04em !important;
        line-height: 1.2 !important;
    }


    .hero__highlight {
        padding: 10px 16px 12px !important;
    }


    .cta__action--dual {
        margin-top: 6px !important;
    }


    .hero__list-wrapper {
        height: auto !important;
        min-height: 36px !important;
        margin-top: 4px !important;
    }

    .hero__list li {
        font-size: 0.6rem !important;
        padding: 5px 8px !important;
        gap: 4px !important;
        line-height: 1.25 !important;
        letter-spacing: 0.04em !important;
    }


    .hero__editorial {
        gap: 6px !important;
        padding: 6px 14px !important;
        margin-bottom: 6px !important;
    }

    .hero__subtitle,
    .hero__editorial-lead {
        font-size: 0.75rem !important;
        line-height: 1.4 !important;
    }
}


@media (max-width: 380px) and (max-height: 700px) {

    .hero__title {
        font-size: clamp(2.45rem, 10.5vw, 3rem) !important;
        margin-bottom: 6px !important;
        line-height: 1.1 !important;
    }

    .hero__title--white,
    .hero__title--gold {
        font-size: inherit !important;
        line-height: 1.14 !important;
    }


    .hero__subtitle,
    .hero__editorial-lead {
        font-size: 0.78rem !important;
        line-height: 1.42 !important;
    }
}


@media (min-width: 401px) and (max-width: 480px) and (max-height: 750px) {

    .hero__title {
        font-size: clamp(2rem, 6vw, 2.4rem) !important;
        margin-bottom: 8px !important;
        line-height: 1.15 !important;
    }

    .hero__title--white,
    .hero__title--gold {
        font-size: inherit !important;
        line-height: 1.18 !important;
    }


    
    .hero__subtitle,
    .hero__editorial-lead {
        font-size: 0.72rem !important;
        line-height: 1.4 !important;
    }

    .hero__editorial {
        gap: 8px !important;
        padding: 8px 16px !important;
        margin-bottom: 8px !important;
    }


    .highlight-lead {
        font-size: 0.82rem !important;
        margin-bottom: 3px !important;
        line-height: 1.28 !important;
    }

    .highlight-body {
        font-size: 0.74rem !important;
        margin-bottom: 5px !important;
        line-height: 1.35 !important;
    }

    .highlight-body .text-gold {
        font-size: inherit !important;
    }


    .hero__highlight .btn-solid-gold,
    .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el {
        min-height: 38px !important;
        height: auto !important;
        font-size: 10px !important;
        padding: 6px 12px !important;
        letter-spacing: 0.04em !important;
        line-height: 1.25 !important;
    }


    .hero__highlight {
        padding: 14px 18px 16px !important;
    }

    .cta__action--dual {
        margin-top: 8px !important;
    }


    .hero__list-wrapper {
        height: auto !important;
        min-height: 40px !important;
        margin-top: 6px !important;
    }

    .hero__list li {
        font-size: 0.65rem !important;
        padding: 6px 10px !important;
        gap: 6px !important;
        line-height: 1.3 !important;
    }


    
    #pagina-accidente-laboral .hero__title,
    #pagina-accidente-nautico .hero__title,
    #pagina-accidente-transito .hero__title,
    #pagina-accidente-transito-caba .hero__title,
    #pagina-accidente-transito-zona-oeste .hero__title,
    #pagina-accidente-transito-argentina .hero__title,
    #pagina-accidente-transito-zona-norte .hero__title,
    #pagina-accidente-transito-zona-sur .hero__title,
    #pagina-accidente-laboral-caba .hero__title,
    #pagina-accidente-laboral-gba .hero__title,
    #pagina-accidente-laboral-zona-oeste .hero__title,
    #pagina-accidente-laboral-resto-pais .hero__title,
    #pagina-accidente-laboral-zona-norte .hero__title,
    #pagina-accidente-laboral-zona-sur .hero__title,
    #pagina-accidente-general .hero__title {
        font-size: clamp(1.85rem, 5.6vw, 2.3rem) !important;
        margin-bottom: 6px !important;
        line-height: 1.1 !important;
    }

    #pagina-accidente-laboral .hero__title--white,
    #pagina-accidente-nautico .hero__title--white,
    #pagina-accidente-transito .hero__title--white,
    #pagina-accidente-transito-caba .hero__title--white,
    #pagina-accidente-transito-zona-oeste .hero__title--white,
    #pagina-accidente-transito-argentina .hero__title--white,
    #pagina-accidente-transito-zona-norte .hero__title--white,
    #pagina-accidente-transito-zona-sur .hero__title--white,
    #pagina-accidente-laboral-caba .hero__title--white,
    #pagina-accidente-laboral-gba .hero__title--white,
    #pagina-accidente-laboral-zona-oeste .hero__title--white,
    #pagina-accidente-laboral-resto-pais .hero__title--white,
    #pagina-accidente-laboral-zona-norte .hero__title--white,
    #pagina-accidente-laboral-zona-sur .hero__title--white,
    #pagina-accidente-general .hero__title--white,
    #pagina-accidente-laboral .hero__title--gold,
    #pagina-accidente-nautico .hero__title--gold,
    #pagina-accidente-transito .hero__title--gold,
    #pagina-accidente-transito-caba .hero__title--gold,
    #pagina-accidente-transito-zona-oeste .hero__title--gold,
    #pagina-accidente-transito-argentina .hero__title--gold,
    #pagina-accidente-transito-zona-norte .hero__title--gold,
    #pagina-accidente-transito-zona-sur .hero__title--gold,
    #pagina-accidente-laboral-caba .hero__title--gold,
    #pagina-accidente-laboral-gba .hero__title--gold,
    #pagina-accidente-laboral-zona-oeste .hero__title--gold,
    #pagina-accidente-laboral-resto-pais .hero__title--gold,
    #pagina-accidente-laboral-zona-norte .hero__title--gold,
    #pagina-accidente-laboral-zona-sur .hero__title--gold,
    #pagina-accidente-general .hero__title--gold {
        font-size: clamp(1.5rem, 4.8vw, 1.9rem) !important;
        line-height: 1.16 !important;
    }


    
    #pagina-accidente-laboral .hero__content,
    #pagina-accidente-nautico .hero__content,
    #pagina-accidente-transito .hero__content,
    #pagina-accidente-transito-caba .hero__content,
    #pagina-accidente-transito-zona-oeste .hero__content,
    #pagina-accidente-transito-argentina .hero__content,
    #pagina-accidente-transito-zona-norte .hero__content,
    #pagina-accidente-transito-zona-sur .hero__content,
    #pagina-accidente-laboral-caba .hero__content,
    #pagina-accidente-laboral-gba .hero__content,
    #pagina-accidente-laboral-zona-oeste .hero__content,
    #pagina-accidente-laboral-resto-pais .hero__content,
    #pagina-accidente-laboral-zona-norte .hero__content,
    #pagina-accidente-laboral-zona-sur .hero__content,
    #pagina-accidente-general .hero__content {
        padding-top: 78px !important;
        padding-bottom: 24px !important;
    }


    #pagina-accidente-laboral .hero__overline,
    #pagina-accidente-nautico .hero__overline,
    #pagina-accidente-transito .hero__overline,
    #pagina-accidente-general .hero__overline {
        font-size: 0.6rem !important;
        margin-bottom: 8px !important;
        letter-spacing: 0.18em !important;
    }
}






.legal-hero {
    position: relative;
    border-bottom: 1px solid var(--border-subtle);
    padding-top: clamp(140px, 18vh, 180px);
    padding-bottom: clamp(60px, 8vh, 100px);
    overflow: hidden;
    z-index: 1;
}

.legal-hero__content {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 2;
}

.legal-hero__title {
    font-family: var(--font-display);
    font-size: clamp(1.65rem, 1.4rem + 1.2vw, 3rem);
    line-height: 1.15;
    color: #fff;
    margin-bottom: 24px;
    letter-spacing: -0.01em;
}

.legal-hero__subtitle {
    font-size: clamp(1rem, 2vw, 1.15rem);
    color: var(--color-text-secondary);
    line-height: 1.8;
    margin-bottom: 30px;
    font-weight: 300;
}

.legal-hero__lead {
    background: linear-gradient(145deg, rgba(200, 169, 126, 0.05) 0%, transparent 100%);
    border-left: 3px solid var(--color-gold-solid);
    padding: 24px 30px;
    border-radius: 0 6px 6px 0;
    font-size: clamp(1rem, 2vw, 1.15rem);
    color: #fff;
    font-weight: 400;
    line-height: 1.7;
    margin-bottom: 40px;
    text-align: left;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
}


.sticky-index {
    position: -webkit-sticky !important; 
    position: sticky !important;
    top: 100px !important; 
    background: rgba(5, 5, 5, 0.9);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    z-index: 990 !important;
    padding: 12px 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
    transition: transform 0.3s ease;
}

.sticky-index__list {
    display: flex;
    list-style: none;
    gap: clamp(8px, 2vw, 15px);
    margin: 0;
    padding: 0 20px;
    justify-content: center;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
}

.sticky-index__list::-webkit-scrollbar { 
    display: none; 
}

.index-link {
    display: inline-flex;
    align-items: center;
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
    font-family: var(--font-body);
    font-size: clamp(0.75rem, 1.5vw, 0.85rem);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 10px 20px;
    border-radius: 40px;
    white-space: nowrap;
    border: 1px solid transparent;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.index-link:hover { 
    color: #fff; 
    background: rgba(255, 255, 255, 0.03); 
    border-color: rgba(255, 255, 255, 0.1);
}

.index-link.active {
    color: var(--bg-deep-black);
    background: var(--color-gold-solid);
    border-color: var(--color-gold-solid);
    box-shadow: 0 4px 15px rgba(200, 169, 126, 0.3);
}

.scroll-mt { 
    scroll-margin-top: 150px; 
}


.premium-reading-wrapper {
    max-width: 800px;
    margin: 0 auto;
}

.legal-text, .premium-reading-text {
    font-size: clamp(1.05rem, 2vw, 1.125rem);
    line-height: 1.85;
    color: var(--color-text-secondary);
    margin-bottom: 1.8rem;
    font-weight: 300;
}

.legal-text strong, .premium-reading-text strong {
    color: #fff;
    font-weight: 500;
    box-shadow: inset 0 -4px 0 rgba(200, 169, 126, 0.25);
    padding: 0 2px;
    transition: all 0.3s ease;
}

.legal-text strong:hover, .premium-reading-text strong:hover {
    color: var(--color-gold-solid);
    box-shadow: inset 0 -10px 0 rgba(200, 169, 126, 0.15);
}

.legal-text-block h2 { 
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 4vw, 2.4rem); 
    color: #fff; 
    margin-top: 3rem;
    margin-bottom: 1.5rem; 
    line-height: 1.2;
}

.legal-text-block h3 { 
    font-family: var(--font-display);
    font-size: clamp(1.3rem, 2vw, 1.5rem); 
    color: var(--color-gold-solid); 
    margin-top: 2.5rem;
    margin-bottom: 1rem; 
    font-weight: 500;
}


.grid-3-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}
.grid-4-cards { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); 
    gap: 20px; 
}
.grid-2-cols {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 24px;
}

@media (max-width: 768px) {
  #carta-documento-rechazo .grid-2-cols,
  #tareas-livianas-ibm .grid-2-cols { grid-template-columns: 1fr !important; }
}

.legal-card, .legal-list-card, .case-card, .var-card {
    background: linear-gradient(145deg, rgba(20, 20, 22, 0.7) 0%, rgba(8, 8, 10, 0.95) 100%);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 12px;
    padding: clamp(30px, 4vw, 40px) clamp(25px, 3vw, 35px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    position: relative;
    overflow: hidden;
    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
    will-change: transform;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.4s ease;
}

.legal-card { border-top: 3px solid var(--color-gold-solid); }
.case-card { border-left: 3px solid var(--color-gold-solid); }

.legal-card:hover, .legal-list-card:hover, .case-card:hover, .var-card:hover {
    transform: translate3d(0, -6px, 0);
    border-color: rgba(200, 169, 126, 0.3);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.7), inset 0 1px 0 rgba(200, 169, 126, 0.1);
}

.legal-card__icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(200, 169, 126, 0.08);
    border: 1px solid rgba(200, 169, 126, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gold-solid);
    font-size: 1.3rem;
    margin-bottom: 24px;
}

.legal-card__icon svg { width: 1.2em; height: 1.2em; }

.legal-card h3, .case-card h3 { 
    font-family: var(--font-display);
    font-size: 1.3rem; 
    margin-bottom: 15px; 
    color: #fff; 
    font-weight: 500;
    line-height: 1.3;
}

.legal-card p, .case-card p { 
    font-size: 1rem; 
    color: var(--color-text-secondary); 
    line-height: 1.7; 
    margin-bottom: 15px;
}
.legal-card p:last-child, .case-card p:last-child { margin-bottom: 0; }

.var-card { text-align: center; padding: 30px 20px; }
.var-num {
    font-family: var(--font-display);
    font-size: 3rem; 
    color: var(--color-gold-solid);
    line-height: 1; 
    margin-bottom: 15px; 
    opacity: 0.6;
    text-shadow: 0 0 20px rgba(200, 169, 126, 0.2);
}


.cases-accordion {
    display: flex;
    flex-direction: column;
    gap: 24px; 
    max-width: 1450px;
    margin: 0 auto;
}
.cases-accordion > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.cases-accordion .grid-2-cols {
    width: 100%;
}


.grid-table {
    display: grid;
    gap: 1px; 
    background: rgba(255, 255, 255, 0.06); 
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0,0,0,0.4);
    margin: 2rem 0;
}

.grid-table__row {
    display: grid;
    grid-template-columns: 1fr 1.5fr 2fr;
    gap: 15px;
    padding: 20px 25px;
    background: rgba(12, 12, 12, 0.95);
    align-items: center;
}

.grid-table__row.table-header {
    background: rgba(200, 169, 126, 0.08);
    font-weight: 700;
    color: var(--color-gold-solid);
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.1em;
}

.grid-table__row div { 
    font-size: 0.95rem; 
    color: var(--color-text-secondary); 
    line-height: 1.6; 
}
.grid-table__row div strong { color: #fff; font-weight: 500;}


.info-box {
    display: flex;
    gap: 20px;
    padding: 25px 30px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.04);
    box-shadow: 0 10px 25px rgba(0,0,0,0.3);
    margin: 2rem 0;
}
.info-box__icon {
    width: 28px; 
    flex-shrink: 0; 
    margin-top: 2px;
}
.info-box__icon svg { width: 100%; height: auto; }
.info-box__content p { margin: 0; font-size: 1.05rem; line-height: 1.7; color: var(--color-text-secondary); }
.info-box__content strong { color: #fff; }

.info-box.highlight { 
    border-left: 4px solid var(--color-gold-solid); 
    background: linear-gradient(90deg, rgba(200, 169, 126, 0.08) 0%, transparent 100%); 
}
.info-box.highlight .info-box__icon { color: var(--color-gold-solid); }
.info-box.danger { 
    border-left: 4px solid #ef4444; 
    background: linear-gradient(90deg, rgba(239, 68, 68, 0.08) 0%, transparent 100%); 
}
.info-box.danger .info-box__icon { color: #ef4444; }


.split-cards { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); 
    gap: 24px; 
    margin: 2rem 0;
}
.split-card {
    background: linear-gradient(180deg, rgba(22,22,24,0.8) 0%, rgba(10,10,12,0.95) 100%);
    border: 1px solid rgba(255,255,255,0.04);
    padding: 35px 30px; 
    border-radius: 12px;
    box-shadow: 0 15px 30px rgba(0,0,0,0.4);
}
.split-card__header { display: flex; align-items: center; gap: 15px; margin-bottom: 20px; }
.split-card__header h3 { margin: 0; font-size: 1.25rem; color: #fff; font-family: var(--font-display); }
.split-card__header svg { font-size: 1.8rem; flex-shrink: 0; }

.split-card.success-border { border-top: 3px solid #4ade80; }
.split-card.warning-border { border-top: 3px solid #f87171; }
.split-card.neutral-border { border-top: 3px solid var(--color-gold-solid); }


.bullet-list { list-style: none; padding: 0; margin: 15px 0; }
.bullet-list li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 14px;
    font-size: 1.05rem;
    color: var(--color-text-secondary);
    line-height: 1.7;
}
.bullet-list li::before {
    content: '';
    position: absolute;
    left: 0; 
    top: 10px;
    width: 6px;
    height: 6px;
    background: var(--color-gold-solid);
    border-radius: 50%;
    box-shadow: 0 0 8px var(--color-gold-solid);
}
.bullet-list li strong { color: #fff; }


.legal-timeline {
    position: relative;
    list-style: none;
    padding: 0 0 0 30px;
    margin: 30px 0;
    border-left: none !important; 
}


.legal-timeline::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 6px; 
    width: 3px;
    background: rgba(200, 169, 126, 0.15);
    z-index: 1;
    border-radius: 3px;
}


.legal-timeline::after {
    content: '';
    position: absolute;
    top: 0;
    left: 6px;
    width: 3px;
    height: var(--timeline-progress, 0%);
    background: var(--color-gold-solid);
    box-shadow: 0 0 15px rgba(200, 169, 126, 0.8);
    z-index: 2;
    border-radius: 3px;
    transition: height 0.15s ease-out;
    will-change: height;
}

.legal-timeline li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 30px;
    font-size: 1.05rem;
    color: var(--color-text-secondary);
    line-height: 1.7;
    background: rgba(255, 255, 255, 0.015);
    border: 1px solid rgba(255, 255, 255, 0.07);
    padding: 24px 30px;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.4s ease, background 0.4s ease, border-color 0.4s ease;
}


.legal-timeline li::before {
    content: '';
    position: absolute;
    left: -31px !important; 
    top: 50%;
    transform: translateY(-50%);
    width: 16px; 
    height: 16px;
    background: var(--bg-charcoal);
    border: 3px solid var(--color-gold-solid);
    border-radius: 50%;
    box-shadow: 0 0 15px rgba(200, 169, 126, 0.4);
    z-index: 3 !important; 
    transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.legal-timeline li strong { 
    color: #fff; 
    display: block; 
    font-family: var(--font-display);
    font-size: 1.2rem;
    margin-bottom: 8px;
}


.legal-timeline li.timeline-active {
    color: #ffffff;
    background: rgba(200, 169, 126, 0.08);
    border-color: rgba(200, 169, 126, 0.3);
    transform: translateX(8px);
}

.legal-timeline li.timeline-active::before {
    background: var(--color-gold-solid) !important;
    border-color: #ffffff !important;
    box-shadow: 0 0 20px rgba(200, 169, 126, 0.8), 0 0 40px rgba(200, 169, 126, 0.4) !important;
    transform: translateY(-50%) scale(1.5) !important;
}


#faq .faq-accordion {
    margin-bottom: clamp(60px, 8vw, 100px) !important; 
}
#faq .seo-support-text {
    margin-top: clamp(60px, 8vw, 100px) !important; 
    margin-bottom: clamp(60px, 8vw, 100px) !important;
}
#faq .cta-final {
    margin-top: clamp(60px, 8vw, 100px) !important;
    padding-top: clamp(40px, 5vw, 60px);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}
#faq .cta-final h2 {
    margin-bottom: 30px;
}
#faq .cta-final .premium-reading-wrapper {
    margin-bottom: 40px;
}



.btn-outline-gold {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 56px !important;
    padding: 12px clamp(24px, 4vw, 40px) !important;
    background: rgba(200, 169, 126, 0.03) !important;
    border: 1px solid var(--color-gold-solid) !important;
    color: #ffffff !important;
    font-family: var(--font-body, Arial, sans-serif) !important;
    font-size: clamp(11px, 2.4vw, 13px) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    transform: translateZ(0); 
    will-change: transform, background, box-shadow;
}

.btn-outline-gold:hover {
    background: var(--color-gold-solid) !important;
    color: var(--bg-deep-black) !important;
    box-shadow: 0 12px 30px rgba(200, 169, 126, 0.3) !important;
    transform: translateY(-4px) !important;
}


.whatsapp-float-wrap {
    z-index: 99999 !important; 
}

.whatsapp-float {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    width: clamp(50px, 10vw, 60px) !important;
    height: clamp(50px, 10vw, 60px) !important;
}

.whatsapp-float svg {
    display: block !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    margin: 0 !important;
    width: 28px !important; 
    height: 28px !important;
    fill: #ffffff !important;
    transform: none !important;
}



.mt-2 { margin-top: 0.5rem; } .mt-3 { margin-top: 1rem; } .mt-4 { margin-top: 1.5rem; } .mt-5 { margin-top: 3rem; }
.mb-4 { margin-bottom: 1.5rem; }
.text-center { text-align: center; }
.text-muted { color: var(--color-text-muted) !important; font-size: 0.85rem !important; }


@media (max-width: 992px) {
    .legal-hero { padding-top: clamp(110px, 15vh, 140px); }
    .grid-table__row { grid-template-columns: 1fr 1.5fr; } 
    .sticky-index {
        top: 74px !important; 
        display: block !important;
        visibility: visible !important;
        padding: 10px 0 !important;
    }
    .sticky-index__list {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        padding: 0 15px !important;
        flex-wrap: nowrap !important;
    }
}

@media (max-width: 768px) {
    .legal-text, .premium-reading-text { font-size: 1rem; }
    
    .grid-table__row { grid-template-columns: 1fr; gap: 10px; padding: 18px; }
    .grid-table__row.table-header { display: none; } 
    
    .grid-table__row div:nth-child(1)::before { content: "Quién: "; color: var(--color-gold-solid); font-weight: 600; text-transform: uppercase; font-size: 0.8rem; display: block; margin-bottom: 2px;}
    .grid-table__row div:nth-child(2)::before { content: "Cuándo lo hace: "; color: var(--color-gold-solid); font-weight: 600; text-transform: uppercase; font-size: 0.8rem; display: block; margin-bottom: 2px; margin-top: 10px;}
    .grid-table__row div:nth-child(3)::before { content: "Dónde y cómo: "; color: var(--color-gold-solid); font-weight: 600; text-transform: uppercase; font-size: 0.8rem; display: block; margin-bottom: 2px; margin-top: 10px;}

    .legal-timeline { padding-left: 15px; margin-left: 10px; }
    .legal-timeline li { padding: 20px 15px; }
    .legal-timeline li::before { left: -32px !important; width: 12px; height: 12px; }
    .legal-timeline::before, .legal-timeline::after { left: 4px; } 
    
    .info-box { flex-direction: column; gap: 12px; padding: 20px; }
    .info-box__icon { width: 32px; }
    
    .whatsapp-float { width: 50px !important; height: 50px !important; }
    .whatsapp-float svg { width: 24px !important; height: 24px !important; }
}

@media (max-width: 480px) {
    .btn-outline-gold {
        width: 100% !important;
        margin-bottom: 12px !important;
        min-height: 48px !important;
    }
}




main#guia-accidente-laboral {
    overflow: unset !important;
    overflow-x: clip !important; 
}


.sticky-index__list {
    justify-content: flex-start !important; 
    padding: 0 15px !important;
}


.sticky-index {
    position: -webkit-sticky !important; 
    position: sticky !important;
    z-index: 990 !important;
}


@media (min-width: 1024px) {
    .sticky-index__list {
        justify-content: center !important;
    }
}


@media (max-width: 992px) {
    .sticky-index {
    
        top: 74px !important; 
        padding: 10px 0 !important;
    }
}

@media (max-width: 768px) {

    .sticky-index__list li:first-child {
        margin-left: 10px;
    }
    .sticky-index__list li:last-child {
        margin-right: 15px;
    }
}


html {
    overflow-x: clip;
}
body {
    overflow-x: clip;
}


img, picture, video, svg, iframe, embed, object {
    max-width: 100%;
    height: auto;
}
svg { height: revert; } 



pre, code, blockquote, p, h1, h2, h3, h4, h5, h6, li {
    word-wrap: break-word;
    overflow-wrap: break-word;
}


table {
    max-width: 100%;
    display: block;
    overflow-x: auto;
}


.container,
.section-padding > .container,
.hero__highlight,
.hero__editorial,
.hero__list-wrapper,
.section-header,
.feature-box,
.practice-card,
.coverage-item,
.local-seo__card,
.faq-container {
    max-width: min(var(--container-width, 1480px), 100%);
    box-sizing: border-box;
}


button, .btn-solid-gold, .btn-outline-gold, .header__cta, [class*="btn-"] {
    max-width: 100%;
    box-sizing: border-box;
}



@media (max-width: 360px) {
    .header {
        position: absolute;
    }
}







.insurer-flip-card__front {
    background: linear-gradient(145deg, rgba(28, 26, 22, 0.95) 0%, rgba(12, 10, 6, 1) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.18) !important;
    box-shadow:
        0 14px 32px rgba(0, 0, 0, 0.65),
        0 5px 12px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(200, 169, 126, 0.18),
        inset 0 -1px 0 rgba(0, 0, 0, 0.7),
        inset 0 -3px 8px rgba(0, 0, 0, 0.45) !important;
}

.insurer-flip-card:hover .insurer-flip-card__front {
    border-color: rgba(200, 169, 126, 0.4) !important;
}


.insurer-flip-card__back {
    background: radial-gradient(circle at center, rgba(38, 32, 22, 0.98) 0%, rgba(12, 10, 6, 1) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.45) !important;
    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.85),
        0 6px 14px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(200, 169, 126, 0.32),
        inset 0 -1px 0 rgba(0, 0, 0, 0.7),
        inset 0 0 40px rgba(200, 169, 126, 0.06) !important;
}


.testimonial-card {
    background: linear-gradient(145deg, rgba(22, 20, 16, 0.9) 0%, rgba(8, 6, 3, 1) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.12);
    border-radius: 6px;
    box-shadow:
        0 14px 32px rgba(0, 0, 0, 0.65),
        0 5px 12px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(200, 169, 126, 0.15),
        inset 0 -1px 0 rgba(0, 0, 0, 0.6),
        inset 0 -3px 8px rgba(0, 0, 0, 0.35);
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                box-shadow 0.4s ease,
                border-color 0.4s ease;
}

.testimonial-card:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 126, 0.32);
    box-shadow:
        0 22px 50px rgba(0, 0, 0, 0.85),
        0 8px 18px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(200, 169, 126, 0.25),
        inset 0 -1px 0 rgba(0, 0, 0, 0.6),
        inset 0 -3px 8px rgba(0, 0, 0, 0.35);
}


.consulta-card {
    background: linear-gradient(145deg, rgba(24, 22, 18, 0.95) 0%, rgba(10, 8, 5, 1) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.15) !important;
    border-radius: 8px !important;
    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.7),
        0 6px 14px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(200, 169, 126, 0.18),
        inset 0 -1px 0 rgba(0, 0, 0, 0.6),
        inset 0 -3px 10px rgba(0, 0, 0, 0.35) !important;
}



.feature-box {
    background-image:
        url("data:image/svg+xml,%3Csvg viewBox='0 0 400 300' preserveAspectRatio='xMidYMax slice' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M400,300 L400,100 C300,150 200,280 0,300 Z' fill='%23C8A97E' opacity='0.03' /%3E%3Cpath d='M400,300 L400,180 C320,200 250,290 100,300 Z' fill='%23C8A97E' opacity='0.05' /%3E%3Cpath d='M400,300 L400,240 C350,250 280,295 180,300 Z' fill='%23C8A97E' opacity='0.08' /%3E%3Cpath d='M400,140 C300,180 200,285 0,300' fill='none' stroke='%23C8A97E' stroke-width='1' opacity='0.15' /%3E%3C/svg%3E"),
        linear-gradient(145deg, rgba(22, 20, 16, 0.92) 0%, rgba(8, 6, 3, 1) 100%) !important;
    background-position: bottom right, center !important;
    background-size: cover, cover !important;
    background-repeat: no-repeat, no-repeat !important;
    border: 1px solid rgba(200, 169, 126, 0.12) !important;
    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.55),
        0 4px 10px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(200, 169, 126, 0.15),
        inset 0 -1px 0 rgba(0, 0, 0, 0.6),
        inset 0 -3px 8px rgba(0, 0, 0, 0.32);
}

.feature-box:hover {
    transform: translateY(-6px);
    border-color: rgba(200, 169, 126, 0.4) !important;
    box-shadow:
        0 22px 50px rgba(0, 0, 0, 0.85),
        0 8px 18px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(200, 169, 126, 0.28),
        inset 0 -1px 0 rgba(0, 0, 0, 0.6),
        inset 0 -3px 8px rgba(0, 0, 0, 0.32) !important;
}



.conversion-card {
    background: linear-gradient(145deg, rgba(28, 25, 20, 0.92) 0%, rgba(10, 8, 5, 1) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.15) !important;
    box-shadow:
        0 14px 32px rgba(0, 0, 0, 0.65),
        0 5px 12px rgba(0, 0, 0, 0.38),
        inset 0 1px 0 rgba(200, 169, 126, 0.18),
        inset 0 -1px 0 rgba(0, 0, 0, 0.6),
        inset 0 -3px 8px rgba(0, 0, 0, 0.4) !important;
}

.conversion-card:hover {
    transform: translateY(-5px);
    border-color: rgba(200, 169, 126, 0.4) !important;
    background: linear-gradient(145deg, rgba(38, 33, 26, 0.95) 0%, rgba(15, 12, 8, 1) 100%) !important;
    box-shadow:
        0 20px 45px rgba(0, 0, 0, 0.85),
        0 8px 16px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(200, 169, 126, 0.3),
        inset 0 -1px 0 rgba(0, 0, 0, 0.6),
        inset 0 -3px 8px rgba(0, 0, 0, 0.4) !important;
}



.authority-item {
    background: linear-gradient(145deg, rgba(22, 20, 16, 0.92) 0%, rgba(8, 6, 3, 1) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.14);
    border-radius: 4px;
    box-shadow:
        0 14px 32px rgba(0, 0, 0, 0.6),
        0 5px 12px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(200, 169, 126, 0.18),
        inset 0 -1px 0 rgba(0, 0, 0, 0.6),
        inset 0 -3px 8px rgba(0, 0, 0, 0.35);
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                box-shadow 0.4s ease,
                border-color 0.4s ease;
}

.authority-item:hover {
    transform: translateY(-5px);
    border-color: rgba(200, 169, 126, 0.4);
    box-shadow:
        0 22px 50px rgba(0, 0, 0, 0.85),
        0 8px 18px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(200, 169, 126, 0.32),
        inset 0 -1px 0 rgba(0, 0, 0, 0.6),
        inset 0 -3px 8px rgba(0, 0, 0, 0.35);
}



.authority-grid > article,
.authority-grid > div {
    background: linear-gradient(145deg, rgba(22, 20, 16, 0.92) 0%, rgba(8, 6, 3, 1) 100%);
    border: 1px solid rgba(200, 169, 126, 0.14);
    border-radius: 4px;
    box-shadow:
        0 14px 32px rgba(0, 0, 0, 0.6),
        0 5px 12px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(200, 169, 126, 0.18),
        inset 0 -1px 0 rgba(0, 0, 0, 0.6),
        inset 0 -3px 8px rgba(0, 0, 0, 0.35);
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                box-shadow 0.4s ease,
                border-color 0.4s ease;
}

.authority-grid > article:hover,
.authority-grid > div:hover {
    transform: translateY(-5px);
    border-color: rgba(200, 169, 126, 0.4);
    box-shadow:
        0 22px 50px rgba(0, 0, 0, 0.85),
        0 8px 18px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(200, 169, 126, 0.32),
        inset 0 -1px 0 rgba(0, 0, 0, 0.6),
        inset 0 -3px 8px rgba(0, 0, 0, 0.35);
}



.feature-box__photo {
    position: relative;
    margin: calc(-1 * clamp(2rem, 5vw, 3rem)) calc(-1 * clamp(1.5rem, 4vw, 2.5rem)) clamp(1.5rem, 3vw, 2rem);
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(200, 169, 126, 0.18) 0%, rgba(22, 19, 13, 0.95) 60%, rgba(10, 10, 10, 1) 100%);
    border-bottom: 1px solid rgba(200, 169, 126, 0.18);
    isolation: isolate;
}

.feature-box__photo::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
            transparent 40%,
            rgba(10, 10, 10, 0.55) 100%);
    pointer-events: none;
    z-index: 2;
}

.feature-box__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                filter 0.5s ease;
    filter: saturate(0.92) contrast(1.05);
    z-index: 1;
    position: relative;
}

.feature-box:hover .feature-box__photo img {
    transform: scale(1.06);
    filter: saturate(1.08) contrast(1.1);
}



.feature-box__photo img:not([src]),
.feature-box__photo img[src=""] {
    visibility: hidden;
}

@media (max-width: 768px) {
    .feature-box__photo {
        aspect-ratio: 16 / 10;
    }
}





@media (min-width: 1200px) {
    #tipos-accidentes > .container {
        max-width: min(1400px, 95vw);
    }
}

.tipos-accidentes-layout {
    display: block;
}

@media (min-width: 993px) {
    .tipos-accidentes-layout {
        display: grid;
        grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr);
        gap: clamp(2rem, 4vw, 3.5rem);
        align-items: start;
    }

    .tipos-accidentes-layout > .faq-accordion {
        min-width: 0; 
    }
}


.tipos-accidentes-sticky {
    display: none;
}

@media (min-width: 993px) {
    .tipos-accidentes-sticky {
        display: block;
        position: sticky;
        top: clamp(90px, 12vh, 140px);
        align-self: start;
    }

    .tipos-accidentes-sticky__inner {
        position: relative;
        background: linear-gradient(145deg,
                rgba(22, 19, 13, 0.85) 0%,
                rgba(10, 10, 10, 0.95) 100%);
        border: 1px solid rgba(200, 169, 126, 0.15);
        border-radius: 4px;
        padding: 0;
        overflow: hidden;
        box-shadow:
            0 25px 50px rgba(0, 0, 0, 0.6),
            0 8px 16px rgba(0, 0, 0, 0.4),
            inset 0 1px 0 rgba(200, 169, 126, 0.12);
    }

    .tipos-accidentes-sticky__photo {
        position: relative;
        width: 100%;
        aspect-ratio: 4 / 3;
        overflow: hidden;
        background:
            linear-gradient(135deg, rgba(200, 169, 126, 0.18) 0%, rgba(22, 19, 13, 0.95) 60%, rgba(10, 10, 10, 1) 100%);
    }

    .tipos-accidentes-sticky__photo::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg,
                transparent 50%,
                rgba(10, 10, 10, 0.5) 100%);
        pointer-events: none;
        z-index: 2;
    }

    .tipos-accidentes-sticky__photo img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        display: block;
        z-index: 1;
        opacity: 1;
        transition: opacity 0.45s ease, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
        filter: saturate(0.95) contrast(1.05);
    }

    .tipos-accidentes-sticky__photo.is-fading img {
        opacity: 0;
        transform: scale(1.04);
    }

    .tipos-accidentes-sticky__caption {
        margin: 0;
        padding: 1.1rem 1.4rem 1.3rem;
        font-size: 0.92rem;
        line-height: 1.5;
        color: rgba(255, 255, 255, 0.78);
        font-family: var(--font-body, inherit);
        letter-spacing: 0.01em;
        border-top: 1px solid rgba(200, 169, 126, 0.08);
    }

    .tipos-accidentes-sticky__caption strong {
        color: var(--color-gold-solid, #C8A97E);
        font-weight: 600;
    }


    .tipos-accidentes-sticky__inner::before {
        content: '';
        position: absolute;
        top: 0; left: 0;
        height: 2px;
        width: 100%;
        background: linear-gradient(90deg,
                transparent,
                rgba(200, 169, 126, 0.5),
                transparent);
        z-index: 3;
        opacity: 0.6;
    }
}


.faq-item__mobile-photo {
    display: none;
}

@media (max-width: 992px) {
    .faq-item {
        position: relative;
    }

    .faq-item__mobile-photo {
 
        
        display: block;
        position: relative;
        width: calc(100% + clamp(1.5rem, 4vw, 2.5rem));
        margin: 0 calc(-1 * clamp(0.75rem, 2vw, 1.25rem)) 1rem;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        border-radius: 4px;
        background: linear-gradient(135deg,
                rgba(200, 169, 126, 0.18) 0%,
                rgba(22, 19, 13, 0.95) 60%,
                rgba(10, 10, 10, 1) 100%);
        opacity: 1;
        pointer-events: auto;
    }


    
    .faq-item.is-active-mobile .faq-item__mobile-photo {
        opacity: 1;
    }

    .faq-item__mobile-photo img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        display: block;
    }

    .faq-item__mobile-photo::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg,
                transparent 60%,
                rgba(10, 10, 10, 0.5) 100%);
        pointer-events: none;
    }
}


@media (prefers-reduced-motion: reduce) {
    .tipos-accidentes-sticky__photo img,
    .faq-item__mobile-photo {
        transition: none !important;
    }
}



.hero__overline,
span.hero__overline,
.hero .hero__overline {
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-inline: clamp(6px, 1.5vw, 14px) !important;
    letter-spacing: clamp(0.1em, 1vw, 0.25em) !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto !important;
    text-wrap: balance;
    line-height: 1.45 !important;
}

@media (max-width: 480px) {
    .hero__overline,
    span.hero__overline,
    .hero .hero__overline {
        letter-spacing: 0.08em !important;
        font-size: clamp(0.55rem, 3vw, 0.7rem) !important;
        white-space: normal !important;
    }
}

@media (max-width: 360px) {
    .hero__overline,
    span.hero__overline,
    .hero .hero__overline {
        letter-spacing: 0.05em !important;
    }
}



.hero__subtitle.hero__subtitle--rotating,
p.highlight-body.highlight-body--rotating,
span.text-gold.text-gold--rotating,
.text-gold.text-gold--rotating {
    display: grid !important;
    grid-template-areas: "stack" !important;
    grid-template-columns: minmax(0, 1fr) !important;
    position: relative;
    isolation: isolate;
    width: 100%;
}

.hero__subtitle--rotating > .rotating-slide,
.highlight-body--rotating > .rotating-slide,
.text-gold--rotating > .rotating-slide {
    grid-area: stack !important;
    grid-column: 1 / -1 !important;
    grid-row: 1 / -1 !important;
    display: block !important;
    width: 100%;
    min-width: 0;
    opacity: 0;
    visibility: hidden;

    
    transform: translateY(22px) scale(0.985);
    filter: blur(4px);
    transition:
        opacity 0.85s cubic-bezier(0.4, 0, 0.2, 1),
        transform 0.95s cubic-bezier(0.16, 1, 0.3, 1),
        filter 0.7s cubic-bezier(0.4, 0, 0.2, 1),
        visibility 0s linear 0.85s;
    pointer-events: none;
    will-change: opacity, transform, filter;

    
    position: relative;
    text-shadow: 0 0 16px rgba(0, 0, 0, 0);
}

.hero__subtitle--rotating > .rotating-slide.is-active,
.highlight-body--rotating > .rotating-slide.is-active,
.text-gold--rotating > .rotating-slide.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    filter: blur(0);
    pointer-events: auto;
    transition:
        opacity 0.85s cubic-bezier(0.4, 0, 0.2, 1),
        transform 0.95s cubic-bezier(0.16, 1, 0.3, 1),
        filter 0.55s cubic-bezier(0.4, 0, 0.2, 1) 0.05s,
        visibility 0s linear 0s;
    text-shadow: 0 1px 18px rgba(0, 0, 0, 0.35);
}



.hero__subtitle--rotating > .rotating-slide::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -10px;
    width: 0;
    height: 1px;
    background: linear-gradient(90deg,
        rgba(200, 169, 126, 0) 0%,
        rgba(200, 169, 126, 0.65) 50%,
        rgba(200, 169, 126, 0) 100%);
    transform: translateX(-50%);
    transition: width 0.95s cubic-bezier(0.16, 1, 0.3, 1) 0.1s,
                opacity 0.5s ease;
    opacity: 0;
    pointer-events: none;
}
.hero__subtitle--rotating > .rotating-slide.is-active::after {
    width: clamp(120px, 26%, 280px);
    opacity: 1;
}


.text-gold--rotating > .rotating-slide.text-gold,
.highlight-body--rotating > .rotating-slide.text-gold {
    color: var(--color-gold-solid);
}




@media (prefers-reduced-motion: reduce) {
    .hero__subtitle--rotating > .rotating-slide,
    .highlight-body--rotating > .rotating-slide,
    .text-gold--rotating > .rotating-slide {
        transition: opacity 0.2s ease !important;
        transform: none !important;
    }
}



section.bg-deep-black {
    position: relative;
}

section.bg-deep-black > .legal-flow-animated {
    position: absolute !important;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

@media (prefers-reduced-motion: reduce) {
    .legal-flow-animated .wave-fast,
    .legal-flow-animated .wave-slow,
    .legal-flow-animated .wave-reverse,
    .legal-flow-animated .p-group-1,
    .legal-flow-animated .p-group-2,
    .legal-flow-animated .p-group-3 {
        animation: none !important;
    }
}


@media (min-width: 1024px) and (min-height: 851px) {
    .hero__highlight {
        padding: 20px clamp(28px, 3vw, 40px) 28px !important;
        margin-bottom: 14px !important;
        min-height: 0 !important;
    }


    .hero__highlight .btn-solid-gold:not(.btn-areas):not(.premium-btn-sweep),
    .hero__highlight button.btn-solid-gold:not(.btn-areas):not(.premium-btn-sweep) {
        height: auto !important;
        min-height: 52px !important;
        margin-top: 6px !important;
        margin-bottom: 0 !important;
        padding: 12px clamp(24px, 3vw, 40px) !important;
    }


    .hero__highlight .cta__action,
    .hero__highlight .cta__action--dual {
        margin-top: 4px !important;
    }


    .hero__highlight .highlight-lead {
        margin-bottom: 6px !important;
    }
    .hero__highlight .highlight-body {
        margin-bottom: 8px !important;
    }
    .hero__highlight .highlight-body--rotating {
        margin-bottom: 8px !important;
    }
}



@media (min-width: 1920px) and (min-height: 851px) {
    .hero__highlight {
        max-width: 1100px !important;
    }
}



.hero__highlight .cta__action--dual a.btn-solid-gold.premium-btn-sweep,
.hero__highlight .cta__action a.btn-solid-gold.premium-btn-sweep,
.hero__highlight .cta__action--dual button.btn-solid-gold.premium-btn-sweep:not(.btn-areas) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 720px !important;
    min-width: min(420px, 100%) !important;
    min-height: 56px !important;
    height: auto !important;
    padding: 12px clamp(18px, 4vw, 50px) !important;
    box-sizing: border-box !important;
    cursor: pointer !important;

    font-family: var(--font-body, Arial, sans-serif) !important;
    font-size: clamp(11px, 2.4vw, 13px) !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-decoration: none !important;
    background: linear-gradient(135deg, #F8E8C8 0%, #D4B388 25%, #9F7E4D 70%, #6E5530 100%) !important;
    color: #1a1208 !important;
    border-radius: 4px !important;


    border-top: 1px solid rgba(255, 230, 190, 0.7) !important;
    border-left: 1px solid rgba(180, 140, 85, 0.85) !important;
    border-right: 1px solid rgba(80, 55, 25, 0.85) !important;
    border-bottom: 1.5px solid rgba(40, 25, 5, 0.95) !important;

    box-shadow:
        0 16px 36px rgba(0, 0, 0, 0.6),
        0 6px 14px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 245, 220, 0.65),
        inset 0 2px 3px rgba(255, 240, 210, 0.55),
        inset 0 -1px 0 rgba(40, 25, 5, 0.7),
        inset 0 -3px 10px rgba(60, 40, 15, 0.5),
        0 0 0 1px rgba(200, 169, 126, 0.28) !important;

    text-shadow: 0 1px 0 rgba(255, 240, 210, 0.55) !important;

    will-change: transform;

    
    transform: translateZ(0);
    transition:
        background 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        border-color 0.3s ease !important;
    position: relative;
    overflow: hidden;
}

.hero__highlight .cta__action--dual a.btn-solid-gold.premium-btn-sweep > span,
.hero__highlight .cta__action a.btn-solid-gold.premium-btn-sweep > span,
.hero__highlight .cta__action--dual button.btn-solid-gold.premium-btn-sweep:not(.btn-areas) > span {
    display: block !important;
    position: relative !important;
    z-index: 2 !important;
    pointer-events: none !important;
}

.hero__highlight .cta__action--dual a.btn-solid-gold.premium-btn-sweep:hover,
.hero__highlight .cta__action a.btn-solid-gold.premium-btn-sweep:hover,
.hero__highlight .cta__action--dual button.btn-solid-gold.premium-btn-sweep:not(.btn-areas):hover {
    transform: translateY(-4px) translateZ(0) !important;
    background: linear-gradient(135deg, #FFF1D2 0%, #E2C295 25%, #B89464 70%, #80652E 100%) !important;
    border-top-color: rgba(255, 245, 220, 0.85) !important;
    border-left-color: rgba(200, 160, 100, 0.95) !important;
    border-right-color: rgba(90, 60, 25, 0.95) !important;
    border-bottom-color: rgba(30, 18, 2, 1) !important;
    box-shadow:
        0 22px 44px rgba(0, 0, 0, 0.7),
        0 7px 16px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 250, 235, 0.85),
        inset 0 2px 3px rgba(255, 245, 220, 0.85),
        inset 0 -1px 0 rgba(30, 18, 2, 0.85),
        inset 0 -3px 10px rgba(60, 40, 15, 0.45),
        0 0 0 1.5px rgba(232, 200, 145, 0.55) !important;
}


.hero__highlight .cta__action--dual a.btn-solid-gold.premium-btn-sweep::before,
.hero__highlight .cta__action a.btn-solid-gold.premium-btn-sweep::before,
.hero__highlight .cta__action--dual button.btn-solid-gold.premium-btn-sweep:not(.btn-areas)::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent) !important;
    transform: translateX(-105%) !important;
    transition: transform 0.55s cubic-bezier(0.215, 0.610, 0.355, 1.000) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.hero__highlight .cta__action--dual a.btn-solid-gold.premium-btn-sweep:hover::before,
.hero__highlight .cta__action a.btn-solid-gold.premium-btn-sweep:hover::before,
.hero__highlight .cta__action--dual button.btn-solid-gold.premium-btn-sweep:not(.btn-areas):hover::before {
    transform: translateX(105%) !important;
}




.hero__highlight > .highlight-lead,
.hero__highlight > .highlight-body,
.hero__highlight > .cta__action,
.hero__highlight > .cta__action--dual,
.hero__highlight > p,
.hero__highlight > div:not(.highlight-glow) {
    position: relative;
    z-index: 2;
}



.hero__highlight {
    background:

        radial-gradient(ellipse 80% 60% at 30% 35%, rgba(50, 42, 30, 0.35) 0%, transparent 70%),

        radial-gradient(ellipse 60% 100% at 95% 50%, rgba(0, 0, 0, 0.55) 0%, transparent 60%),

        radial-gradient(ellipse 60% 100% at 5% 50%, rgba(0, 0, 0, 0.45) 0%, transparent 60%),

        linear-gradient(145deg, rgba(26, 22, 18, 0.92) 0%, rgba(8, 6, 4, 0.98) 100%) !important;
}


.hero__highlight .highlight-glow {
    background: radial-gradient(ellipse at top,
        rgba(200, 169, 126, 0.14) 0%,
        transparent 70%) !important;
}

.hero__highlight::before {
    content: '';
    position: absolute;
    inset: 12px;
    pointer-events: none;
    z-index: 0;
    background:
        linear-gradient(90deg, var(--color-gold-solid) 0%, var(--color-gold-solid) 32px, transparent 32px) top left / 32px 1px no-repeat,
        linear-gradient(180deg, var(--color-gold-solid) 0%, var(--color-gold-solid) 32px, transparent 32px) top left / 1px 32px no-repeat,
        linear-gradient(270deg, var(--color-gold-solid) 0%, var(--color-gold-solid) 32px, transparent 32px) top right / 32px 1px no-repeat,
        linear-gradient(180deg, var(--color-gold-solid) 0%, var(--color-gold-solid) 32px, transparent 32px) top right / 1px 32px no-repeat,
        linear-gradient(90deg, var(--color-gold-solid) 0%, var(--color-gold-solid) 32px, transparent 32px) bottom left / 32px 1px no-repeat,
        linear-gradient(0deg, var(--color-gold-solid) 0%, var(--color-gold-solid) 32px, transparent 32px) bottom left / 1px 32px no-repeat,
        linear-gradient(270deg, var(--color-gold-solid) 0%, var(--color-gold-solid) 32px, transparent 32px) bottom right / 32px 1px no-repeat,
        linear-gradient(0deg, var(--color-gold-solid) 0%, var(--color-gold-solid) 32px, transparent 32px) bottom right / 1px 32px no-repeat;
    opacity: 0.35;
}

.hero__highlight::after {
    content: '';
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: 22%;
    height: 1px;
    pointer-events: none;
    z-index: 0;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(200, 169, 126, 0.35) 30%,
        rgba(200, 169, 126, 0.45) 50%,
        rgba(200, 169, 126, 0.35) 70%,
        transparent 100%);
    box-shadow: 0 0 12px rgba(200, 169, 126, 0.18);
}

@media (max-width: 600px) {
    .hero__highlight::before {
        inset: 8px;
        opacity: 0.25;
        background-size:
            22px 1px, 1px 22px,
            22px 1px, 1px 22px,
            22px 1px, 1px 22px,
            22px 1px, 1px 22px;
    }
    .hero__highlight::after {
        left: 12%;
        right: 12%;
    }
}


.hero__subtitle,
.hero__subtitle.hero__subtitle--rotating,
.hero__subtitle--rotating > .rotating-slide {
    color: #f0e9dc !important;
    font-weight: 400;
    letter-spacing: 0.005em;
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.85),
        0 0 14px rgba(0, 0, 0, 0.55),
        0 0 32px rgba(0, 0, 0, 0.35);
}


.hero__subtitle strong,
.hero__subtitle.hero__subtitle--rotating strong,
.hero__subtitle--rotating > .rotating-slide strong {
    color: #ffffff;
    font-weight: 600;
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.95),
        0 0 16px rgba(0, 0, 0, 0.7),
        0 0 36px rgba(0, 0, 0, 0.45);
    letter-spacing: 0.008em;
}


.hero__subtitle em,
.hero__subtitle.hero__subtitle--rotating em,
.hero__subtitle--rotating > .rotating-slide em {
    color: #f0d9b1;
    font-style: italic;
    font-weight: 500;
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.9),
        0 0 14px rgba(0, 0, 0, 0.55);
}


.hero__subtitle .highlight-elegant,
.hero__subtitle--rotating > .rotating-slide .highlight-elegant {
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.85),
        0 0 16px rgba(0, 0, 0, 0.5);
}


.closing-statement {
    margin-top: clamp(40px, 5vw, 60px);
    max-width: 1450px;
    margin-inline: auto;
    padding: clamp(32px, 5vw, 56px) clamp(24px, 4vw, 56px);
    background:
        linear-gradient(135deg,
            rgba(28, 24, 18, 0.88) 0%,
            rgba(15, 12, 8, 0.96) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 6px;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.5),
        0 8px 16px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(200, 169, 126, 0.1);
}

.closing-statement::before {
    content: '';
    position: absolute;
    top: -30%;
    left: -10%;
    width: 480px;
    height: 480px;
    border-radius: 50%;
    background: radial-gradient(circle,
        rgba(200, 169, 126, 0.06) 0%,
        transparent 60%);
    pointer-events: none;
    z-index: 0;
}

.closing-statement > * {
    position: relative;
    z-index: 1;
}

.closing-statement__quote {
    font-family: var(--font-display);
    font-size: clamp(5rem, 10vw, 8rem);
    line-height: 0.7;
    color: var(--color-gold-solid);
    opacity: 0.18;
    position: absolute;
    top: clamp(8px, 2vw, 18px);
    left: clamp(20px, 3vw, 40px);
    user-select: none;
    z-index: 0;
    font-weight: 700;
    text-shadow: 0 0 30px rgba(200, 169, 126, 0.2);
}

.closing-statement__lead {
    font-size: clamp(1.1rem, 1.6vw, 1.32rem);
    line-height: 1.6;
    color: rgba(232, 226, 213, 0.96);
    margin: 0 0 clamp(24px, 3vw, 32px);
    text-wrap: pretty;
    padding-left: clamp(40px, 5vw, 70px);
    font-weight: 400;
    font-style: italic;
    letter-spacing: 0.005em;
}

.closing-statement__lead strong {
    color: var(--color-gold-solid);
    font-weight: 700;
    font-style: normal;
}

.closing-statement__lead em {
    color: #fff;
    font-style: italic;
    font-weight: 500;
}

.closing-statement__benefits {
    list-style: none;
    padding: 0;
    margin: 0 0 clamp(28px, 4vw, 40px);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: clamp(10px, 1.5vw, 14px);
}

.closing-statement__benefits li {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 16px 18px;
    background: linear-gradient(135deg,
        rgba(200, 169, 126, 0.08) 0%,
        rgba(200, 169, 126, 0.02) 100%);
    border: 1px solid rgba(200, 169, 126, 0.22);
    border-radius: 4px;
    border-left: 3px solid var(--color-gold-solid);
    transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}

.closing-statement__benefits li:hover {
    transform: translateY(-2px);
    border-color: rgba(200, 169, 126, 0.5);
    background: linear-gradient(135deg,
        rgba(200, 169, 126, 0.14) 0%,
        rgba(200, 169, 126, 0.04) 100%);
}

.closing-statement__benefits .benefit-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin-bottom: 6px;
    color: var(--color-gold-solid);
    font-size: 1rem;
    background: rgba(200, 169, 126, 0.1);
    border-radius: 50%;
    border: 1px solid rgba(200, 169, 126, 0.3);
}

.closing-statement__benefits strong {
    font-family: var(--font-display);
    font-size: 1rem;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.2;
}

.closing-statement__benefits .benefit-desc {
    font-size: 0.82rem;
    color: rgba(232, 226, 213, 0.7);
    line-height: 1.4;
    font-weight: 400;
}

.closing-statement__divider {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: clamp(28px, 4vw, 40px) 0 clamp(16px, 2vw, 22px);
}

.closing-statement__divider .divider-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(200, 169, 126, 0.35),
        transparent);
}

.closing-statement__divider .divider-label {
    font-family: var(--font-body);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.28em;
    color: rgba(200, 169, 126, 0.85);
    font-weight: 600;
    white-space: nowrap;
}

.closing-statement__reality {
    font-size: clamp(0.98rem, 1.3vw, 1.1rem);
    line-height: 1.7;
    color: rgba(232, 226, 213, 0.92);
    text-align: center;
    margin: 0 auto clamp(28px, 4vw, 40px);
    max-width: 720px;
    text-wrap: pretty;
}

.closing-statement__reality strong {
    color: var(--color-gold-solid);
    font-weight: 700;
}

.closing-statement__reality .hl-warn {
    color: #fff;
    font-weight: 700;
    background: linear-gradient(180deg, transparent 60%, rgba(200, 169, 126, 0.25) 60%);
    padding: 0 4px;
}

.closing-statement__vs {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: clamp(14px, 2vw, 22px);
    align-items: stretch;
}

.vs-pillar {
    padding: clamp(20px, 3vw, 26px) clamp(18px, 2.5vw, 24px);
    border-radius: 5px;
    position: relative;
    overflow: hidden;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.vs-pillar--win {
    background: linear-gradient(135deg,
        rgba(200, 169, 126, 0.12) 0%,
        rgba(28, 24, 18, 0.85) 60%);
    border: 1px solid rgba(200, 169, 126, 0.4);
    box-shadow:
        0 8px 24px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(200, 169, 126, 0.18);
}

.vs-pillar--lose {
    background: linear-gradient(135deg,
        rgba(60, 40, 30, 0.4) 0%,
        rgba(20, 15, 12, 0.7) 60%);
    border: 1px solid rgba(180, 90, 70, 0.28);
    box-shadow:
        0 8px 24px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(180, 90, 70, 0.1);
    opacity: 0.78;
}

.vs-pillar:hover {
    transform: translateY(-3px);
}

.vs-pillar--win:hover {
    box-shadow:
        0 14px 30px rgba(0, 0, 0, 0.45),
        0 0 0 1px rgba(200, 169, 126, 0.5),
        inset 0 1px 0 rgba(200, 169, 126, 0.2);
}

.vs-pillar--lose:hover {
    opacity: 0.92;
}

.vs-pillar__header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.vs-pillar__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.vs-pillar--win .vs-pillar__icon {
    background: rgba(200, 169, 126, 0.18);
    border: 1px solid rgba(200, 169, 126, 0.5);
    color: var(--color-gold-solid);
    box-shadow: 0 0 12px rgba(200, 169, 126, 0.2);
}

.vs-pillar--lose .vs-pillar__icon {
    background: rgba(180, 90, 70, 0.15);
    border: 1px solid rgba(180, 90, 70, 0.4);
    color: rgba(220, 140, 120, 0.9);
}

.vs-pillar__title {
    font-family: var(--font-display);
    font-size: clamp(1.05rem, 1.6vw, 1.18rem);
    font-weight: 500;
    margin: 0;
    line-height: 1.2;
    letter-spacing: 0.01em;
}

.vs-pillar--win .vs-pillar__title {
    color: #fff;
}

.vs-pillar--lose .vs-pillar__title {
    color: rgba(232, 226, 213, 0.75);
    text-decoration: line-through;
    text-decoration-color: rgba(180, 90, 70, 0.5);
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.vs-pillar__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 8px;
}

.vs-pillar__list li {
    position: relative;
    padding-left: 22px;
    font-size: 0.92rem;
    line-height: 1.45;
    color: rgba(232, 226, 213, 0.85);
}

.vs-pillar__list li::before {
    position: absolute;
    left: 0;
    top: 0.05em;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
}

.vs-pillar--win .vs-pillar__list li::before {
    content: '✓';
    color: var(--color-gold-solid);
}

.vs-pillar--lose .vs-pillar__list li::before {
    content: '✗';
    color: rgba(200, 100, 80, 0.7);
}

.vs-pillar--win .vs-pillar__list strong {
    color: var(--color-gold-solid);
    font-weight: 700;
}

.vs-pillar--lose .vs-pillar__list strong {
    color: rgba(220, 140, 120, 0.85);
    font-weight: 700;
}

.vs-pillar__divider {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-size: clamp(0.9rem, 1.3vw, 1.05rem);
    font-weight: 700;
    text-transform: lowercase;
    letter-spacing: 0.05em;
    color: rgba(200, 169, 126, 0.7);
    width: 36px;
    flex-shrink: 0;
    position: relative;
}

.vs-pillar__divider::before,
.vs-pillar__divider::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(200, 169, 126, 0.3), transparent);
}

.vs-pillar__divider::before {
    top: 0;
    height: calc(50% - 24px);
}

.vs-pillar__divider::after {
    bottom: 0;
    height: calc(50% - 24px);
}

@media (max-width: 720px) {
    .closing-statement__vs {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .vs-pillar__divider {
        width: 100%;
        height: 28px;
        flex-direction: row;
    }
    .vs-pillar__divider::before,
    .vs-pillar__divider::after {
        width: calc(50% - 24px);
        height: 1px;
        top: 50%;
        background: linear-gradient(90deg, transparent, rgba(200, 169, 126, 0.3), transparent);
    }
    .vs-pillar__divider::before {
        left: 0;
        transform: none;
    }
    .vs-pillar__divider::after {
        left: auto;
        right: 0;
        transform: none;
    }
}

@media (max-width: 480px) {
    .closing-statement__lead {
        padding-left: clamp(28px, 8vw, 50px);
        font-size: 1rem;
    }
    .closing-statement__quote {
        font-size: 4rem;
    }
    .closing-statement__benefits {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .closing-statement__benefits li,
    .vs-pillar {
        transition: none !important;
    }
}


.situation-card__photo {
    position: relative;
    flex-shrink: 0;
    width: clamp(100px, 14vw, 140px);
    aspect-ratio: 1 / 1;
    align-self: start;
    border-radius: 4px;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(200, 169, 126, 0.18) 0%, rgba(22, 19, 13, 0.95) 60%, rgba(10, 10, 10, 1) 100%);
    border: 1px solid rgba(200, 169, 126, 0.22);
    box-shadow:
        inset 0 1px 0 rgba(200, 169, 126, 0.15),
        0 4px 12px rgba(0, 0, 0, 0.35);
    grid-column: 1;
    grid-row: 1;
}

.situation-card__photo::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 60%, rgba(10, 10, 10, 0.5) 100%);
    pointer-events: none;
    z-index: 2;
}

.situation-card__photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    z-index: 1;
    filter: saturate(0.92) contrast(1.05);
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.situation-card:hover .situation-card__photo img {
    transform: scale(1.05);
}

@media (max-width: 600px) {
    .situation-card {
        grid-template-columns: 1fr !important;
    }
    .situation-card__photo {
        width: 100%;
        aspect-ratio: 16 / 9;
    }
}


.editorial-highlight-inline,
.editorial-premium-box {
    border-left: 0 !important;
}


[id^="especialistas-"] .text-block-premium {
    max-width:  min(var(--container-width, 1480px), 100%);
    margin: 0 auto;
}

[id^="especialistas-"] .text-block-premium > p {
    font-size: clamp(1rem, 1.3vw, 1.1rem);
    line-height: 1.75;
    color: rgba(232, 226, 213, 0.92);
    text-wrap: pretty;
}

[id^="especialistas-"] .premium-list {
    list-style: none;
    padding: 0;
    margin: 2.5rem 0 !important;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: clamp(12px, 1.8vw, 18px);
    counter-reset: spec-count;
}

[id^="especialistas-"] .premium-list li {
    counter-increment: spec-count;
    position: relative;
    padding: clamp(20px, 2.5vw, 26px) clamp(20px, 2.5vw, 24px) clamp(20px, 2.5vw, 26px) clamp(56px, 6vw, 64px);
    background: linear-gradient(135deg, rgba(28, 24, 18, 0.85) 0%, rgba(15, 12, 8, 0.95) 100%);
    border: 1px solid rgba(200, 169, 126, 0.14);
    border-radius: 5px;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.4s ease, box-shadow 0.4s ease;
    font-size: 0.94rem;
    line-height: 1.6;
    color: rgba(232, 226, 213, 0.82);
}

[id^="especialistas-"] .premium-list li::before {
    content: counter(spec-count, decimal-leading-zero);
    position: absolute;
    top: clamp(18px, 2vw, 22px);
    left: clamp(16px, 2vw, 20px);
    font-family: var(--font-display);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    color: var(--color-gold-solid);
    opacity: 0.7;
}

[id^="especialistas-"] .premium-list li::after {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 3px; height: 100%;
    background: linear-gradient(180deg, var(--color-gold-solid) 0%, rgba(200, 169, 126, 0.25) 100%);
}

[id^="especialistas-"] .premium-list li:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 169, 126, 0.32);
    box-shadow: 0 18px 32px rgba(0, 0, 0, 0.45), 0 4px 8px rgba(0, 0, 0, 0.3);
}

[id^="especialistas-"] .premium-list li > svg {
    display: none;
}

[id^="especialistas-"] .premium-list li strong {
    color: #fff;
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
    font-family: var(--font-display);
    font-size: 1.02rem;
    letter-spacing: 0.01em;
}


#abogados-zona-oeste .local-seo__body {
    max-width: 100%;
    width: 100%;
}

#abogados-zona-oeste .premium-list--grid {
    list-style: none;
    padding: 0;
    margin: clamp(2rem, 4vw, 3rem) 0 !important;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: clamp(14px, 2vw, 20px);
    counter-reset: zone-count;
    max-width: 100% !important;
    width: 100%;
}

#abogados-zona-oeste .premium-list--grid li {
    counter-increment: zone-count;
    position: relative;
    padding: clamp(22px, 2.5vw, 28px) clamp(20px, 2.5vw, 26px) clamp(22px, 2.5vw, 28px) clamp(20px, 2.5vw, 26px);
    background: linear-gradient(135deg, rgba(28, 24, 18, 0.88) 0%, rgba(12, 10, 7, 0.96) 100%);
    border: 1px solid rgba(200, 169, 126, 0.16);
    border-left: 0 !important;
    border-radius: 5px;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.4s ease, box-shadow 0.4s ease;
    isolation: isolate;
}


#abogados-zona-oeste .premium-list--grid li::before {
    content: '';
    position: absolute;
    top: 12px; left: 12px;
    width: 24px; height: 24px;
    border-top: 1.5px solid var(--color-gold-solid);
    border-left: 1.5px solid var(--color-gold-solid);
    opacity: 0.45;
    transition: opacity 0.4s ease, width 0.4s ease, height 0.4s ease;
    pointer-events: none;
}


#abogados-zona-oeste .premium-list--grid li::after {
    content: counter(zone-count, decimal-leading-zero);
    position: absolute;
    top: 14px; right: 18px;
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--color-gold-solid);
    opacity: 0.18;
    letter-spacing: 0.06em;
    pointer-events: none;
}

#abogados-zona-oeste .premium-list--grid li:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 126, 0.4);
    box-shadow: 0 22px 44px rgba(0, 0, 0, 0.55), 0 6px 14px rgba(0, 0, 0, 0.35);
}

#abogados-zona-oeste .premium-list--grid li:hover::before {
    opacity: 0.85;
    width: 32px; height: 32px;
}

#abogados-zona-oeste .premium-list--grid li:hover::after {
    opacity: 0.4;
}


#abogados-zona-oeste .premium-list--grid li > svg {
    width: 22px;
    height: 22px;
    color: var(--color-gold-solid);
    margin-bottom: 12px;
    margin-top: 18px;
    opacity: 0.85;
    display: inline-block;
}

#abogados-zona-oeste .premium-list--grid li .list-text {
    font-size: 0.93rem;
    line-height: 1.65;
    color: rgba(232, 226, 213, 0.82);
}

#abogados-zona-oeste .premium-list--grid li .list-text strong {
    color: #fff;
    font-weight: 600;
    display: block;
    margin-bottom: 8px;
    font-family: var(--font-display);
    font-size: 1.05rem;
    letter-spacing: 0.01em;
    line-height: 1.3;
}

#abogados-zona-oeste .premium-list--grid li .list-text strong:not(:first-child) {
    display: inline;
    margin-bottom: 0;
    color: var(--color-gold-solid);
    font-family: var(--font-body);
    font-size: inherit;
    font-weight: 600;
}


#abogados-zona-oeste .premium-reading-text,
.local-seo__body .premium-reading-text {
    text-align: justify;
    text-justify: inter-word;
    -webkit-hyphens: auto;
    hyphens: auto;
    font-size: clamp(0.98rem, 1.4vw, 1.08rem);
    line-height: 1.85;
    color: rgba(232, 226, 213, 0.88);
    font-weight: 400;
    margin: 0 auto clamp(1.4rem, 2.5vw, 2rem) auto;
    max-width: 1050px;
    text-wrap: pretty;
    letter-spacing: 0.005em;
}

#abogados-zona-oeste .premium-reading-text:first-of-type::first-letter,
.local-seo__body .premium-reading-text:first-of-type::first-letter {

    font-family: var(--font-display);
    font-size: 2.6em;
    float: left;
    line-height: 0.95;
    margin: 0.05em 0.12em 0 0;
    color: var(--color-gold-solid);
    font-weight: 600;
    text-shadow: 0 2px 12px rgba(200, 169, 126, 0.25);
}

#abogados-zona-oeste .premium-reading-text strong,
.local-seo__body .premium-reading-text strong {
    color: #fff;
    font-weight: 600;
    box-shadow: inset 0 -3px 0 rgba(200, 169, 126, 0.2);
    padding: 0 1px;
    transition: box-shadow 0.3s ease, color 0.3s ease;
    border-radius: 1px;
}

#abogados-zona-oeste .premium-reading-text strong:hover,
.local-seo__body .premium-reading-text strong:hover {
    color: var(--color-gold-solid);
    box-shadow: inset 0 -10px 0 rgba(200, 169, 126, 0.12);
}

#abogados-zona-oeste .premium-reading-text + .premium-reading-text,
.local-seo__body .premium-reading-text + .premium-reading-text {
    position: relative;
    padding-top: clamp(0.6rem, 1vw, 1rem);
}

#abogados-zona-oeste .premium-reading-text + .premium-reading-text::before,
.local-seo__body .premium-reading-text + .premium-reading-text::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 32px;
    height: 1px;
    background: linear-gradient(90deg, var(--color-gold-solid), transparent);
    opacity: 0.5;
}


#abogados-zona-oeste .seo-premium-card__outro {
    margin-top: clamp(2rem, 4vw, 3rem);
    padding-top: clamp(2rem, 4vw, 3rem);
    position: relative;
    text-align: center;
}

#abogados-zona-oeste .seo-premium-card__outro::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: clamp(120px, 25vw, 220px);
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent);
    box-shadow: 0 0 12px rgba(200, 169, 126, 0.3);
}

#abogados-zona-oeste .seo-premium-card__outro::after {
    content: '';
    position: absolute;
    top: -3px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 6px;
    height: 6px;
    background: var(--color-gold-solid);
    box-shadow: 0 0 12px rgba(200, 169, 126, 0.5);
}

#abogados-zona-oeste .seo-premium-card__outro .premium-reading-text {
    text-align: justify;
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: clamp(1.5rem, 3vw, 2rem);
    font-style: italic;
    color: rgba(232, 226, 213, 0.92);
}

#abogados-zona-oeste .seo-premium-card__outro .premium-reading-text::first-letter {

    font-size: inherit;
    float: none;
    color: inherit;
    font-family: inherit;
    margin: 0;
    line-height: inherit;
    text-shadow: none;
}

#abogados-zona-oeste .seo-premium-card__outro .premium-reading-text strong {
    font-style: normal;
    color: var(--color-gold-solid);
}

#abogados-zona-oeste .seo-premium-card__outro .cta__action {
    margin-top: 0;
}

@media (max-width: 600px) {
    #abogados-zona-oeste .premium-reading-text:first-of-type::first-letter,
    .local-seo__body .premium-reading-text:first-of-type::first-letter {
        font-size: 2.1em;
        margin: 0.05em 0.1em 0 0;
    }
}


.cta .cta__title {
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 3.2vw, 2.4rem);
    color: #fff;
    line-height: 1.2;
    letter-spacing: 0.005em;
    margin-bottom: clamp(1rem, 2vw, 1.4rem);
    text-wrap: balance;
    position: relative;
    padding-top: clamp(1rem, 2.5vw, 1.6rem);
    text-align: center;
}

.cta .cta__title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: clamp(60px, 12vw, 100px);
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent);
    box-shadow: 0 0 12px rgba(200, 169, 126, 0.4);
}

.cta .cta__subtitle {
    font-size: clamp(1rem, 1.4vw, 1.1rem);
    line-height: 1.8;
    color: rgba(232, 226, 213, 0.92);
    max-width: 920px;
    margin: 0 auto clamp(1.4rem, 3vw, 2rem);
    text-align: center;
    text-wrap: pretty;
    letter-spacing: 0.005em;
    font-weight: 400;
}

.cta .cta__subtitle strong {
    color: var(--color-gold-solid);
    font-weight: 700;
    box-shadow: inset 0 -3px 0 rgba(200, 169, 126, 0.15);
    padding: 0 1px;
    transition: box-shadow 0.3s ease;
}

.cta .cta__subtitle strong:hover {
    box-shadow: inset 0 -10px 0 rgba(200, 169, 126, 0.12);
}

.cta .cta__subtitle em {
    color: #fff;
    font-style: italic;
    font-weight: 500;
}

.cta .cta__action {
    text-align: center;
    margin-top: clamp(1rem, 2vw, 1.5rem);
}


[id^="diferenciales-seo-"] .container > .reveal-up {
    max-width: 880px !important;
    margin: 0 auto !important;
}

[id^="diferenciales-seo-"] .container > .reveal-up > p {
    font-size: clamp(1rem, 1.4vw, 1.1rem);
    line-height: 1.8;
    color: rgba(232, 226, 213, 0.9);
    max-width: 75ch;
    margin: 0 auto 1.6rem auto;
    text-wrap: pretty;
    letter-spacing: 0.005em;
    text-align: left;
    position: relative;
}

[id^="diferenciales-seo-"] .container > .reveal-up > p:first-of-type::first-letter {
    font-family: var(--font-display);
    font-size: 2.5em;
    float: left;
    line-height: 0.95;
    margin: 0.05em 0.12em 0 0;
    color: var(--color-gold-solid);
    font-weight: 600;
    text-shadow: 0 2px 12px rgba(200, 169, 126, 0.25);
}

[id^="diferenciales-seo-"] .container > .reveal-up > p + p {
    padding-top: 1.2rem;
    position: relative;
}

[id^="diferenciales-seo-"] .container > .reveal-up > p + p::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 36px;
    height: 1px;
    background: linear-gradient(90deg, var(--color-gold-solid), transparent);
    opacity: 0.5;
}

[id^="diferenciales-seo-"] .container > .reveal-up > p strong {
    color: #fff;
    font-weight: 600;
    box-shadow: inset 0 -3px 0 rgba(200, 169, 126, 0.2);
    padding: 0 1px;
    transition: box-shadow 0.3s ease, color 0.3s ease;
}

[id^="diferenciales-seo-"] .container > .reveal-up > p strong:hover {
    color: var(--color-gold-solid);
    box-shadow: inset 0 -10px 0 rgba(200, 169, 126, 0.12);
}

[id^="diferenciales-seo-"] .container > .reveal-up > p[style*="text-align:center"],
[id^="diferenciales-seo-"] .container > .reveal-up > p[style*="text-align: center"] {
    margin-top: clamp(2rem, 4vw, 3rem) !important;
    padding-top: clamp(2rem, 4vw, 3rem) !important;
    position: relative;
    text-align: center !important;
    max-width: 100% !important;
}

[id^="diferenciales-seo-"] .container > .reveal-up > p[style*="text-align:center"]::before,
[id^="diferenciales-seo-"] .container > .reveal-up > p[style*="text-align: center"]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: clamp(120px, 22vw, 200px);
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent);
    box-shadow: 0 0 12px rgba(200, 169, 126, 0.3);
    opacity: 0.7;
}

@media (max-width: 600px) {
    [id^="diferenciales-seo-"] .container > .reveal-up > p:first-of-type::first-letter {
        font-size: 2.1em;
    }
}


@supports (content-visibility: auto) {
    .faq-section,
    section.bg-charcoal:not(.hero):not(.legal-hero):not(#proceso):not(.process-section),
    .insurers-section:not(#proceso),
    section[id^="que-saber"],
    section[id^="por-que-elegirnos"],
    section[id^="aseguradoras"],
    section[id^="testimonios"],
    section[id^="map"],
    section[id^="zonas"],
    section[id^="autoridad"],
    .map-section {
        content-visibility: auto;
        contain-intrinsic-size: auto 1200px;
    }
}


.legal-flow-animated .wave-fast,
.legal-flow-animated .wave-slow,
.legal-flow-animated .wave-reverse,
.legal-flow-animated .p-group-1,
.legal-flow-animated .p-group-2,
.legal-flow-animated .p-group-3 {
    animation-play-state: paused !important;
}

.legal-flow-animated.is-in-view .wave-fast,
.legal-flow-animated.is-in-view .wave-slow,
.legal-flow-animated.is-in-view .wave-reverse,
.legal-flow-animated.is-in-view .p-group-1,
.legal-flow-animated.is-in-view .p-group-2,
.legal-flow-animated.is-in-view .p-group-3 {
    animation-play-state: running !important;
}

.areas-modal__overlay {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(0, 0, 0, 0.84) !important;
}


.areas-modal:not(.active) .areas-modal__content {
    transform: translateY(100%) !important;
}

.areas-modal.active .areas-modal__content {
    transform: translateY(0) !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}


.areas-modal__content {
    box-shadow:
        0 -8px 24px rgba(0, 0, 0, 0.7),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}


@media (max-width: 991px) {
    .areas-modal,
    .areas-modal__overlay,
    .areas-modal__content,
    .areas-modal.active .areas-modal__content {
        transition: none !important;
    }

    .areas-modal__overlay {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        background: rgba(0, 0, 0, 0.85) !important;
    }

    .areas-modal__content {
        box-shadow:
            0 -4px 12px rgba(0, 0, 0, 0.5),
            inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
    }

    .areas-modal__content,
    .areas-modal__overlay {
        will-change: auto !important;
    }
}


.areas-modal__list--with-photos {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(10px, 2vw, 16px);
}

@media (max-width: 480px) {
    .areas-modal__list--with-photos {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

.areas-modal__list--with-photos .areas-modal__item {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 5px;
    border: 1px solid rgba(200, 169, 126, 0.18);
    background: linear-gradient(145deg, rgba(28, 24, 18, 0.9) 0%, rgba(10, 8, 5, 0.96) 100%);
    text-decoration: none;
    color: inherit;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(200, 169, 126, 0.08);
    position: relative;
    isolation: isolate;
}

.areas-modal__list--with-photos .areas-modal__item:hover,
.areas-modal__list--with-photos .areas-modal__item:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(200, 169, 126, 0.3);
    outline: none;
}

.areas-modal__photo {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.18) 0%, rgba(22, 19, 13, 0.95) 60%, rgba(10, 10, 10, 1) 100%);
}

.areas-modal__photo::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(10, 10, 10, 0.6) 100%);
    pointer-events: none;
    z-index: 2;
}

.areas-modal__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    z-index: 1;
    position: relative;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    filter: saturate(0.92) contrast(1.05);
}

.areas-modal__list--with-photos .areas-modal__item:hover .areas-modal__photo img {
    transform: scale(1.05);
}

.areas-modal__body {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border-top: 1px solid rgba(200, 169, 126, 0.08);
}

.areas-modal__body svg {
    color: var(--color-gold-solid);
    font-size: 1.2rem;
    flex-shrink: 0;
}

.areas-modal__body span {
    font-family: var(--font-display);
    font-size: clamp(0.92rem, 1.4vw, 1.05rem);
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.25;
}


#guia-accidente-laboral .legal-hero__subtitle {
    font-size: clamp(1rem, 1.35vw, 1.13rem);
    line-height: 1.75;
    color: rgba(232, 226, 213, 0.95) !important;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.4rem;
    text-wrap: pretty;
    letter-spacing: 0.005em;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.85), 0 0 14px rgba(0, 0, 0, 0.55);
    font-weight: 400;
}

#guia-accidente-laboral .legal-hero__subtitle strong {
    color: var(--color-gold-solid);
    font-weight: 700;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.95), 0 0 16px rgba(0, 0, 0, 0.65);
}


#guia-accidente-laboral .legal-card,
#guia-accidente-laboral .legal-stage__card,
#guia-accidente-laboral .info-box,
#guia-accidente-laboral .split-card,
#guia-accidente-laboral .premium-card,
#guia-accidente-laboral [class*="legal-card"] {
    background: linear-gradient(145deg, rgba(28, 24, 18, 0.9) 0%, rgba(10, 8, 5, 0.98) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.16) !important;
    border-radius: 5px !important;
    box-shadow:
        0 16px 36px rgba(0, 0, 0, 0.55),
        0 6px 14px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(200, 169, 126, 0.15),
        inset 0 -1px 0 rgba(0, 0, 0, 0.55),
        inset 0 -3px 8px rgba(0, 0, 0, 0.3) !important;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.4s ease, box-shadow 0.4s ease !important;
}

#guia-accidente-laboral .legal-card:hover,
#guia-accidente-laboral .legal-stage__card:hover,
#guia-accidente-laboral .info-box:hover,
#guia-accidente-laboral .split-card:hover,
#guia-accidente-laboral .premium-card:hover,
#guia-accidente-laboral [class*="legal-card"]:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(200, 169, 126, 0.4) !important;
    box-shadow:
        0 22px 48px rgba(0, 0, 0, 0.7),
        0 8px 18px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(200, 169, 126, 0.25),
        inset 0 -1px 0 rgba(0, 0, 0, 0.55),
        inset 0 -3px 8px rgba(0, 0, 0, 0.3),
        0 0 0 1px rgba(200, 169, 126, 0.25) !important;
}

#indemnizacion-accidente-laboral .legal-text-block h3,
#indemnizacion-accidente-laboral h3 {
    font-family: var(--font-display);
    color: #fff;
    font-size: clamp(1.2rem, 1.8vw, 1.5rem);
    margin-bottom: 1rem;
    line-height: 1.3;
    letter-spacing: 0.005em;
    position: relative;
    padding-bottom: 0.7rem;
}

#indemnizacion-accidente-laboral h3::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, var(--color-gold-solid), transparent);
    box-shadow: 0 0 8px rgba(200, 169, 126, 0.3);
}

#indemnizacion-accidente-laboral p {
    color: rgba(232, 226, 213, 0.86);
    line-height: 1.75;
    text-wrap: pretty;
}

#indemnizacion-accidente-laboral strong {
    color: var(--color-gold-solid);
    font-weight: 600;
}

#guia-accidente-laboral #faq .faq-item,
#guia-accidente-laboral .faq-section .faq-item {
    background: linear-gradient(145deg, rgba(24, 20, 14, 0.85) 0%, rgba(8, 6, 4, 0.95) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.14) !important;
    border-radius: 4px !important;
    margin-bottom: 12px !important;
    overflow: hidden;
    transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
}

#guia-accidente-laboral #faq .faq-item:hover,
#guia-accidente-laboral .faq-section .faq-item:hover {
    border-color: rgba(200, 169, 126, 0.32) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4) !important;
}

#guia-accidente-laboral #faq .faq-question,
#guia-accidente-laboral .faq-section .faq-question {
    color: #fff !important;
    font-family: var(--font-display);
    font-size: clamp(0.98rem, 1.4vw, 1.08rem);
    font-weight: 500;
    letter-spacing: 0.005em;
}

#guia-accidente-laboral .legal-cta,
#guia-accidente-laboral .legal-closing {
    padding: clamp(36px, 5vw, 56px) clamp(28px, 4vw, 48px);
    background:
        radial-gradient(ellipse 60% 80% at 30% 30%, rgba(200, 169, 126, 0.08) 0%, transparent 60%),
        linear-gradient(145deg, rgba(28, 24, 18, 0.92) 0%, rgba(10, 8, 5, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.22);
    border-radius: 6px;
    box-shadow: 0 28px 60px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(200, 169, 126, 0.12);
    position: relative;
    overflow: hidden;
}

#guia-accidente-laboral .legal-cta::before,
#guia-accidente-laboral .legal-closing::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 4px; height: 100%;
    background: linear-gradient(180deg, var(--color-gold-solid), rgba(200, 169, 126, 0.2));
}

#guia-accidente-laboral .fab.fa-whatsapp,
.footer .fab.fa-whatsapp,
.whatsapp-float .fab.fa-whatsapp {
    color: currentColor !important;
    fill: currentColor !important;
    display: inline-block;
    visibility: visible !important;
    opacity: 1 !important;
}


.cta-asesorate {
    max-width: 1250px;
    margin: clamp(40px, 6vw, 70px) auto 0;
    padding: clamp(32px, 5vw, 56px) clamp(24px, 4vw, 56px);
    background:
        radial-gradient(ellipse 70% 50% at 30% 20%, rgba(200, 169, 126, 0.08) 0%, transparent 65%),
        linear-gradient(145deg, rgba(28, 24, 18, 0.92) 0%, rgba(10, 8, 5, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.22);
    border-radius: 6px;
    text-align: center;
    position: relative;
    overflow: hidden;
    box-shadow:
        0 28px 60px rgba(0, 0, 0, 0.55),
        0 8px 16px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(200, 169, 126, 0.12);
}

.cta-asesorate::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 4px; height: 100%;
    background: linear-gradient(180deg, var(--color-gold-solid) 0%, rgba(200, 169, 126, 0.2) 100%);
}

.cta-asesorate__divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: clamp(16px, 2.5vw, 24px);
}

.cta-asesorate__divider-line {
    flex: 0 0 60px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(200, 169, 126, 0.6), transparent);
}

.cta-asesorate__divider-diamond {
    width: 9px; height: 9px;
    background: var(--color-gold-solid);
    transform: rotate(45deg);
    box-shadow: 0 0 12px rgba(200, 169, 126, 0.5);
}

.cta-asesorate__eyebrow {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.28em;
    color: var(--color-gold-solid);
    font-weight: 600;
    margin-bottom: 14px;
    padding: 5px 14px;
    background: rgba(200, 169, 126, 0.08);
    border: 1px solid rgba(200, 169, 126, 0.22);
    border-radius: 3px;
}

.cta-asesorate__title {
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 3vw, 2.2rem) !important;
    font-weight: 500;
    color: #fff !important;
    line-height: 1.25 !important;
    letter-spacing: 0.005em;
    margin: 0 0 clamp(20px, 3vw, 28px) 0 !important;
    text-wrap: balance;
}

.cta-asesorate__title em {
    color: var(--color-gold-solid);
    font-style: italic;
    font-weight: 400;
}

.cta-asesorate__lead {
    font-size: clamp(1rem, 1.4vw, 1.1rem);
    line-height: 1.75;
    color: rgba(232, 226, 213, 0.92);
    max-width: 720px;
    margin: 0 auto clamp(28px, 4vw, 40px);
    text-wrap: pretty;
}

.cta-asesorate__lead strong {
    color: #fff;
    font-weight: 600;
}

.cta-asesorate__warnings {
    list-style: none;
    padding: 0;
    margin: 0 auto clamp(28px, 4vw, 36px);
    display: grid;
    gap: clamp(10px, 1.5vw, 14px);
    text-align: left;
    max-width: 720px;
}

.cta-asesorate__warnings li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px 16px;
    align-items: start;
    padding: clamp(14px, 2vw, 18px) clamp(16px, 2vw, 22px);
    background: linear-gradient(135deg,
        rgba(200, 90, 80, 0.06) 0%,
        rgba(28, 24, 18, 0.6) 100%);
    border: 1px solid rgba(200, 90, 80, 0.22);
    border-left: 3px solid rgba(220, 110, 90, 0.7);
    border-radius: 4px;
    transition: border-color 0.3s ease, background 0.3s ease;
}

.cta-asesorate__warnings li:hover {
    border-color: rgba(220, 110, 90, 0.5);
    background: linear-gradient(135deg,
        rgba(200, 90, 80, 0.1) 0%,
        rgba(28, 24, 18, 0.7) 100%);
}

.cta-asesorate__warning-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px; height: 32px;
    color: rgba(220, 130, 110, 0.95);
    font-size: 1rem;
    background: rgba(200, 90, 80, 0.12);
    border-radius: 4px;
    grid-row: 1 / 3;
    flex-shrink: 0;
}

.cta-asesorate__warnings li strong {
    grid-column: 2;
    font-family: var(--font-display);
    font-size: 1rem;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.25;
}

.cta-asesorate__warning-desc {
    grid-column: 2;
    font-size: 0.88rem;
    line-height: 1.55;
    color: rgba(232, 226, 213, 0.78);
}

.cta-asesorate__highlight {
    font-size: clamp(1rem, 1.4vw, 1.13rem);
    line-height: 1.75;
    color: rgba(232, 226, 213, 0.95);
    max-width: 720px;
    margin: 0 auto clamp(28px, 4vw, 36px);
    font-style: italic;
    text-wrap: pretty;
}

.cta-asesorate__highlight-mark {
    background: linear-gradient(180deg, transparent 60%, rgba(200, 169, 126, 0.3) 60%);
    padding: 0 4px;
    color: #fff;
    font-style: normal;
    font-weight: 600;
}

.cta-asesorate__highlight strong {
    color: var(--color-gold-solid);
    font-weight: 700;
    font-style: normal;
}


.cta-asesorate__action {
    margin-bottom: clamp(28px, 4vw, 40px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.cta-asesorate__action .btn-solid-gold {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.cta-asesorate__action-arrow {
    display: inline-block;
    transition: transform 0.3s ease;
    font-size: 1.1em;
}

.cta-asesorate__action .btn-solid-gold:hover .cta-asesorate__action-arrow {
    transform: translateX(4px);
}

.cta-asesorate__action-note {
    font-size: 0.78rem;
    color: rgba(200, 169, 126, 0.7);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 500;
}


.cta-asesorate__footer {
    padding-top: clamp(20px, 3vw, 28px);
    border-top: 1px solid rgba(200, 169, 126, 0.15);
}

.cta-asesorate__footer p {
    font-size: 0.92rem;
    line-height: 1.7;
    color: rgba(232, 226, 213, 0.82);
    max-width: 760px;
    margin: 0 auto;
    text-wrap: pretty;
}

.cta-asesorate__footer p:not(:last-child) {
    margin-bottom: 0.7rem;
}

.cta-asesorate__footer strong {
    color: #fff;
    font-weight: 600;
}

.cta-asesorate__footer em {
    color: var(--color-gold-solid);
    font-style: italic;
    font-weight: 500;
}

.cta-asesorate__footer .gold-text {
    color: var(--color-gold-solid) !important;
    font-weight: 700;
}


.cta-asesorate__steps {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-left: 8px;
    vertical-align: middle;
}

.cta-asesorate__steps span {
    display: inline-block;
    font-size: 0.74rem;
    padding: 3px 10px;
    background: rgba(200, 169, 126, 0.1);
    border: 1px solid rgba(200, 169, 126, 0.28);
    border-radius: 30px;
    color: var(--color-gold-solid);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    line-height: 1.4;
}

@media (max-width: 600px) {
    .cta-asesorate__warnings li {
        grid-template-columns: 1fr;
        text-align: left;
    }
    .cta-asesorate__warning-icon {
        grid-row: auto;
        margin-bottom: 4px;
    }
    .cta-asesorate__warnings li strong,
    .cta-asesorate__warning-desc {
        grid-column: 1;
    }
    .cta-asesorate__steps {
        margin-left: 0;
        margin-top: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cta-asesorate__warnings li,
    .cta-asesorate__action-arrow {
        transition: none !important;
    }
}



#guia-accidente-laboral #faq .section-header {
    text-align: center !important;
    margin-bottom: clamp(28px, 4vw, 40px);
}

#guia-accidente-laboral #faq .section-overline {
    display: inline-block;
    text-align: center;
}

#guia-accidente-laboral #faq .section-title {
    margin-top: 12px;
    text-align: center;
}



#guia-accidente-laboral .legal-outro-box {
    margin: clamp(40px, 6vw, 60px) auto 0;
    max-width: 1250px;
    padding: clamp(32px, 5vw, 56px) clamp(24px, 4vw, 56px);
    background:
        radial-gradient(ellipse 70% 50% at 70% 20%, rgba(200, 169, 126, 0.08) 0%, transparent 65%),
        linear-gradient(145deg, rgba(28, 24, 18, 0.92) 0%, rgba(10, 8, 5, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.22);
    border-radius: 6px;
    position: relative;
    overflow: hidden;
    box-shadow:
        0 28px 60px rgba(0, 0, 0, 0.55),
        0 8px 16px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(200, 169, 126, 0.12);
}

#guia-accidente-laboral .legal-outro-box::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, var(--color-gold-solid) 0%, rgba(200, 169, 126, 0.2) 100%);
}

.legal-outro-box__header {
    text-align: center;
    margin-bottom: clamp(24px, 3.5vw, 32px);
}

.legal-outro-box__eyebrow {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.28em;
    color: var(--color-gold-solid);
    font-weight: 600;
    margin-bottom: 14px;
    padding: 5px 14px;
    background: rgba(200, 169, 126, 0.08);
    border: 1px solid rgba(200, 169, 126, 0.22);
    border-radius: 3px;
}

.legal-outro-box__title {
    font-family: var(--font-display);
    font-size: clamp(1.3rem, 2.5vw, 1.7rem);
    font-weight: 500;
    color: #fff;
    line-height: 1.3;
    letter-spacing: 0.005em;
    margin: 0;
    text-wrap: balance;
}

.legal-outro-box__title em {
    color: rgba(232, 226, 213, 0.7);
    font-style: italic;
    font-weight: 400;
    font-size: 0.85em;
}

.legal-outro-box__title .gold-text {
    color: var(--color-gold-solid);
}

.legal-outro-box__lead {
    font-size: clamp(1rem, 1.4vw, 1.1rem);
    line-height: 1.75;
    color: rgba(232, 226, 213, 0.92);
    max-width: 720px;
    margin: 0 auto clamp(28px, 4vw, 36px);
    text-align: center;
    text-wrap: pretty;
}

.legal-outro-box__lead strong {
    color: #fff;
    font-weight: 600;
}


.legal-outro-box__pillars {
    list-style: none;
    padding: 0;
    margin: 0 auto clamp(28px, 4vw, 36px);
    display: grid;
    gap: clamp(12px, 2vw, 16px);
    max-width: 720px;
}

.legal-outro-box__pillars li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 18px 20px;
    align-items: center;
    padding: clamp(16px, 2.5vw, 22px) clamp(18px, 2.5vw, 24px);
    background: linear-gradient(135deg, rgba(28, 24, 18, 0.6) 0%, rgba(15, 12, 8, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.16);
    border-left: 3px solid var(--color-gold-solid);
    border-radius: 4px;
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.3s ease, background 0.3s ease;
}

.legal-outro-box__pillars li:hover {
    transform: translateY(-2px);
    border-color: rgba(200, 169, 126, 0.35);
    background: linear-gradient(135deg, rgba(28, 24, 18, 0.75) 0%, rgba(18, 14, 10, 0.95) 100%);
}

.legal-outro-box__pillar-num {
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 600;
    background: linear-gradient(135deg, #F8E8C8, #C8A97E 60%, #9F7E4D);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1;
    flex-shrink: 0;
    grid-row: 1 / 3;
}

.legal-outro-box__pillars li > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.legal-outro-box__pillars li strong {
    font-family: var(--font-display);
    font-size: clamp(1rem, 1.5vw, 1.1rem);
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.3;
}

.legal-outro-box__pillar-desc {
    font-size: 0.92rem;
    line-height: 1.6;
    color: rgba(232, 226, 213, 0.78);
}

.legal-outro-box__close {
    font-size: clamp(1rem, 1.4vw, 1.1rem);
    line-height: 1.75;
    color: rgba(232, 226, 213, 0.92);
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
    padding-top: clamp(20px, 3vw, 28px);
    border-top: 1px dashed rgba(200, 169, 126, 0.18);
    text-wrap: pretty;
}

.legal-outro-box__close em {
    color: rgba(232, 226, 213, 0.7);
    font-style: italic;
}

.legal-outro-box__close strong {
    color: #fff;
    font-weight: 700;
}

.legal-outro-box__close .gold-text {
    color: var(--color-gold-solid) !important;
}

@media (max-width: 600px) {
    .legal-outro-box__pillars li {
        grid-template-columns: 1fr;
    }
    .legal-outro-box__pillar-num {
        grid-row: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .legal-outro-box__pillars li {
        transition: none !important;
    }
}


.situations-block {
    margin-top: clamp(28px, 4vw, 40px);
}

.situations-header {
    text-align: left;
    margin-bottom: clamp(24px, 3vw, 32px);
    padding-bottom: clamp(16px, 2vw, 22px);
    border-bottom: 1px solid rgba(200, 169, 126, 0.18);
    position: relative;
}

.situations-header::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 80px;
    height: 1px;
    background: linear-gradient(90deg, var(--color-gold-solid), transparent);
    box-shadow: 0 0 8px rgba(200, 169, 126, 0.4);
}

.situations-eyebrow {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.28em;
    color: var(--color-gold-solid);
    font-weight: 600;
    margin-bottom: 10px;
    padding: 4px 12px;
    background: rgba(200, 169, 126, 0.08);
    border: 1px solid rgba(200, 169, 126, 0.22);
    border-radius: 3px;
}

.situations-title.editorial-list-title {
    font-family: var(--font-display);
    font-size: clamp(1.3rem, 2.5vw, 1.7rem);
    font-weight: 500;
    color: #fff;
    line-height: 1.25;
    letter-spacing: 0.01em;
    margin: 0;
}

.situations-list {
    display: grid;
    gap: clamp(14px, 2vw, 22px);
    list-style: none;
    padding: 0;
    margin: 0;
}

.situation-card {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: clamp(16px, 2.5vw, 28px);
    align-items: start;
    padding: clamp(20px, 2.5vw, 30px) clamp(20px, 2.5vw, 32px);
    background: linear-gradient(135deg,
        rgba(28, 24, 18, 0.85) 0%,
        rgba(15, 12, 8, 0.95) 100%);
    border: 1px solid rgba(200, 169, 126, 0.14);
    border-radius: 5px;
    overflow: hidden;
    transition:
        transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.4s ease,
        box-shadow 0.4s ease;
    will-change: transform;
}

.situation-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg,
        var(--color-gold-solid) 0%,
        rgba(200, 169, 126, 0.25) 100%);
    transition: width 0.4s ease;
}

.situation-card::after {
    content: '';
    position: absolute;
    top: -40%;
    right: -15%;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle,
        rgba(200, 169, 126, 0.05) 0%,
        transparent 60%);
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
}

.situation-card:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 169, 126, 0.32);
    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.5),
        0 4px 8px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(200, 169, 126, 0.1);
}

.situation-card:hover::before {
    width: 5px;
}

.situation-card:hover::after {
    opacity: 1;
}

.situation-card__icon {
    width: clamp(52px, 6vw, 64px);
    height: clamp(52px, 6vw, 64px);
    border-radius: 50%;
    background: radial-gradient(circle,
        rgba(200, 169, 126, 0.2) 0%,
        rgba(200, 169, 126, 0.06) 60%,
        transparent 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gold-solid);
    font-size: clamp(1.4rem, 2.2vw, 1.7rem);
    flex-shrink: 0;
    box-shadow:
        inset 0 1px 0 rgba(200, 169, 126, 0.18),
        0 4px 12px rgba(200, 169, 126, 0.08);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    position: relative;
    z-index: 1;
}

.situation-card:hover .situation-card__icon {
    transform: scale(1.06);
    box-shadow:
        inset 0 1px 0 rgba(200, 169, 126, 0.25),
        0 6px 18px rgba(200, 169, 126, 0.18);
}

.situation-card__body {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.situation-card__num {
    display: inline-block;
    font-family: var(--font-display);
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--color-gold-solid);
    letter-spacing: 0.22em;
    opacity: 0.7;
    margin-bottom: 6px;
}

.situation-card__title {
    font-family: var(--font-display);
    font-size: clamp(1.05rem, 1.7vw, 1.22rem);
    font-weight: 500;
    color: #fff;
    margin: 0 0 10px;
    line-height: 1.3;
    letter-spacing: 0.01em;
}

.situation-card__title em {
    color: var(--color-gold-solid);
    font-style: italic;
    font-weight: 400;
}

.situation-card__desc {
    font-size: 0.95rem;
    line-height: 1.6;
    color: rgba(232, 226, 213, 0.82);
    margin: 0 0 16px;
    text-wrap: pretty;
}

.situation-card__desc strong {
    color: #fff;
    font-weight: 600;
}

.situation-card__desc em {
    color: var(--color-gold-solid);
    font-style: italic;
    font-weight: 500;
}

.situation-card__includes {
    padding-top: 14px;
    border-top: 1px dashed rgba(200, 169, 126, 0.16);
}

.situation-card__includes-label {
    display: block;
    font-family: var(--font-body);
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: rgba(200, 169, 126, 0.85);
    font-weight: 600;
    margin-bottom: 9px;
}

.situation-card__includes-label--alt {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px dashed rgba(200, 169, 126, 0.12);
}

.situation-tags {
    list-style: none;
    padding: 0;
    margin: 0 0 4px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.situation-tags li {
    font-family: var(--font-body);
    font-size: 0.78rem;
    padding: 5px 12px;
    background: linear-gradient(135deg,
        rgba(200, 169, 126, 0.1) 0%,
        rgba(200, 169, 126, 0.03) 100%);
    border: 1px solid rgba(200, 169, 126, 0.28);
    border-radius: 40px;
    color: rgba(232, 226, 213, 0.92);
    font-weight: 500;
    letter-spacing: 0.02em;
    transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
    white-space: nowrap;
}

.situation-tags li:hover {
    background: linear-gradient(135deg,
        rgba(200, 169, 126, 0.2) 0%,
        rgba(200, 169, 126, 0.06) 100%);
    border-color: rgba(200, 169, 126, 0.5);
    color: #fff;
}

.situation-tags--soft li {
    background: rgba(255, 255, 255, 0.025);
    border-color: rgba(255, 255, 255, 0.1);
    color: rgba(232, 226, 213, 0.7);
    font-size: 0.74rem;
    padding: 4px 10px;
}

.situation-tags--soft li:hover {
    background: rgba(200, 169, 126, 0.08);
    border-color: rgba(200, 169, 126, 0.3);
    color: var(--color-gold-solid);
}

@media (max-width: 600px) {
    .situation-card {
        grid-template-columns: 1fr;
        gap: 14px;
        text-align: left;
    }
    .situation-card__icon {
        width: 48px;
        height: 48px;
        font-size: 1.3rem;
    }
    .situations-eyebrow {
        font-size: 0.62rem;
        letter-spacing: 0.22em;
    }
    .situation-tags li {
        font-size: 0.72rem;
        padding: 4px 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .situation-card,
    .situation-card__icon,
    .situation-tags li {
        transition: none !important;
    }
}


.reclamo-section {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.reclamo-bg-glow {
    position: absolute;
    width: clamp(500px, 80vw, 900px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle,
        rgba(200, 169, 126, 0.07) 0%,
        rgba(200, 169, 126, 0.02) 40%,
        transparent 70%);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    filter: blur(60px);
    pointer-events: none;
    z-index: 0;
}

.reclamo-wrap {
    position: relative;
    z-index: 1;
    max-width: 1100px;
    margin: 0 auto;
}

.reclamo-header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto;
}

.reclamo-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: clamp(20px, 3vw, 28px);
}

.reclamo-divider__line {
    flex: 0 0 60px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(200, 169, 126, 0.6),
        transparent);
}

.reclamo-divider__diamond {
    width: 9px;
    height: 9px;
    background: var(--color-gold-solid);
    transform: rotate(45deg);
    box-shadow: 0 0 12px rgba(200, 169, 126, 0.5);
}

.reclamo-header .section-title {
    margin: 14px 0 0;
}

.reclamo-lead {
    font-size: clamp(1.05rem, 1.4vw, 1.18rem);
    line-height: 1.75;
    margin: clamp(20px, 3vw, 28px) auto 0;
    max-width: 720px;
    color: rgba(232, 226, 213, 0.94);
    letter-spacing: 0.003em;
    text-wrap: pretty;
}

.reclamo-lead strong {
    color: var(--color-gold-solid);
    font-weight: 600;
}

.reclamo-damages {
    margin-top: clamp(50px, 7vw, 80px);
}

.reclamo-damages__header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: clamp(24px, 3vw, 36px);
}

.reclamo-damages__count {
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 2.6rem);
    font-weight: 600;
    line-height: 1;
    background: linear-gradient(135deg, #F8E8C8, #C8A97E 60%, #9F7E4D);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 2px 12px rgba(200, 169, 126, 0.2);
    position: relative;
    padding: 0 6px;
}

.reclamo-damages__count::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent);
}

.reclamo-damages__label {
    font-family: var(--font-body);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.28em;
    color: rgba(232, 226, 213, 0.65);
    font-weight: 500;
}

.damages-grid {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: clamp(12px, 1.5vw, 18px);
}

.damage-card {
    position: relative;
    padding: clamp(20px, 3vw, 26px) clamp(16px, 2vw, 22px);
    background: linear-gradient(135deg,
        rgba(28, 24, 18, 0.85) 0%,
        rgba(15, 13, 9, 0.95) 100%);
    border: 1px solid rgba(200, 169, 126, 0.12);
    border-radius: 4px;
    overflow: hidden;
    transition:
        transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.4s ease,
        box-shadow 0.4s ease;
    will-change: transform;
}

.damage-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background: linear-gradient(180deg,
        var(--color-gold-solid) 0%,
        rgba(200, 169, 126, 0.3) 100%);
    transition: width 0.4s ease;
}

.damage-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 20%,
        rgba(200, 169, 126, 0.06) 0%,
        transparent 50%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.damage-card:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 126, 0.32);
    box-shadow:
        0 18px 32px rgba(0, 0, 0, 0.45),
        0 4px 8px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(200, 169, 126, 0.12);
}

.damage-card:hover::before {
    width: 4px;
}

.damage-card:hover::after {
    opacity: 1;
}

.damage-card__num {
    display: block;
    font-family: var(--font-display);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-gold-solid);
    letter-spacing: 0.18em;
    opacity: 0.7;
    margin-bottom: 10px;
    position: relative;
    z-index: 1;
}

.damage-card__title {
    font-family: var(--font-display);
    font-size: clamp(1rem, 1.5vw, 1.12rem);
    font-weight: 500;
    color: #fff;
    margin: 0 0 8px;
    line-height: 1.25;
    letter-spacing: 0.01em;
    position: relative;
    z-index: 1;
}

.damage-card__desc {
    font-size: 0.88rem;
    line-height: 1.55;
    color: rgba(232, 226, 213, 0.72);
    margin: 0;
    position: relative;
    z-index: 1;
}

.reclamo-insight {
    margin-top: clamp(50px, 7vw, 80px);
    padding: clamp(28px, 4vw, 44px) clamp(24px, 4vw, 48px);
    background:
        linear-gradient(135deg,
            rgba(28, 24, 18, 0.88) 0%,
            rgba(15, 12, 8, 0.96) 100%);
    border: 1px solid rgba(200, 169, 126, 0.22);
    border-radius: 6px;
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: clamp(20px, 3vw, 32px);
    align-items: start;
    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.5),
        0 8px 16px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(200, 169, 126, 0.12);
    overflow: hidden;
    isolation: isolate;
}

.reclamo-insight::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg,
        var(--color-gold-solid) 0%,
        rgba(200, 169, 126, 0.2) 100%);
}

.reclamo-insight::after {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    background: radial-gradient(circle,
        rgba(200, 169, 126, 0.05) 0%,
        transparent 60%);
    pointer-events: none;
    z-index: 0;
}

.reclamo-insight > * {
    position: relative;
    z-index: 1;
}

.reclamo-insight__icon {
    width: clamp(48px, 6vw, 56px);
    height: clamp(48px, 6vw, 56px);
    border-radius: 50%;
    background: radial-gradient(circle,
        rgba(200, 169, 126, 0.18) 0%,
        rgba(200, 169, 126, 0.05) 60%,
        transparent 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gold-solid);
    font-size: 1.5rem;
    flex-shrink: 0;
    box-shadow:
        inset 0 1px 0 rgba(200, 169, 126, 0.15),
        0 4px 12px rgba(200, 169, 126, 0.1);
}

.reclamo-insight__body {
    text-align: left;
}

.reclamo-insight__label {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.28em;
    color: var(--color-gold-solid);
    font-weight: 600;
    margin-bottom: 12px;
    padding: 4px 10px;
    background: rgba(200, 169, 126, 0.08);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-radius: 3px;
}

.reclamo-insight__lead {
    font-size: clamp(1rem, 1.3vw, 1.08rem);
    line-height: 1.65;
    color: rgba(232, 226, 213, 0.95);
    margin: 0 0 16px;
    text-wrap: pretty;
}

.reclamo-insight__lead strong {
    color: #fff;
    font-weight: 600;
}

.reclamo-insight__pills {
    list-style: none;
    padding: 0;
    margin: 0 0 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.reclamo-insight__pills li {
    font-family: var(--font-body);
    font-size: 0.78rem;
    padding: 6px 14px;
    background: linear-gradient(135deg,
        rgba(200, 169, 126, 0.12) 0%,
        rgba(200, 169, 126, 0.04) 100%);
    border: 1px solid rgba(200, 169, 126, 0.32);
    border-radius: 40px;
    color: var(--color-gold-solid);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    transition: background 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
}

.reclamo-insight__pills li:hover {
    background: linear-gradient(135deg,
        rgba(200, 169, 126, 0.22) 0%,
        rgba(200, 169, 126, 0.08) 100%);
    border-color: rgba(200, 169, 126, 0.55);
    transform: translateY(-1px);
}

.reclamo-insight__close {
    font-size: 0.95rem;
    line-height: 1.7;
    color: rgba(232, 226, 213, 0.82);
    margin: 0;
    padding-top: 18px;
    border-top: 1px dashed rgba(200, 169, 126, 0.18);
    text-wrap: pretty;
}

.reclamo-key {
    color: var(--color-gold-solid);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: rgba(200, 169, 126, 0.45);
    text-underline-offset: 4px;
    text-decoration-thickness: 1.5px;
    transition: text-decoration-color 0.3s ease;
}

.reclamo-key:hover {
    text-decoration-color: var(--color-gold-solid);
}

.reclamo-cta {
    margin-top: clamp(40px, 5vw, 60px);
    text-align: center;
}

.reclamo-cta .btn-solid-gold {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.reclamo-cta__arrow {
    display: inline-block;
    transition: transform 0.3s ease;
    font-size: 1.1em;
}

.reclamo-cta .btn-solid-gold:hover .reclamo-cta__arrow {
    transform: translateX(4px);
}

@media (max-width: 640px) {
    .reclamo-insight {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .reclamo-insight__icon {
        margin: 0 auto;
    }
    .reclamo-insight__body {
        text-align: center;
    }
    .reclamo-insight__pills {
        justify-content: center;
    }
    .damages-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .reclamo-divider__line {
        flex-basis: 40px;
    }
    .reclamo-damages__count {
        font-size: 1.8rem;
    }
    .reclamo-damages__label {
        font-size: 0.7rem;
        letter-spacing: 0.22em;
    }
}

@media (prefers-reduced-motion: reduce) {
    .damage-card,
    .reclamo-insight__pills li,
    .reclamo-cta__arrow {
        transition: none !important;
    }
}


.scan-block {
    --scan-line-color: rgba(232, 226, 213, 0.94);
}

.scan-block .scan-lead {
    font-size: clamp(1.05rem, 1.4vw, 1.15rem);
    line-height: 1.75;
    margin: clamp(1.4rem, 3vw, 2rem) auto 0;
    max-width: 980px;
    color: var(--scan-line-color);
    letter-spacing: 0.003em;
    text-wrap: pretty;
    font-weight: 400;
}

.scan-block .scan-intro {
    font-size: 1rem;
    line-height: 1.6;
    margin: 1.4rem auto 0.4rem;
    max-width: 680px;
    color: var(--scan-line-color);
    text-wrap: pretty;
}

.scan-block .scan-body {
    font-size: 1rem;
    line-height: 1.8;
    margin: 1.1rem auto 0;
    max-width: 980px;
    color: var(--scan-line-color);
    letter-spacing: 0.003em;
    text-wrap: pretty;
}

.scan-block .scan-close {
    font-size: 1rem;
    line-height: 1.8;
    margin: 1.4rem auto 0;
    max-width: 980px;
    color: var(--scan-line-color);
    letter-spacing: 0.003em;
    text-wrap: pretty;
    font-style: italic;
    opacity: 0.92;
}

.scan-block .scan-close strong {
    font-style: normal;
}

.scan-block .damages-list {
    list-style: none;
    padding: 0;
    margin: 0.5rem auto 1.4rem;
    max-width: 620px;
    text-align: left;
    display: grid;
    gap: 0.45rem;
}

.scan-block .damages-list li {
    position: relative;
    padding: 0.55rem 0.8rem 0.55rem 2rem;
    font-size: 0.98rem;
    line-height: 1.55;
    color: rgba(232, 226, 213, 0.92);
    border-left: 2px solid rgba(200, 169, 126, 0.25);
    background: linear-gradient(90deg, rgba(200, 169, 126, 0.04) 0%, transparent 80%);
    border-radius: 0 4px 4px 0;
    transition: border-color 0.3s ease, background 0.3s ease;
}

.scan-block .damages-list li::before {
    content: '';
    position: absolute;
    left: 0.7rem;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-gold-solid);
    box-shadow: 0 0 8px rgba(200, 169, 126, 0.55);
}

.scan-block .damages-list li:hover {
    border-left-color: var(--color-gold-solid);
    background: linear-gradient(90deg, rgba(200, 169, 126, 0.08) 0%, transparent 80%);
}

.scan-block .damages-list strong {
    color: var(--color-gold-solid);
    font-weight: 600;
}

.scan-block .damages-list .dash {
    color: rgba(200, 169, 126, 0.45);
    margin: 0 0.25rem;
}

.scan-block .cta__subtitle--warning {
    max-width: 680px;
    margin: 0 auto 1.2rem;
    line-height: 1.7;
    text-wrap: pretty;
}

.scan-block .cta__subtitle--solution {
    max-width: 680px;
    margin: 1.2rem auto 0;
    line-height: 1.75;
    text-wrap: pretty;
    padding-top: 1.1rem;
    border-top: 1px solid rgba(200, 169, 126, 0.18);
    position: relative;
}

.scan-block .cta__subtitle--solution::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 1px;
    background: var(--color-gold-solid);
    box-shadow: 0 0 8px rgba(200, 169, 126, 0.4);
}

.scan-block .hl-gold {
    color: var(--color-gold-solid);
    font-weight: 700;
}

@media (max-width: 600px) {
    .scan-block .damages-list {
        max-width: 100%;
    }
    .scan-block .damages-list li {
        font-size: 0.92rem;
        padding-left: 1.7rem;
    }
}


@media (max-width: 991px) {

    .header__menu > li.header__dropdown.dropdown-active {
        overflow: visible !important;
    }
    .submenu-card .submenu-zones {
        position: relative;
        z-index: 2;
    }
    .submenu-zones a {
        touch-action: manipulation;
        position: relative;
        z-index: 2;
        pointer-events: auto !important;
        -webkit-tap-highlight-color: rgba(200, 169, 126, 0.18);
    }
    .submenu-card .submenu-main-link {
        touch-action: manipulation;
        -webkit-tap-highlight-color: rgba(200, 169, 126, 0.12);
    }
}


.diferenciales-value-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
    max-width: 1080px;
    margin: 3rem auto 0;
}

.diferenciales-value-card {
    background: rgba(20, 20, 20, 0.55);
    border: 1px solid rgba(200, 169, 126, 0.15);
    border-radius: 8px;
    padding: 28px 24px;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.diferenciales-value-card:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 126, 0.4);
    box-shadow: 0 18px 40px -22px rgba(0, 0, 0, 0.6);
}

.diferenciales-value-card__icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(200, 169, 126, 0.12);
    color: var(--color-gold-solid);
    font-size: 1.4rem;
    margin-bottom: 16px;
}

.diferenciales-value-card__title {
    font-family: var(--font-display);
    font-size: clamp(1.05rem, 2vw, 1.18rem);
    color: var(--color-gold-solid);
    margin: 0 0 10px;
    line-height: 1.3;
}

.diferenciales-value-card__desc {
    font-size: 0.95rem;
    line-height: 1.65;
    color: rgba(240, 240, 240, 0.82);
    margin: 0;
}

.diferenciales-coverage {
    max-width: 1080px;
    margin: 2.5rem auto 0;
    padding: 28px 24px;
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.06), rgba(20, 20, 20, 0.4));
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 8px;
    text-align: center;
}

.diferenciales-coverage__eyebrow {
    display: block;
    font-size: 0.78rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
    margin-bottom: 16px;
    font-weight: 600;
}

.diferenciales-coverage__pills {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.diferenciales-coverage__pills li {
    padding: 6px 14px;
    background: rgba(20, 20, 20, 0.55);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-radius: 999px;
    font-size: 0.82rem;
    color: rgba(240, 240, 240, 0.85);
    letter-spacing: 0.02em;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.diferenciales-coverage__pills li:hover {
    background: rgba(200, 169, 126, 0.12);
    border-color: rgba(200, 169, 126, 0.4);
    color: #fff;
}

.diferenciales-promise {
    max-width: 1080px;
    margin: 2.5rem auto 0;
    text-align: center;
}

.diferenciales-promise__items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 24px;
    margin-bottom: 1.75rem;
}

.diferenciales-promise__item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.92rem;
    color: rgba(240, 240, 240, 0.9);
}

.diferenciales-promise__item svg {
    width: 1em;
    height: 1em;
    color: var(--color-gold-solid);
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .diferenciales-promise__items {
        gap: 10px 16px;
    }
    .diferenciales-promise__item {
        font-size: 0.88rem;
    }
}




.faq-individual-page {
    --faq-color-cream: #f5e8d3;
    --faq-color-deep-black: #050505;
    --faq-color-charcoal: #0a0a0a;
    --faq-ease: cubic-bezier(0.4, 0, 0.2, 1);
}


.faq-hero {
    position: relative;
    padding: clamp(120px, 18vh, 180px) 0 clamp(60px, 10vh, 100px);
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(180deg, #050505 0%, #0a0a0a 100%);
}

.faq-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.faq-hero__content {
    position: relative;
    z-index: 1;
    max-width: 1100px;
    text-align: left;
}

.faq-breadcrumbs {
    margin-bottom: clamp(20px, 3vw, 32px);
}

.faq-breadcrumbs ol {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    font-size: 0.85rem;
    color: rgba(240, 240, 240, 0.6);
}

.faq-breadcrumbs li {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.faq-breadcrumbs li:not(:last-child)::after {
    content: '›';
    margin-left: 4px;
    color: rgba(200, 169, 126, 0.5);
    font-size: 1.1rem;
    line-height: 1;
}

.faq-breadcrumbs a {
    color: rgba(200, 169, 126, 0.85);
    text-decoration: none;
    transition: color 0.3s var(--faq-ease);
}

.faq-breadcrumbs a:hover {
    color: var(--color-gold-solid);
}

.faq-breadcrumbs li[aria-current="page"] {
    color: rgba(240, 240, 240, 0.85);
    font-weight: 500;
}

.faq-hero__overline {
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
    margin-bottom: 18px;
}

.faq-hero__title {
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 4vw, 2.8rem);
    line-height: 1.18;
    color: #fff;
    margin: 0 0 20px;
    font-weight: 500;
    text-wrap: balance;
}

.faq-hero__lead {
    font-family: var(--font-body);
    font-size: clamp(1rem, 1.6vw, 1.15rem);
    line-height: 1.7;
    color: rgba(240, 240, 240, 0.85);
    max-width: 820px;
    margin: 0 0 32px;
}

.faq-hero__lead strong {
    color: var(--color-gold-solid);
    font-weight: 600;
}

.faq-hero__lead em {
    font-style: italic;
    color: rgba(240, 240, 240, 0.75);
}

.faq-hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 24px;
    margin-bottom: 36px;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(200, 169, 126, 0.18);
}

.faq-hero__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    color: rgba(240, 240, 240, 0.7);
    line-height: 1;
}

.faq-hero__meta-item svg {
    color: var(--color-gold-solid);
    width: 1em;
    height: 1em;
    flex-shrink: 0;
}

.faq-hero__cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
}


.faq-article {
    padding-top: clamp(50px, 8vw, 90px);
    padding-bottom: clamp(50px, 8vw, 90px);
}

.faq-article__container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    max-width: 1200px;
}

@media (min-width: 1024px) {
    .faq-article__container {
        grid-template-columns: 280px 1fr;
        gap: 56px;
    }
}

.faq-article__toc {
    align-self: start;
}

@media (min-width: 1024px) {
    .faq-article__toc {
        position: sticky;
        top: 110px;
        height: max-content;
    }
}

.faq-toc__details {
    background: rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 10px;
    padding: 20px 22px;
    transition: border-color 0.3s var(--faq-ease);
}

.faq-toc__details[open] {
    border-color: rgba(200, 169, 126, 0.32);
}

.faq-toc__heading {
    font-family: var(--font-display);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
    cursor: pointer;
    list-style: none;
    margin: 0;
    padding: 0;
}

.faq-toc__heading::-webkit-details-marker {
    display: none;
}

.faq-toc__heading::after {
    content: '＋';
    float: right;
    color: rgba(200, 169, 126, 0.6);
    transition: transform 0.3s var(--faq-ease);
}

.faq-toc__details[open] .faq-toc__heading::after {
    content: '−';
}

@media (min-width: 1024px) {
    .faq-toc__heading::after {
        display: none;
    }
}

.faq-toc__list {
    list-style: none;
    counter-reset: tocCount;
    margin: 18px 0 0;
    padding: 0;
}

.faq-toc__list li {
    counter-increment: tocCount;
    padding: 0;
    margin: 0 0 4px;
}

.faq-toc__list a {
    display: flex;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 6px;
    text-decoration: none;
    color: rgba(240, 240, 240, 0.78);
    font-size: 0.92rem;
    line-height: 1.4;
    transition: background 0.25s var(--faq-ease), color 0.25s var(--faq-ease), transform 0.25s var(--faq-ease);
    position: relative;
}

.faq-toc__list a::before {
    content: counter(tocCount, decimal-leading-zero);
    flex-shrink: 0;
    color: var(--color-gold-solid);
    font-family: var(--font-display);
    font-size: 0.82rem;
    font-weight: 600;
    min-width: 24px;
}

.faq-toc__list a:hover {
    background: rgba(200, 169, 126, 0.08);
    color: #fff;
    transform: translateX(4px);
}

.faq-toc__list a[aria-current="true"] {
    background: rgba(200, 169, 126, 0.12);
    color: #fff;
    font-weight: 500;
    border-left: 2px solid var(--color-gold-solid);
    padding-left: 8px;
}


.faq-article__body {
    max-width: 760px;
    font-size: 1.02rem;
    line-height: 1.85;
    color: rgba(240, 240, 240, 0.88);
}

.faq-article__body > *:first-child {
    margin-top: 0;
}

.faq-article__body h2 {
    font-family: var(--font-display);
    font-size: clamp(1.3rem, 2.2vw, 1.7rem);
    color: var(--color-gold-solid);
    margin: 2.5rem 0 1rem;
    line-height: 1.3;
    font-weight: 500;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(200, 169, 126, 0.15);
    background: linear-gradient(90deg, rgba(200, 169, 126, 0) 0%, rgba(200, 169, 126, 0.18) 50%, rgba(200, 169, 126, 0) 100%);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: 100% 1px;
    border-bottom: none;
    scroll-margin-top: 110px;
}

.faq-article__body h2[id^="h2-"] {
    scroll-margin-top: 110px;
}

.faq-article__body h3 {
    font-family: var(--font-display);
    font-size: clamp(1.1rem, 1.8vw, 1.3rem);
    color: rgba(245, 232, 211, 0.95);
    margin: 1.8rem 0 0.8rem;
    font-weight: 600;
    line-height: 1.35;
}

.faq-article__body p {
    margin: 0 0 1.1rem;
}

.faq-article__body strong {
    color: rgba(245, 232, 211, 0.98);
    font-weight: 600;
}

.faq-article__body em {
    font-style: italic;
    color: rgba(240, 240, 240, 0.75);
}

.faq-article__body ul,
.faq-article__body ol {
    margin: 0.5rem 0 1.5rem;
    padding-left: 1.5rem;
}

.faq-article__body li {
    margin-bottom: 0.55rem;
    line-height: 1.7;
}

.faq-article__body ul li::marker {
    color: var(--color-gold-solid);
}

.faq-article__body ol li::marker {
    color: var(--color-gold-solid);
    font-weight: 600;
}

.faq-article__body a {
    color: var(--color-gold-solid);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color 0.3s var(--faq-ease);
}

.faq-article__body a:hover {
    color: #f5e8d3;
}

.faq-article__body .legal-citation {
    display: block;
    background: rgba(200, 169, 126, 0.06);
    border-left: 3px solid var(--color-gold-solid);
    padding: 14px 20px;
    margin: 1.5rem 0;
    font-size: 0.95rem;
    line-height: 1.7;
    color: rgba(240, 240, 240, 0.82);
    border-radius: 0 6px 6px 0;
}

.faq-related {
    padding-top: clamp(50px, 8vw, 90px);
    padding-bottom: clamp(50px, 8vw, 90px);
}

.faq-related__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    max-width: 1200px;
    margin: 2.5rem auto 0;
}

@media (min-width: 720px) {
    .faq-related__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .faq-related__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.faq-related__card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 26px 24px 28px;
    background: rgba(0, 0, 0, 0.55);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-radius: 14px;
    text-decoration: none;
    color: inherit;
    transition: transform 0.3s var(--faq-ease), border-color 0.3s var(--faq-ease), box-shadow 0.3s var(--faq-ease);
    position: relative;
    overflow: hidden;
}

.faq-related__card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at top right, rgba(200, 169, 126, 0.08) 0%, transparent 60%);
    opacity: 0;
    transition: opacity 0.3s var(--faq-ease);
    pointer-events: none;
}

.faq-related__card:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 18px 40px -22px rgba(200, 169, 126, 0.4),
                0 12px 30px -14px rgba(0, 0, 0, 0.7);
}

.faq-related__card:hover::before {
    opacity: 1;
}

.faq-related__overline {
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
}

.faq-related__title {
    font-family: var(--font-display);
    font-size: 1.08rem;
    font-weight: 500;
    line-height: 1.4;
    color: rgba(245, 232, 211, 0.95);
    margin: 0;
    flex-grow: 1;
}

.faq-related__cta {
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
}

.faq-related__cta svg {
    width: 0.9em;
    height: 0.9em;
    transition: transform 0.3s var(--faq-ease);
}

.faq-related__card:hover .faq-related__cta svg {
    transform: translateX(4px);
}

.faq-cta {
    padding-top: clamp(50px, 8vw, 90px);
    padding-bottom: clamp(60px, 10vw, 110px);
}

.faq-cta__card {
    position: relative;
    max-width: 920px;
    margin: 0 auto;
    padding: clamp(36px, 6vw, 60px) clamp(28px, 5vw, 56px);
    background: linear-gradient(145deg, rgba(20, 20, 20, 0.85) 0%, rgba(5, 5, 5, 0.95) 100%);
    border: 1px solid rgba(200, 169, 126, 0.25);
    border-top: 1px solid rgba(200, 169, 126, 0.55);
    border-radius: 12px;
    text-align: center;
    overflow: hidden;
    box-shadow: 0 30px 60px -28px rgba(0, 0, 0, 0.7);
}

.faq-cta__glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center top, rgba(200, 169, 126, 0.18) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
}

.faq-cta__title,
.faq-cta__subtitle,
.faq-cta__actions,
.faq-cta__features {
    position: relative;
    z-index: 1;
}

.faq-cta__title {
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 3vw, 2rem);
    color: #fff;
    margin: 0 0 18px;
    line-height: 1.25;
    font-weight: 500;
}

.faq-cta__subtitle {
    font-size: clamp(0.95rem, 1.4vw, 1.05rem);
    line-height: 1.7;
    color: rgba(240, 240, 240, 0.82);
    max-width: 680px;
    margin: 0 auto 32px;
}

.faq-cta__subtitle strong {
    color: var(--color-gold-solid);
    font-weight: 600;
}

.faq-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: center;
    margin-bottom: 28px;
}

.faq-cta__tel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    border: 1px solid rgba(200, 169, 126, 0.45);
    border-radius: 4px;
    color: var(--color-gold-solid);
    text-decoration: none;
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: background 0.3s var(--faq-ease), color 0.3s var(--faq-ease), border-color 0.3s var(--faq-ease);
}

.faq-cta__tel:hover {
    background: rgba(200, 169, 126, 0.12);
    border-color: var(--color-gold-solid);
    color: #f5e8d3;
}

.faq-cta__features {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 22px;
}

.faq-cta__features li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.82rem;
    color: rgba(240, 240, 240, 0.78);
}

.faq-cta__features li::before {
    content: '✓';
    color: var(--color-gold-solid);
    font-weight: 700;
}

.faq-category-block {
    margin-bottom: 3rem;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.faq-category-block:last-child {
    margin-bottom: 0;
}

.faq-category-title {
    display: flex;
    align-items: center;
    gap: 14px;
    font-family: var(--font-display);
    font-size: clamp(1.15rem, 2.2vw, 1.5rem);
    color: var(--color-gold-solid);
    margin: 0 0 1.2rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid rgba(200, 169, 126, 0.18);
    background-image: linear-gradient(90deg, rgba(200, 169, 126, 0.5) 0%, rgba(200, 169, 126, 0) 60%);
    background-position: bottom left;
    background-size: 60% 1px;
    background-repeat: no-repeat;
    border-bottom: none;
    padding-bottom: 1rem;
}

.faq-category-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(200, 169, 126, 0.12);
    color: var(--color-gold-solid);
    flex-shrink: 0;
}

.faq-category-icon svg {
    width: 1em;
    height: 1em;
    font-size: 1rem;
}

.faq-category-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.faq-category-list li {
    border-bottom: 1px solid rgba(200, 169, 126, 0.08);
}

.faq-category-list li:last-child {
    border-bottom: none;
}

.faq-category-list a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 6px;
    color: rgba(240, 240, 240, 0.85);
    text-decoration: none;
    font-size: 0.98rem;
    line-height: 1.4;
    transition: background 0.25s var(--faq-ease), color 0.25s var(--faq-ease), transform 0.25s var(--faq-ease);
    position: relative;
    box-shadow: inset 0 -1px 0 rgba(200, 169, 126, 0.08);
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.faq-category-list a::after {
    content: '›';
    margin-left: auto;
    color: rgba(200, 169, 126, 0.4);
    font-size: 1.4rem;
    line-height: 1;
    opacity: 0;
    transition: opacity 0.25s var(--faq-ease), transform 0.25s var(--faq-ease);
}

.faq-category-list a:hover {
    background: rgba(200, 169, 126, 0.07);
    color: #fff;
    transform: translateX(4px);
}

.faq-category-list a:hover::after {
    opacity: 1;
    transform: translateX(4px);
}

@media (max-width: 768px) {
    .faq-hero {
        padding-top: clamp(100px, 16vh, 140px);
    }

    .faq-hero__meta {
        gap: 10px 16px;
    }

    .faq-cta__actions {
        flex-direction: column;
    }

    .faq-cta__actions > a {
        width: 100% !important;
    }

    .faq-related__title {
        font-size: 1rem;
    }
}


.faq-hero {
    background:
        radial-gradient(ellipse at 15% 20%, rgba(200, 169, 126, 0.10) 0%, transparent 55%),
        radial-gradient(ellipse at 85% 80%, rgba(200, 169, 126, 0.08) 0%, transparent 50%),
        linear-gradient(180deg, #050505 0%, #0a0a0a 100%);
}

.faq-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(200, 169, 126, 0.04) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(200, 169, 126, 0.04) 1px, transparent 1px);
    background-size: 64px 64px;
    background-position: -1px -1px;
    mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
    pointer-events: none;
    z-index: 0;
    opacity: 0.6;
}

.faq-hero::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(200, 169, 126, 0.18) 20%,
        rgba(200, 169, 126, 0.45) 50%,
        rgba(200, 169, 126, 0.18) 80%,
        transparent 100%);
    z-index: 2;
    pointer-events: none;
}

.faq-hero__content {
    max-width: 1080px;
    position: relative;
    z-index: 2;
}

.faq-breadcrumbs {
    display: inline-flex;
    margin-bottom: clamp(28px, 4vw, 40px);
    padding: 8px 18px;
    background: linear-gradient(135deg, rgba(20, 20, 20, 0.6), rgba(10, 10, 10, 0.4));
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 999px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 8px 24px -16px rgba(0, 0, 0, 0.6);
    transition: border-color 0.3s var(--faq-ease, cubic-bezier(0.4,0,0.2,1));
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
}

.faq-breadcrumbs::-webkit-scrollbar {
    display: none;
}

.faq-breadcrumbs:hover {
    border-color: rgba(200, 169, 126, 0.36);
}

.faq-breadcrumbs ol {
    flex-wrap: nowrap;
    gap: 6px 10px;
    font-size: 0.82rem;
    white-space: nowrap;
}

.faq-breadcrumbs li:not(:last-child)::after {
    content: '';
    width: 4px;
    height: 4px;
    background: rgba(200, 169, 126, 0.5);
    border-radius: 50%;
    margin: 0 4px;
    transform: rotate(45deg);
    flex-shrink: 0;
}

.faq-breadcrumbs li[aria-current="page"] {
    color: var(--color-gold-solid);
    font-weight: 500;
    text-shadow: 0 0 12px rgba(200, 169, 126, 0.25);
}

.faq-hero__overline {
    position: relative;
    padding-left: 32px;
}

.faq-hero__overline::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 22px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid));
    transform: translateY(-50%);
}

.faq-hero__title {
    background: linear-gradient(135deg, #ffffff 0%, #f5e8d3 60%, #c8a97e 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 2px 14px rgba(200, 169, 126, 0.08));
    margin-bottom: 24px;
}

.faq-hero__lead {
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    color: rgba(240, 240, 240, 0.88);
    border-left: 2px solid rgba(200, 169, 126, 0.35);
    padding-left: 22px;
    margin-bottom: 36px;
}

@media (max-width: 600px) {
    .faq-hero__lead {
        padding-left: 16px;
    }
}

.faq-hero__meta {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 32px;
    gap: 10px;
}

.faq-hero__meta-item {
    padding: 8px 14px;
    background: rgba(20, 20, 20, 0.5);
    border: 1px solid rgba(200, 169, 126, 0.15);
    border-radius: 6px;
    font-size: 0.8rem;
    transition: border-color 0.3s var(--faq-ease, cubic-bezier(0.4,0,0.2,1)),
                background 0.3s var(--faq-ease, cubic-bezier(0.4,0,0.2,1));
}

.faq-hero__meta-item:hover {
    border-color: rgba(200, 169, 126, 0.35);
    background: rgba(20, 20, 20, 0.75);
}

.faq-hero__cta {
    margin-top: 8px;
    box-shadow: 0 12px 28px -12px rgba(200, 169, 126, 0.4),
                0 8px 16px -8px rgba(0, 0, 0, 0.5);
}

#faq-individuales {
    position: relative;
    overflow: hidden;
}

#faq-individuales::before {
    content: '';
    position: absolute;
    top: 10%;
    left: -8vw;
    width: 35vw;
    height: 35vw;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.10) 0%, transparent 60%);
    filter: blur(80px);
    pointer-events: none;
    z-index: 0;
}

#faq-individuales::after {
    content: '';
    position: absolute;
    bottom: 10%;
    right: -8vw;
    width: 30vw;
    height: 30vw;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.08) 0%, transparent 60%);
    filter: blur(80px);
    pointer-events: none;
    z-index: 0;
}

#faq-individuales > .container {
    position: relative;
    z-index: 1;
}

.faq-category-block {
    background: linear-gradient(155deg, rgba(20, 20, 20, 0.7) 0%, rgba(8, 8, 8, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.15);
    border-top: 1px solid rgba(200, 169, 126, 0.4);
    border-radius: 14px;
    padding: clamp(28px, 4vw, 44px) clamp(22px, 3vw, 36px);
    margin-bottom: 28px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 22px 50px -28px rgba(0, 0, 0, 0.7);
    transition: border-color 0.4s var(--faq-ease, cubic-bezier(0.4,0,0.2,1)),
                transform 0.4s var(--faq-ease, cubic-bezier(0.4,0,0.2,1)),
                box-shadow 0.4s var(--faq-ease, cubic-bezier(0.4,0,0.2,1));
}

.faq-category-block:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 169, 126, 0.32);
    border-top-color: rgba(200, 169, 126, 0.6);
    box-shadow: 0 30px 60px -24px rgba(0, 0, 0, 0.85),
                0 0 0 1px rgba(200, 169, 126, 0.05);
}

.faq-category-block::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 320px;
    height: 320px;
    background: radial-gradient(circle at top right, rgba(200, 169, 126, 0.10) 0%, transparent 65%);
    pointer-events: none;
    opacity: 0.6;
    transition: opacity 0.4s var(--faq-ease, cubic-bezier(0.4,0,0.2,1));
}

.faq-category-block:hover::before {
    opacity: 1;
}

.faq-category-title {
    border-bottom: 1px solid rgba(200, 169, 126, 0.18);
    background-image: none;
    padding-bottom: 1.1rem;
    margin-bottom: 1.5rem;
    position: relative;
}

.faq-category-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 80px;
    height: 1px;
    background: linear-gradient(90deg, var(--color-gold-solid), transparent);
}

.faq-category-icon {
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.25) 0%, rgba(200, 169, 126, 0.08) 100%);
    border: 1px solid rgba(200, 169, 126, 0.3);
    box-shadow: 0 6px 18px -8px rgba(200, 169, 126, 0.5),
                inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.faq-category-icon svg {
    font-size: 1.1rem;
}

.faq-category-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
}

@media (min-width: 768px) {
    .faq-category-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px 16px;
    }
}

.faq-category-list li {
    border-bottom: none;
}

.faq-category-list a {
    padding: 14px 16px 14px 18px;
    
    border-radius: 8px;
    font-size: 0.95rem;
    line-height: 1.45;
    position: relative;
}

.faq-category-list a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) scaleY(0);
    width: 2px;
    height: 60%;
    background: var(--color-gold-solid);
    border-radius: 2px;
    transition: transform 0.3s var(--faq-ease, cubic-bezier(0.4,0,0.2,1));
}

.faq-category-list a::after {
    content: '';
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    margin-left: auto;
    border-radius: 50%;
    background-color: rgba(200, 169, 126, 0.10);
    border: 1px solid rgba(200, 169, 126, 0.32);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512' fill='%23c8a97e'%3E%3Cpath d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 9px 13px;
    opacity: 0.9;
    transform: translateX(0);
    transition: opacity 0.3s var(--faq-ease, cubic-bezier(0.4,0,0.2,1)),
                transform 0.3s var(--faq-ease, cubic-bezier(0.4,0,0.2,1)),
                background-color 0.3s var(--faq-ease, cubic-bezier(0.4,0,0.2,1)),
                border-color 0.3s var(--faq-ease, cubic-bezier(0.4,0,0.2,1)),
                box-shadow 0.3s var(--faq-ease, cubic-bezier(0.4,0,0.2,1));
}

.faq-category-list a:hover {
    background: rgba(200, 169, 126, 0.08);
    border-color: rgba(200, 169, 126, 0.22);
    color: #fff;
    transform: translateX(0);
}

.faq-category-list a:hover::before {
    transform: translateY(-50%) scaleY(1);
}

.faq-category-list a:hover::after,
.faq-category-list a:focus-visible::after {
    opacity: 1;
    transform: translateX(4px) scale(1.08);
    background-color: rgba(200, 169, 126, 0.22);
    border-color: rgba(200, 169, 126, 0.6);
    box-shadow: 0 0 14px rgba(200, 169, 126, 0.35);
}


.faq-toc-edge {
    display: none;
}

@media (max-width: 1023px) {
.faq-individual-page .faq-article__toc {
    display: none;
}
}


.faq-toc-edge {
    --edge-spring: cubic-bezier(0.32, 0.72, 0, 1);    
    --edge-glide: cubic-bezier(0.22, 0.61, 0.36, 1);  
    --edge-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);  
    --edge-gold: 200, 169, 126;
    --edge-cream: 245, 232, 211;
    display: block;
    position: fixed;
    inset: 0;
 
    z-index: 9990;
    pointer-events: none; 
}

.faq-toc-edge > * {
    pointer-events: auto;
}



.faq-toc-edge__handle {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 25px;
    min-height: clamp(120px, 18vh, 170px);
    padding: 14px 4px 14px 0;
    background:
        linear-gradient(180deg,
            rgba(var(--edge-gold), 0.18) 0%,
            rgba(var(--edge-gold), 0.32) 50%,
            rgba(var(--edge-gold), 0.18) 100%),
        linear-gradient(180deg,
            rgba(8, 8, 8, 0.9) 0%,
            rgba(15, 15, 15, 0.85) 100%);
    backdrop-filter: blur(14px) saturate(120%);
    -webkit-backdrop-filter: blur(14px) saturate(120%);
    border: 1px solid rgba(var(--edge-gold), 0.35);
    border-left: none;
    border-radius: 0 22px 22px 0;
    cursor: pointer;
    box-shadow:
        6px 8px 28px -8px rgba(0, 0, 0, 0.6),
        2px 4px 12px -4px rgba(0, 0, 0, 0.45),
        inset -1px 0 0 rgba(var(--edge-cream), 0.06),
        inset 0 1px 0 rgba(var(--edge-cream), 0.10);
    transition:
        width 0.55s var(--edge-spring),
        min-height 0.55s var(--edge-spring),
        padding 0.55s var(--edge-spring),
        box-shadow 0.4s var(--edge-glide),
        border-color 0.4s var(--edge-glide),
        background-position 0.6s var(--edge-glide);
    background-size: 200% 200%;
    background-position: 0% 0%;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    animation: edgeHandleBreath 4.2s ease-in-out infinite;
}

@keyframes edgeHandleBreath {
    0%, 100% {
        box-shadow:
            6px 8px 28px -8px rgba(0, 0, 0, 0.6),
            2px 4px 12px -4px rgba(0, 0, 0, 0.45),
            inset -1px 0 0 rgba(var(--edge-cream), 0.06),
            inset 0 1px 0 rgba(var(--edge-cream), 0.10);
    }
    50% {
        box-shadow:
            8px 10px 36px -8px rgba(0, 0, 0, 0.72),
            3px 6px 18px -4px rgba(var(--edge-gold), 0.18),
            inset -1px 0 0 rgba(var(--edge-cream), 0.10),
            inset 0 1px 0 rgba(var(--edge-cream), 0.14);
    }
}

.faq-toc-edge__handle:hover,
.faq-toc-edge__handle:focus-visible,
.faq-toc-edge__handle:active {
    width: 24px;
    min-height: clamp(140px, 22vh, 200px);
    padding: 16px 6px 16px 0;
    border-color: rgba(var(--edge-gold), 0.6);
    background-position: 100% 100%;
    outline: none;
    animation-play-state: paused;
}

.faq-toc-edge__handle-glow {
    position: absolute;
    top: 50%;
    left: 100%;
    width: 60px;
    height: 110%;
    transform: translate(-30%, -50%);
    background: radial-gradient(ellipse at left,
        rgba(var(--edge-gold), 0.22) 0%,
        rgba(var(--edge-gold), 0.08) 35%,
        transparent 70%);
    filter: blur(8px);
    pointer-events: none;
    opacity: 0.55;
    transition: opacity 0.4s var(--edge-glide);
}

.faq-toc-edge__handle:hover .faq-toc-edge__handle-glow,
.faq-toc-edge__handle:focus-visible .faq-toc-edge__handle-glow {
    opacity: 1;
}

.faq-toc-edge__handle-grip {
    display: inline-flex;
    flex-direction: row;
    gap: 2.5px;
    align-items: center;
    justify-content: center;
    height: 22px;
}

.faq-toc-edge__handle-grip span {
    display: block;
    width: 1.8px;
    height: 16px;
    background: linear-gradient(180deg,
        rgba(var(--edge-cream), 0.85) 0%,
        rgba(var(--edge-gold), 0.95) 50%,
        rgba(var(--edge-cream), 0.85) 100%);
    border-radius: 2px;
    box-shadow: 0 0 7px rgba(var(--edge-gold), 0.6);
    opacity: 0.9;
    transform-origin: center;
    animation: edgeGripPulse 2.2s ease-in-out infinite;
}

.faq-toc-edge__handle-grip span:nth-child(1) { animation-delay: 0s; }
.faq-toc-edge__handle-grip span:nth-child(2) { animation-delay: 0.18s; height: 22px; }
.faq-toc-edge__handle-grip span:nth-child(3) { animation-delay: 0.36s; }

@keyframes edgeGripPulse {
    0%, 100% { opacity: 0.6; transform: scaleY(0.85); }
    50% { opacity: 1; transform: scaleY(1.05); }
}

.faq-toc-edge__handle-label {
    font-family: var(--font-display, 'Cinzel', serif);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.36em;
    text-transform: uppercase;
    color: rgba(var(--edge-cream), 0.95);
    writing-mode: vertical-rl;
    text-shadow: 0 0 14px rgba(var(--edge-gold), 0.6);
    opacity: 0.8;
    transform: rotate(180deg);
    transition: opacity 0.4s var(--edge-glide),
                letter-spacing 0.5s var(--edge-spring);
    white-space: nowrap;
}

.faq-toc-edge__handle:hover .faq-toc-edge__handle-label,
.faq-toc-edge__handle:focus-visible .faq-toc-edge__handle-label,
.faq-toc-edge.is-open .faq-toc-edge__handle-label {
    opacity: 1;
    letter-spacing: 0.42em;
}

.faq-toc-edge.is-open .faq-toc-edge__handle {
    animation: none;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-50%) translateX(-12px);
    transition:
        opacity 0.25s var(--edge-glide),
        transform 0.4s var(--edge-spring);
}

.faq-toc-edge__panel {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(86vw, 380px);
    background:
        radial-gradient(ellipse at top right,
            rgba(var(--edge-gold), 0.10) 0%,
            transparent 50%),
        linear-gradient(180deg,
            rgba(10, 10, 10, 0.94) 0%,
            rgba(18, 16, 14, 0.94) 50%,
            rgba(10, 10, 10, 0.94) 100%);
    backdrop-filter: blur(28px) saturate(180%);
    -webkit-backdrop-filter: blur(28px) saturate(180%);
    border-radius: 0 28px 28px 0;
    border: 1px solid rgba(var(--edge-gold), 0.18);
    border-left: none;
    box-shadow:
        22px 0 60px -12px rgba(0, 0, 0, 0.75),
        12px 0 30px -8px rgba(0, 0, 0, 0.5),
        inset 1px 0 0 rgba(var(--edge-cream), 0.05);
    padding: clamp(28px, 5vh, 44px) clamp(20px, 4vw, 28px) 24px;
    transform: translateX(-100%);
    opacity: 0;
    transition:
        transform 0.6s var(--edge-spring),
        opacity 0.4s var(--edge-glide);
    z-index: 1;
    overflow-x: hidden; 
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.faq-toc-edge.is-open .faq-toc-edge__panel {
    transform: translateX(0);
    opacity: 1;
}

.faq-toc-edge__panel-edge {
    position: absolute;
    top: 8%;
    bottom: 8%;
    right: 0;
    width: 1px;
    background: linear-gradient(180deg,
        transparent 0%,
        rgba(var(--edge-gold), 0.4) 12%,
        rgba(var(--edge-gold), 0.85) 50%,
        rgba(var(--edge-gold), 0.4) 88%,
        transparent 100%);
    pointer-events: none;
    opacity: 0.7;
    box-shadow: 0 0 18px rgba(var(--edge-gold), 0.35);
}

.faq-toc-edge__panel-shine {
    position: absolute;
    top: 0;
    left: -50%;
    width: 50%;
    height: 100%;
    background: linear-gradient(110deg,
        transparent 0%,
        rgba(var(--edge-cream), 0.04) 45%,
        rgba(var(--edge-cream), 0.08) 50%,
        rgba(var(--edge-cream), 0.04) 55%,
        transparent 100%);
    pointer-events: none;
    transition: transform 0s;
}

.faq-toc-edge.is-open .faq-toc-edge__panel-shine {
    transform: translateX(300%);
    transition: transform 1.4s var(--edge-glide) 0.2s;
}

.faq-toc-edge__panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin: 0;
    padding-bottom: 16px;
    position: relative;
}

.faq-toc-edge__panel-heading::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 56px;
    height: 1px;
    background: linear-gradient(90deg,
        rgba(var(--edge-gold), 0.85) 0%,
        transparent 100%);
}

.faq-toc-edge__panel-title {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.faq-toc-edge__panel-eyebrow {
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: rgba(var(--edge-gold), 0.9);
}

.faq-toc-edge__panel-name {
    font-family: var(--font-display, 'Cinzel', serif);
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    background: linear-gradient(135deg,
        rgba(var(--edge-cream), 1) 0%,
        rgba(var(--edge-gold), 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.faq-toc-edge__close {
    flex-shrink: 0;
    background: rgba(20, 20, 20, 0.6);
    border: 1px solid rgba(var(--edge-gold), 0.25);
    color: rgba(var(--edge-cream), 0.95);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition:
        background 0.3s var(--edge-glide),
        border-color 0.3s var(--edge-glide),
        transform 0.3s var(--edge-spring);
}

.faq-toc-edge__close svg {
    width: 16px;
    height: 16px;
}

.faq-toc-edge__close:hover,
.faq-toc-edge__close:focus-visible {
    background: rgba(var(--edge-gold), 0.15);
    border-color: rgba(var(--edge-gold), 0.6);
    transform: rotate(90deg);
    outline: none;
}

.faq-toc-edge__list {
    list-style: none;
    counter-reset: edgeToc;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1 1 auto;
}

.faq-toc-edge__list li {
    counter-increment: edgeToc;
    opacity: 0;
    transform: translateX(-14px);
    transition:
        opacity 0.5s var(--edge-glide),
        transform 0.5s var(--edge-spring);
}

.faq-toc-edge.is-open .faq-toc-edge__list li {
    opacity: 1;
    transform: translateX(0);
}

.faq-toc-edge.is-open .faq-toc-edge__list li:nth-child(1) { transition-delay: 0.20s; }
.faq-toc-edge.is-open .faq-toc-edge__list li:nth-child(2) { transition-delay: 0.26s; }
.faq-toc-edge.is-open .faq-toc-edge__list li:nth-child(3) { transition-delay: 0.32s; }
.faq-toc-edge.is-open .faq-toc-edge__list li:nth-child(4) { transition-delay: 0.38s; }
.faq-toc-edge.is-open .faq-toc-edge__list li:nth-child(5) { transition-delay: 0.44s; }
.faq-toc-edge.is-open .faq-toc-edge__list li:nth-child(6) { transition-delay: 0.50s; }
.faq-toc-edge.is-open .faq-toc-edge__list li:nth-child(7) { transition-delay: 0.56s; }
.faq-toc-edge.is-open .faq-toc-edge__list li:nth-child(n+8) { transition-delay: 0.62s; }

.faq-toc-edge__list a {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px 14px 13px 16px;
    color: rgba(240, 240, 240, 0.78);
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 0.93rem;
    line-height: 1.45;
    text-decoration: none;
    border-radius: 12px;
    position: relative;
    transition:
        background 0.35s var(--edge-glide),
        color 0.3s var(--edge-glide),
        transform 0.35s var(--edge-spring),
        padding 0.3s var(--edge-spring);
    overflow: hidden;
}

.faq-toc-edge__list a::before {
    content: counter(edgeToc, decimal-leading-zero);
    font-family: var(--font-display, 'Cinzel', serif);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: rgba(var(--edge-gold), 0.85);
    flex-shrink: 0;
    min-width: 22px;
    padding-top: 2px;
    transition: color 0.3s var(--edge-glide), transform 0.3s var(--edge-spring);
}

.faq-toc-edge__list a::after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    height: 0;
    width: 2px;
    background: linear-gradient(180deg,
        rgba(var(--edge-gold), 0.6) 0%,
        rgba(var(--edge-gold), 1) 50%,
        rgba(var(--edge-gold), 0.6) 100%);
    border-radius: 2px;
    transform: translateY(-50%);
    transition: height 0.35s var(--edge-spring);
    box-shadow: 0 0 10px rgba(var(--edge-gold), 0.55);
}

.faq-toc-edge__list a:hover,
.faq-toc-edge__list a:focus-visible {
    background: linear-gradient(90deg,
        rgba(var(--edge-gold), 0.12) 0%,
        rgba(var(--edge-gold), 0.04) 100%);
    color: #fff;
    transform: translateX(2px);
    outline: none;
}

.faq-toc-edge__list a:hover::before,
.faq-toc-edge__list a:focus-visible::before {
    color: rgba(var(--edge-cream), 1);
    transform: translateX(2px);
}

.faq-toc-edge__list a:hover::after,
.faq-toc-edge__list a:focus-visible::after {
    height: 60%;
}

.faq-toc-edge__list a[aria-current="true"] {
    background: linear-gradient(90deg,
        rgba(var(--edge-gold), 0.18) 0%,
        rgba(var(--edge-gold), 0.06) 100%);
    color: #fff;
    font-weight: 500;
    padding-left: 22px;
}

.faq-toc-edge__list a[aria-current="true"]::before {
    color: rgba(var(--edge-cream), 1);
}

.faq-toc-edge__list a[aria-current="true"]::after {
    height: 80%;
}

.faq-toc-edge__footer {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 16px;
    margin-top: auto;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.5s var(--edge-glide) 0.45s,
                transform 0.5s var(--edge-spring) 0.45s;
}

.faq-toc-edge.is-open .faq-toc-edge__footer {
    opacity: 1;
    transform: translateY(0);
}

.faq-toc-edge__footer-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(var(--edge-gold), 0.35) 50%,
        transparent 100%);
}

.faq-toc-edge__footer-text {
    font-family: var(--font-display, 'Cinzel', serif);
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(var(--edge-gold), 0.7);
    white-space: nowrap;
}

.faq-toc-edge__filter {
    position: relative;
    display: flex;
    align-items: center;
    margin: -6px 0 2px;
}
.faq-toc-edge__filter-icon {
    position: absolute;
    left: 13px;
    width: 15px;
    height: 15px;
    color: rgba(var(--edge-gold), 0.7);
    pointer-events: none;
}
.faq-toc-edge__filter-input {
    width: 100%;
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 0.86rem;
    color: rgba(var(--edge-cream), 0.95);
    background: rgba(20, 18, 16, 0.55);
    border: 1px solid rgba(var(--edge-gold), 0.22);
    border-radius: 12px;
    padding: 11px 38px 11px 38px;
    outline: none;
    transition: border-color 0.3s var(--edge-glide), background 0.3s var(--edge-glide), box-shadow 0.3s var(--edge-glide);
    -webkit-appearance: none;
    appearance: none;
}
.faq-toc-edge__filter-input::placeholder {
    color: rgba(var(--edge-cream), 0.42);
}
.faq-toc-edge__filter-input:focus {
    border-color: rgba(var(--edge-gold), 0.55);
    background: rgba(28, 24, 20, 0.7);
    box-shadow: 0 0 0 3px rgba(var(--edge-gold), 0.12);
}
.faq-toc-edge__filter-input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.faq-toc-edge__filter-clear {
    position: absolute;
    right: 8px;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 50%;
    color: rgba(var(--edge-cream), 0.6);
    cursor: pointer;
    transition: color 0.25s var(--edge-glide), background 0.25s var(--edge-glide);
}
.faq-toc-edge__filter-clear svg { width: 13px; height: 13px; }
.faq-toc-edge__filter-clear:hover,
.faq-toc-edge__filter-clear:focus-visible {
    color: rgba(var(--edge-gold), 0.95);
    background: rgba(var(--edge-gold), 0.14);
    outline: none;
}
.faq-toc-edge__noresults {
    margin: 4px 0 0;
    padding: 6px 14px;
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 0.82rem;
    color: rgba(var(--edge-cream), 0.5);
}

.faq-toc-edge__backdrop {
    position: fixed;
    inset: 0;
    background:
        radial-gradient(ellipse at center left,
            rgba(var(--edge-gold), 0.08) 0%,
            transparent 50%),
        rgba(5, 5, 5, 0.58);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s var(--edge-glide);
    backdrop-filter: blur(12px) saturate(140%);
    -webkit-backdrop-filter: blur(12px) saturate(140%);
}

.faq-toc-edge.is-open .faq-toc-edge__backdrop {
    opacity: 1;
    pointer-events: auto;
}

body.faq-toc-edge-open {
    overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
    .faq-toc-edge__handle,
    .faq-toc-edge__handle-grip span {
        animation: none;
    }
    .faq-toc-edge__panel,
    .faq-toc-edge__list li,
    .faq-toc-edge__footer {
        transition-duration: 0.2s;
    }
}


.call-float-wrap {
    display: none;
    position: fixed;
    z-index: 99;
    pointer-events: none;
}

.call-float {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, #c8a97e 0%, #b39260 60%, #8a6533 100%);
    color: #050505;
    border: 2px solid rgba(245, 232, 211, 0.35);
    box-shadow: 0 10px 28px -10px rgba(200, 169, 126, 0.55),
                0 6px 14px -6px rgba(0, 0, 0, 0.6),
                inset 0 1px 0 rgba(255, 255, 255, 0.35);
    text-decoration: none;
    pointer-events: auto;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-tap-highlight-color: rgba(200, 169, 126, 0.18);
}

.call-float::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 1.5px solid rgba(200, 169, 126, 0.4);
    animation: callFloatPulse 2.4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
    pointer-events: none;
}

@keyframes callFloatPulse {
    0% { transform: scale(0.85); opacity: 0.7; }
    70% { transform: scale(1.4); opacity: 0; }
    100% { transform: scale(0.85); opacity: 0; }
}

.call-float:hover,
.call-float:focus-visible {
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 16px 36px -10px rgba(200, 169, 126, 0.7),
                0 8px 18px -6px rgba(0, 0, 0, 0.65),
                inset 0 1px 0 rgba(255, 255, 255, 0.45);
    outline: none;
}

.call-float svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
}

.call-float-tooltip {
    position: absolute;
    right: calc(100% + 14px);
    top: 50%;
    transform: translateY(-50%);
    background: rgba(8, 8, 8, 0.95);
    color: #fff;
    border: 1px solid rgba(200, 169, 126, 0.35);
    border-radius: 8px;
    padding: 8px 14px;
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
    box-shadow: 0 6px 18px -8px rgba(0, 0, 0, 0.7);
}

.call-float-tooltip strong {
    color: var(--color-gold-solid);
}

.call-float-wrap:hover .call-float-tooltip,
.call-float:focus-visible + .call-float-tooltip {
    opacity: 1;
    transform: translateY(-50%) translateX(-4px);
}

@media (max-width: 991px) {
    .call-float-wrap {
        display: block;
        left: 20px;
        bottom: calc(20px + 44px + 14px);
    }
    .call-float {
        width: 50px;
        height: 50px;
    }
    .call-float svg {
        width: 20px;
        height: 20px;
    }
    .call-float-tooltip {
        right: auto;
        left: calc(100% + 14px);
        display: none; 
    }
}

@media (max-width: 480px) {
    .call-float-wrap {
        bottom: calc(20px + 40px + 12px);
    }
    .call-float {
        width: 46px;
        height: 46px;
    }
    .call-float svg {
        width: 18px;
        height: 18px;
    }
}



.situations-title.editorial-list-title {
    column-count: 1 !important;
    -webkit-column-count: 1 !important;
    -moz-column-count: 1 !important;
    columns: 1 !important;
    text-wrap: balance;
}

.tareas-livianas-card { position: relative; overflow: hidden; }
.tareas-livianas-card::before {
    content: ''; position: absolute; top: 0; left: 0;
    width: 56px; height: 2px;
}
.tareas-livianas-card__eyebrow {
    display: inline-block; font-size: 0.7rem; font-weight: 600;
    letter-spacing: 0.18em; text-transform: uppercase;
    color: var(--color-gold-solid); margin-bottom: 14px; opacity: 0.9;
}
.tareas-livianas-card__title {
    font-family: var(--font-display); color: var(--color-gold-solid);
    margin: 0 0 14px; font-size: clamp(1.1rem, 2vw, 1.3rem); line-height: 1.3;
}
.tareas-livianas-card__lead {
    font-size: 1.02rem; line-height: 1.7; margin: 0 0 18px;
    color: rgba(240, 240, 240, 0.92);
    padding-left: 14px; border-left: 2px solid rgba(200, 169, 126, 0.35);
}
.tareas-livianas-card__list {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: 14px;
}
.tareas-livianas-card__list li {
    position: relative; padding: 14px 16px 14px 38px;
    background: rgba(0, 0, 0, 0.25);
    border-left: 2px solid rgba(200, 169, 126, 0.3);
    border-radius: 0 8px 8px 0;
    line-height: 1.7; font-size: 0.96rem;
}
.tareas-livianas-card__list li::before {
    content: ''; position: absolute; left: 14px; top: 22px;
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--color-gold-solid);
    box-shadow: 0 0 8px rgba(200, 169, 126, 0.6);
}
.tareas-livianas-card__list li strong { color: var(--color-gold-solid); font-weight: 600; }

.problema-art__cta {
    display: inline-flex; align-items: center; gap: 8px;
    margin-top: 18px; padding: 10px 16px;
    background: rgba(200, 169, 126, 0.08);
    border: 1px solid rgba(200, 169, 126, 0.28);
    border-radius: 8px;
    color: var(--color-gold-solid);
    font-family: var(--font-body); font-size: 0.85rem; font-weight: 600;
    letter-spacing: 0.06em; text-transform: uppercase;
    text-decoration: none; cursor: pointer;
    transition: background 0.3s ease, border-color 0.3s ease,
                transform 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
    position: relative; z-index: 2;
}
.problema-art__cta svg { width: 0.9em; height: 0.9em; transition: transform 0.3s ease; }
.problema-art__cta:hover, .problema-art__cta:focus-visible {
    background: rgba(200, 169, 126, 0.18);
    border-color: var(--color-gold-solid);
    color: #f5e8d3;
    transform: translateY(-2px);
    box-shadow: 0 8px 16px -8px rgba(200, 169, 126, 0.4);
    outline: none;
}
.problema-art__cta:hover svg, .problema-art__cta:focus-visible svg { transform: translateX(3px); }



.tipos-accidentes-sticky__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 16px;
    padding: 12px 22px;
    background: linear-gradient(135deg, var(--color-gold-solid) 0%, #b89060 100%);
    border: 1px solid rgba(200, 169, 126, 0.45);
    border-radius: 8px;
    color: #0a0a0a;
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    width: 100%;
    box-shadow: 0 8px 22px -10px rgba(200, 169, 126, 0.6),
                inset 0 1px 0 rgba(255, 240, 210, 0.35);
    transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
    position: relative;
    z-index: 2;
}
.tipos-accidentes-sticky__cta svg {
    width: 1em;
    height: 1em;
    color: #0a0a0a;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.tipos-accidentes-sticky__cta:hover,
.tipos-accidentes-sticky__cta:focus-visible {
    background: linear-gradient(135deg, #e8d4a8 0%, #c8a97e 100%);
    transform: translateY(-2px);
    box-shadow: 0 14px 32px -10px rgba(200, 169, 126, 0.85),
                inset 0 1px 0 rgba(255, 240, 210, 0.5);
    outline: none;
    color: #0a0a0a;
}
.tipos-accidentes-sticky__cta:hover svg,
.tipos-accidentes-sticky__cta:focus-visible svg {
    transform: scale(1.15) rotate(-6deg);
}


.faq-consult-cta {
    display: flex;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 22px auto 0;
    padding: 12px 20px;
    background: rgba(200, 169, 126, 0.1);
    border: 1px solid rgba(200, 169, 126, 0.32);
    border-radius: 8px;
    color: var(--color-gold-solid);
    font-family: var(--font-body);
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.3s ease, border-color 0.3s ease,
                transform 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    z-index: 2;
}
.faq-consult-cta svg {
    width: 1.05em;
    height: 1.05em;
    color: #25D366;
    transition: transform 0.3s ease;
}
.faq-consult-cta:hover,
.faq-consult-cta:focus-visible {
    background: rgba(200, 169, 126, 0.2);
    border-color: var(--color-gold-solid);
    color: #f5e8d3;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px -8px rgba(200, 169, 126, 0.45);
    outline: none;
}
.faq-consult-cta:hover svg,
.faq-consult-cta:focus-visible svg {
    transform: scale(1.12) rotate(-5deg);
}


.tipos-accidentes-sticky__cta { display: none !important; }

.tipos-incapacidad-scale {
    display: flex; flex-direction: column;
    max-width: 980px; margin: 3rem auto 0; position: relative;
}
.tipos-incapacidad-scale::before {
    content: ''; position: absolute;
    left: 56px; top: 28px; bottom: 28px; width: 2px;
    background: linear-gradient(180deg,
        rgba(200, 169, 126, 0.6) 0%,
        rgba(200, 169, 126, 0.85) 50%,
        rgba(200, 169, 126, 0.6) 100%);
    box-shadow: 0 0 14px rgba(200, 169, 126, 0.35);
    border-radius: 2px;
}
@media (max-width: 768px) { .tipos-incapacidad-scale::before { left: 28px; } }
.tier {
    display: grid; grid-template-columns: 112px 1fr; gap: 28px;
    padding: 26px 0; align-items: start; position: relative;
    border-bottom: 1px solid rgba(200, 169, 126, 0.12);
}
.tier:last-child { border-bottom: none; }
@media (max-width: 768px) {
    .tier { grid-template-columns: 56px 1fr; gap: 5px; }
}
.tier__node {
    position: relative; width: 112px;
    display: flex; flex-direction: column; align-items: center; z-index: 2;
}
@media (max-width: 768px) { .tier__node { width: 56px; } }
.tier__dot {
    width: 30px; height: 30px; border-radius: 50%;
    background: linear-gradient(135deg, #e6cfa1 0%, #c8a97e 50%, #8a6533 100%);
    border: 3px solid #050505;
    box-shadow: 0 0 0 2px rgba(200, 169, 126, 0.4),
                0 0 18px rgba(200, 169, 126, 0.5);
    margin-top: 6px; flex-shrink: 0; z-index: 3; position: relative;
}
.tier__dot::after {
    content: ''; position: absolute; inset: -8px; border-radius: 50%;
    border: 1px solid rgba(200, 169, 126, 0.3);
    animation: tierPulse 2.6s ease-in-out infinite;
}
@keyframes tierPulse {
    0%, 100% { transform: scale(0.85); opacity: 0.6; }
    50% { transform: scale(1.2); opacity: 0; }
}
.tier__pct {
    margin-top: 14px; font-family: var(--font-display);
    font-size: 0.78rem; font-weight: 600;
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--color-gold-solid); text-align: center;
    text-shadow: 0 0 10px rgba(200, 169, 126, 0.3);
    line-height: 1.3;
}
@media (max-width: 768px) { .tier__pct { display: none; } }
.tier__body {
    background: rgba(15, 15, 15, 0.5);
    border: 1px solid rgba(200, 169, 126, 0.15);
    border-radius: 0 14px 14px 0;
    padding: 24px 28px;
    transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    box-shadow: 0 14px 28px -16px rgba(0, 0, 0, 0.6);
}
.tier__body:hover {
    border-color: rgba(200, 169, 126, 0.4); transform: translateX(4px);
    
    box-shadow: rgba(202, 170, 132, 0.64) 0px 14px 28px -16px;
}
.tier__head {
    display: flex; align-items: center; gap: 14px;
    flex-wrap: wrap; margin-bottom: 12px;
}
.tier__code {
    display: inline-flex; align-items: center; padding: 4px 10px;
    background: rgba(200, 169, 126, 0.18);
    border: 1px solid rgba(200, 169, 126, 0.4);
    border-radius: 4px;
    font-family: var(--font-display); font-size: 0.72rem; font-weight: 600;
    letter-spacing: 0.14em; color: var(--color-gold-solid);
}
.tier__title {
    font-family: var(--font-display); color: #fff; margin: 0;
    font-size: clamp(1.1rem, 2vw, 1.25rem); line-height: 1.3;
}
.tier__pct-mobile { display: none; }
@media (max-width: 768px) {
    .tier__pct-mobile {
        display: inline-flex; font-size: 0.7rem; letter-spacing: 0.1em;
        text-transform: uppercase; color: var(--color-gold-solid);
        margin-bottom: 8px; font-weight: 600;
    }
}
.tier__desc {
    font-size: 0.98rem; line-height: 1.7;
    color: rgba(240, 240, 240, 0.85); margin: 0 0 12px;
}
.tier__highlights {
    list-style: none; margin: 14px 0 0; padding: 0;
    display: flex; flex-wrap: wrap; gap: 8px;
}
.tier__highlights li {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 10px; background: rgba(0, 0, 0, 0.4);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-radius: 4px; font-size: 0.78rem;
    color: rgba(240, 240, 240, 0.85);
}
.tier__highlights li::before {
    content: ''; width: 4px; height: 4px; border-radius: 50%;
    background: var(--color-gold-solid);
    box-shadow: 0 0 6px rgba(200, 169, 126, 0.6);
}

.enfermedades-editorial {
    display: grid; grid-template-columns: 1fr; gap: 0;
    max-width: 1100px; margin: 3rem auto 0;
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 16px; overflow: hidden;
}
.enfermedad-row {
    display: grid; grid-template-columns: 80px 1fr; gap: 24px;
    padding: 28px 32px;
    border-bottom: 1px solid rgba(200, 169, 126, 0.12);
    transition: background 0.3s ease;
}
.enfermedad-row:last-child { border-bottom: none; }
.enfermedad-row:hover { background: rgba(200, 169, 126, 0.04); }
@media (max-width: 768px) {
    .enfermedad-row { grid-template-columns: 56px 1fr; gap: 16px; padding: 24px 22px; }
}
.enfermedad-row__icon {
    width: 64px; height: 64px; border-radius: 14px;
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.22) 0%, rgba(200, 169, 126, 0.06) 100%);
    border: 1px solid rgba(200, 169, 126, 0.28);
    color: var(--color-gold-solid);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem; flex-shrink: 0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
@media (max-width: 768px) {
    .enfermedad-row__icon { width: 44px; height: 44px; font-size: 1.1rem; }
}
.enfermedad-row__icon svg { width: 1em; height: 1em; }
.enfermedad-row__body { min-width: 0; }
.enfermedad-row__head {
    display: flex; align-items: center; gap: 14px;
    flex-wrap: wrap; margin-bottom: 10px;
}
.enfermedad-row__title {
    font-family: var(--font-display);
    font-size: clamp(1.05rem, 2vw, 1.22rem);
    color: #fff; margin: 0; line-height: 1.3;
}
.enfermedad-row__chips {
    list-style: none; margin: 0 0 12px; padding: 0;
    display: flex; flex-wrap: wrap; gap: 6px;
}
.enfermedad-row__chips li {
    padding: 4px 10px; background: rgba(200, 169, 126, 0.1);
    border: 1px solid rgba(200, 169, 126, 0.22);
    border-radius: 999px; font-size: 0.74rem;
    color: rgba(240, 240, 240, 0.82); letter-spacing: 0.02em;
}
.enfermedad-row__desc {
    font-size: 0.96rem; line-height: 1.7;
    color: rgba(240, 240, 240, 0.85); margin: 0;
}

.legal-text-block--premium {
    background: linear-gradient(155deg, rgba(20, 20, 20, 0.5) 0%, rgba(8, 8, 8, 0.65) 100%);
    border: 1px solid rgba(200, 169, 126, 0.15);
    border-left: 3px solid var(--color-gold-solid);
    border-radius: 0 16px 16px 0;
    padding: clamp(28px, 4vw, 44px);
    position: relative;
}
.legal-text-block--premium::before {
    content: '§'; position: absolute; top: 18px; right: 26px;
    font-family: var(--font-display); font-size: 3rem;
    color: rgba(200, 169, 126, 0.18); line-height: 1;
}
.legal-text-block--premium > h3 { margin-top: 0 !important; }
.legal-text-block--premium > p:first-of-type::first-letter {
    float: left; font-family: var(--font-display);
    font-size: 4.2rem; line-height: 0.85;
    margin: 0.1em 0.12em 0 0;
    color: var(--color-gold-solid);
    text-shadow: 0 4px 18px rgba(200, 169, 126, 0.3);
}
.legal-text-block--premium p {
    line-height: 1.85 !important; margin-bottom: 1.4rem !important;
    font-size: 1.02rem;
}
.legal-text-block--premium p:last-child { margin-bottom: 0 !important; }

.legal-text-block--with-photo {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: clamp(2rem, 4vw, 3.5rem);
    align-items: center;
}
.legal-text-block--with-photo::before { display: none; }
.legal-text-block--with-photo > .legal-text-block__copy > p:first-of-type::first-letter {
    float: left; font-family: var(--font-display);
    font-size: 4.2rem; line-height: 0.85;
    margin: 0.1em 0.12em 0 0;
    color: var(--color-gold-solid);
    text-shadow: 0 4px 18px rgba(200, 169, 126, 0.3);
}
.legal-text-block--premium.legal-text-block--with-photo > .legal-text-block__copy > p:first-of-type::first-letter {
    /* respeta tipografía premium si el block es premium */
}
.legal-text-block__copy > p {
    line-height: 1.85;
    margin-bottom: 1.4rem;
    font-size: 1.02rem;
}
.legal-text-block__copy > p:last-child { margin-bottom: 0; }
.legal-text-block__photo {
    display: block;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid rgba(200, 169, 126, 0.18);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(200, 169, 126, 0.08) inset;
    position: relative;
}
.legal-text-block__photo img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
@media (max-width: 768px) {
    .legal-text-block--with-photo {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .legal-text-block--with-photo .legal-text-block__photo { order: -1; }
}

.dual-perspective {
    display: grid; grid-template-columns: 1fr;
    gap: 28px; margin-top: 2.5rem; position: relative;
}
@media (min-width: 992px) {
    .dual-perspective { grid-template-columns: 1fr 1fr; gap: 32px; }
    .dual-perspective::before {
        content: ''; position: absolute;
        left: 50%; top: 18%; bottom: 18%;
        width: 1px;
        background: linear-gradient(180deg, transparent 0%, rgba(200, 169, 126, 0.4) 50%, transparent 100%);
        transform: translateX(-50%); pointer-events: none;
    }
}
.dual-perspective__card {
    position: relative;
    padding: clamp(28px, 4vw, 40px) clamp(24px, 3vw, 36px);
    background: linear-gradient(155deg, rgba(15, 15, 15, 0.65) 0%, rgba(5, 5, 5, 0.8) 100%);
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
    transition: transform 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}
.dual-perspective__card::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
}
.dual-perspective__card--concern::before {
    background: linear-gradient(90deg, transparent, rgba(248, 113, 113, 0.85), transparent);
}
.dual-perspective__card--frame::before {
    background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent);
}
.dual-perspective__card--concern { border-color: rgba(248, 113, 113, 0.18); }
.dual-perspective__card--frame { border-color: rgba(200, 169, 126, 0.22); }
.dual-perspective__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 50px -28px rgba(0, 0, 0, 0.75);
}
.dual-perspective__card--concern:hover { border-color: rgba(248, 113, 113, 0.4); }
.dual-perspective__card--frame:hover { border-color: rgba(200, 169, 126, 0.5); }
.dual-perspective__eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 5px 12px; border-radius: 999px;
    font-size: 0.72rem; letter-spacing: 0.12em;
    text-transform: uppercase; font-weight: 600; margin-bottom: 16px;
}
.dual-perspective__eyebrow::before {
    content: ''; width: 6px; height: 6px; border-radius: 50%;
}
.dual-perspective__card--concern .dual-perspective__eyebrow {
    background: rgba(248, 113, 113, 0.12); color: #f87171;
}
.dual-perspective__card--concern .dual-perspective__eyebrow::before {
    background: #f87171; box-shadow: 0 0 8px rgba(248, 113, 113, 0.6);
}
.dual-perspective__card--frame .dual-perspective__eyebrow {
    background: rgba(200, 169, 126, 0.14); color: var(--color-gold-solid);
}
.dual-perspective__card--frame .dual-perspective__eyebrow::before {
    background: var(--color-gold-solid); box-shadow: 0 0 8px rgba(200, 169, 126, 0.6);
}
.dual-perspective__title {
    font-family: var(--font-display);
    font-size: clamp(1.15rem, 2.2vw, 1.4rem);
    margin: 0 0 18px; line-height: 1.3;
}
.dual-perspective__card--concern .dual-perspective__title { color: #fca5a5; }
.dual-perspective__card--frame .dual-perspective__title {
    background: linear-gradient(135deg, #f5e8d3 0%, var(--color-gold-solid) 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent;
}
.dual-perspective__body { font-size: 0.96rem; line-height: 1.8; color: rgba(240, 240, 240, 0.86); }
.dual-perspective__body p { margin: 0 0 1rem; }
.dual-perspective__body p:last-child { margin-bottom: 0; }
.dual-perspective__body strong { color: rgba(245, 232, 211, 0.98); }
.dual-perspective__card--frame .dual-perspective__body strong { color: var(--color-gold-solid); }
.dual-perspective__quote {
    margin-top: 18px; padding: 14px 18px;
    background: rgba(0, 0, 0, 0.35);
    border-left: 2px solid currentColor;
    border-radius: 0 8px 8px 0;
    font-size: 0.88rem; font-style: italic;
    line-height: 1.65; color: rgba(240, 240, 240, 0.78);
}

.comision-spotlight-v2 {
    position: relative; margin-top: 3rem;
    max-width: 1250px; margin-left: auto; margin-right: auto;
    background:
        radial-gradient(ellipse at top right, rgba(200, 169, 126, 0.12) 0%, transparent 55%),
        linear-gradient(155deg, rgba(20, 20, 20, 0.85) 0%, rgba(5, 5, 5, 0.95) 100%);
    border: 1px solid rgba(200, 169, 126, 0.22);
    border-top: 1px solid rgba(200, 169, 126, 0.55);
    border-radius: 20px;
    padding: clamp(32px, 5vw, 56px) clamp(28px, 4vw, 48px);
    overflow: hidden;
    box-shadow: 0 30px 70px -32px rgba(0, 0, 0, 0.72);
}
.comision-spotlight-v2::before {
    content: ''; position: absolute; top: -50%; right: -10%;
    width: 60%; height: 200%;
    background: radial-gradient(ellipse at center, rgba(200, 169, 126, 0.06) 0%, transparent 60%);
    pointer-events: none; transform: rotate(-15deg);
}
.comision-spotlight-v2__header {
    display: flex; align-items: flex-start; gap: 24px;
    margin-bottom: 24px; position: relative;
}
.comision-spotlight-v2__crest {
    flex-shrink: 0; width: 64px; height: 64px; border-radius: 50%;
    background: linear-gradient(135deg, #e6cfa1 0%, #c8a97e 50%, #8a6533 100%);
    display: flex; align-items: center; justify-content: center;
    color: #050505; font-size: 1.4rem;
    box-shadow: 0 12px 28px -10px rgba(200, 169, 126, 0.5),
                inset 0 2px 0 rgba(255, 255, 255, 0.35);
}
.comision-spotlight-v2__crest svg { width: 1em; height: 1em; }
.comision-spotlight-v2__head-text { min-width: 0; }
.comision-spotlight-v2__eyebrow {
    display: block; font-size: 0.74rem; font-weight: 600;
    letter-spacing: 0.18em; text-transform: uppercase;
    color: var(--color-gold-solid); margin-bottom: 8px;
}
.comision-spotlight-v2__title {
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 2.6vw, 1.95rem);
    margin: 0; line-height: 1.25;
    background: linear-gradient(135deg, #ffffff 0%, #f5e8d3 60%, var(--color-gold-solid) 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent;
}
.comision-spotlight-v2__lead {
    font-size: 1.02rem; line-height: 1.8;
    color: rgba(240, 240, 240, 0.88); margin: 0 0 28px;
    padding-left: 18px; border-left: 2px solid rgba(200, 169, 126, 0.4);
}
.comision-spotlight-v2__stat {
    display: flex; align-items: baseline; gap: 14px;
    padding: 22px 24px;
    background: linear-gradient(135deg, rgba(248, 113, 113, 0.08) 0%, rgba(248, 113, 113, 0.02) 100%);
    border: 1px solid rgba(248, 113, 113, 0.22);
    border-left: 3px solid #f87171;
    border-radius: 0 12px 12px 0;
    margin-bottom: 24px; flex-wrap: wrap;
}
.comision-spotlight-v2__stat-value {
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 600; line-height: 1;
    color: #fca5a5;
    text-shadow: 0 0 18px rgba(248, 113, 113, 0.3);
    letter-spacing: -0.02em;
}
.comision-spotlight-v2__stat-text {
    flex: 1; min-width: 200px;
    font-size: 0.95rem; line-height: 1.6;
    color: rgba(240, 240, 240, 0.88);
}
.comision-spotlight-v2__stat-text strong { color: #fca5a5; }
.comision-spotlight-v2__split {
    display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 12px;
}
@media (min-width: 768px) {
    .comision-spotlight-v2__split { grid-template-columns: 1fr 1fr; gap: 28px; }
}
.comision-spotlight-v2__pillar {
    padding: 22px 24px; background: rgba(0, 0, 0, 0.3);
    border-radius: 12px; border: 1px solid rgba(200, 169, 126, 0.18);
    position: relative;
}
.comision-spotlight-v2__pillar-head {
    display: flex; align-items: center; gap: 10px;
    font-family: var(--font-display); font-size: 1rem;
    color: var(--color-gold-solid);
    margin-bottom: 14px; padding-bottom: 10px;
    border-bottom: 1px solid rgba(200, 169, 126, 0.18);
}
.comision-spotlight-v2__pillar-head svg { width: 1.1em; height: 1.1em; }
.comision-spotlight-v2__pillar ul {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: 12px;
}
.comision-spotlight-v2__pillar li {
    position: relative; padding-left: 22px;
    font-size: 0.93rem; line-height: 1.65;
    color: rgba(240, 240, 240, 0.85);
}
.comision-spotlight-v2__pillar li::before {
    content: ''; position: absolute; left: 0; top: 8px;
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--color-gold-solid);
    box-shadow: 0 0 8px rgba(200, 169, 126, 0.55);
}
.comision-spotlight-v2__pillar li strong { color: #f5e8d3; }

.rubros-grid-compact {
    display: grid; grid-template-columns: 1fr; gap: 16px;
    margin-top: 2.5rem;
}
@media (min-width: 768px) { .rubros-grid-compact { grid-template-columns: repeat(2, 1fr); gap: 18px; } }
@media (min-width: 1100px) { .rubros-grid-compact { grid-template-columns: repeat(3, 1fr); gap: 22px; } }
.rubro-tile {
    position: relative; padding: 26px 26px 24px;
    background: linear-gradient(160deg, rgba(15, 15, 15, 0.7) 0%, rgba(5, 5, 5, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.16);
    border-top: 1px solid rgba(200, 169, 126, 0.4);
    border-radius: 14px; overflow: hidden;
    transition: transform 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}
.rubro-tile::before {
    content: ''; position: absolute; top: 0; right: 0;
    width: 220px; height: 220px;
    background: radial-gradient(circle at top right, rgba(200, 169, 126, 0.08) 0%, transparent 65%);
    pointer-events: none; opacity: 0.7; transition: opacity 0.4s ease;
}
.rubro-tile:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 126, 0.42);
    box-shadow: 0 24px 50px -28px rgba(0, 0, 0, 0.85);
}
.rubro-tile:hover::before { opacity: 1; }
.rubro-tile__head {
    display: flex; align-items: center; gap: 14px;
    margin-bottom: 14px; padding-bottom: 14px;
    border-bottom: 1px solid rgba(200, 169, 126, 0.16);
}
.rubro-tile__icon {
    width: 44px; height: 44px; border-radius: 10px;
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.25) 0%, rgba(200, 169, 126, 0.06) 100%);
    border: 1px solid rgba(200, 169, 126, 0.3);
    color: var(--color-gold-solid);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.1rem; flex-shrink: 0;
}
.rubro-tile__icon svg { width: 1em; height: 1em; }
.rubro-tile__title {
    font-family: var(--font-display); font-size: 1.05rem;
    margin: 0; line-height: 1.3; color: #fff;
}
.rubro-tile__keywords {
    list-style: none; margin: 0 0 14px; padding: 0;
    display: flex; flex-wrap: wrap; gap: 6px;
}
.rubro-tile__keywords li {
    padding: 3px 9px; background: rgba(200, 169, 126, 0.1);
    border: 1px solid rgba(200, 169, 126, 0.22);
    border-radius: 999px; font-size: 0.72rem;
    letter-spacing: 0.02em; color: rgba(240, 240, 240, 0.78);
}
.rubro-tile__defense {
    display: flex; flex-direction: column; gap: 8px;
    font-size: 0.88rem; line-height: 1.55;
    color: rgba(240, 240, 240, 0.82);
}
.rubro-tile__defense > span {
    display: block; font-size: 0.68rem; font-weight: 600;
    letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--color-gold-solid); margin-bottom: 2px;
}
.rubro-tile__defense p { margin: 0; }
.rubro-tile__defense strong { color: var(--color-gold-solid); font-weight: 600; }


.map-seo-banner--editorial {
    text-align: left;
    padding: clamp(28px, 5vw, 56px) clamp(20px, 3vw, 40px);
    
}

.map-seo-banner__header {
    margin-bottom: clamp(28px, 4vw, 40px);
    max-width: 1080px;
}

.map-seo-banner__eyebrow {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
    margin-bottom: 12px;
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(200, 169, 126, 0.35);
}

.map-seo-banner__title {
    font-family: var(--font-display);
    font-size: clamp(1.2rem, 2.4vw, 1.6rem);
    line-height: 1.3;
    margin: 0 0 16px;
    color: rgba(245, 232, 211, 0.96);
    text-wrap: balance;
}
.map-seo-banner__title strong {
    background: linear-gradient(135deg, #f5e8d3 0%, var(--color-gold-solid) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 700;
}

.map-seo-banner__lead {
    font-family: var(--font-body);
    font-size: clamp(0.95rem, 1.6vw, 1.05rem);
    line-height: 1.75;
    color: rgba(240, 240, 240, 0.85);
    margin: 0;
    padding-left: 14px;
    border-left: 2px solid rgba(200, 169, 126, 0.4);
}
.map-seo-banner__lead strong { color: rgba(245, 232, 211, 0.98); }

.map-seo-banner__zones {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: clamp(28px, 4vw, 40px);
}
@media (min-width: 720px) {
    .map-seo-banner__zones { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media (min-width: 1100px) {
    .map-seo-banner__zones { grid-template-columns: repeat(3, 1fr); gap: 20px; }
    .map-seo-zone--featured {
        grid-column: span 3;
        background: linear-gradient(135deg, rgba(200, 169, 126, 0.08) 0%, rgba(15, 15, 15, 0.85) 70%) !important;
    }
}

.map-seo-zone {
    position: relative;
    padding: 22px 24px 20px;
    background: linear-gradient(155deg, rgba(15, 15, 15, 0.7) 0%, rgba(5, 5, 5, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.16);
    border-top: 1px solid rgba(200, 169, 126, 0.4);
    border-radius: 12px;
    transition: transform 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
    overflow: hidden;
}
.map-seo-zone::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 160px;
    height: 160px;
    background: radial-gradient(circle at top right, rgba(200, 169, 126, 0.08) 0%, transparent 65%);
    pointer-events: none;
    opacity: 0.7;
    transition: opacity 0.4s ease;
}
.map-seo-zone:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 169, 126, 0.4);
    box-shadow: 0 18px 40px -22px rgba(0, 0, 0, 0.7);
}
.map-seo-zone:hover::before { opacity: 1; }

.map-seo-zone__badge {
    display: inline-block;
    padding: 4px 10px;
    margin-bottom: 10px;
    background: rgba(200, 169, 126, 0.14);
    border: 1px solid rgba(200, 169, 126, 0.28);
    border-radius: 4px;
    font-family: var(--font-body);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
    position: relative;
    z-index: 1;
}
.map-seo-zone--featured .map-seo-zone__badge {
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.4) 0%, rgba(200, 169, 126, 0.18) 100%);
    border-color: rgba(200, 169, 126, 0.55);
    color: #f5e8d3;
}

.map-seo-zone__title {
    font-family: var(--font-display);
    font-size: clamp(1rem, 1.8vw, 1.18rem);
    line-height: 1.3;
    color: #fff;
    margin: 0 0 8px;
    position: relative;
    z-index: 1;
}

.map-seo-zone__desc {
    font-size: 0.88rem;
    line-height: 1.6;
    color: rgba(240, 240, 240, 0.78);
    margin: 0 0 14px;
    position: relative;
    z-index: 1;
}

.map-seo-zone__chips {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    position: relative;
    z-index: 1;
}
.map-seo-zone__chips li { display: inline-flex; }
.map-seo-zone__chips a {
    display: inline-flex;
    align-items: center;
    padding: 5px 11px;
    background: rgba(200, 169, 126, 0.08);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 500;
    color: rgba(240, 240, 240, 0.85);
    text-decoration: none;
    transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.map-seo-zone__chips a:hover,
.map-seo-zone__chips a:focus-visible {
    background: rgba(200, 169, 126, 0.2);
    border-color: var(--color-gold-solid);
    color: #fff;
    outline: none;
}

.map-seo-banner__scope {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    padding: 18px 22px;
    background: rgba(0, 0, 0, 0.35);
    border: 1px solid rgba(200, 169, 126, 0.16);
    border-radius: 10px;
    margin-bottom: clamp(20px, 3vw, 28px);
}
.map-seo-banner__scope-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-gold-solid);
    letter-spacing: 0.04em;
}
.map-seo-banner__scope-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
}
.map-seo-banner__scope-list li {
    padding: 4px 10px;
    background: rgba(200, 169, 126, 0.08);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 999px;
    font-size: 0.78rem;
    color: rgba(240, 240, 240, 0.85);
}

/* Guarantees */
.map-seo-banner__guarantees {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}
@media (min-width: 720px) {
    .map-seo-banner__guarantees { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
@media (min-width: 1100px) {
    .map-seo-banner__guarantees { grid-template-columns: repeat(4, 1fr); gap: 14px; }
}
.map-seo-banner__guarantees li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: rgba(15, 15, 15, 0.6);
    border: 1px solid rgba(200, 169, 126, 0.16);
    border-radius: 8px;
    font-size: 0.88rem;
    line-height: 1.45;
    color: rgba(240, 240, 240, 0.88);
}
.map-seo-banner__guarantees svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: var(--color-gold-solid);
}
.map-seo-banner__guarantees strong { color: #f5e8d3; }

.map-seo-banner__cta {
    margin-top: 8px !important;
    margin-bottom: 12px !important;
    display: inline-flex !important;
}




.casos-tratamos-grid--3col {
    grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 1024px) {
    .casos-tratamos-grid--3col {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 640px) {
    .casos-tratamos-grid--3col {
        grid-template-columns: 1fr !important;
    }
}



.submenu-zones__item--has-sub {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.submenu-zones__sub {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-left: 12px;
    margin-top: 4px;
    border-left: 1px solid rgba(200, 169, 126, 0.18);
    margin-left: 6px;
}

.submenu-zones__sub a {
    font-size: 0.72rem !important;
    padding: 5px 10px !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 3px !important;
    color: rgba(255, 255, 255, 0.7) !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}

.submenu-zones__sub a:hover {
    background: var(--color-gold-solid) !important;
    color: #000 !important;
    border-color: var(--color-gold-solid) !important;
    transform: translateX(2px) !important;
}

/
@media (max-width: 992px) {
    .submenu-zones__sub {
        padding-left: 16px;
        margin-left: 10px;
    }
    .submenu-zones__sub a {
        font-size: 0.68rem !important;
        padding: 7px 12px !important;
    }
}



.process-timeline--5col {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: clamp(8px, 1.4vw, 14px) !important;
}


.process-timeline--5col .process-card {
    padding: clamp(18px, 2.2vw, 26px) clamp(14px, 1.8vw, 20px) !important;
}
.process-timeline--5col .process-title {
    font-size: clamp(0.95rem, 1.05vw, 1.1rem) !important;
}
.process-timeline--5col .process-desc {
    font-size: clamp(0.78rem, 0.85vw, 0.88rem) !important;
    line-height: 1.5 !important;
}
.process-timeline--5col .process-number {
    font-size: clamp(1.6rem, 2vw, 2rem) !important;
}
@media (max-width: 1200px) {
    .process-timeline--5col {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}
@media (max-width: 768px) {
    .process-timeline--5col {
        grid-template-columns: 1fr !important;
    }
}



.matriz-premium {
    position: relative;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: linear-gradient(145deg, rgba(28, 28, 32, 0.96) 0%, rgba(8, 8, 10, 0.99) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.22) !important;
    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.55),
        0 2px 0 rgba(200, 169, 126, 0.05) inset,
        0 -2px 30px rgba(200, 169, 126, 0.04) inset;
    padding: 6px;
}

.matriz-premium::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--color-gold-solid) 50%, transparent 100%);
    opacity: 0.6;
    pointer-events: none;
    z-index: 2;
}

.matriz-premium > table {
    background: transparent !important;
    border: none !important;
    border-radius: 10px !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden !important;
}


.matriz-premium thead tr {
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.18) 0%, rgba(200, 169, 126, 0.06) 100%) !important;
    border-bottom: 2px solid rgba(200, 169, 126, 0.6) !important;
}

.matriz-premium thead th {
    padding: 18px 16px !important;
    text-align: left !important;
    color: var(--color-gold-solid) !important;
    font-family: var(--font-display) !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    border-bottom: 2px solid rgba(200, 169, 126, 0.4) !important;
    position: relative;
}

.matriz-premium thead th::after {
    content: '';
    position: absolute;
    right: 0;
    top: 25%;
    height: 50%;
    width: 1px;
    background: rgba(200, 169, 126, 0.18);
}

.matriz-premium thead th:last-child::after {
    display: none;
}

.matriz-premium tbody tr {
    transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
    position: relative;
}

.matriz-premium tbody tr:hover {
    background: rgba(200, 169, 126, 0.05) !important;
    transform: translateX(2px);
    box-shadow: -3px 0 0 var(--color-gold-solid) inset;
}

.matriz-premium tbody tr:last-child {
    border-bottom: none !important;
}

.matriz-premium tbody td {
    padding: 16px !important;
    color: var(--color-text-secondary) !important;
    font-size: 0.88rem !important;
    line-height: 1.55 !important;
    transition: color 0.3s ease;
    vertical-align: top !important;
}

.matriz-premium tbody td:first-child {
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 0.93rem !important;
    position: relative;
    padding-left: 26px !important;
}

.matriz-premium tbody td:first-child::before {
    content: '';
    position: absolute;
    left: 10px;
    top: 22px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-gold-solid);
    box-shadow: 0 0 8px rgba(200, 169, 126, 0.5);
    transition: transform 0.3s ease;
}

.matriz-premium tbody tr:hover td:first-child::before {
    transform: scale(1.6);
}

.matriz-premium tbody tr:hover td:first-child {
    color: var(--color-gold-solid) !important;
}

.matriz-premium tbody td:last-child {
    font-size: 0.82rem !important;
    font-style: italic !important;
    color: rgba(200, 169, 126, 0.78) !important;
}

@media (max-width: 768px) {
    .matriz-premium {
        overflow-x: visible !important;
    }
    .matriz-premium > table {
        min-width: unset !important;
        display: block !important;
    }
    .matriz-premium thead {
        display: none !important;
    }
    .matriz-premium tbody {
        display: block !important;
    }
    .matriz-premium tbody tr {
        display: block !important;
        margin-bottom: 14px !important;
        padding: 16px !important;
        background: rgba(255, 255, 255, 0.02) !important;
        border: 1px solid rgba(200, 169, 126, 0.16) !important;
        border-radius: 8px !important;
        transform: none !important;
    }
    .matriz-premium tbody tr:hover {
        transform: none !important;
        box-shadow: 0 4px 18px rgba(200, 169, 126, 0.12) !important;
    }
    .matriz-premium tbody td {
        display: block !important;
        padding: 6px 0 !important;
        border: none !important;
        text-align: left !important;
    }
    .matriz-premium tbody td:first-child {
        padding-left: 16px !important;
        font-size: 1rem !important;
        margin-bottom: 8px !important;
        padding-bottom: 10px !important;
        border-bottom: 1px solid rgba(200, 169, 126, 0.15) !important;
    }
    .matriz-premium tbody td:first-child::before {
        top: 8px;
    }

    .matriz-premium tbody td:not(:first-child)::before {
        content: attr(data-label);
        display: block;
        font-family: var(--font-display);
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 1px;
        color: var(--color-gold-solid);
        margin-bottom: 3px;
        opacity: 0.8;
    }
}



.matriz-premium {
    padding: 0 !important;
    background: linear-gradient(145deg, rgba(28, 28, 32, 0.96) 0%, rgba(8, 8, 10, 0.99) 100%) !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}
.matriz-premium > table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: auto !important;
    margin: 0 !important;
}
@media (min-width: 1024px) {
    .matriz-premium > table {
        table-layout: fixed !important;
    }
}
.matriz-premium thead th,
.matriz-premium tbody td {
    border-spacing: 0 !important;
}


.card-hover-premium,
.premium-card-fx {
    transition: transform 0.4s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                box-shadow 0.4s ease,
                border-color 0.4s ease,
                background 0.4s ease !important;
    position: relative;
    overflow: hidden;
}

.card-hover-premium:hover,
.premium-card-fx:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(200, 169, 126, 0.45) !important;
    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.45),
        0 0 0 1px rgba(200, 169, 126, 0.2) inset,
        0 1px 0 rgba(200, 169, 126, 0.3) !important;
}

.card-hover-premium::before,
.premium-card-fx::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(200, 169, 126, 0.4) 50%,
        transparent 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 1;
    pointer-events: none;
}
.card-hover-premium:hover::before,
.premium-card-fx:hover::before {
    opacity: 1;
}

.premium-card-bg-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0.05;
    z-index: 0;
    transition: opacity 0.4s ease;
}
.card-hover-premium:hover .premium-card-bg-svg,
.premium-card-fx:hover .premium-card-bg-svg {
    opacity: 0.12;
}


.zonas-autopistas-grid--3col,
.danos-grid--3col,
.lesiones-grid--3col,
.ofertas-grid--3col {
    grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 1024px) {
    .zonas-autopistas-grid--3col,
    .danos-grid--3col,
    .lesiones-grid--3col,
    .ofertas-grid--3col {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 640px) {
    .zonas-autopistas-grid--3col,
    .danos-grid--3col,
    .lesiones-grid--3col,
    .ofertas-grid--3col {
        grid-template-columns: 1fr !important;
    }
}


 
.local-seo__links {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0.9rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin-top: 1.8rem !important;
}
@media (max-width: 1024px) {
    .local-seo__links {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 600px) {
    .local-seo__links {
        grid-template-columns: 1fr !important;
    }
}
.local-seo__links li {
    list-style: none;
    margin: 0;
}
.local-seo__links a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.7rem !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 64px !important;
    padding: 1rem 1.1rem !important;
    background: linear-gradient(135deg, rgba(20,20,20,0.85) 0%, rgba(5,5,5,0.95) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.15) !important;
    border-left: 2px solid rgba(200, 169, 126, 0.35) !important;
    border-radius: 6px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.35s cubic-bezier(0.215, 0.610, 0.355, 1.000) !important;
    position: relative;
    overflow: hidden;
}
.local-seo__links a::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(200,169,126,0.08) 0%, transparent 50%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}
.local-seo__links a:hover {
    border-color: rgba(200, 169, 126, 0.6) !important;
    border-left: 2px solid var(--color-gold-solid) !important;
    color: #fff !important;
    transform: translateY(-3px) translateX(2px) !important;
    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.45),
        0 0 0 1px rgba(200, 169, 126, 0.25) inset !important;
}
.local-seo__links a:hover::before {
    opacity: 1;
}
.local-seo__links a svg {
    flex-shrink: 0 !important;
    width: 14px !important;
    height: 14px !important;
    transition: transform 0.3s ease;
}
.local-seo__links a:hover svg {
    transform: translateX(4px);
}


.prueba-urgente-block {
    background: linear-gradient(145deg, rgba(15, 15, 18, 0.85) 0%, rgba(5, 5, 7, 0.95) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.15) !important;
    border-top: 2px solid var(--color-gold-solid) !important;
    border-radius: 14px !important;
    padding: clamp(1.5rem, 3vw, 2.5rem) !important;
    position: relative;
    overflow: hidden;
}
.prueba-urgente-block::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 280px;
    height: 280px;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.08) 0%, transparent 70%);
    transform: translate(40%, -40%);
    pointer-events: none;
}
.prueba-urgente-block > ul {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    position: relative;
    z-index: 1;
}
@media (max-width: 768px) {
    .prueba-urgente-block > ul {
        grid-template-columns: 1fr !important;
    }
}
.prueba-urgente-block > ul > li {
    counter-increment: prueba-step;
    padding: 1rem 1.1rem 1rem 3.2rem !important;
    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid rgba(200, 169, 126, 0.12) !important;
    border-left: 2px solid rgba(200, 169, 126, 0.3) !important;
    border-radius: 8px !important;
    position: relative;
    transition: all 0.35s cubic-bezier(0.215, 0.610, 0.355, 1.000);
    font-size: 0.88rem !important;
    line-height: 1.55 !important;
}
.prueba-urgente-block > ul {
    counter-reset: prueba-step;
}
.prueba-urgente-block > ul > li::before {
    content: counter(prueba-step, decimal-leading-zero);
    position: absolute;
    left: 0.9rem;
    top: 0.95rem;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(200,169,126,0.25) 0%, rgba(200,169,126,0.08) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
    border-radius: 50%;
    color: var(--color-gold-solid);
    font-family: var(--font-display);
    font-size: 0.72rem;
    font-weight: 600;
    transition: all 0.35s ease;
}
.prueba-urgente-block > ul > li:hover {
    border-left-color: var(--color-gold-solid) !important;
    border-color: rgba(200, 169, 126, 0.35) !important;
    background: rgba(200, 169, 126, 0.04) !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
}
.prueba-urgente-block > ul > li:hover::before {
    background: linear-gradient(135deg, var(--color-gold-solid) 0%, rgba(200,169,126,0.6) 100%);
    color: #000;
    transform: scale(1.08);
}
.prueba-urgente-block > ul > li strong {
    color: #fff !important;
    display: block;
    margin-bottom: 4px;
}



#citacion-en-garantia .container > * {
    position: relative;
}
.citacion-block,
#citacion-en-garantia .feature-box,
#citacion-en-garantia [class*="-block"]:not(header) {
    background: linear-gradient(145deg, rgba(20,20,20,0.85) 0%, rgba(5,5,5,0.95) 100%) !important;
    border: 1px solid rgba(200,169,126,0.18) !important;
    border-top: 2px solid var(--color-gold-solid) !important;
    border-radius: 12px !important;
    padding: clamp(1.5rem, 3vw, 2.2rem) !important;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
#citacion-en-garantia [class*="-block"]:not(header):hover,
.citacion-block:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 169, 126, 0.4) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.4);
}



.presunciones-compact-grid {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 10px !important;
}
@media (max-width: 1100px) {
    .presunciones-compact-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}
@media (max-width: 700px) {
    .presunciones-compact-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 480px) {
    .presunciones-compact-grid {
        grid-template-columns: 1fr !important;
    }
}



.editorial-concept-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.4rem !important;
    width: 100% !important;
}
@media (max-width: 768px) {
    .editorial-concept-grid {
        grid-template-columns: 1fr !important;
    }
}

.editorial-extended-content {
    background: linear-gradient(145deg, rgba(15,15,18,0.55) 0%, rgba(8,8,10,0.65) 100%);
    border-left: 2px solid rgba(200, 169, 126, 0.25);
    padding: clamp(1.5rem, 3vw, 2.2rem) clamp(1.2rem, 2.5vw, 2rem);
    border-radius: 0 12px 12px 0;
    margin-top: 2rem;
}
.editorial-extended-content p {
    margin-bottom: 1.1rem;
    line-height: 1.75;
}
.editorial-extended-content p strong {
    color: var(--color-gold-solid);
}
.editorial-extended-content p:first-of-type::first-letter {
    font-family: var(--font-display);
    font-size: 3.4rem;
    color: var(--color-gold-solid);
    float: left;
    line-height: 0.9;
    margin-right: 0.6rem;
    margin-top: 0.2rem;
    font-weight: 500;
}



.matriz-responsables-grid {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 0.8rem !important;
}
@media (max-width: 1280px) {
    .matriz-responsables-grid {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}
@media (max-width: 1024px) {
    .matriz-responsables-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}
@media (max-width: 700px) {
    .matriz-responsables-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 480px) {
    .matriz-responsables-grid {
        grid-template-columns: 1fr !important;
    }
}

.matriz-responsables-grid > div {
    padding: 0.9rem 0.85rem !important;
    transition: all 0.35s cubic-bezier(0.215, 0.610, 0.355, 1.000);
    position: relative;
    overflow: hidden;
}
.matriz-responsables-grid > div:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 169, 126, 0.45) !important;
    border-left: 2px solid var(--color-gold-solid) !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.4);
}
.matriz-responsables-grid > div h4 {
    font-size: 0.92rem !important;
    margin-bottom: 0.4rem !important;
}
.matriz-responsables-grid > div p {
    font-size: 0.78rem !important;
    line-height: 1.45 !important;
}



.que-evaluamos-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.4rem !important;
}
@media (max-width: 768px) {
    .que-evaluamos-grid {
        grid-template-columns: 1fr !important;
    }
}
.que-evaluamos-grid > div {
    position: relative;
    padding: 1.8rem 1.6rem 1.8rem 4rem !important;
    background: linear-gradient(135deg, rgba(20,20,20,0.85) 0%, rgba(5,5,5,0.95) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.18) !important;
    border-radius: 12px !important;
    transition: all 0.4s cubic-bezier(0.215, 0.610, 0.355, 1.000);
    overflow: hidden;
    counter-increment: eval-step;
}
.que-evaluamos-grid {
    counter-reset: eval-step;
}
.que-evaluamos-grid > div::before {
    content: counter(eval-step, decimal-leading-zero);
    position: absolute;
    left: 1rem;
    top: 1.5rem;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(200,169,126,0.2) 0%, rgba(200,169,126,0.05) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
    border-radius: 50%;
    color: var(--color-gold-solid);
    font-family: var(--font-display);
    font-size: 0.82rem;
    font-weight: 600;
    transition: all 0.4s ease;
}
.que-evaluamos-grid > div::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 0% 0%, rgba(200, 169, 126, 0.08) 0%, transparent 60%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}
.que-evaluamos-grid > div:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 126, 0.5) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}
.que-evaluamos-grid > div:hover::after {
    opacity: 1;
}
.que-evaluamos-grid > div:hover::before {
    background: linear-gradient(135deg, var(--color-gold-solid) 0%, rgba(200,169,126,0.6) 100%);
    color: #000;
    transform: scale(1.08) rotate(-3deg);
}



.card-hover-premium::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 300 200' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-20,40 C80,20 180,80 320,40' fill='none' stroke='%23C8A97E' stroke-width='1.5' opacity='0.22'/%3E%3Cpath d='M-20,100 C100,140 200,60 320,100' fill='none' stroke='%23ffffff' stroke-width='1' opacity='0.10'/%3E%3Cpath d='M-20,200 L320,200 L320,160 C220,120 120,180 -20,160 Z' fill='%23C8A97E' opacity='0.07'/%3E%3C/svg%3E");
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
    opacity: 0.6;
    transition: opacity 0.5s ease, transform 0.6s ease;
    z-index: 0;
    border-radius: inherit;
}
.card-hover-premium:hover::after {
    opacity: 0.9;
    transform: scale(1.05) translateX(2%);
}
.card-hover-premium > * {
    position: relative;
    z-index: 1;
}



#transporte-publico h3 + ul,
#transporte-publico .transporte-prueba-clave {

    border-radius: 10px;
    padding: 1.4rem 1.6rem 1.4rem 2rem;
    list-style: none;
    position: relative;
    max-width: min(var(--container-width, 1480px), 100%);
}
#transporte-publico h3 + ul li,
#transporte-publico .transporte-prueba-clave li {
    padding: 0.55rem 0;
    border-bottom: 1px dashed rgba(200, 169, 126, 0.1);
    position: relative;
    padding-left: 1.6rem;
    transition: color 0.3s ease, padding-left 0.3s ease;
}
#transporte-publico h3 + ul li:last-child,
#transporte-publico .transporte-prueba-clave li:last-child {
    border-bottom: none;
}
#transporte-publico h3 + ul li::before,
#transporte-publico .transporte-prueba-clave li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0.55rem;
    color: var(--color-gold-solid);
    font-weight: 700;
    transition: transform 0.3s ease;
}
#transporte-publico h3 + ul li:hover,
#transporte-publico .transporte-prueba-clave li:hover {
    color: #fff;
    padding-left: 1.9rem;
}
#transporte-publico h3 + ul li:hover::before,
#transporte-publico .transporte-prueba-clave li:hover::before {
    transform: scale(1.3) rotate(8deg);
}



.que-evaluamos-grid > div,
.matriz-responsables-grid > div,
.diferenciales-grid > div,
.lesiones-grid > div,
.ofertas-grid > div,
.casco-licencia-grid > div,
.presunciones-grid > div,
.deber-grid > div {
    position: relative;
    overflow: hidden;
}
.que-evaluamos-grid > div::after,
.matriz-responsables-grid > div::after,
.diferenciales-grid > div::after,
.lesiones-grid > div::after,
.ofertas-grid > div::after,
.casco-licencia-grid > div::after,
.presunciones-grid > div::after,
.deber-grid > div::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 300 200' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-20,40 C80,20 180,80 320,40' fill='none' stroke='%23C8A97E' stroke-width='1.5' opacity='0.18'/%3E%3Cpath d='M-20,100 C100,140 200,60 320,100' fill='none' stroke='%23ffffff' stroke-width='1' opacity='0.08'/%3E%3Cpath d='M-20,200 L320,200 L320,160 C220,120 120,180 -20,160 Z' fill='%23C8A97E' opacity='0.06'/%3E%3C/svg%3E");
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
    opacity: 0.5;
    transition: opacity 0.5s ease, transform 0.6s ease;
    z-index: 0;
    border-radius: inherit;
}
.que-evaluamos-grid > div:hover::after,
.matriz-responsables-grid > div:hover::after,
.diferenciales-grid > div:hover::after,
.lesiones-grid > div:hover::after,
.ofertas-grid > div:hover::after,
.casco-licencia-grid > div:hover::after,
.presunciones-grid > div:hover::after,
.deber-grid > div:hover::after {
    opacity: 0.85;
    transform: scale(1.04) translateX(2%);
}
.que-evaluamos-grid > div > *,
.matriz-responsables-grid > div > *,
.diferenciales-grid > div > *,
.lesiones-grid > div > *,
.ofertas-grid > div > *,
.casco-licencia-grid > div > *,
.presunciones-grid > div > *,
.deber-grid > div > * {
    position: relative;
    z-index: 1;
}



.matriz-tabla-wrapper,
.matriz-responsables-wrapper,
.plazos-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
}
.matriz-tabla-wrapper > table,
.matriz-responsables-wrapper > table,
.plazos-wrapper > table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}
@media (max-width: 767px) {
    .matriz-tabla-wrapper > table,
    .matriz-responsables-wrapper > table,
    .plazos-wrapper > table {
        min-width: 540px !important;
    }
}



.prueba-urgente-block > ul > li > strong:first-child {
    display: block !important;
    margin-bottom: 7px !important;
    font-size: 0.86rem !important;
    color: var(--color-gold-solid) !important;
    font-weight: 700 !important;
    letter-spacing: 0.4px !important;
    line-height: 1.35 !important;
}



.feature-box__icon {
    width: 64px !important;
    height: 64px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.feature-box__icon svg,
.feature-box__icon i {
    width: 32px !important;
    height: 32px !important;
    font-size: 28px !important;
}
.hours-item > svg:first-child,
.channel-card__icon svg {
    width: 34px !important;
    height: 34px !important;
}



.editorial-premium-box {
    max-width: 1450px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: clamp(2rem, 3.5vw, 3.5rem) clamp(1.5rem, 3vw, 3rem) !important;
}



.page-eventos-masivos .editorial-concept-grid,
body[data-page="eventos-masivos"] .editorial-concept-grid,
#pagina-eventos-masivos .editorial-concept-grid {
    grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 1024px) {
    .page-eventos-masivos .editorial-concept-grid,
    body[data-page="eventos-masivos"] .editorial-concept-grid,
    #pagina-eventos-masivos .editorial-concept-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 640px) {
    .page-eventos-masivos .editorial-concept-grid,
    body[data-page="eventos-masivos"] .editorial-concept-grid,
    #pagina-eventos-masivos .editorial-concept-grid {
        grid-template-columns: 1fr !important;
    }
}



.citacion-block,
#citacion-en-garantia > .container > div:not(header):not(.section-header) {
    background: linear-gradient(145deg, rgba(28,28,32,0.95) 0%, rgba(8,8,10,0.99) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.25) !important;
    border-top: 3px solid var(--color-gold-solid) !important;
    border-radius: 14px !important;
    padding: clamp(2rem, 3.5vw, 2.8rem) clamp(1.5rem, 3vw, 2.4rem) !important;
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(200, 169, 126, 0.08) inset !important;
    position: relative;
    overflow: hidden;
    transition: transform 0.5s cubic-bezier(0.215, 0.610, 0.355, 1.000), box-shadow 0.5s ease;
}
.citacion-block::before,
#citacion-en-garantia > .container > div:not(header):not(.section-header)::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--color-gold-solid) 50%, transparent 100%);
    opacity: 0.6;
    z-index: 1;
}
.citacion-block::after,
#citacion-en-garantia > .container > div:not(header):not(.section-header)::after {
    content: '';
    position: absolute;
    bottom: -50%;
    right: -20%;
    width: 380px;
    height: 380px;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.08) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
}
.citacion-block:hover,
#citacion-en-garantia > .container > div:not(header):not(.section-header):hover {
    transform: translateY(-4px);
    box-shadow: 0 32px 60px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(200, 169, 126, 0.18) inset !important;
}


.process-section .process-step.step-active .process-card {
    border-color: rgba(200, 169, 126, 0.5) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45), 0 0 28px rgba(200, 169, 126, 0.18) !important;
    transform: translateY(-3px);
    transition: all 0.5s cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
.process-section .process-step.step-active .process-number {
    color: var(--color-gold-solid) !important;
    transform: scale(1.12) !important;
}



#transporte-publico .transporte-prueba-clave,
#transporte-publico ul {
    list-style: none !important;
}
#transporte-publico ul li {
    padding-left: 2rem !important;
    position: relative;
}
#transporte-publico ul li::marker {
    content: '' !important;
}


#transporte-publico ul li::before {
    content: '' !important;
    position: absolute;
    left: 0.5rem;
    top: 0.85rem;
    width: 14px;
    height: 1.5px;
    background: var(--color-gold-solid);
    border-radius: 1px;
    transition: width 0.3s ease;
}
#transporte-publico ul li::after {
    content: '';
    position: absolute;
    left: 1.1rem;
    top: 0.45rem;
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 6px solid var(--color-gold-solid);
    transition: transform 0.3s ease;
}
#transporte-publico ul li:hover::before {
    width: 22px;
}
#transporte-publico ul li:hover::after {
    transform: translateX(8px);
}




#pagina-reclamos-aseguradoras .editorial-concept-grid {
    grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 1024px) {
    #pagina-reclamos-aseguradoras .editorial-concept-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 640px) {
    #pagina-reclamos-aseguradoras .editorial-concept-grid {
        grid-template-columns: 1fr !important;
    }
}



.matriz-tabla-wrapper > table,
.matriz-responsables-wrapper > table,
.plazos-wrapper > table,
.matriz-premium > table {
    table-layout: fixed !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    border-collapse: collapse !important;
}


.matriz-tabla-wrapper > table th,
.matriz-tabla-wrapper > table td,
.matriz-responsables-wrapper > table th,
.matriz-responsables-wrapper > table td,
.plazos-wrapper > table th,
.plazos-wrapper > table td,
.matriz-premium > table th,
.matriz-premium > table td {
    width: auto !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto !important;
    vertical-align: top !important;
}

@media (max-width: 767px) {
    .matriz-tabla-wrapper > table,
    .matriz-responsables-wrapper > table,
    .plazos-wrapper > table,
    .matriz-premium > table {
        table-layout: auto !important;
        min-width: 540px !important;
    }
}

#pagina-incumplimiento-contractual .editorial-concept-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.6rem !important;
    width: 100% !important;
}
@media (max-width: 1024px) {
    #pagina-incumplimiento-contractual .editorial-concept-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 640px) {
    #pagina-incumplimiento-contractual .editorial-concept-grid {
        grid-template-columns: 1fr !important;
    }
}

#pagina-incumplimiento-contractual .editorial-premium-box {
    max-width: 1480px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: clamp(2rem, 3.5vw, 3.5rem) clamp(1.5rem, 3vw, 3rem) !important;
}

#pagina-incumplimiento-contractual .inventario-probatorio {
    margin-top: 3rem !important;
    padding: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 4vw, 2.5rem) !important;
    background: linear-gradient(145deg, rgba(28,28,32,0.95) 0%, rgba(8,8,10,0.99) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.25) !important;
    border-top: 3px solid var(--color-gold-solid) !important;
    border-radius: 14px !important;
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(200, 169, 126, 0.08) inset !important;
    position: relative;
    overflow: hidden;
}
#pagina-incumplimiento-contractual .inventario-probatorio::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--color-gold-solid) 50%, transparent 100%);
    opacity: 0.6;
    z-index: 1;
}
#pagina-incumplimiento-contractual .inventario-probatorio::after {
    content: '';
    position: absolute;
    bottom: -50%;
    right: -20%;
    width: 380px;
    height: 380px;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.08) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
}
#pagina-incumplimiento-contractual .inventario-probatorio > * {
    position: relative;
    z-index: 2;
}
#pagina-incumplimiento-contractual .inventario-probatorio h3 {
    color: var(--color-gold-solid) !important;
    font-family: var(--font-display) !important;
    font-size: clamp(1.35rem, 2vw, 1.7rem) !important;
    margin-bottom: 1rem !important;
    text-align: center !important;
    letter-spacing: 0.5px !important;
}
#pagina-incumplimiento-contractual .inventario-probatorio > p {
    color: var(--color-text-secondary) !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
    max-width: 820px !important;
    margin: 0 auto 2rem auto !important;
    text-align: center !important;
}
#pagina-incumplimiento-contractual .inventario-probatorio ul.inventario-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1rem !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    list-style: none !important;
}
@media (max-width: 820px) {
    #pagina-incumplimiento-contractual .inventario-probatorio ul.inventario-grid {
        grid-template-columns: 1fr !important;
    }
}
#pagina-incumplimiento-contractual .inventario-probatorio ul.inventario-grid li {
    background: rgba(15, 15, 18, 0.85);
    border: 1px solid rgba(200, 169, 126, 0.12);
    border-left: 2px solid var(--color-gold-solid);
    border-radius: 8px;
    padding: 1.1rem 1.2rem 1.1rem 3.2rem;
    color: var(--color-text-secondary);
    font-size: 0.95rem;
    line-height: 1.6;
    position: relative;
    transition: transform 0.35s cubic-bezier(0.215, 0.610, 0.355, 1.000), border-color 0.35s ease, box-shadow 0.35s ease;
}
#pagina-incumplimiento-contractual .inventario-probatorio ul.inventario-grid li::before {
    content: '\2713';
    position: absolute;
    left: 1rem;
    top: 1.1rem;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: linear-gradient(145deg, rgba(200, 169, 126, 0.25) 0%, rgba(200, 169, 126, 0.08) 100%);
    border: 1px solid rgba(200, 169, 126, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gold-solid);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

#pagina-incumplimiento-contractual .inventario-probatorio ul.inventario-grid li::after {
    content: none;
    display: none;
}
#pagina-incumplimiento-contractual .inventario-probatorio ul.inventario-grid li:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 169, 126, 0.45);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45), 0 0 24px rgba(200, 169, 126, 0.12);
}
#pagina-incumplimiento-contractual .inventario-probatorio ul.inventario-grid li strong {
    color: #fff !important;
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.98rem;
    letter-spacing: 0.2px;
}
#pagina-incumplimiento-contractual .inventario-probatorio > p:last-of-type {
    color: var(--color-text-muted) !important;
    font-size: 0.9rem !important;
    line-height: 1.65 !important;
    text-align: center !important;
    max-width: 820px !important;
    margin: 2rem auto 0 auto !important;
    font-style: italic !important;
}


#pagina-incumplimiento-contractual #incumplimiento-esencial-vs-menor .esencial-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.4rem !important;
    margin-top: 2.5rem !important;
}
@media (max-width: 1100px) {
    #pagina-incumplimiento-contractual #incumplimiento-esencial-vs-menor .esencial-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 600px) {
    #pagina-incumplimiento-contractual #incumplimiento-esencial-vs-menor .esencial-grid {
        grid-template-columns: 1fr !important;
    }
}
#pagina-incumplimiento-contractual #incumplimiento-esencial-vs-menor .esencial-grid > div {
    padding: 1.8rem 1.5rem !important;
    background: linear-gradient(160deg, rgba(24, 24, 28, 0.92) 0%, rgba(8, 8, 10, 0.98) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.18) !important;
    border-left: none !important;
    border-radius: 12px !important;
    position: relative;
    overflow: hidden;
    transition: transform 0.45s cubic-bezier(0.215, 0.610, 0.355, 1.000), border-color 0.45s ease, box-shadow 0.45s ease;
    isolation: isolate;
}
#pagina-incumplimiento-contractual #incumplimiento-esencial-vs-menor .esencial-grid > div::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--color-gold-solid) 50%, transparent 100%);
    opacity: 0.5;
    transition: opacity 0.45s ease;
    z-index: -1;
}
#pagina-incumplimiento-contractual #incumplimiento-esencial-vs-menor .esencial-grid > div::after {
    content: counter(esencial-counter, decimal-leading-zero);
    counter-increment: esencial-counter;
    position: absolute;
    top: 14px;
    right: 18px;
    font-family: var(--font-display), serif;
    font-size: 1.6rem;
    color: rgba(200, 169, 126, 0.18);
    font-weight: 600;
    letter-spacing: 0.5px;
    z-index: 0;
    transition: color 0.45s ease, transform 0.45s ease;
    pointer-events: none;
}
#pagina-incumplimiento-contractual #incumplimiento-esencial-vs-menor .esencial-grid {
    counter-reset: esencial-counter;
}
#pagina-incumplimiento-contractual #incumplimiento-esencial-vs-menor .esencial-grid > div:hover {
    transform: translateY(-6px);
    border-color: rgba(200, 169, 126, 0.45) !important;
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.5), 0 0 28px rgba(200, 169, 126, 0.12);
}
#pagina-incumplimiento-contractual #incumplimiento-esencial-vs-menor .esencial-grid > div:hover::before {
    opacity: 1;
}
#pagina-incumplimiento-contractual #incumplimiento-esencial-vs-menor .esencial-grid > div:hover::after {
    color: rgba(200, 169, 126, 0.5);
    transform: scale(1.08);
}
#pagina-incumplimiento-contractual #incumplimiento-esencial-vs-menor .esencial-grid > div h3 {
    color: var(--color-gold-solid) !important;
    font-family: var(--font-display) !important;
    font-size: 1.05rem !important;
    margin-bottom: 0.8rem !important;
    line-height: 1.35 !important;
    padding-right: 2.4rem;
    position: relative;
    z-index: 1;
}
#pagina-incumplimiento-contractual #incumplimiento-esencial-vs-menor .esencial-grid > div p {
    color: var(--color-text-secondary) !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    position: relative;
    z-index: 1;
}



@media (min-width: 993px) {
    .process-section {
        height: 150vh !important;
        padding: 0 !important;
        padding-top: 2rem !important;
        position: relative;
    }
    .process-section > .container {
        position: sticky !important;
        top: 25vh !important;
        height: auto !important;
        display: block !important;
        padding-bottom: 20px !important;
    }
}


#pagina-incumplimiento-contractual #arsenal-probatorio .features-container {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.4rem !important;
}
@media (max-width: 1180px) {
    #pagina-incumplimiento-contractual #arsenal-probatorio .features-container {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 600px) {
    #pagina-incumplimiento-contractual #arsenal-probatorio .features-container {
        grid-template-columns: 1fr !important;
    }
}



.faq-question > div:first-child > svg:first-child,
.faq-question > span:first-child > svg:first-child {
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
    color: var(--color-gold-solid) !important;
}
.faq-question > div:first-child,
.faq-question > span:first-child {
    align-items: center !important;
}



#pagina-incumplimiento-contractual #plazos-clave .feature-box__icon,
#pagina-incumplimiento-contractual #arsenal-probatorio .feature-box__icon {
    width: 64px !important;
    height: 64px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 32px !important;
}
#pagina-incumplimiento-contractual #plazos-clave .feature-box__icon svg,
#pagina-incumplimiento-contractual #plazos-clave .feature-box__icon i,
#pagina-incumplimiento-contractual #arsenal-probatorio .feature-box__icon svg,
#pagina-incumplimiento-contractual #arsenal-probatorio .feature-box__icon i {
    width: 32px !important;
    height: 32px !important;
    font-size: 32px !important;
}




.matriz-fichas {
    margin-top: 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.matriz-ficha {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 0;
    background: linear-gradient(145deg, rgba(24, 24, 28, 0.95) 0%, rgba(8, 8, 10, 0.99) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-left: 3px solid var(--color-gold-solid);
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    isolation: isolate;
    transition: transform 0.5s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                border-color 0.5s ease,
                box-shadow 0.5s ease;
}

.matriz-ficha::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--color-gold-solid) 50%, transparent 100%);
    opacity: 0.5;
    transition: opacity 0.5s ease;
    z-index: 1;
}

.matriz-ficha::after {
    content: '';
    position: absolute;
    bottom: -50%;
    right: -10%;
    width: 280px;
    height: 280px;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.07) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
}

.matriz-ficha:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 126, 0.4);
    box-shadow: 0 28px 60px rgba(0, 0, 0, 0.55),
                0 0 0 1px rgba(200, 169, 126, 0.1) inset,
                0 0 36px rgba(200, 169, 126, 0.1);
}

.matriz-ficha:hover::before {
    opacity: 1;
}


.matriz-ficha__caso {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.8rem 1.2rem;
    background: linear-gradient(160deg, rgba(15, 15, 18, 0.6) 0%, rgba(5, 5, 7, 0.85) 100%);
    border-right: 1px solid rgba(200, 169, 126, 0.12);
    gap: 1rem;
    position: relative;
    z-index: 2;
}

.matriz-ficha__numero {
    font-family: var(--font-display), serif;
    font-size: 0.72rem;
    color: var(--color-gold-solid);
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-weight: 500;
    opacity: 0.85;
}

.matriz-ficha__thumb {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at center,
                rgba(200, 169, 126, 0.18) 0%,
                rgba(200, 169, 126, 0.04) 60%,
                transparent 100%);
    border: 1px solid rgba(200, 169, 126, 0.35);
    box-shadow: 0 0 28px rgba(200, 169, 126, 0.12) inset,
                0 6px 20px rgba(0, 0, 0, 0.4);
    position: relative;
    transition: transform 0.5s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                box-shadow 0.5s ease;
}

.matriz-ficha:hover .matriz-ficha__thumb {
    transform: scale(1.06);
    box-shadow: 0 0 36px rgba(200, 169, 126, 0.22) inset,
                0 10px 28px rgba(0, 0, 0, 0.5),
                0 0 24px rgba(200, 169, 126, 0.18);
}

.matriz-ficha__thumb svg {
    width: 46px;
    height: 46px;
    color: var(--color-gold-solid);
    filter: drop-shadow(0 2px 6px rgba(200, 169, 126, 0.35));
    transition: transform 0.5s cubic-bezier(0.215, 0.610, 0.355, 1.000);
}

.matriz-ficha:hover .matriz-ficha__thumb svg {
    transform: scale(1.08);
}


.matriz-ficha__body {
    padding: 1.8rem 2rem 1.8rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 2;
}

.matriz-ficha__titulo {
    font-family: var(--font-display), serif;
    color: #fff;
    font-size: clamp(1.15rem, 1.6vw, 1.45rem);
    font-weight: 500;
    margin: 0 0 1rem 0;
    padding-bottom: 0.8rem;
    letter-spacing: 0.3px;
    line-height: 1.25;
    position: relative;
}

.matriz-ficha__titulo::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, var(--color-gold-solid) 0%, transparent 100%);
}

.matriz-ficha__atributos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.4rem;
    margin-top: 1.2rem;
}

.matriz-ficha__atributo {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.matriz-ficha__attr-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    font-weight: 500;
}

.matriz-ficha__attr-label svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    opacity: 0.9;
}

.matriz-ficha__attr-text {
    color: var(--color-text-secondary);
    font-size: 0.92rem;
    line-height: 1.55;
    margin: 0;
}


@media (max-width: 768px) {
    .matriz-ficha {
        grid-template-columns: 1fr;
    }
    .matriz-ficha__caso {
        flex-direction: row;
        justify-content: flex-start;
        padding: 1.2rem 1.5rem;
        border-right: none;
        border-bottom: 1px solid rgba(200, 169, 126, 0.12);
        gap: 1.2rem;
    }
    .matriz-ficha__thumb {
        width: 72px;
        height: 72px;
        flex-shrink: 0;
    }
    .matriz-ficha__thumb svg {
        width: 34px;
        height: 34px;
    }
    .matriz-ficha__body {
        padding: 1.4rem 1.5rem;
    }
    .matriz-ficha__atributos {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

@media (max-width: 1100px) and (min-width: 769px) {
    .matriz-ficha__atributos {
        grid-template-columns: 1fr;
        gap: 0.9rem;
    }
    .matriz-ficha__atributo {
        flex-direction: row;
        align-items: baseline;
        gap: 0.8rem;
    }
    .matriz-ficha__attr-label {
        min-width: 130px;
        flex-shrink: 0;
    }
}




.prueba-timeline {
    margin: 2.5rem auto 0;
    padding: 2rem 0;
    list-style: none;
    position: relative;
    max-width: 1180px;
}


.prueba-timeline::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    background: linear-gradient(180deg,
        transparent 0%,
        rgba(200, 169, 126, 0.6) 8%,
        rgba(200, 169, 126, 0.6) 92%,
        transparent 100%);
    transform: translateX(-50%);
    pointer-events: none;
    z-index: 0;
}


.prueba-timeline::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 480px;
    height: 480px;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.06) 0%, transparent 65%);
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: -1;
}

.prueba-timeline__item {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 110px 1fr;
    gap: 2rem;
    align-items: center;
    margin-bottom: 2.6rem;
    z-index: 1;
}

.prueba-timeline__item:last-child {
    margin-bottom: 0;
}


.prueba-timeline__nucleo {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: radial-gradient(circle at center,
        rgba(28, 28, 32, 0.95) 0%,
        rgba(8, 8, 10, 0.99) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
    box-shadow: 0 0 0 4px rgba(8, 8, 10, 0.95),
                0 0 0 5px rgba(200, 169, 126, 0.2),
                0 12px 32px rgba(0, 0, 0, 0.5),
                0 0 24px rgba(200, 169, 126, 0.12) inset;
    transition: transform 0.5s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                box-shadow 0.5s ease;
    position: relative;
    z-index: 2;
}

.prueba-timeline__num {
    font-family: var(--font-display), serif;
    font-size: 1.35rem;
    color: var(--color-gold-solid);
    font-weight: 500;
    letter-spacing: 1.5px;
    line-height: 1;
}

.prueba-timeline__icon {
    width: 22px;
    height: 22px;
    color: var(--color-gold-solid);
    opacity: 0.85;
    filter: drop-shadow(0 2px 4px rgba(200, 169, 126, 0.3));
}

.prueba-timeline__item:hover .prueba-timeline__nucleo {
    transform: scale(1.06);
    box-shadow: 0 0 0 4px rgba(8, 8, 10, 0.95),
                0 0 0 5px rgba(200, 169, 126, 0.45),
                0 16px 40px rgba(0, 0, 0, 0.6),
                0 0 32px rgba(200, 169, 126, 0.22) inset,
                0 0 36px rgba(200, 169, 126, 0.2);
}


.prueba-timeline__contenido {
    padding: 1.5rem 1.6rem;
    background: linear-gradient(145deg, rgba(24, 24, 28, 0.92) 0%, rgba(8, 8, 10, 0.96) 100%);
    border: 1px solid rgba(200, 169, 126, 0.15);
    border-radius: 10px;
    position: relative;
    transition: transform 0.5s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                border-color 0.5s ease,
                box-shadow 0.5s ease;
    z-index: 1;
}

.prueba-timeline__item:hover .prueba-timeline__contenido {
    transform: translateY(-3px);
    border-color: rgba(200, 169, 126, 0.4);
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.5),
                0 0 24px rgba(200, 169, 126, 0.1);
}


.prueba-timeline__item:nth-child(odd) .prueba-timeline__contenido {
    grid-column: 1;
    text-align: right;
    border-right: 2px solid var(--color-gold-solid);
}

.prueba-timeline__item:nth-child(odd) .prueba-timeline__contenido::before {
    content: '';
    position: absolute;
    top: 50%;
    right: -2px;
    width: 12px;
    height: 12px;
    background: var(--color-gold-solid);
    border-radius: 50%;
    transform: translate(50%, -50%);
    box-shadow: 0 0 0 4px rgba(8, 8, 10, 0.95),
                0 0 12px rgba(200, 169, 126, 0.6);
}


.prueba-timeline__item:nth-child(odd) .prueba-timeline__contenido::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -2rem;
    width: 2rem;
    height: 1px;
    background: linear-gradient(90deg, var(--color-gold-solid) 0%, transparent 100%);
    transform: translateY(-50%);
    opacity: 0.5;
}


.prueba-timeline__item:nth-child(even) .prueba-timeline__contenido {
    grid-column: 3;
    text-align: left;
    border-left: 2px solid var(--color-gold-solid);
}

.prueba-timeline__item:nth-child(even) .prueba-timeline__contenido::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -2px;
    width: 12px;
    height: 12px;
    background: var(--color-gold-solid);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 0 4px rgba(8, 8, 10, 0.95),
                0 0 12px rgba(200, 169, 126, 0.6);
}

.prueba-timeline__item:nth-child(even) .prueba-timeline__contenido::after {
    content: '';
    position: absolute;
    top: 50%;
    left: -2rem;
    width: 2rem;
    height: 1px;
    background: linear-gradient(270deg, var(--color-gold-solid) 0%, transparent 100%);
    transform: translateY(-50%);
    opacity: 0.5;
}

.prueba-timeline__titulo {
    font-family: var(--font-display), serif;
    color: var(--color-gold-solid);
    font-size: 1.05rem;
    font-weight: 500;
    margin: 0 0 0.55rem 0;
    line-height: 1.35;
    letter-spacing: 0.3px;
}

.prueba-timeline__texto {
    color: var(--color-text-secondary);
    font-size: 0.92rem;
    line-height: 1.65;
    margin: 0;
}


@media (max-width: 900px) {
    .prueba-timeline {
        max-width: 100%;
        padding-left: 0;
    }
    .prueba-timeline::before {
        left: 55px;
        transform: none;
    }
    .prueba-timeline::after {
        display: none;
    }
    .prueba-timeline__item {
        grid-template-columns: 110px 1fr;
        gap: 1.4rem;
        margin-bottom: 1.8rem;
    }
    .prueba-timeline__nucleo {
        grid-column: 1;
        width: 90px;
        height: 90px;
    }
    .prueba-timeline__num {
        font-size: 1.15rem;
    }
    .prueba-timeline__icon {
        width: 18px;
        height: 18px;
    }
    .prueba-timeline__item:nth-child(odd) .prueba-timeline__contenido,
    .prueba-timeline__item:nth-child(even) .prueba-timeline__contenido {
        grid-column: 2;
        text-align: left;
        border-left: 2px solid var(--color-gold-solid);
        border-right: none;
    }
    .prueba-timeline__item:nth-child(odd) .prueba-timeline__contenido::before,
    .prueba-timeline__item:nth-child(even) .prueba-timeline__contenido::before {
        left: -2px;
        right: auto;
        transform: translate(-50%, -50%);
    }
    .prueba-timeline__item:nth-child(odd) .prueba-timeline__contenido::after,
    .prueba-timeline__item:nth-child(even) .prueba-timeline__contenido::after {
        left: -1.4rem;
        right: auto;
        width: 1.4rem;
        background: linear-gradient(270deg, var(--color-gold-solid) 0%, transparent 100%);
    }
    .prueba-timeline__titulo {
        font-size: 1rem;
    }
}

@media (max-width: 520px) {
    .prueba-timeline::before {
        left: 38px;
    }
    .prueba-timeline__item {
        grid-template-columns: 76px 1fr;
        gap: 1rem;
    }
    .prueba-timeline__nucleo {
        width: 76px;
        height: 76px;
        gap: 0.25rem;
    }
    .prueba-timeline__num {
        font-size: 1rem;
    }
    .prueba-timeline__icon {
        width: 16px;
        height: 16px;
    }
    .prueba-timeline__contenido {
        padding: 1.2rem 1.2rem;
    }
    .prueba-timeline__item:nth-child(odd) .prueba-timeline__contenido::after,
    .prueba-timeline__item:nth-child(even) .prueba-timeline__contenido::after {
        display: none;
    }
}




.prueba-timeline__item.is-active .prueba-timeline__nucleo {
    transform: scale(1.08);
    border-color: rgba(200, 169, 126, 0.7);
    box-shadow: 0 0 0 4px rgba(8, 8, 10, 0.95),
                0 0 0 6px rgba(200, 169, 126, 0.55),
                0 18px 48px rgba(0, 0, 0, 0.65),
                0 0 40px rgba(200, 169, 126, 0.28) inset,
                0 0 56px rgba(200, 169, 126, 0.35);
}

.prueba-timeline__item.is-active .prueba-timeline__num {
    color: #f5e6c8;
    text-shadow: 0 0 16px rgba(200, 169, 126, 0.5);
}

.prueba-timeline__item.is-active .prueba-timeline__icon {
    opacity: 1;
    transform: scale(1.12);
    filter: drop-shadow(0 0 8px rgba(200, 169, 126, 0.55));
}

.prueba-timeline__item.is-active .prueba-timeline__contenido {
    transform: translateY(-3px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 28px 56px rgba(0, 0, 0, 0.55),
                0 0 32px rgba(200, 169, 126, 0.18);
}

.prueba-timeline__item.is-active:nth-child(odd) .prueba-timeline__contenido::before,
.prueba-timeline__item.is-active:nth-child(even) .prueba-timeline__contenido::before {
    background: #f5e6c8;
    box-shadow: 0 0 0 4px rgba(8, 8, 10, 0.95),
                0 0 18px rgba(200, 169, 126, 0.85);
}

.prueba-timeline__item.is-active:nth-child(odd) .prueba-timeline__contenido::after,
.prueba-timeline__item.is-active:nth-child(even) .prueba-timeline__contenido::after {
    opacity: 1;
    height: 2px;
    background: linear-gradient(var(--tl-grad-dir, 90deg), #f5e6c8 0%, var(--color-gold-solid) 50%, transparent 100%);
}

.prueba-timeline__item:nth-child(odd) {
    --tl-grad-dir: 90deg;
}

.prueba-timeline__item:nth-child(even) {
    --tl-grad-dir: 270deg;
}


.prueba-timeline__item.is-near .prueba-timeline__nucleo {
    border-color: rgba(200, 169, 126, 0.55);
    box-shadow: 0 0 0 4px rgba(8, 8, 10, 0.95),
                0 0 0 5px rgba(200, 169, 126, 0.32),
                0 14px 36px rgba(0, 0, 0, 0.55),
                0 0 28px rgba(200, 169, 126, 0.18) inset,
                0 0 28px rgba(200, 169, 126, 0.18);
}





.prueba-hex-titulo {
    color: var(--color-gold-solid);
    
    font-family: var(--font-display), serif;
    font-size: clamp(1.2rem, 1.8vw, 1.5rem);
    margin: 2.5rem 0 2rem;
    text-align: center;
    letter-spacing: 0.5px;
    position: relative;
    padding-bottom: 0.8rem;
}

.prueba-hex-titulo::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--color-gold-solid) 50%, transparent 100%);
}



.prueba-hex-panal {
    list-style: none;
    padding: 2.5rem 0 3rem;
    margin: 0 auto;
    max-width: 1240px;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: 1.6rem;
    row-gap: 0;
    position: relative;
    justify-items: center;

}

.prueba-hex-panal::before {
    content: '';
    position: absolute;
    inset: -20px;
    background: radial-gradient(ellipse at center, rgba(200, 169, 126, 0.06) 0%, transparent 65%);
    pointer-events: none;
    z-index: -1;
}


.prueba-hex-cell {
    position: relative;
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: 260px;
    aspect-ratio: 1 / 1.1547; 
    
}


.prueba-hex-cell:nth-child(1) { grid-row: 1; grid-column: 1 / span 2; }
.prueba-hex-cell:nth-child(2) { grid-row: 1; grid-column: 3 / span 2; }
.prueba-hex-cell:nth-child(3) { grid-row: 1; grid-column: 5 / span 2; }



.prueba-hex-cell:nth-child(4) { grid-row: 2; grid-column: 2 / span 2; margin-top: -25%; }
.prueba-hex-cell:nth-child(5) { grid-row: 2; grid-column: 4 / span 2; margin-top: -25%; }
.prueba-hex-cell:nth-child(6) { grid-row: 2; grid-column: 6 / span 2; margin-top: -25%; }


.prueba-hex-shape {
    width: 100%;
    height: 100%;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    background: linear-gradient(145deg,
        rgba(28, 28, 32, 0.95) 0%,
        rgba(8, 8, 10, 0.99) 100%);
    border: 1px solid rgba(200, 169, 126, 0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem;
    position: relative;
    cursor: pointer;
    transition: transform 0.45s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                filter 0.45s ease;
    box-sizing: border-box;
    box-shadow: 0 0 0 2px rgba(200, 169, 126, 0.1) inset,
                0 6px 20px rgba(0, 0, 0, 0.4);
}


.prueba-hex-cell::before {
    content: '';
    position: absolute;
    inset: -2px;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    background: linear-gradient(145deg,
        rgba(200, 169, 126, 0.5) 0%,
        rgba(200, 169, 126, 0.15) 50%,
        rgba(200, 169, 126, 0.4) 100%);
    z-index: -1;
    transition: background 0.45s ease, filter 0.45s ease;
}

.prueba-hex-cell:hover .prueba-hex-shape {
    transform: scale(1.05);
    filter: drop-shadow(0 12px 32px rgba(0, 0, 0, 0.6));
}

.prueba-hex-cell:hover::before {
    background: linear-gradient(145deg,
        var(--color-gold-solid) 0%,
        rgba(200, 169, 126, 0.4) 50%,
        var(--color-gold-solid) 100%);
    filter: drop-shadow(0 0 24px rgba(200, 169, 126, 0.5));
}


.prueba-hex-cell::after {
    content: attr(data-num);
    position: absolute;
    top: 13%;
    left: 50%;
    transform: translateX(-50%);
    font-family: var(--font-display), serif;
    font-size: 0.78rem;
    color: rgba(200, 169, 126, 0.7);
    letter-spacing: 2.5px;
    z-index: 2;
    pointer-events: none;
    transition: color 0.45s ease, text-shadow 0.45s ease;
}

.prueba-hex-cell:hover::after {
    color: #f5e6c8;
    text-shadow: 0 0 10px rgba(200, 169, 126, 0.7);
}

.prueba-hex-icon {
    width: 44px;
    height: 44px;
    color: var(--color-gold-solid);
    margin-top: 0.4rem;
    filter: drop-shadow(0 2px 6px rgba(200, 169, 126, 0.4));
    transition: transform 0.45s ease, filter 0.45s ease;
}

.prueba-hex-cell:hover .prueba-hex-icon {
    transform: scale(1.12);
    filter: drop-shadow(0 4px 12px rgba(200, 169, 126, 0.6));
}

.prueba-hex-label {
    color: #fff;
    font-family: var(--font-display), serif;
    font-size: 0.92rem;
    line-height: 1.25;
    text-align: center;
    letter-spacing: 0.3px;
    padding: 0 0.6rem;
    max-width: 90%;
}


.prueba-hex-popover {
    position: absolute;
    top: calc(100% + 12px);
    left: 50%;
    transform: translateX(-50%) translateY(-8px);
    width: 280px;
    max-width: 90vw;
    padding: 1rem 1.1rem;
    background: linear-gradient(145deg, rgba(20, 20, 24, 0.98) 0%, rgba(6, 6, 8, 0.99) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
    border-top: 2px solid var(--color-gold-solid);
    border-radius: 8px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.35s ease, transform 0.35s ease, visibility 0s linear 0.35s;
    z-index: 30;
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.6), 0 0 28px rgba(200, 169, 126, 0.18);
}

.prueba-hex-popover::before {
    content: '';
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 12px;
    height: 12px;
    background: var(--color-gold-solid);
}

.prueba-hex-cell:hover .prueba-hex-popover {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
    transition: opacity 0.35s ease, transform 0.35s ease, visibility 0s;
}

.prueba-hex-popover__titulo {
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: 0.92rem;
    margin: 0 0 0.4rem 0;
    line-height: 1.3;
}

.prueba-hex-popover__texto {
    color: var(--color-text-secondary);
    font-size: 0.85rem;
    line-height: 1.55;
    margin: 0;
}


@media (max-width: 1100px) and (min-width: 769px) {
    .prueba-hex-panal {
        max-width: 920px;
        column-gap: 1.2rem;
    }
    .prueba-hex-cell {
        max-width: 220px;
    }
    .prueba-hex-icon {
        width: 38px;
        height: 38px;
    }
    .prueba-hex-label {
        font-size: 0.82rem;
    }
}

@media (max-width: 768px) {
    .prueba-hex-panal {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.2rem;
        column-gap: 1.2rem;
        max-width: 520px;
    }
    .prueba-hex-cell,
    .prueba-hex-cell:nth-child(1),
    .prueba-hex-cell:nth-child(2),
    .prueba-hex-cell:nth-child(3),
    .prueba-hex-cell:nth-child(4),
    .prueba-hex-cell:nth-child(5),
    .prueba-hex-cell:nth-child(6) {
        grid-row: auto;
        grid-column: span 1;
        margin-top: 0;
        transform: none;
        max-width: 220px;
    }
    .prueba-hex-icon {
        width: 38px;
        height: 38px;
    }
    .prueba-hex-label {
        font-size: 0.82rem;
    }
    .prueba-hex-popover {
        width: 240px;
    }
}

@media (max-width: 400px) {
    .prueba-hex-panal {
        grid-template-columns: 1fr;
        max-width: 280px;
    }
    .prueba-hex-popover {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        width: 100%;
        max-width: 100%;
        margin-top: 1rem;
    }
    .prueba-hex-popover::before { display: none; }
    .prueba-hex-popover {
        padding: 0.85rem 0.9rem;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
    }
    .prueba-hex-popover__titulo { font-size: 0.86rem; }
    .prueba-hex-popover__texto { font-size: 0.82rem; line-height: 1.5; }
    .prueba-hex-cell::after { font-size: 0.7rem; letter-spacing: 1.5px; }
}



.map-seo-hero {
    position: relative;
    padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 3vw, 3rem);
    background: linear-gradient(160deg, rgba(20, 20, 24, 0.96) 0%, rgba(6, 6, 8, 0.99) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-top: 2px solid var(--color-gold-solid);
    border-radius: 14px;
    overflow: hidden;
    isolation: isolate;
    box-shadow: 0 32px 64px rgba(0, 0, 0, 0.5),
                0 0 0 1px rgba(200, 169, 126, 0.06) inset;
}


.map-seo-hero::before {
    content: '';
    position: absolute;
    top: -10%;
    right: -15%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle at center, rgba(200, 169, 126, 0.06) 0%, transparent 60%);
    pointer-events: none;
    z-index: 0;
}

.map-seo-hero::after {
    content: '';
    position: absolute;
    bottom: -10%;
    left: -15%;
    width: 460px;
    height: 460px;
    background: radial-gradient(circle at center, rgba(200, 169, 126, 0.04) 0%, transparent 60%);
    pointer-events: none;
    z-index: 0;
}

.map-seo-hero > * {
    position: relative;
    z-index: 1;
}


.map-seo-hero__header {
    max-width: 1080px;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.map-seo-hero__eyebrow {
    display: inline-block;
    font-family: var(--font-display), serif;
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(200, 169, 126, 0.4);
}

.map-seo-hero__title {
    font-family: var(--font-display), serif;
    font-size: clamp(1.3rem, 2.6vw, 1.85rem);
    line-height: 1.3;
    margin: 0 0 1rem;
    color: rgba(245, 232, 211, 0.96);
    text-wrap: balance;
    font-weight: 400;
}
.map-seo-hero__title strong {
    background: linear-gradient(135deg, #f5e8d3 0%, var(--color-gold-solid) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 600;
}

.map-seo-hero__lead {
    font-size: clamp(0.95rem, 1.5vw, 1.05rem);
    line-height: 1.75;
    color: rgba(240, 240, 240, 0.85);
    margin: 0 auto;
    max-width: 920px;
}
.map-seo-hero__lead strong { color: rgba(245, 232, 211, 0.98); font-weight: 500; }


.map-seo-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.4rem;
    margin-bottom: 2.5rem;
}

@media (min-width: 1024px) {
    .map-seo-hero__grid {
        grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
        gap: 1.8rem;
    }
}


.map-seo-hero__sede {
    position: relative;
    padding: 1.8rem 1.6rem 1.6rem;
    background: linear-gradient(155deg, rgba(200, 169, 126, 0.1) 0%, rgba(15, 15, 18, 0.85) 35%, rgba(8, 8, 10, 0.95) 100%);
    border: 1px solid rgba(200, 169, 126, 0.3);
    border-top: 2px solid var(--color-gold-solid);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45),
                0 0 24px rgba(200, 169, 126, 0.1) inset;
}

.map-seo-hero__sede-badge {
    display: inline-block;
    align-self: flex-start;
    padding: 0.35rem 0.85rem;
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.4) 0%, rgba(200, 169, 126, 0.2) 100%);
    border: 1px solid rgba(200, 169, 126, 0.55);
    border-radius: 4px;
    font-family: var(--font-body);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #f5e8d3;
    margin-bottom: 0.8rem;
}

.map-seo-hero__sede-title {
    font-family: var(--font-display), serif;
    font-size: clamp(1.1rem, 1.7vw, 1.3rem);
    line-height: 1.3;
    color: #fff;
    margin: 0 0 0.6rem;
    font-weight: 500;
}

.map-seo-hero__sede-desc {
    font-size: 0.92rem;
    line-height: 1.6;
    color: rgba(240, 240, 240, 0.82);
    margin: 0 0 1.2rem;
}


.map-seo-hero__mapa-wrap {
    position: relative;
    width: 100%;
    margin: 1rem auto 1.4rem;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(200, 169, 126, 0.35);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45),
                0 0 0 1px rgba(200, 169, 126, 0.08) inset,
                0 0 28px rgba(200, 169, 126, 0.1);
    aspect-ratio: 4 / 3;
    background: rgba(8, 8, 10, 0.95);
}

.map-seo-hero__mapa {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    filter: grayscale(15%) contrast(1.05) brightness(0.95);
    transition: filter 0.4s ease;
}

.map-seo-hero__mapa-wrap:hover .map-seo-hero__mapa {
    filter: grayscale(0%) contrast(1.1) brightness(1);
}


.map-seo-hero__mapa-pin {
    position: absolute;
    left: 0.7rem;
    bottom: 0.7rem;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.8rem;
    background: linear-gradient(135deg, rgba(15, 15, 18, 0.96) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.45);
    border-radius: 6px;
    color: #f5e8d3;
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 500;
    letter-spacing: 0.2px;
    backdrop-filter: blur(4px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.5);
    z-index: 2;
    pointer-events: none;
}

.map-seo-hero__mapa-pin svg {
    width: 12px;
    height: 12px;
    color: var(--color-gold-solid);
    flex-shrink: 0;
}

.map-seo-hero__mapa-pin em {
    font-style: normal;
    line-height: 1.2;
}

.map-seo-hero__sede-chips {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.map-seo-hero__sede-chips a {
    display: inline-flex;
    align-items: center;
    padding: 0.32rem 0.75rem;
    background: rgba(200, 169, 126, 0.1);
    border: 1px solid rgba(200, 169, 126, 0.28);
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 500;
    color: rgba(240, 240, 240, 0.88);
    text-decoration: none;
    transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.map-seo-hero__sede-chips a:hover,
.map-seo-hero__sede-chips a:focus-visible {
    background: rgba(200, 169, 126, 0.25);
    border-color: var(--color-gold-solid);
    color: #fff;
    outline: none;
}


.map-seo-hero__zonas {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-content: start;
}

@media (min-width: 640px) {
    .map-seo-hero__zonas {
        grid-template-columns: 1fr 1fr;
    }
    .map-seo-hero__zona--wide {
        grid-column: 1 / -1;
    }
}

.map-seo-hero__zona {
    position: relative;
    padding: 1.2rem 1.3rem 1.1rem;
    background: linear-gradient(155deg, rgba(15, 15, 18, 0.7) 0%, rgba(5, 5, 8, 0.9) 100%);
    border: 1px solid rgba(200, 169, 126, 0.16);
    border-top: 1px solid rgba(200, 169, 126, 0.4);
    border-radius: 10px;
    transition: transform 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
    overflow: hidden;
}

.map-seo-hero__zona::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 120px;
    height: 120px;
    background: radial-gradient(circle at top right, rgba(200, 169, 126, 0.08) 0%, transparent 60%);
    pointer-events: none;
    opacity: 0.6;
    transition: opacity 0.4s ease;
}

.map-seo-hero__zona:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 169, 126, 0.4);
    box-shadow: 0 18px 36px -18px rgba(0, 0, 0, 0.75),
                0 0 20px rgba(200, 169, 126, 0.08);
}

.map-seo-hero__zona:hover::before { opacity: 1; }

.map-seo-hero__zona-badge {
    display: inline-block;
    padding: 0.3rem 0.7rem;
    margin-bottom: 0.6rem;
    background: rgba(200, 169, 126, 0.12);
    border: 1px solid rgba(200, 169, 126, 0.25);
    border-radius: 4px;
    font-family: var(--font-body);
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
    position: relative;
    z-index: 1;
}

.map-seo-hero__zona-title {
    font-family: var(--font-display), serif;
    font-size: clamp(0.95rem, 1.5vw, 1.05rem);
    line-height: 1.3;
    color: #fff;
    margin: 0 0 0.4rem;
    font-weight: 500;
    position: relative;
    z-index: 1;
}

.map-seo-hero__zona-desc {
    font-size: 0.82rem;
    line-height: 1.55;
    color: rgba(240, 240, 240, 0.75);
    margin: 0 0 0.8rem;
    position: relative;
    z-index: 1;
}

.map-seo-hero__zona-chips {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    position: relative;
    z-index: 1;
}

.map-seo-hero__zona-chips a {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.7rem;
    background: rgba(200, 169, 126, 0.08);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 500;
    color: rgba(240, 240, 240, 0.85);
    text-decoration: none;
    transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.map-seo-hero__zona-chips a:hover,
.map-seo-hero__zona-chips a:focus-visible {
    background: rgba(200, 169, 126, 0.22);
    border-color: var(--color-gold-solid);
    color: #fff;
    outline: none;
}


.map-seo-hero__areas {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 2.5rem;
    padding: 1.8rem 0;
    border-top: 1px solid rgba(200, 169, 126, 0.18);
    border-bottom: 1px solid rgba(200, 169, 126, 0.18);
    position: relative;
}

.map-seo-hero__areas::before,
.map-seo-hero__areas::after {
    content: '';
    position: absolute;
    left: 50%;
    width: 32px;
    height: 1px;
    background: var(--color-gold-solid);
    transform: translateX(-50%);
}
.map-seo-hero__areas::before { top: -1px; }
.map-seo-hero__areas::after  { bottom: -1px; }

@media (min-width: 900px) {
    .map-seo-hero__areas { grid-template-columns: 1fr 1fr; gap: 2rem; }
}

.map-seo-hero__area-header {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin-bottom: 0.8rem;
}

.map-seo-hero__area-header svg {
    width: 22px;
    height: 22px;
    color: var(--color-gold-solid);
    flex-shrink: 0;
}

.map-seo-hero__area-header span {
    font-family: var(--font-display), serif;
    font-size: 0.95rem;
    color: var(--color-gold-solid);
    font-weight: 500;
    letter-spacing: 0.04em;
}

.map-seo-hero__area-chips {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.5rem;
}

.map-seo-hero__area-chips li {
    padding: 0.32rem 0.75rem;
    background: rgba(200, 169, 126, 0.08);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-radius: 999px;
    font-size: 0.78rem;
    color: rgba(240, 240, 240, 0.85);
}


.map-seo-hero__sellos {
    list-style: none;
    margin: 0 0 2.5rem;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 600px) {
    .map-seo-hero__sellos { grid-template-columns: 1fr 1fr; gap: 1.2rem; }
}

@media (min-width: 1024px) {
    .map-seo-hero__sellos { grid-template-columns: repeat(4, 1fr); gap: 1.2rem; }
}

.map-seo-hero__sello {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.1rem 1.1rem;
    background: linear-gradient(155deg, rgba(15, 15, 18, 0.7) 0%, rgba(5, 5, 8, 0.92) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 10px;
    transition: transform 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}

.map-seo-hero__sello:hover {
    transform: translateY(-2px);
    border-color: rgba(200, 169, 126, 0.4);
    box-shadow: 0 14px 30px -14px rgba(0, 0, 0, 0.7);
}

.map-seo-hero__sello-medalla {
    position: relative;
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: radial-gradient(circle at center, rgba(200, 169, 126, 0.22) 0%, rgba(8, 8, 10, 0.9) 100%);
    border: 1px solid rgba(200, 169, 126, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 3px rgba(8, 8, 10, 0.9),
                0 0 0 4px rgba(200, 169, 126, 0.25),
                0 6px 16px rgba(0, 0, 0, 0.5),
                0 0 18px rgba(200, 169, 126, 0.15) inset;
}

.map-seo-hero__sello-romano {
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    padding: 0.05rem 0.45rem;
    background: linear-gradient(135deg, #f5e8d3 0%, var(--color-gold-solid) 100%);
    color: #0a0a0c;
    font-family: var(--font-display), serif;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    border-radius: 3px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
    line-height: 1;
}

.map-seo-hero__sello-medalla svg {
    width: 22px;
    height: 22px;
    color: var(--color-gold-solid);
    filter: drop-shadow(0 0 4px rgba(200, 169, 126, 0.4));
}

.map-seo-hero__sello-texto {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.map-seo-hero__sello-texto strong {
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.3;
}

.map-seo-hero__sello-texto span {
    color: rgba(240, 240, 240, 0.7);
    font-size: 0.8rem;
    line-height: 1.5;
}


.map-seo-hero__cta-wrap {
    display: flex;
    justify-content: center;
}

.map-seo-hero__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 0.95rem 2rem;
    font-size: 0.98rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-transform: none;
}

.map-seo-hero__cta svg {
    width: 1em;
    height: 1em;
    flex-shrink: 0;
}


@media (max-width: 639px) {
    .map-seo-hero {
        padding: 2rem 1.2rem;
        border-radius: 10px;
    }
    .map-seo-hero__header { margin-bottom: 1.8rem; }
  
    .map-seo-hero__mapa { max-width: 100%; width: 100%; }
    .map-seo-hero__mapa-wrap {
        aspect-ratio: 5 / 4; 
    }
    .map-seo-hero__sello-medalla {
        width: 44px;
        height: 44px;
    }
    .map-seo-hero__sello-medalla svg {
        width: 18px;
        height: 18px;
    }
}



@keyframes flowWaveLinear {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-1440px); }
}

@keyframes flowWaveReverse {
    0%   { transform: translateX(-1440px); }
    100% { transform: translateX(0); }
}

@keyframes flowParticlePulse {
    0%, 100% { opacity: 0.05; transform: translateY(0px); }
    50%      { opacity: 0.2;  transform: translateY(-8px); }
}

@keyframes flowParticlePulseAlt {
    0%, 100% { opacity: 0.2;  transform: translateY(0px); }
    50%      { opacity: 0.05; transform: translateY(8px); }
}

.legal-flow-animated {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    pointer-events: none;
    z-index: 0;
    contain: layout size paint;
}
.legal-flow-animated .wave-fast    { animation: flowWaveLinear 30s linear infinite; }
.legal-flow-animated .wave-slow    { animation: flowWaveLinear 45s linear infinite; }
.legal-flow-animated .wave-reverse { animation: flowWaveReverse 60s linear infinite; }
.legal-flow-animated .p-group-1    { animation: flowParticlePulse 10s ease-in-out infinite; }
.legal-flow-animated .p-group-2    { animation: flowParticlePulseAlt 14s ease-in-out infinite; }
.legal-flow-animated .p-group-3    { animation: flowParticlePulse 18s ease-in-out infinite alternate-reverse; }

@media (prefers-reduced-motion: reduce) {
    .legal-flow-animated .wave-fast,
    .legal-flow-animated .wave-slow,
    .legal-flow-animated .wave-reverse,
    .legal-flow-animated .p-group-1,
    .legal-flow-animated .p-group-2,
    .legal-flow-animated .p-group-3 { animation: none; }
}


section.bg-deep-black.has-flow-bg {
    position: relative !important;
    overflow: clip;
}

@supports not (overflow: clip) {
    section.bg-deep-black.has-flow-bg {
        overflow: hidden;
    }

    section.process-section.bg-deep-black.has-flow-bg {
        overflow: visible;
    }
}
section.bg-deep-black.has-flow-bg > *:not(.legal-flow-animated) {
    z-index: 1;

}



.prueba-timeline__item .prueba-timeline__nucleo,
.prueba-timeline__item .prueba-timeline__num,
.prueba-timeline__item .prueba-timeline__icon,
.prueba-timeline__item .prueba-timeline__contenido {
    will-change: transform, box-shadow;
}




.ofertas-bajas-premium {
    display: flex !important;
    flex-direction: column;
    gap: 1.2rem;
    grid-template-columns: none !important;
    margin-top: 2.5rem;
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.ofertas-bajas-card {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 0;
    background: linear-gradient(155deg, rgba(20, 20, 24, 0.92) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    transition: transform 0.45s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                border-color 0.45s ease,
                box-shadow 0.45s ease;
}

.ofertas-bajas-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--color-gold-solid) 50%, transparent 100%);
    opacity: 0.4;
    transition: opacity 0.45s ease;
}

.ofertas-bajas-card:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 169, 126, 0.45);
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.5),
                0 0 28px rgba(200, 169, 126, 0.12);
}

.ofertas-bajas-card:hover::before { opacity: 1; }


.ofertas-bajas-card__cinta {
    background: linear-gradient(180deg,
        rgba(200, 169, 126, 0.15) 0%,
        rgba(200, 169, 126, 0.08) 50%,
        rgba(200, 169, 126, 0.15) 100%);
    border-right: 1px solid rgba(200, 169, 126, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.ofertas-bajas-card__cinta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, rgba(200, 169, 126, 0.18) 0%, transparent 70%);
    pointer-events: none;
}

.ofertas-bajas-card__romano {
    font-family: var(--font-display), serif;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    color: var(--color-gold-solid);
    font-weight: 500;
    letter-spacing: 1px;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
    line-height: 1;
    position: relative;
    z-index: 1;
}


.ofertas-bajas-card__body {
    padding: 1.5rem 1.6rem;
}

.ofertas-bajas-card__titulo {
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: clamp(1rem, 1.6vw, 1.15rem);
    line-height: 1.3;
    margin: 0 0 0.5rem 0;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 500;
    padding-bottom: 0.6rem;
    position: relative;
}

.ofertas-bajas-card__titulo::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 48px;
    height: 1px;
    background: linear-gradient(90deg, var(--color-gold-solid) 0%, transparent 100%);
}

.ofertas-bajas-card__texto {
    color: var(--color-text-secondary);
    font-size: 0.94rem;
    line-height: 1.65;
    margin: 0.8rem 0 0 0;
}

.ofertas-bajas-card__lista {
    list-style: none;
    padding: 0;
    margin: 0.8rem 0 0 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.4rem;
}

@media (min-width: 640px) {
    .ofertas-bajas-card__lista {
        grid-template-columns: 1fr 1fr;
        gap: 0.4rem 1rem;
    }
}

.ofertas-bajas-card__lista li {
    color: var(--color-text-secondary);
    font-size: 0.9rem;
    line-height: 1.5;
    padding-left: 1.4rem;
    position: relative;
}

.ofertas-bajas-card__lista li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 8px;
    height: 4px;
    border-left: 2px solid var(--color-gold-solid);
    border-bottom: 2px solid var(--color-gold-solid);
    transform: rotate(-45deg);
}

@media (max-width: 600px) {
    .ofertas-bajas-card { grid-template-columns: 64px 1fr; }
    .ofertas-bajas-card__romano { font-size: 1.5rem; }
    .ofertas-bajas-card__body { padding: 1.2rem 1.2rem; }
}




.citacion-diagrama {
    margin-top: 2.5rem;
    padding: 2.5rem clamp(1.2rem, 3vw, 2.2rem);
    background: linear-gradient(155deg, rgba(20, 20, 24, 0.95) 0%, rgba(6, 6, 8, 0.99) 100%);
    border: 1px solid rgba(200, 169, 126, 0.25);
    border-top: 2px solid var(--color-gold-solid);
    border-radius: 14px;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    box-shadow: 0 28px 56px rgba(0, 0, 0, 0.5);
}

.citacion-diagrama::before {
    content: '';
    position: absolute;
    inset: -20px;
    background: radial-gradient(circle at 30% 30%, rgba(200, 169, 126, 0.08) 0%, transparent 50%),
                radial-gradient(circle at 70% 70%, rgba(200, 169, 126, 0.05) 0%, transparent 50%);
    pointer-events: none;
    z-index: -1;
}

.citacion-diagrama__intro {
    color: var(--color-text-secondary);
    font-size: 1rem;
    line-height: 1.75;
    max-width: 880px;
    margin: 0 auto 2.5rem;
    text-align: center;
}
.citacion-diagrama__intro strong { color: #f5e8d3; font-weight: 500; }


.citacion-diagrama__svg-wrap {
    position: relative;
    margin: 0 auto 2.5rem;
    max-width: 920px;
}

.citacion-flujo-svg {
    width: 100%;
    height: auto;
    display: block;
}

.citacion-flujo-svg .nodo-circle {
    fill: rgba(20, 20, 24, 0.95);
    stroke: var(--color-gold-solid);
    stroke-width: 1.5;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.6));
}

.citacion-flujo-svg .nodo-circle--final {
    fill: rgba(200, 169, 126, 0.15);
    stroke-width: 2.2;
}

.citacion-flujo-svg .nodo-icon {
    fill: var(--color-gold-solid);
}

.citacion-flujo-svg .nodo-label {
    fill: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-anchor: middle;
}

.citacion-flujo-svg .nodo-sublabel {
    fill: rgba(240, 240, 240, 0.6);
    font-family: var(--font-body);
    font-size: 9px;
    text-anchor: middle;
}

.citacion-flujo-svg .arrow-path {
    fill: none;
    stroke: var(--color-gold-solid);
    stroke-width: 1.5;
    stroke-dasharray: 6 4;
    stroke-dashoffset: 0;
    animation: dashFlow 1.8s linear infinite;
    opacity: 0.7;
}

.citacion-flujo-svg .arrow-path--strong {
    stroke-width: 2;
    opacity: 0.9;
}

@keyframes dashFlow {
    0%   { stroke-dashoffset: 0; }
    100% { stroke-dashoffset: -20; }
}

.citacion-flujo-svg .arrow-label {
    fill: var(--color-gold-solid);
    font-family: var(--font-body);
    font-size: 9px;
    font-style: italic;
    text-anchor: middle;
}

@media (prefers-reduced-motion: reduce) {
    .citacion-flujo-svg .arrow-path { animation: none; stroke-dasharray: none; }
}


.citacion-diagrama__cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 640px) {
    .citacion-diagrama__cards { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1024px) {
    .citacion-diagrama__cards { grid-template-columns: repeat(3, 1fr); }
    .citacion-diagrama__card:nth-child(4),
    .citacion-diagrama__card:nth-child(5) { grid-column: span 1; }
}

.citacion-diagrama__card {
    position: relative;
    padding: 1.3rem 1.3rem 1.2rem 3.4rem;
    background: linear-gradient(155deg, rgba(15, 15, 18, 0.8) 0%, rgba(5, 5, 8, 0.95) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 10px;
    transition: transform 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}

.citacion-diagrama__card:hover {
    transform: translateY(-2px);
    border-color: rgba(200, 169, 126, 0.4);
    box-shadow: 0 18px 36px -16px rgba(0, 0, 0, 0.6);
}

.citacion-diagrama__card-num {
    position: absolute;
    left: 1.3rem;
    top: 1.3rem;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.35) 0%, rgba(200, 169, 126, 0.12) 100%);
    border: 1px solid rgba(200, 169, 126, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display), serif;
    font-size: 0.78rem;
    color: #f5e8d3;
    font-weight: 600;
    box-shadow: 0 0 0 2px rgba(8, 8, 10, 0.95), 0 0 12px rgba(200, 169, 126, 0.2);
}

.citacion-diagrama__card-titulo {
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: 0.98rem;
    line-height: 1.3;
    margin: 0 0 0.5rem;
    font-weight: 500;
}

.citacion-diagrama__card-texto {
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.6;
    margin: 0;
}
.citacion-diagrama__card-texto strong { color: #f5e8d3; }

.citacion-diagrama__nota {
    margin: 2rem auto 0;
    max-width: 880px;
    color: var(--color-text-secondary);
    font-size: 0.92rem;
    line-height: 1.65;
    text-align: center;
    font-style: italic;
}

.citacion-diagrama__nota a {
    color: var(--color-gold-solid);
}


@media (min-width: 992px) {
    .header__submenu,
    .header__dropdown ul.header__submenu,
    nav .header__submenu {
        max-height: calc(100vh - 110px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
        scrollbar-width: thin;
        scrollbar-color: rgba(200, 169, 126, 0.5) transparent;

        align-items: stretch !important;
        align-content: stretch !important;
    }

    .header__submenu li.submenu-card {
        display: flex !important;
        flex-direction: column !important;
        height: auto;
    }

    .header__submenu li.submenu-card .submenu-zones {
        margin-top: auto !important;
    }
    .header__submenu::-webkit-scrollbar {
        width: 8px;
    }
    .header__submenu::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, 0.25);
        border-radius: 4px;
    }
    .header__submenu::-webkit-scrollbar-thumb {
        background: linear-gradient(180deg, rgba(200, 169, 126, 0.6), rgba(200, 169, 126, 0.35));
        border-radius: 4px;
        border: 1px solid rgba(0, 0, 0, 0.2);
    }
    .header__submenu::-webkit-scrollbar-thumb:hover {
        background: linear-gradient(180deg, rgba(200, 169, 126, 0.85), rgba(200, 169, 126, 0.5));
    }
}


@media (min-width: 992px) and (max-width: 1440px) {
    .header__submenu {
        padding: 28px max(15px, calc((100vw - 1320px) / 2)) !important;
        gap: 14px !important;
    }
    .header__submenu li.submenu-card {
        min-width: 220px !important;
        max-width: 260px !important;
        padding: 18px 16px !important;
    }
    .submenu-main-link {
        font-size: 1.02rem !important;
        margin-bottom: 10px !important;
    }
    .submenu-main-link::after {
        font-size: 0.74rem !important;
        margin-top: 6px !important;
        line-height: 1.4 !important;
    }
    .submenu-zones {
        padding-top: 10px !important;
    }
}


@media (min-width: 992px) and (max-height: 800px) {
    .header__submenu,
    .header__dropdown ul.header__submenu {
        top: 88px !important;
        padding-top: 22px !important;
        padding-bottom: 22px !important;
        gap: 12px !important;
        max-height: calc(100vh - 96px) !important;
        overflow-y: auto !important;
    }
    .header__submenu li.submenu-card {
        padding: 16px 14px !important;
    }
    .submenu-main-link {
        font-size: 0.98rem !important;
        margin-bottom: 8px !important;
    }
    .submenu-main-link::after {
        font-size: 0.72rem !important;
        margin-top: 5px !important;
        line-height: 1.35 !important;
    }
    .submenu-zones {
        padding-top: 8px !important;
        margin-top: 12px !important;
    }

    .submenu-item-all { margin-bottom: 4px !important; }
    .submenu-item-all a { padding: 5px 22px !important; }
}


@media (min-width: 992px) and (max-height: 700px) {
    .header__submenu,
    .header__dropdown ul.header__submenu {
        top: 78px !important;
        padding-top: 16px !important;
        padding-bottom: 16px !important;
        gap: 10px !important;
        max-height: calc(100vh - 86px) !important;
        overflow-y: auto !important;
        border-top-width: 1px;
    }
    .header__submenu li.submenu-card {
        padding: 12px 12px !important;
        min-width: 200px !important;
        max-width: 240px !important;
    }
    .submenu-main-link {
        font-size: 0.92rem !important;
        margin-bottom: 6px !important;
    }
    .submenu-main-link::after {
        font-size: 0.7rem !important;
        margin-top: 4px !important;
        line-height: 1.3 !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .submenu-zones {
        padding-top: 6px !important;
        margin-top: 8px !important;
    }

    .submenu-zones a {
        font-size: 0.7rem !important;
        padding: 3px 8px !important;
    }

    .submenu-item-all { margin-bottom: 3px !important; }
    .submenu-item-all a { padding: 4px 18px !important; font-size: 0.68rem !important; }
}


@media (min-width: 992px) and (max-width: 1366px) and (max-height: 768px) {
    .header__submenu {
        padding-left: max(12px, calc((100vw - 1280px) / 2)) !important;
        padding-right: max(12px, calc((100vw - 1280px) / 2)) !important;
        gap: 10px !important;
    }
    .header__submenu li.submenu-card {
        min-width: 200px !important;
        max-width: 230px !important;
        padding: 14px 12px !important;
    }

    .header__submenu {
        flex-wrap: wrap !important;
        justify-content: center !important;
    }
}


@media (min-width: 992px) and (max-height: 800px) {
    body::before {
        top: 88px !important;
    }
}
@media (min-width: 992px) and (max-height: 700px) {
    body::before {
        top: 78px !important;
    }
}



.atlas-lesiones {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.6rem;
    position: relative;
}

@media (min-width: 900px) {
    .atlas-lesiones {
        grid-template-columns: minmax(360px, 0.95fr) minmax(0, 1.05fr);
        gap: 2.4rem;
        align-items: start;
    }
}
@media (min-width: 1280px) {
    .atlas-lesiones {
        grid-template-columns: minmax(420px, 1fr) minmax(0, 1fr);
        gap: 2.8rem;
    }
}

.atlas-silueta {
    position: relative;
    background: linear-gradient(160deg, rgba(20, 20, 24, 0.96) 0%, rgba(6, 6, 8, 0.99) 100%);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-top: 2px solid var(--color-gold-solid);
    border-radius: 14px;
    padding: 1.8rem 1.4rem;
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.45);
    overflow: hidden;
}

@media (min-width: 900px) {
    .atlas-silueta {
        position: sticky;
        top: 110px;
    }
}

.atlas-silueta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center 40%, rgba(200, 169, 126, 0.08) 0%, transparent 60%);
    pointer-events: none;
}

.atlas-silueta__overline {
    display: block;
    font-family: var(--font-body);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--color-gold-solid);
    text-align: center;
    margin-bottom: 0.8rem;
    position: relative;
}

.atlas-silueta__title {
    font-family: var(--font-display), serif;
    color: #f5e8d3;
    font-size: clamp(0.95rem, 1.4vw, 1.05rem);
    text-align: center;
    margin: 0 0 1rem;
    font-weight: 500;
    line-height: 1.3;
    position: relative;
}

.atlas-silueta__visual {
    position: relative;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    aspect-ratio: 200 / 240;
    z-index: 1;
}
@media (min-width: 1280px) {
    .atlas-silueta__visual {
        max-width: 640px;
    }
}

.atlas-silueta__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
    filter: brightness(1.05) contrast(1.05) hue-rotate(-10deg) saturate(0.85);
    border-radius: 8px;
}

.atlas-silueta__svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.atlas-silueta__svg [data-zone-dot] {
    pointer-events: auto;
}

.atlas-silueta__svg .zone-dot {
    fill: var(--color-gold-solid);
    stroke: rgba(8, 8, 10, 0.95);
    stroke-width: 1.2;
    cursor: pointer;
    transition: fill 0.35s ease, transform 0.35s ease, r 0.35s ease;
    transform-origin: center;
    transform-box: fill-box;
    filter: drop-shadow(0 0 5px rgba(200, 169, 126, 0.7));
}

.atlas-silueta__svg .zone-dot-pulse {
    fill: rgba(200, 169, 126, 0.35);
    pointer-events: none;
    transform-origin: center;
    transform-box: fill-box;
    animation: atlasPulse 2.4s ease-in-out infinite;
}

@keyframes atlasPulse {
    0%, 100% { opacity: 0.4; transform: scale(0.7); }
    50%      { opacity: 0.05; transform: scale(1.6); }
}

@media (prefers-reduced-motion: reduce) {
    .atlas-silueta__svg .zone-dot-pulse { animation: none; opacity: 0.3; }
}

.atlas-silueta__svg .zone-dot.is-zone-active,
.atlas-silueta__svg [data-zone-dot].is-zone-active .zone-dot {
    fill: #f5e8d3;
    transform: scale(1.45);
    filter: drop-shadow(0 0 10px rgba(245, 232, 211, 0.9));
}

.atlas-silueta__svg [data-zone-dot] {
    cursor: pointer;
}

.atlas-silueta__svg .zone-label {
    fill: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 9px;
    font-style: italic;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    paint-order: stroke;
    stroke: rgba(8, 8, 10, 0.85);
    stroke-width: 2;
    stroke-linejoin: round;
}

.atlas-silueta__svg [data-zone-dot].is-zone-active .zone-label {
    opacity: 1;
}

.atlas-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-content: start;
}

@media (min-width: 600px) {
    .atlas-cards { grid-template-columns: 1fr 1fr; }
}

.atlas-card {
    position: relative;
    padding: 1.3rem 1.3rem;
    background: linear-gradient(155deg, rgba(20, 20, 24, 0.92) 0%, rgba(6, 6, 8, 0.96) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 10px;
    cursor: pointer;
    transition: transform 0.4s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                border-color 0.4s ease,
                box-shadow 0.4s ease;
    overflow: hidden;
}

.atlas-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--color-gold-solid) 50%, transparent 100%);
    opacity: 0.4;
    transition: opacity 0.4s ease;
}

.atlas-card:hover,
.atlas-card.is-zone-active {
    transform: translateY(-3px);
    border-color: rgba(200, 169, 126, 0.55);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.55),
                0 0 28px rgba(200, 169, 126, 0.18);
}

.atlas-card:hover::before,
.atlas-card.is-zone-active::before {
    opacity: 1;
}


.atlas-card__header {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin-bottom: 0.7rem;
}

.atlas-card__icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.22) 0%, rgba(8, 8, 10, 0.9) 100%);
    border: 1px solid rgba(200, 169, 126, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 2px rgba(8, 8, 10, 0.95),
                0 0 10px rgba(200, 169, 126, 0.15) inset;
    transition: transform 0.35s ease;
}

.atlas-card:hover .atlas-card__icon,
.atlas-card.is-zone-active .atlas-card__icon {
    transform: scale(1.08);
}

.atlas-card__icon svg {
    width: 18px;
    height: 18px;
    color: var(--color-gold-solid);
}

.atlas-card__head-text {
    flex: 1;
    min-width: 0;
}

.atlas-card__title {
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: 0.98rem;
    line-height: 1.3;
    margin: 0;
    font-weight: 500;
}

.atlas-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-top: 0.35rem;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    font-family: var(--font-body);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.atlas-card__badge::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}

.atlas-card__badge--grave {
    background: rgba(220, 80, 80, 0.15);
    border: 1px solid rgba(220, 80, 80, 0.45);
    color: #f5b8b8;
}
.atlas-card__badge--grave::before { background: #e25757; box-shadow: 0 0 6px rgba(226, 87, 87, 0.6); }

.atlas-card__badge--moderado {
    background: rgba(200, 169, 126, 0.15);
    border: 1px solid rgba(200, 169, 126, 0.45);
    color: #f5e8d3;
}
.atlas-card__badge--moderado::before { background: var(--color-gold-solid); box-shadow: 0 0 6px rgba(200, 169, 126, 0.55); }

.atlas-card__badge--leve {
    background: rgba(120, 160, 130, 0.13);
    border: 1px solid rgba(140, 180, 150, 0.4);
    color: #c8d8c8;
}
.atlas-card__badge--leve::before { background: #8cb89a; box-shadow: 0 0 6px rgba(140, 184, 154, 0.5); }

.atlas-card__text {
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.6;
    margin: 0;
}



#pagina-accidentes-laborales #casos-graves-fatales .features-container,
body[data-page="accidentes-laborales"] #casos-graves-fatales .features-container {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.2rem !important;
}

@media (max-width: 1180px) {
    #pagina-accidentes-laborales #casos-graves-fatales .features-container,
    body[data-page="accidentes-laborales"] #casos-graves-fatales .features-container {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 640px) {
    #pagina-accidentes-laborales #casos-graves-fatales .features-container,
    body[data-page="accidentes-laborales"] #casos-graves-fatales .features-container {
        grid-template-columns: 1fr !important;
    }
}

:where(main, body):has(#casos-graves-fatales) #casos-graves-fatales .features-container {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.2rem !important;
}
@media (max-width: 1180px) {
    :where(main, body):has(#casos-graves-fatales) #casos-graves-fatales .features-container {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 640px) {
    :where(main, body):has(#casos-graves-fatales) #casos-graves-fatales .features-container {
        grid-template-columns: 1fr !important;
    }
}

#casos-graves-fatales .features-container .feature-box {
    padding: 1.5rem 1.3rem;
}
#casos-graves-fatales .feature-box__title {
    font-size: clamp(0.98rem, 1.5vw, 1.1rem);
    line-height: 1.3;
}
#casos-graves-fatales .feature-box__text {
    font-size: 0.88rem;
    line-height: 1.55;
}




#pagina-accidentes-laborales #cobertura .features-container,
body[data-page="accidentes-laborales"] #cobertura .features-container,
:where(main, body):has(#cobertura) #cobertura .features-container {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.2rem !important;
}

@media (max-width: 1180px) {
    #pagina-accidentes-laborales #cobertura .features-container,
    body[data-page="accidentes-laborales"] #cobertura .features-container,
    :where(main, body):has(#cobertura) #cobertura .features-container {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 640px) {
    #pagina-accidentes-laborales #cobertura .features-container,
    body[data-page="accidentes-laborales"] #cobertura .features-container,
    :where(main, body):has(#cobertura) #cobertura .features-container {
        grid-template-columns: 1fr !important;
    }
}

#cobertura .features-container .feature-box {
    padding: 1.5rem 1.3rem;
}
#cobertura .feature-box__title {
    font-size: clamp(0.98rem, 1.5vw, 1.1rem);
    line-height: 1.3;
}
#cobertura .feature-box__text {
    font-size: 0.88rem;
    line-height: 1.55;
}



#ibm-mal-calculado-art-recalculo-indemnizacion-ley-24557 ~ .legal-text-block,
section:has(#ibm-mal-calculado-art-recalculo-indemnizacion-ley-24557) .legal-text-block {
    background: linear-gradient(155deg, rgba(20, 20, 24, 0.94) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.22);
    border-top: 2px solid var(--color-gold-solid);
    border-radius: 14px;
    padding: clamp(1.8rem, 3vw, 2.6rem);
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.5),
                0 0 0 1px rgba(200, 169, 126, 0.06) inset;
    position: relative;
    overflow: hidden;
}

section:has(#ibm-mal-calculado-art-recalculo-indemnizacion-ley-24557) .legal-text-block::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 280px;
    height: 280px;
    background: radial-gradient(circle at top right, rgba(200, 169, 126, 0.07) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
}

section:has(#ibm-mal-calculado-art-recalculo-indemnizacion-ley-24557) .legal-text-block > * {
    position: relative;
    z-index: 1;
}

section:has(#ibm-mal-calculado-art-recalculo-indemnizacion-ley-24557) .legal-text-block > p {
    color: var(--color-text-secondary);
    font-size: 1rem !important;
    line-height: 1.75 !important;
}
section:has(#ibm-mal-calculado-art-recalculo-indemnizacion-ley-24557) .legal-text-block > p strong {
    color: var(--color-gold-solid);
    font-weight: 600;
}
section:has(#ibm-mal-calculado-art-recalculo-indemnizacion-ley-24557) .legal-text-block > p em {
    color: #f5e8d3;
    font-style: italic;
}

section:has(#ibm-mal-calculado-art-recalculo-indemnizacion-ley-24557) .legal-text-block .bullet-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 1.8rem 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.9rem !important;
    counter-reset: ibm-counter;
}

@media (min-width: 768px) {
    section:has(#ibm-mal-calculado-art-recalculo-indemnizacion-ley-24557) .legal-text-block .bullet-list {
        grid-template-columns: 1fr 1fr !important;
    }
}

section:has(#ibm-mal-calculado-art-recalculo-indemnizacion-ley-24557) .legal-text-block .bullet-list li {
    position: relative !important;
    padding: 1rem 1.1rem 1rem 3.4rem !important;
    background: linear-gradient(155deg, rgba(15, 15, 18, 0.65) 0%, rgba(6, 6, 8, 0.85) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.18) !important;
    border-left: 2px solid var(--color-gold-solid) !important;
    border-radius: 10px !important;
    color: var(--color-text-secondary) !important;
    font-size: 0.92rem !important;
    line-height: 1.6 !important;
    transition: transform 0.4s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                border-color 0.4s ease,
                box-shadow 0.4s ease;
}

section:has(#ibm-mal-calculado-art-recalculo-indemnizacion-ley-24557) .legal-text-block .bullet-list li:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 169, 126, 0.45) !important;
    box-shadow: 0 16px 32px -14px rgba(0, 0, 0, 0.6),
                0 0 22px rgba(200, 169, 126, 0.1);
}

section:has(#ibm-mal-calculado-art-recalculo-indemnizacion-ley-24557) .legal-text-block .bullet-list li::before {
    counter-increment: ibm-counter;
    content: counter(ibm-counter, decimal-leading-zero);
    position: absolute;
    left: 1rem;
    top: 1rem;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.3) 0%, rgba(8, 8, 10, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.55);
    box-shadow: 0 0 0 2px rgba(8, 8, 10, 0.95),
                0 0 10px rgba(200, 169, 126, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display), serif;
    font-size: 0.7rem;
    font-weight: 700;
    color: #f5e8d3;
    letter-spacing: 0.5px;
}

section:has(#ibm-mal-calculado-art-recalculo-indemnizacion-ley-24557) .legal-text-block .bullet-list li::marker {
    content: '' !important;
}

section:has(#ibm-mal-calculado-art-recalculo-indemnizacion-ley-24557) .legal-text-block .bullet-list li strong {
    color: var(--color-gold-solid) !important;
    font-weight: 600;
    display: block;
    margin-bottom: 0.25rem;
    font-family: var(--font-display), serif;
    font-size: 0.95rem;
    letter-spacing: 0.2px;
}

section:has(#ibm-mal-calculado-art-recalculo-indemnizacion-ley-24557) .legal-text-block .bullet-list li em {
    color: #f5e8d3 !important;
    font-style: italic;
}




.tier__pct {
    margin-top: 14px !important;
    font-size: clamp(0.85rem, 1.1vw, 0.95rem) !important;
    letter-spacing: 0.1em !important;
    padding: 0.6rem 0.85rem !important;
    background: linear-gradient(155deg, rgba(28, 28, 32, 0.7) 0%, rgba(6, 6, 8, 0.8) 100%) !important;
    backdrop-filter: blur(10px) saturate(140%);
    -webkit-backdrop-filter: blur(10px) saturate(140%);
    border: 1px solid rgba(200, 169, 126, 0.35) !important;
    border-radius: 8px !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.45),
                0 0 0 1px rgba(200, 169, 126, 0.08) inset,
                0 0 14px rgba(200, 169, 126, 0.1);
    display: inline-block !important;
    min-width: 100px;
    text-align: center !important;
    color: #f5e8d3 !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6) !important;
    font-weight: 600 !important;
}

@media (max-width: 768px) { .tier__pct { display: none !important; } }




.damages-grid {
    list-style: none !important;
    padding: 0 !important;
    margin: 2rem 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
}

@media (min-width: 640px) {
    .damages-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (min-width: 1024px) {
    .damages-grid { grid-template-columns: repeat(5, 1fr) !important; gap: 1rem !important; }
}

.damages-grid .damage-card {
    position: relative;
    padding: 1.6rem 1.3rem 1.3rem 1.3rem;
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-top: 2px solid var(--color-gold-solid);
    border-radius: 12px;
    overflow: hidden;
    isolation: isolate;
    transition: transform 0.45s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                border-color 0.45s ease,
                box-shadow 0.45s ease;
}

.damages-grid .damage-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--color-gold-solid) 50%, transparent 100%);
    opacity: 0.5;
    transition: opacity 0.45s ease;
    z-index: 0;
}

.damages-grid .damage-card::after {
    content: '';
    position: absolute;
    bottom: -40%;
    right: -10%;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.07) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
}

.damages-grid .damage-card:hover {
    transform: translateY(-5px);
    border-color: rgba(200, 169, 126, 0.55);
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.55),
                0 0 28px rgba(200, 169, 126, 0.18);
}

.damages-grid .damage-card:hover::before { opacity: 1; }

.damages-grid .damage-card > * { position: relative; z-index: 1; }

.damages-grid .damage-card__num {
    display: inline-block;
    font-family: var(--font-display), serif;
    font-size: clamp(1.6rem, 2.2vw, 2rem);
    font-weight: 500;
    line-height: 1;
    background: linear-gradient(135deg, #f5e8d3 0%, var(--color-gold-solid) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    letter-spacing: 1px;
    margin-bottom: 0.7rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid rgba(200, 169, 126, 0.25);
}

.damages-grid .damage-card__title {
    color: #f5e8d3 !important;
    font-family: var(--font-display), serif;
    font-size: clamp(0.98rem, 1.4vw, 1.08rem) !important;
    font-weight: 500;
    margin: 0 0 0.5rem !important;
    line-height: 1.3;
}

.damages-grid .damage-card__desc {
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.55;
    margin: 0 !important;
}




@media (min-width: 992px) {

    .header__submenu .submenu-main-link {
        position: relative;
        cursor: pointer;
    }

    .header__submenu .submenu-card .submenu-main-link::before {
        opacity: 0.7;
        right: 4px !important;
        transition: opacity 0.3s ease, right 0.3s ease, border-color 0.3s ease;
    }

    .header__submenu .submenu-card:hover .submenu-main-link::before {
        opacity: 1;
        right: 0 !important;
        border-color: var(--color-gold-solid);
    }


    .header__submenu li.submenu-card {
        cursor: pointer;
    }


    .header__submenu .submenu-card .submenu-main-link {
        background-image: linear-gradient(90deg, var(--color-gold-solid) 0%, var(--color-gold-solid) 100%);
        background-repeat: no-repeat;
        background-position: 0 100%;
        background-size: 0% 1px;
        transition: background-size 0.4s ease, color 0.3s ease;
        padding-bottom: 4px;
    }

    .header__submenu .submenu-card:hover .submenu-main-link {
        background-size: 100% 1px;
        color: var(--color-gold-solid);
    }


    .header__submenu .submenu-card {
        position: relative;
    }

    .header__submenu .submenu-card::after {
        content: 'Ver';
        position: absolute;
        top: 12px;
        right: 12px;
        padding: 3px 9px 3px 9px;
        font-family: var(--font-body);
        font-size: 0.62rem;
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--color-gold-solid);
        background: rgba(200, 169, 126, 0.12);
        border: 1px solid rgba(200, 169, 126, 0.35);
        border-radius: 999px;
        opacity: 0.65;
        transition: opacity 0.3s ease, background 0.3s ease, transform 0.3s ease;
        pointer-events: none;
        z-index: 2;
    }

    .header__submenu .submenu-card:hover::after {
        opacity: 1;
        background: linear-gradient(135deg, rgba(200, 169, 126, 0.5) 0%, rgba(200, 169, 126, 0.2) 100%);
        color: #f5e8d3;
        transform: scale(1.04);
    }
}




.prueba-hex-panal {

    background:
        radial-gradient(circle at 20% 10%, rgba(200, 169, 126, 0.08) 0%, transparent 45%),
        radial-gradient(circle at 80% 90%, rgba(200, 169, 126, 0.06) 0%, transparent 50%),
        linear-gradient(165deg, rgba(20, 20, 24, 0.6) 0%, rgba(6, 6, 8, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-top: 2px solid var(--color-gold-solid);
    border-radius: 16px;
    padding: 3rem 2rem 3.5rem !important;
    margin: 2rem auto 0 !important;
    box-shadow:
        0 28px 60px rgba(0, 0, 0, 0.5),
        0 0 0 1px rgba(200, 169, 126, 0.06) inset,
        0 0 36px rgba(200, 169, 126, 0.08) inset;
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.prueba-hex-panal::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        repeating-linear-gradient(
            45deg,
            transparent 0px,
            transparent 22px,
            rgba(200, 169, 126, 0.025) 22px,
            rgba(200, 169, 126, 0.025) 23px
        );
    pointer-events: none;
    z-index: -1;
}

.prueba-hex-panal::after {
    content: '';
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    width: 400px;
    height: 200px;
    background: radial-gradient(ellipse, rgba(200, 169, 126, 0.12) 0%, transparent 60%);
    pointer-events: none;
    z-index: -1;
}




.presunciones-croquis-grid {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.2rem;
}

@media (min-width: 700px) {
    .presunciones-croquis-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1100px) {
    .presunciones-croquis-grid { grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
}

.presuncion-croquis {
    position: relative;
    display: flex;
    flex-direction: column;
    background: linear-gradient(155deg, rgba(20, 20, 24, 0.95) 0%, rgba(6, 6, 8, 0.99) 100%);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-top: 2px solid var(--color-gold-solid);
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.45s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                border-color 0.45s ease,
                box-shadow 0.45s ease;
}

.presuncion-croquis:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.55),
                0 0 24px rgba(200, 169, 126, 0.15);
}

.presuncion-croquis__diagrama {
    position: relative;
    background:
        linear-gradient(180deg, rgba(15, 15, 18, 0.85) 0%, rgba(8, 8, 10, 0.95) 100%),
        repeating-linear-gradient(0deg, transparent 0px, transparent 11px, rgba(200, 169, 126, 0.04) 11px, rgba(200, 169, 126, 0.04) 12px),
        repeating-linear-gradient(90deg, transparent 0px, transparent 11px, rgba(200, 169, 126, 0.04) 11px, rgba(200, 169, 126, 0.04) 12px);
    background-blend-mode: normal, screen, screen;
    padding: 1rem;
    border-bottom: 1px solid rgba(200, 169, 126, 0.15);
}

.presuncion-croquis__diagrama svg {
    width: 100%;
    height: auto;
    display: block;
    max-height: 150px;
}

.presuncion-croquis__num {
    position: absolute;
    top: 0.6rem;
    right: 0.8rem;
    font-family: var(--font-display), serif;
    font-size: 0.85rem;
    color: var(--color-gold-solid);
    background: rgba(8, 8, 10, 0.9);
    border: 1px solid rgba(200, 169, 126, 0.45);
    padding: 0.15rem 0.55rem;
    border-radius: 4px;
    letter-spacing: 1.5px;
    font-weight: 600;
}

.presuncion-croquis__body {
    padding: 1.2rem 1.3rem 1.3rem;
}

.presuncion-croquis__title {
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: 1.05rem;
    margin: 0 0 0.6rem;
    font-weight: 500;
    line-height: 1.3;
}

.presuncion-croquis__text {
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.6;
    margin: 0 0 1rem;
}

.presuncion-croquis__text strong {
    color: #f5e8d3;
    font-weight: 600;
}

.presuncion-croquis__badges {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-top: auto;
    padding-top: 0.8rem;
    border-top: 1px solid rgba(200, 169, 126, 0.12);
}

.presuncion-croquis__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.74rem;
    line-height: 1.3;
    padding: 0.32rem 0.6rem;
    border-radius: 4px;
    letter-spacing: 0.04em;
}

.presuncion-croquis__badge::before {
    content: '';
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
}

.presuncion-croquis__badge--favor {
    background: rgba(140, 184, 154, 0.1);
    border: 1px solid rgba(140, 184, 154, 0.35);
    color: #c8d8c8;
}
.presuncion-croquis__badge--favor::before { background: #8cb89a; box-shadow: 0 0 5px rgba(140, 184, 154, 0.55); }

.presuncion-croquis__badge--contra {
    background: rgba(220, 140, 80, 0.08);
    border: 1px solid rgba(220, 140, 80, 0.3);
    color: #f0c8a8;
}
.presuncion-croquis__badge--contra::before { background: #d8a070; box-shadow: 0 0 5px rgba(216, 160, 112, 0.5); }

.presuncion-croquis > .problema-art__cta {
    margin-top: auto;
    align-self: flex-start;
    margin-left: 1.3rem;
    margin-right: 1.3rem;
    margin-bottom: 1.3rem;
}
@media (max-width: 699px) {
    .presuncion-croquis > .problema-art__cta {
        align-self: center;
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
    }
}




.transporte-narrativos-titulo {
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: clamp(1.2rem, 1.8vw, 1.45rem);
    margin: 2.5rem 0 1.8rem;
    text-align: center;
    letter-spacing: 0.5px;
    position: relative;
    padding-bottom: 0.8rem;
}
.transporte-narrativos-titulo::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--color-gold-solid) 50%, transparent 100%);
}

.transporte-narrativos {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    margin-top: 1.5rem;
}

.transporte-narrativo {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1.5rem 1.6rem;
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-left: 3px solid var(--color-gold-solid);
    border-radius: 12px;
    position: relative;
    overflow: hidden;
    transition: transform 0.5s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                border-color 0.5s ease,
                box-shadow 0.5s ease;
}

.transporte-narrativo::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--color-gold-solid) 50%, transparent 100%);
    opacity: 0.4;
    transition: opacity 0.5s ease;
}

.transporte-narrativo:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 169, 126, 0.45);
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.5),
                0 0 24px rgba(200, 169, 126, 0.15);
}

.transporte-narrativo:hover::before { opacity: 1; }

@media (min-width: 900px) {
    .transporte-narrativo {
        grid-template-columns: 150px 1fr 160px;
        gap: 1.8rem;
        align-items: center;
    }
}

.transporte-narrativo__medio {
    position: relative;
    padding: 1rem 0.8rem;
    background: radial-gradient(ellipse at center, rgba(200, 169, 126, 0.08) 0%, transparent 60%);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
}

.transporte-narrativo__medio svg {
    width: 100%;
    max-width: 120px;
    height: auto;
}

.transporte-narrativo__caso {
    font-family: var(--font-display), serif;
    font-size: 0.7rem;
    color: var(--color-gold-solid);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 500;
}

.transporte-narrativo__body {
    min-width: 0;
}

.transporte-narrativo__title {
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: clamp(1.05rem, 1.6vw, 1.2rem);
    margin: 0 0 0.8rem;
    line-height: 1.3;
    font-weight: 500;
}

.transporte-narrativo__quote {
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-style: italic;
    font-size: clamp(0.95rem, 1.4vw, 1.05rem);
    margin: 0 0 0.8rem;
    padding: 0.5rem 0 0.5rem 1rem;
    border-left: 2px solid rgba(200, 169, 126, 0.45);
    line-height: 1.4;
    position: relative;
}

.transporte-narrativo__quote::before {
    content: '"';
    position: absolute;
    top: -0.2rem;
    left: 0.2rem;
    font-family: var(--font-display), serif;
    font-size: 1.8rem;
    color: var(--color-gold-solid);
    opacity: 0.4;
    line-height: 1;
}

.transporte-narrativo__text {
    color: var(--color-text-secondary);
    font-size: 0.92rem;
    line-height: 1.65;
    margin: 0;
}

.transporte-narrativo__text strong {
    color: #f5e8d3;
    font-weight: 500;
}


.transporte-narrativo__consecuencia {
    display: flex;
    align-items: center;
    justify-content: center;
}

.transporte-narrativo__sello {
    display: inline-block;
    padding: 0.8rem 1rem;
    background: linear-gradient(155deg, rgba(200, 169, 126, 0.18) 0%, rgba(8, 8, 10, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.45);
    border-radius: 8px;
    font-family: var(--font-display), serif;
    font-size: 0.78rem;
    color: #f5e8d3;
    text-align: center;
    line-height: 1.3;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-weight: 500;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.4),
                0 0 0 1px rgba(200, 169, 126, 0.1) inset;
    min-width: 130px;
    position: relative;
}

.transporte-narrativo__sello::before {
    content: '';
    position: absolute;
    top: 6px;
    left: 6px;
    right: 6px;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--color-gold-solid) 50%, transparent 100%);
    opacity: 0.5;
}


:where(main, body):has(#marco-normativo) #marco-normativo .editorial-concept-grid,
section#marco-normativo .editorial-concept-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.4rem !important;
}
@media (max-width: 1024px) {
    section#marco-normativo .editorial-concept-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 640px) {
    section#marco-normativo .editorial-concept-grid {
        grid-template-columns: 1fr !important;
    }
}


#como-actuamos .process-timeline {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 1rem !important;
}
@media (max-width: 1280px) {
    #como-actuamos .process-timeline {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}
@media (max-width: 768px) {
    #como-actuamos .process-timeline {
        grid-template-columns: 1fr !important;
    }
}
#como-actuamos .process-card {
    padding: 1.2rem 1rem !important;
}
#como-actuamos .process-title {
    font-size: 0.92rem !important;
    line-height: 1.3 !important;
}
#como-actuamos .process-desc {
    font-size: 0.82rem !important;
    line-height: 1.5 !important;
}


.rubros-bento {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: minmax(180px, auto);
    gap: 1rem;
    margin-top: 2.5rem;
}
@media (max-width: 900px) {
    .rubros-bento { grid-template-columns: repeat(6, 1fr); }
}
@media (max-width: 600px) {
    .rubros-bento { grid-template-columns: 1fr; grid-auto-rows: auto; }
}

.rubro-bento {
    position: relative;
    padding: 1.6rem 1.5rem;
    background: linear-gradient(155deg, rgba(20, 20, 24, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-top: 2px solid var(--color-gold-solid);
    border-radius: 12px;
    overflow: hidden;
    isolation: isolate;
    transition: transform 0.45s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                border-color 0.45s ease,
                box-shadow 0.45s ease;
    display: flex;
    flex-direction: column;
}
.rubro-bento::before {
    content: '';
    position: absolute;
    bottom: -30%;
    right: -10%;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.08) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
}
.rubro-bento:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.55),
                0 0 28px rgba(200, 169, 126, 0.15);
}
.rubro-bento > * { position: relative; z-index: 1; }

.rubro-bento--xl { grid-column: span 6; grid-row: span 2; }
.rubro-bento--lg { grid-column: span 4; }
.rubro-bento--md { grid-column: span 3; }
.rubro-bento--sm { grid-column: span 2; }

@media (max-width: 900px) {
    .rubro-bento--xl { grid-column: span 6; grid-row: span 1; }
    .rubro-bento--lg { grid-column: span 3; }
    .rubro-bento--md { grid-column: span 3; }
    .rubro-bento--sm { grid-column: span 2; }
}
@media (max-width: 600px) {
    .rubro-bento,
    .rubro-bento--xl, .rubro-bento--lg, .rubro-bento--md, .rubro-bento--sm {
        grid-column: 1 / -1;
    }
}

.rubro-bento__icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.22) 0%, rgba(8, 8, 10, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.9rem;
    box-shadow: 0 0 0 2px rgba(8, 8, 10, 0.85),
                0 4px 12px rgba(0, 0, 0, 0.45);
}
.rubro-bento__icon svg {
    width: 22px;
    height: 22px;
    color: var(--color-gold-solid);
    filter: drop-shadow(0 0 4px rgba(200, 169, 126, 0.4));
}
.rubro-bento--xl .rubro-bento__icon { width: 56px; height: 56px; }
.rubro-bento--xl .rubro-bento__icon svg { width: 28px; height: 28px; }

.rubro-bento__num {
    position: absolute;
    top: 1rem;
    right: 1.2rem;
    font-family: var(--font-display), serif;
    font-size: clamp(2rem, 4vw, 3.5rem);
    color: rgba(200, 169, 126, 0.12);
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 1;
    z-index: 0;
    pointer-events: none;
}
.rubro-bento--xl .rubro-bento__num { font-size: clamp(3rem, 5vw, 5rem); }

.rubro-bento__title {
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: clamp(1rem, 1.6vw, 1.15rem);
    margin: 0 0 0.6rem;
    font-weight: 500;
    line-height: 1.3;
}
.rubro-bento--xl .rubro-bento__title { font-size: clamp(1.2rem, 2vw, 1.4rem); }

.rubro-bento__text {
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.6;
    margin: 0;
}
.rubro-bento--xl .rubro-bento__text { font-size: 0.94rem; }



.probarse-atlas {
    margin-top: 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.probarse-acordeon {
    background: linear-gradient(155deg, rgba(20, 20, 24, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-left: 3px solid var(--color-gold-solid);
    border-radius: 10px;
    overflow: hidden;
    transition: border-color 0.4s ease, box-shadow 0.4s ease;
}
.probarse-acordeon[open] {
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 22px 40px rgba(0, 0, 0, 0.5),
                0 0 24px rgba(200, 169, 126, 0.12);
}

.probarse-acordeon__header {
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    gap: 1rem;
    align-items: center;
    padding: 1.1rem 1.4rem;
    cursor: pointer;
    user-select: none;
    list-style: none;
    transition: background 0.3s ease;
}
.probarse-acordeon__header::-webkit-details-marker { display: none; }
.probarse-acordeon__header:hover { background: rgba(200, 169, 126, 0.04); }

.probarse-acordeon__num {
    font-family: var(--font-display), serif;
    font-size: 1.15rem;
    color: var(--color-gold-solid);
    font-weight: 500;
    letter-spacing: 1px;
    min-width: 32px;
}

.probarse-acordeon__icon {
    width: 22px;
    height: 22px;
    color: var(--color-gold-solid);
    flex-shrink: 0;
}

.probarse-acordeon__title {
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: clamp(0.95rem, 1.4vw, 1.05rem);
    line-height: 1.3;
    font-weight: 500;
}

.probarse-acordeon__chevron {
    color: var(--color-gold-solid);
    font-size: 1rem;
    transition: transform 0.3s ease;
}
.probarse-acordeon[open] .probarse-acordeon__chevron {
    transform: rotate(180deg);
}

.probarse-acordeon__body {
    padding: 0 1.4rem 1.4rem 4.6rem;
}
@media (max-width: 600px) {
    .probarse-acordeon__body { padding-left: 1.4rem; }
}

.probarse-acordeon__desc {
    color: var(--color-text-secondary);
    font-size: 0.94rem;
    line-height: 1.7;
    margin: 0 0 1rem;
}
.probarse-acordeon__desc strong { color: #f5e8d3; }

.probarse-acordeon__meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.8rem;
    padding-top: 0.8rem;
    border-top: 1px dashed rgba(200, 169, 126, 0.2);
}
@media (min-width: 700px) {
    .probarse-acordeon__meta { grid-template-columns: 1fr 1fr; }
}

.probarse-acordeon__meta-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.probarse-acordeon__meta-label {
    font-family: var(--font-display), serif;
    font-size: 0.72rem;
    color: var(--color-gold-solid);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 500;
}
.probarse-acordeon__meta-value {
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.45;
}



.prueba-urgente-timeline {
    margin-top: 3rem;
    padding: 2rem clamp(1.4rem, 3vw, 2.4rem) 2.4rem;
    background: linear-gradient(155deg, rgba(20, 20, 24, 0.95) 0%, rgba(6, 6, 8, 0.99) 100%);
    border: 1px solid rgba(200, 169, 126, 0.22);
    border-top: 2px solid var(--color-gold-solid);
    border-radius: 14px;
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.45);
}

.prueba-urgente-timeline__header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 2rem;
}
.prueba-urgente-timeline__title {
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: clamp(1.15rem, 1.7vw, 1.35rem);
    margin: 0 0 0.6rem;
    font-weight: 500;
}
.prueba-urgente-timeline__lead {
    color: var(--color-text-secondary);
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0;
}

.prueba-urgente-timeline__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}
@media (min-width: 640px) {
    .prueba-urgente-timeline__grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
    .prueba-urgente-timeline__grid { grid-template-columns: repeat(4, 1fr); }
}

.prueba-urgente-hito {
    position: relative;
    padding: 1.2rem 1.1rem 1.1rem;
    background: linear-gradient(155deg, rgba(15, 15, 18, 0.7) 0%, rgba(5, 5, 8, 0.9) 100%);
    border: 1px solid rgba(200, 169, 126, 0.16);
    border-top: 1px solid rgba(200, 169, 126, 0.4);
    border-radius: 10px;
    transition: transform 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}
.prueba-urgente-hito:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 169, 126, 0.45);
    box-shadow: 0 16px 32px -14px rgba(0, 0, 0, 0.6);
}

.prueba-urgente-hito__num-icon {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin-bottom: 0.7rem;
}
.prueba-urgente-hito__num {
    font-family: var(--font-display), serif;
    font-size: 0.85rem;
    color: var(--color-gold-solid);
    background: rgba(200, 169, 126, 0.15);
    border: 1px solid rgba(200, 169, 126, 0.4);
    padding: 0.2rem 0.55rem;
    border-radius: 4px;
    letter-spacing: 1.5px;
    font-weight: 600;
}
.prueba-urgente-hito__num-icon svg {
    width: 20px;
    height: 20px;
    color: var(--color-gold-solid);
    margin-left: auto;
}

.prueba-urgente-hito__title {
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 0.92rem;
    line-height: 1.3;
    margin: 0 0 0.4rem;
    font-weight: 500;
}
.prueba-urgente-hito__text {
    color: var(--color-text-secondary);
    font-size: 0.82rem;
    line-height: 1.55;
    margin: 0;
}

.prueba-urgente-timeline__nota {
    margin: 1.8rem auto 0;
    max-width: 760px;
    color: var(--color-text-muted);
    font-size: 0.88rem;
    line-height: 1.6;
    text-align: center;
    font-style: italic;
}



.errores-tabla {
    margin-top: 2.5rem;
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-radius: 12px;
    overflow: hidden;
    background: linear-gradient(155deg, rgba(20, 20, 24, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
}

.errores-tabla__head {
    display: grid;
    grid-template-columns: 60px 1fr 50px 1fr;
    gap: 0;
    background: linear-gradient(90deg, rgba(200, 169, 126, 0.1) 0%, rgba(200, 169, 126, 0.05) 100%);
    border-bottom: 1px solid rgba(200, 169, 126, 0.3);
}
@media (max-width: 768px) {
    .errores-tabla__head { display: none; }
}

.errores-tabla__head-col {
    padding: 1rem 1.2rem;
    font-family: var(--font-display), serif;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--color-gold-solid);
    font-weight: 600;
}
.errores-tabla__head-col--error { grid-column: 1 / span 2; }
.errores-tabla__head-col--consec { grid-column: 3 / span 2; }

.errores-tabla__row {
    display: grid;
    grid-template-columns: 60px 1fr 50px 1fr;
    gap: 0;
    align-items: stretch;
    border-bottom: 1px solid rgba(200, 169, 126, 0.12);
    transition: background 0.3s ease;
}
.errores-tabla__row:last-child { border-bottom: none; }
.errores-tabla__row:hover { background: rgba(200, 169, 126, 0.03); }

@media (max-width: 768px) {
    .errores-tabla__row {
        grid-template-columns: 60px 1fr;
        padding: 1rem 0;
    }
}

.errores-tabla__num {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display), serif;
    font-size: 1.1rem;
    color: var(--color-gold-solid);
    font-weight: 600;
    letter-spacing: 1px;
    background: rgba(200, 169, 126, 0.06);
    border-right: 1px solid rgba(200, 169, 126, 0.12);
}
@media (max-width: 768px) {
    .errores-tabla__num {
        grid-row: 1 / 3;
        border-right: 1px solid rgba(200, 169, 126, 0.2);
    }
}

.errores-tabla__error,
.errores-tabla__consec {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 1.1rem 1.2rem;
}
.errores-tabla__error { padding-right: 0.5rem; }
.errores-tabla__consec { padding-left: 0.5rem; }

@media (max-width: 768px) {
    .errores-tabla__error,
    .errores-tabla__consec {
        padding: 0.8rem 1.2rem;
    }
}

.errores-tabla__icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.1rem;
}
.errores-tabla__icon--error {
    background: rgba(220, 80, 80, 0.15);
    border: 1px solid rgba(220, 80, 80, 0.45);
}
.errores-tabla__icon--error svg {
    width: 14px;
    height: 14px;
    color: #e25757;
}
.errores-tabla__icon--consec {
    background: rgba(200, 169, 126, 0.15);
    border: 1px solid rgba(200, 169, 126, 0.45);
}
.errores-tabla__icon--consec svg {
    width: 14px;
    height: 14px;
    color: var(--color-gold-solid);
}

.errores-tabla__error .errores-tabla__text {
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 0.95rem;
    line-height: 1.4;
    font-weight: 500;
}
.errores-tabla__consec .errores-tabla__text {
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.55;
}
.errores-tabla__consec .errores-tabla__text strong { color: #f5e8d3; }

.errores-tabla__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gold-solid);
    font-size: 1.4rem;
    opacity: 0.5;
}
@media (max-width: 768px) {
    .errores-tabla__arrow {
        display: none;
    }
}


.editorial-chapters__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 2rem;
}
@media (min-width: 960px) {
    .editorial-chapters__layout {
        grid-template-columns: 240px 1fr;
        gap: 3rem;
    }
}

.editorial-index {
    align-self: start;
}
@media (min-width: 960px) {
    .editorial-index {
        position: sticky;
        top: 110px;
    }
}
.editorial-index__overline {
    display: block;
    font-family: var(--font-body);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--color-gold-solid);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(200, 169, 126, 0.3);
}
.editorial-index__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
@media (max-width: 959px) {
    .editorial-index__list {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.5rem;
    }
}
.editorial-index__link {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    padding: 0.55rem 0.7rem;
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.3s ease, color 0.3s ease;
    border-left: 2px solid transparent;
}
.editorial-index__link:hover,
.editorial-index__link.is-active {
    background: rgba(200, 169, 126, 0.08);
    border-left-color: var(--color-gold-solid);
}
.editorial-index__num {
    font-family: var(--font-display), serif;
    font-size: 0.8rem;
    color: var(--color-gold-solid);
    font-weight: 600;
    letter-spacing: 0.5px;
    flex-shrink: 0;
}
.editorial-index__text {
    font-size: 0.82rem;
    line-height: 1.35;
    color: var(--color-text-secondary);
    transition: color 0.3s ease;
}
.editorial-index__link:hover .editorial-index__text,
.editorial-index__link.is-active .editorial-index__text {
    color: #f5e8d3;
}

.editorial-chapters__body {
    min-width: 0;
}
.editorial-cap {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.2rem;
    scroll-margin-top: 110px;
}
.editorial-cap__marker {
    font-family: var(--font-display), serif;
    font-size: 1.4rem;
    color: var(--color-gold-solid);
    font-weight: 500;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(200, 169, 126, 0.4);
    background: radial-gradient(circle, rgba(200, 169, 126, 0.15) 0%, rgba(8, 8, 10, 0.85) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 0 0 3px rgba(8, 8, 10, 0.9), 0 0 14px rgba(200, 169, 126, 0.12);
}
.editorial-cap__title {
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: clamp(1.05rem, 1.7vw, 1.25rem);
    margin: 0.5rem 0 0.7rem;
    line-height: 1.35;
    font-weight: 500;
}
.editorial-cap__body {
    color: var(--color-text-secondary);
    font-size: 0.96rem;
    line-height: 1.78;
    margin: 0;
}
.editorial-cap__body strong { color: #f5e8d3; }
.editorial-cap__divider {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin: 2rem 0;
    padding-left: 60px;
}
.editorial-cap__divider span:not(.editorial-cap__diamond) {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(200, 169, 126, 0.3), transparent);
}
.editorial-cap__diamond {
    width: 8px;
    height: 8px;
    background: var(--color-gold-solid);
    transform: rotate(45deg);
    flex-shrink: 0;
    box-shadow: 0 0 8px rgba(200, 169, 126, 0.5);
}
@media (max-width: 600px) {
    .editorial-cap { grid-template-columns: 1fr; gap: 0.6rem; }
    .editorial-cap__divider { padding-left: 0; }
}



.consec-selector {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.5rem;
}
.consec-row {
    display: grid;
    grid-template-columns: 72px 1fr auto;
    gap: 1.4rem;
    align-items: center;
    padding: 1.4rem 1.6rem;
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-left: 3px solid var(--color-gold-solid);
    border-radius: 12px;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: transform 0.45s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                border-color 0.45s ease,
                box-shadow 0.45s ease;
}
.consec-row::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 1px;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent);
    opacity: 0.4;
    transition: opacity 0.45s ease;
}
.consec-row:hover {
    transform: translateX(6px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 20px 44px rgba(0, 0, 0, 0.5), 0 0 24px rgba(200, 169, 126, 0.12);
}
.consec-row:hover::before { opacity: 1; }

.consec-row__icon {
    width: 72px;
    height: 72px;
    border-radius: 14px;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.2) 0%, rgba(8, 8, 10, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.45s ease;
}
.consec-row:hover .consec-row__icon { transform: scale(1.06); }
.consec-row__icon svg {
    width: 34px;
    height: 34px;
    color: var(--color-gold-solid);
    filter: drop-shadow(0 0 5px rgba(200, 169, 126, 0.4));
}
.consec-row__title {
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: clamp(1.05rem, 1.7vw, 1.25rem);
    margin: 0 0 0.35rem;
    line-height: 1.3;
    font-weight: 500;
}
.consec-row__desc {
    color: var(--color-text-secondary);
    font-size: 0.9rem;
    line-height: 1.55;
    margin: 0;
}
.consec-row__cta {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-shrink: 0;
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.3px;
}
.consec-row__cta-text {
    transition: opacity 0.3s ease;
}
@media (max-width: 720px) {
    .consec-row__cta-text { display: none; }
}
.consec-row__cta svg {
    width: 18px;
    height: 18px;
    transition: transform 0.35s ease;
}
.consec-row:hover .consec-row__cta svg { transform: translateX(4px); }
@media (max-width: 600px) {
    .consec-row {
        grid-template-columns: 56px 1fr auto;
        gap: 1rem;
        padding: 1.1rem 1.2rem;
    }
    .consec-row__icon { width: 56px; height: 56px; }
    .consec-row__icon svg { width: 26px; height: 26px; }
}



.matriz-operativa-table td {
    line-height: 1.75 !important;
    padding: 1.15rem 1.05rem !important;
}
.matriz-operativa-table .cell-sep {
    display: inline-block;
    margin: 0 0.5rem;
    color: var(--color-gold-solid);
    font-weight: 700;
    opacity: 0.6;
    transform: translateY(-1px);
}
.matriz-operativa-table tbody tr:hover {
    background: rgba(200, 169, 126, 0.04);
}
.matriz-operativa-table tbody tr {
    transition: background 0.3s ease;
}
.matriz-operativa-table td[data-label="Responsable posible"],
.matriz-operativa-table td[data-label="Prueba crítica"],
.matriz-operativa-table td[data-label="Vía de reclamo"] {
    word-spacing: 0.04em;
    letter-spacing: 0.1px;
}



.resp-fichas-grid {
    margin-top: 1.5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}
@media (min-width: 620px) {
    .resp-fichas-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 980px) {
    .resp-fichas-grid { grid-template-columns: repeat(3, 1fr); }
}

.resp-ficha {
    position: relative;
    padding: 1.4rem 1.4rem 1.3rem;
    background: linear-gradient(155deg, rgba(20, 20, 24, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 12px;
    overflow: hidden;
    isolation: isolate;
    transition: transform 0.45s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                border-color 0.45s ease,
                box-shadow 0.45s ease;
}
.resp-ficha::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 2px;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent);
    opacity: 0.5;
    transition: opacity 0.45s ease;
}
.resp-ficha:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.55), 0 0 26px rgba(200, 169, 126, 0.14);
}
.resp-ficha:hover::before { opacity: 1; }

.resp-ficha__head {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 0.7rem;
}
.resp-ficha__icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.22) 0%, rgba(8, 8, 10, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 0 0 2px rgba(8, 8, 10, 0.85);
}
.resp-ficha__icon svg {
    width: 19px;
    height: 19px;
    color: var(--color-gold-solid);
}
.resp-ficha__title {
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 1.08rem;
    margin: 0;
    font-weight: 500;
    line-height: 1.25;
}
.resp-ficha__badge {
    display: inline-block;
    margin-bottom: 0.7rem;
    padding: 0.25rem 0.7rem;
    background: rgba(200, 169, 126, 0.12);
    border: 1px solid rgba(200, 169, 126, 0.4);
    border-radius: 999px;
    font-family: var(--font-body);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
}
.resp-ficha__text {
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.6;
    margin: 0;
}


.hallazgo-timeline {
    list-style: none;
    margin: 2.5rem 0 0;
    padding: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.hallazgo-timeline::before {
    content: '';
    position: absolute;
    left: 35px;
    top: 35px;
    bottom: 35px;
    width: 2px;
    background: linear-gradient(180deg, transparent, rgba(200, 169, 126, 0.5) 10%, rgba(200, 169, 126, 0.5) 90%, transparent);
}
.hallazgo-hito {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 1.5rem;
    padding: 0.9rem 0;
    position: relative;
}
.hallazgo-hito__nodo {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(28, 28, 32, 0.98) 0%, rgba(8, 8, 10, 0.99) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    box-shadow: 0 0 0 5px rgba(8, 8, 10, 0.95), 0 0 0 6px rgba(200, 169, 126, 0.18), 0 10px 24px rgba(0, 0, 0, 0.5);
    z-index: 1;
    transition: transform 0.45s ease, box-shadow 0.45s ease;
}
.hallazgo-hito:hover .hallazgo-hito__nodo {
    transform: scale(1.06);
    box-shadow: 0 0 0 5px rgba(8, 8, 10, 0.95), 0 0 0 6px rgba(200, 169, 126, 0.45), 0 14px 30px rgba(0, 0, 0, 0.6), 0 0 28px rgba(200, 169, 126, 0.2);
}
.hallazgo-hito__num {
    font-family: var(--font-display), serif;
    font-size: 0.95rem;
    color: var(--color-gold-solid);
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1;
}
.hallazgo-hito__icon {
    width: 18px;
    height: 18px;
    color: var(--color-gold-solid);
    opacity: 0.85;
}
.hallazgo-hito__card {
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-left: 2px solid var(--color-gold-solid);
    border-radius: 10px;
    padding: 1.3rem 1.4rem;
    transition: transform 0.45s ease, border-color 0.45s ease, box-shadow 0.45s ease;
}
.hallazgo-hito:hover .hallazgo-hito__card {
    transform: translateX(5px);
    border-color: rgba(200, 169, 126, 0.45);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5), 0 0 22px rgba(200, 169, 126, 0.1);
}
.hallazgo-hito__label {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--color-gold-solid);
    margin-bottom: 0.4rem;
    font-weight: 600;
}
.hallazgo-hito__title {
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 1.08rem;
    margin: 0 0 0.5rem;
    line-height: 1.3;
    font-weight: 500;
}
.hallazgo-hito__text {
    color: var(--color-text-secondary);
    font-size: 0.92rem;
    line-height: 1.6;
    margin: 0 0 0.8rem;
}
.hallazgo-hito__text strong { color: #f5e8d3; }
.hallazgo-hito__badge {
    display: inline-block;
    padding: 0.3rem 0.7rem;
    background: rgba(200, 169, 126, 0.12);
    border: 1px solid rgba(200, 169, 126, 0.4);
    border-radius: 999px;
    font-size: 0.72rem;
    color: var(--color-gold-solid);
    font-weight: 500;
    letter-spacing: 0.03em;
}
@media (max-width: 600px) {
    .hallazgo-hito { grid-template-columns: 56px 1fr; gap: 1rem; }
    .hallazgo-hito__nodo { width: 56px; height: 56px; }
    .hallazgo-timeline::before { left: 27px; }
}



.documentacion-timeline {
    margin-top: 2.5rem;
    padding: 2.4rem clamp(1.4rem, 3vw, 2.6rem);
    background: linear-gradient(155deg, rgba(20, 20, 24, 0.95) 0%, rgba(6, 6, 8, 0.99) 100%);
    border: 1px solid rgba(200, 169, 126, 0.22);
    border-top: 2px solid var(--color-gold-solid);
    border-radius: 14px;
    box-shadow: 0 28px 56px rgba(0, 0, 0, 0.5);
}
.documentacion-timeline__header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 2.5rem;
}
.documentacion-timeline__title {
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: clamp(1.2rem, 1.8vw, 1.4rem);
    margin: 0 0 0.6rem;
    font-weight: 500;
}
.documentacion-timeline__lead {
    color: var(--color-text-secondary);
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0;
}
.doc-fase {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    position: relative;
    padding-left: 2rem;
    margin-bottom: 2rem;
}
.doc-fase:last-of-type { margin-bottom: 0; }
.doc-fase::before {
    content: '';
    position: absolute;
    left: 6px;
    top: 24px;
    bottom: -2rem;
    width: 2px;
    background: linear-gradient(180deg, rgba(200, 169, 126, 0.5), rgba(200, 169, 126, 0.15));
}
.doc-fase:last-of-type::before { display: none; }
.doc-fase__marker {
    display: flex;
    align-items: baseline;
    gap: 0.7rem;
    position: relative;
}
.doc-fase__dot {
    position: absolute;
    left: -2rem;
    top: 4px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--color-gold-solid);
    box-shadow: 0 0 0 4px rgba(8, 8, 10, 0.95), 0 0 14px rgba(200, 169, 126, 0.5);
}
.doc-fase__fase {
    font-family: var(--font-display), serif;
    font-size: 1.05rem;
    color: var(--color-gold-solid);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.doc-fase__sub {
    font-size: 0.82rem;
    color: var(--color-text-muted);
    font-style: italic;
}
.doc-fase__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.7rem;
}
@media (min-width: 768px) {
    .doc-fase__list { grid-template-columns: 1fr 1fr; }
}
.doc-fase__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.8rem;
    padding: 0.9rem 1rem;
    background: linear-gradient(155deg, rgba(15, 15, 18, 0.6) 0%, rgba(6, 6, 8, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.14);
    border-radius: 8px;
    transition: transform 0.35s ease, border-color 0.35s ease;
}
.doc-fase__item:hover {
    transform: translateY(-2px);
    border-color: rgba(200, 169, 126, 0.4);
}
.doc-fase__num {
    font-family: var(--font-display), serif;
    font-size: 0.78rem;
    color: var(--color-gold-solid);
    font-weight: 700;
    background: rgba(200, 169, 126, 0.12);
    border: 1px solid rgba(200, 169, 126, 0.35);
    border-radius: 4px;
    padding: 0.15rem 0.4rem;
    height: fit-content;
    letter-spacing: 0.5px;
}
.doc-fase__item-text { min-width: 0; }
.doc-fase__item-text strong {
    display: block;
    color: #f5e8d3;
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
    font-family: var(--font-display), serif;
    line-height: 1.3;
}
.doc-fase__item-text span {
    color: var(--color-text-secondary);
    font-size: 0.82rem;
    line-height: 1.5;
}
.doc-fase__item-text strong + span strong { color: #f5e8d3; display: inline; margin: 0; font-size: inherit; }
.documentacion-timeline__nota {
    margin: 1.5rem auto 0;
    max-width: 800px;
    color: var(--color-text-muted);
    font-size: 0.88rem;
    line-height: 1.6;
    text-align: center;
    font-style: italic;
}



.moto-defensa { margin-top: 2.5rem; }
.moto-defensa__lead {
    color: var(--color-text-secondary);
    font-size: 1rem;
    line-height: 1.7;
    max-width: 820px;
    margin: 0 auto 2rem;
    text-align: center;
}
.moto-defensa__lead strong { color: #f5e8d3; }
.moto-defensa__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}
@media (min-width: 640px) {
    .moto-defensa__grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
    .moto-defensa__grid { grid-template-columns: repeat(3, 1fr); }
}
.moto-factor {
    position: relative;
    padding: 1.5rem 1.4rem;
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-top: 2px solid var(--color-gold-solid);
    border-radius: 12px;
    overflow: hidden;
    isolation: isolate;
    transition: transform 0.45s cubic-bezier(0.215, 0.610, 0.355, 1.000), border-color 0.45s ease, box-shadow 0.45s ease;
}
.moto-factor::before {
    content: '';
    position: absolute;
    bottom: -30%;
    right: -10%;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.08) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
}
.moto-factor:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.55), 0 0 26px rgba(200, 169, 126, 0.14);
}
.moto-factor > * { position: relative; z-index: 1; }
.moto-factor__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.8rem;
}
.moto-factor__icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.22) 0%, rgba(8, 8, 10, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 2px rgba(8, 8, 10, 0.85);
}
.moto-factor__icon svg {
    width: 18px;
    height: 18px;
    color: var(--color-gold-solid);
}
.moto-factor__num {
    font-family: var(--font-display), serif;
    font-size: 1.8rem;
    color: rgba(200, 169, 126, 0.2);
    font-weight: 500;
    line-height: 1;
}
.moto-factor:hover .moto-factor__num { color: rgba(200, 169, 126, 0.4); }
.moto-factor__title {
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: 1.02rem;
    margin: 0 0 0.5rem;
    line-height: 1.3;
    font-weight: 500;
}
.moto-factor__text {
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.6;
    margin: 0;
}
.moto-defensa__cierre {
    margin-top: 1.8rem;
    padding: 1.5rem 1.8rem;
    background: linear-gradient(145deg, rgba(200, 169, 126, 0.08) 0%, rgba(8, 8, 10, 0.9) 100%);
    border: 1px solid rgba(200, 169, 126, 0.3);
    border-left: 3px solid var(--color-gold-solid);
    border-radius: 10px;
}
.moto-defensa__cierre p {
    color: var(--color-text-secondary);
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0;
}
.moto-defensa__cierre p strong { color: #f5e8d3; }



.casos-tomamos-premium {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.1rem;
}
@media (min-width: 640px) {
    .casos-tomamos-premium { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
    .casos-tomamos-premium { grid-template-columns: repeat(4, 1fr); }
}
.caso-toma-card {
    position: relative;
    padding: 1.6rem 1.4rem 1.4rem;
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 12px;
    overflow: hidden;
    isolation: isolate;
    transition: transform 0.45s cubic-bezier(0.215, 0.610, 0.355, 1.000), border-color 0.45s ease, box-shadow 0.45s ease;
}
.caso-toma-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 2px;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent);
    opacity: 0.5;
    transition: opacity 0.45s ease;
}
.caso-toma-card:hover {
    transform: translateY(-5px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.55), 0 0 28px rgba(200, 169, 126, 0.16);
}
.caso-toma-card:hover::before { opacity: 1; }
.caso-toma-card__num {
    position: absolute;
    top: 0.8rem;
    right: 1rem;
    font-family: var(--font-display), serif;
    font-size: 2.6rem;
    color: rgba(200, 169, 126, 0.12);
    font-weight: 500;
    line-height: 1;
    z-index: 0;
    transition: color 0.45s ease;
}
.caso-toma-card:hover .caso-toma-card__num { color: rgba(200, 169, 126, 0.3); }
.caso-toma-card__title {
    position: relative;
    z-index: 1;
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 1rem;
    margin: 0 0 0.6rem;
    line-height: 1.3;
    font-weight: 500;
    padding-right: 2rem;
}
.caso-toma-card__text {
    position: relative;
    z-index: 1;
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.55;
    margin: 0;
}
.caso-toma-card__text strong { color: #f5e8d3; }



@media (min-width: 993px) {
    #como-actuamos.process-section {
        height: 150vh !important;
        padding-top: 2rem !important;
        padding-bottom: 0 !important;
        position: relative;
    }
    #como-actuamos.process-section > .container {
        position: sticky !important;
        top: 12vh !important;
        height: auto !important;
    }
    #como-actuamos .process-timeline {
        display: grid !important;
        grid-template-columns: repeat(5, 1fr) !important;
        gap: 1rem !important;
    }
}
@media (min-width: 993px) and (max-width: 1280px) {
    #como-actuamos .process-timeline {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}



.bicicletas-grid > div {
    transition: transform 0.45s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                border-color 0.45s ease,
                box-shadow 0.45s ease !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.bicicletas-grid > div::before {
    content: '';
    position: absolute;
    bottom: -30%;
    right: -10%;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.07) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
}
.bicicletas-grid > div:hover {
    transform: translateY(-5px);
    border-color: rgba(200, 169, 126, 0.5) !important;
    box-shadow: 0 24px 52px rgba(0, 0, 0, 0.55), 0 0 28px rgba(200, 169, 126, 0.15);
}
.bicicletas-grid > div > * { position: relative; z-index: 1; }
.bicicletas-grid > div ul {
    list-style: none !important;
    padding-left: 0 !important;
}
.bicicletas-grid > div ul li {
    position: relative;
    padding-left: 1.6rem !important;
    margin-bottom: 0.5rem;
    transition: color 0.3s ease, transform 0.3s ease;
}
.bicicletas-grid > div ul li:last-child { margin-bottom: 0; }
.bicicletas-grid > div ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.5em;
    width: 9px;
    height: 5px;
    border-left: 2px solid var(--color-gold-solid);
    border-bottom: 2px solid var(--color-gold-solid);
    transform: rotate(-45deg);
    transition: transform 0.3s ease;
}
.bicicletas-grid > div:hover ul li::before {
    border-color: #f5e8d3;
}
.bicicletas-grid > div ul li:hover {
    color: #f5e8d3 !important;
}
.bicicletas-grid > div ul li:hover::before {
    transform: rotate(-45deg) scale(1.15);
}


.matriz-operativa-table td {
    padding: 1.2rem 1.1rem !important;
    vertical-align: top !important;
}
.matriz-operativa-table .matriz-cell-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.matriz-operativa-table .matriz-cell-list li {
    position: relative;
    padding-left: 1.1rem;
    font-size: 0.88rem;
    line-height: 1.5;
    color: var(--color-text-secondary);
}
.matriz-operativa-table .matriz-cell-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--color-gold-solid);
    opacity: 0.7;
}
.matriz-operativa-table tbody tr {
    transition: background 0.3s ease;
}
.matriz-operativa-table tbody tr:hover {
    background: rgba(200, 169, 126, 0.045);
}
.matriz-operativa-table tbody tr:hover .matriz-cell-list li::before {
    opacity: 1;
}
.matriz-operativa-table td[data-label="Tipo de caso"] strong {
    font-family: var(--font-display), serif;
    font-size: 0.98rem;
    letter-spacing: 0.2px;
}



.eximentes-fichas-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.1rem;
    margin-top: 0.5rem;
}
@media (min-width: 640px) {
    .eximentes-fichas-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 980px) {
    .eximentes-fichas-grid { grid-template-columns: repeat(3, 1fr); }
}
.eximente-ficha {
    position: relative;
    padding: 1.5rem 1.4rem;
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 12px;
    overflow: hidden;
    isolation: isolate;
    transition: transform 0.45s cubic-bezier(0.215, 0.610, 0.355, 1.000),
                border-color 0.45s ease,
                box-shadow 0.45s ease;
}
.eximente-ficha::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 2px;
    transition: opacity 0.45s ease;
}
.eximente-ficha--total::before { background: linear-gradient(90deg, transparent, #e25757, transparent); }
.eximente-ficha--parcial::before { background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent); }
.eximente-ficha--procesal::before { background: linear-gradient(90deg, transparent, #8cb89a, transparent); }
.eximente-ficha:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.55), 0 0 26px rgba(200, 169, 126, 0.14);
}
.eximente-ficha__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.8rem;
}
.eximente-ficha__icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.22) 0%, rgba(8, 8, 10, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 2px rgba(8, 8, 10, 0.85);
}
.eximente-ficha__icon svg {
    width: 18px;
    height: 18px;
    color: var(--color-gold-solid);
}
.eximente-ficha__badge {
    display: inline-block;
    padding: 0.28rem 0.7rem;
    border-radius: 999px;
    font-family: var(--font-body);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.eximente-ficha__badge--total {
    background: rgba(220, 80, 80, 0.15);
    border: 1px solid rgba(220, 80, 80, 0.45);
    color: #f5b8b8;
}
.eximente-ficha__badge--parcial {
    background: rgba(200, 169, 126, 0.15);
    border: 1px solid rgba(200, 169, 126, 0.45);
    color: #f5e8d3;
}
.eximente-ficha__badge--procesal {
    background: rgba(140, 184, 154, 0.13);
    border: 1px solid rgba(140, 184, 154, 0.4);
    color: #c8d8c8;
}
.eximente-ficha__title {
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: 1.05rem;
    margin: 0 0 0.5rem;
    line-height: 1.3;
    font-weight: 500;
}
.eximente-ficha__text {
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.6;
    margin: 0;
}
.eximente-ficha__text strong { color: #f5e8d3; }



.consec-sub {
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
}



.editorial-chapters__layout {
    align-items: start;
}
@media (min-width: 960px) {
    .editorial-index {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 100px !important;
        align-self: start !important;
        max-height: calc(100vh - 120px);
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: rgba(200, 169, 126, 0.4) transparent;
    }
    .editorial-index::-webkit-scrollbar { width: 5px; }
    .editorial-index::-webkit-scrollbar-thumb {
        background: rgba(200, 169, 126, 0.4);
        border-radius: 3px;
    }
}


.editorial-index__list {
    gap: 0.35rem !important;
}
.editorial-index__link {
    padding: 0.7rem 0.85rem !important;
    align-items: flex-start !important;
}
.editorial-index__num {
    font-size: 0.82rem !important;
    line-height: 1.5 !important;
}
.editorial-index__text {
    font-size: 0.84rem !important;
    line-height: 1.5 !important;
}

.editorial-cap {
    scroll-margin-top: 120px;
}

.editorial-chapters__body {
    min-width: 0;
}

.editorial-cap:last-child {
    padding-bottom: 1rem;
}

html {
    scroll-behavior: smooth;
}


.rubros-vlist {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: 1fr;
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-radius: 12px;
    overflow: hidden;
    background: linear-gradient(155deg, rgba(20, 20, 24, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
}
@media (min-width: 860px) {
    .rubros-vlist { grid-template-columns: 1fr 1fr; }
}
.rubro-row {
    display: grid;
    grid-template-columns: auto auto 1fr;
    column-gap: 0.95rem;
    row-gap: 0.35rem;
    align-items: center;
    padding: 1.4rem 1.5rem;
    border-bottom: 1px solid rgba(200, 169, 126, 0.12);
    transition: background 0.3s ease;
}
.rubro-row:hover { background: rgba(200, 169, 126, 0.035); }
@media (min-width: 860px) {
    .rubro-row:nth-child(odd) { border-right: 1px solid rgba(200, 169, 126, 0.12); }
}
.rubro-row__icon {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: start;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.2) 0%, rgba(8, 8, 10, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
}
.rubro-row__icon svg { width: 18px; height: 18px; color: var(--color-gold-solid); }
.rubro-row__num {
    grid-column: 2;
    grid-row: 1;
    font-family: var(--font-display), serif;
    font-size: 1rem;
    font-weight: 600;
    color: rgba(200, 169, 126, 0.55);
    letter-spacing: 1px;
}
.rubro-row__title {
    grid-column: 3;
    grid-row: 1;
    margin: 0;
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 1.02rem;
    font-weight: 500;
    line-height: 1.3;
}
.rubro-row__text {
    grid-column: 2 / 4;
    grid-row: 2;
    margin: 0;
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.55;
}
.rubro-row__text strong { color: #f5e8d3; }


.probatoria-steps {
    margin-top: 2.5rem;
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}
.probatoria-step {
    position: relative;
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 1.3rem;
    padding-bottom: 1.8rem;
}
.probatoria-step:last-child { padding-bottom: 0; }
.probatoria-step::before {
    content: '';
    position: absolute;
    left: 22px;
    top: 50px;
    bottom: -2px;
    width: 2px;
    background: linear-gradient(180deg, rgba(200, 169, 126, 0.5), rgba(200, 169, 126, 0.08));
}
.probatoria-step:last-child::before { display: none; }
.probatoria-step__num {
    position: relative;
    z-index: 1;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display), serif;
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--color-gold-solid);
    background: radial-gradient(circle, rgba(200, 169, 126, 0.18) 0%, rgba(8, 8, 10, 0.95) 100%);
    border: 1px solid rgba(200, 169, 126, 0.45);
    box-shadow: 0 0 0 4px rgba(8, 8, 10, 0.95);
}
.probatoria-step__body {
    padding: 0.3rem 0 0;
}
.probatoria-step__title {
    margin: 0 0 0.45rem;
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 1.08rem;
    font-weight: 500;
    line-height: 1.3;
}
.probatoria-step__text {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: 0.92rem;
    line-height: 1.6;
}
.probatoria-step__text strong { color: #f5e8d3; }



.prueba-urgente-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.8rem;
    max-width: 900px;
    margin: 0 auto;
}
@media (min-width: 720px) {
    .prueba-urgente-grid { grid-template-columns: 1fr 1fr; }
}
.prueba-urgente__item {
    padding: 1rem 1.1rem;
    background: rgba(200, 169, 126, 0.04);
    border: 1px solid rgba(200, 169, 126, 0.14);
    border-left: 2px solid var(--color-gold-solid);
    border-radius: 6px;
    color: var(--color-text-secondary);
    font-size: 0.9rem;
    line-height: 1.55;
    transition: background 0.3s ease, border-color 0.3s ease;
}
.prueba-urgente__item:hover {
    background: rgba(200, 169, 126, 0.07);
    border-color: rgba(200, 169, 126, 0.3);
    border-left-color: var(--color-gold-solid);
}
.prueba-urgente__item strong { color: #fff; }



.no-vicio-fichas {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.1rem;
}
@media (min-width: 640px) {
    .no-vicio-fichas { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1000px) {
    .no-vicio-fichas { grid-template-columns: repeat(3, 1fr); }
}
.no-vicio-ficha {
    position: relative;
    padding: 1.5rem 1.4rem 1.4rem;
    background: linear-gradient(155deg, rgba(28, 20, 20, 0.95) 0%, rgba(8, 6, 6, 0.98) 100%);
    border: 1px solid rgba(226, 87, 87, 0.16);
    border-left: 2px solid rgba(226, 87, 87, 0.7);
    border-radius: 10px;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.4s ease, box-shadow 0.4s ease;
}
.no-vicio-ficha:hover {
    transform: translateY(-4px);
    border-color: rgba(226, 87, 87, 0.45);
    border-left-color: #e25757;
    box-shadow: 0 20px 44px rgba(0, 0, 0, 0.55), 0 0 22px rgba(226, 87, 87, 0.14);
}
.no-vicio-ficha__mark {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 22px;
    height: 22px;
    opacity: 0.28;
    transition: opacity 0.4s ease;
}
.no-vicio-ficha__mark svg { width: 100%; height: 100%; color: #e25757; }
.no-vicio-ficha:hover .no-vicio-ficha__mark { opacity: 0.6; }
.no-vicio-ficha__title {
    margin: 0 0 0.5rem;
    padding-right: 1.8rem;
    color: #f0d8d8;
    font-family: var(--font-display), serif;
    font-size: 1.02rem;
    font-weight: 500;
    line-height: 1.3;
}
.no-vicio-ficha__text {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: 0.9rem;
    line-height: 1.55;
}
.no-vicio-ficha__text strong { color: #f5e8d3; }



.timeline-72h {
    position: relative;
    margin-top: 2.5rem;
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}
.timeline-72h__item {
    position: relative;
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 1.3rem;
    padding-bottom: 1.6rem;
}
.timeline-72h__item:last-child { padding-bottom: 0; }
.timeline-72h__item::before {
    content: '';
    position: absolute;
    left: 23px;
    top: 52px;
    bottom: -2px;
    width: 2px;
    background: linear-gradient(180deg, var(--color-gold-solid), rgba(200, 169, 126, 0.1));
}
.timeline-72h__item:last-child::before { display: none; }
.timeline-72h__marker {
    position: relative;
    z-index: 1;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display), serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: #0a0a0c;
    background: linear-gradient(145deg, var(--color-gold-solid) 0%, #a8895f 100%);
    border: 1px solid rgba(200, 169, 126, 0.6);
    box-shadow: 0 0 0 4px rgba(8, 8, 10, 0.95), 0 0 18px rgba(200, 169, 126, 0.25);
}
.timeline-72h__text {
    padding: 0.5rem 0 0;
    color: var(--color-text-secondary);
    font-size: 0.93rem;
    line-height: 1.65;
}
.timeline-72h__text strong { color: #fff; }


.casos-tratamos-fichas {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.2rem;
}
@media (min-width: 640px) {
    .casos-tratamos-fichas { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1000px) {
    .casos-tratamos-fichas { grid-template-columns: repeat(3, 1fr); }
}
/* accidentes-generales (4 casos): 4 tarjetas en una fila en desktop amplio; 2x2 a <=1366px */
@media (min-width: 1000px) {
    .casos-tratamos-fichas.casos-tratamos-fichas--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1367px) {
    .casos-tratamos-fichas.casos-tratamos-fichas--4 { grid-template-columns: repeat(4, 1fr); }
}
.caso-tratamos-ficha {
    position: relative;
    padding: 1.7rem 1.5rem 1.5rem;
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 12px;
    overflow: hidden;
    isolation: isolate;
    transition: transform 0.45s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.45s ease, box-shadow 0.45s ease;
}
.caso-tratamos-ficha::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 2px;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent);
    opacity: 0.5;
    transition: opacity 0.45s ease;
}
.caso-tratamos-ficha:hover {
    transform: translateY(-5px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.55), 0 0 28px rgba(200, 169, 126, 0.16);
}
.caso-tratamos-ficha:hover::before { opacity: 1; }
.caso-tratamos-ficha__icon {
    width: 46px;
    height: 46px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.9rem;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.22) 0%, rgba(8, 8, 10, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
}
.caso-tratamos-ficha__icon svg { width: 20px; height: 20px; color: var(--color-gold-solid); }
.caso-tratamos-ficha__num {
    position: absolute;
    top: 1rem;
    right: 1.2rem;
    font-family: var(--font-display), serif;
    font-size: 2.4rem;
    color: rgba(200, 169, 126, 0.13);
    font-weight: 500;
    line-height: 1;
    z-index: 0;
    transition: color 0.45s ease;
}
.caso-tratamos-ficha:hover .caso-tratamos-ficha__num { color: rgba(200, 169, 126, 0.3); }
.caso-tratamos-ficha__title {
    position: relative;
    z-index: 1;
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 1.05rem;
    margin: 0 0 0.55rem;
    line-height: 1.3;
    font-weight: 500;
}
.caso-tratamos-ficha__text {
    position: relative;
    z-index: 1;
    color: var(--color-text-secondary);
    font-size: 0.9rem;
    line-height: 1.55;
    margin: 0;
}
.caso-tratamos-ficha__text strong { color: #f5e8d3; }



.rubros-feature-grid {
    margin-top: 2.5rem;
}
@media (min-width: 1100px) {
    .rubros-feature-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.4rem;
    }
}



.defensas-premium-grid {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.1rem;
}
@media (min-width: 640px) {
    .defensas-premium-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1000px) {
    .defensas-premium-grid { grid-template-columns: repeat(3, 1fr); }
}


.intimacion-bar {
    display: block;
    margin: 0 0 clamp(2.5rem, 5vw, 3.5rem);
    padding: 0.85rem 1.2rem;
    text-align: center;
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: 1.15rem;
    font-weight: 500;
    letter-spacing: 0.3px;
    background: linear-gradient(90deg, rgba(200, 169, 126, 0.04) 0%, rgba(200, 169, 126, 0.13) 50%, rgba(200, 169, 126, 0.04) 100%);
    border-top: 1px solid rgba(200, 169, 126, 0.35);
    border-bottom: 1px solid rgba(200, 169, 126, 0.35);
    border-radius: 4px;
}


.cuando-discutirse {
    position: relative;
    margin-top: clamp(2.5rem, 5vw, 3.5rem);
    margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
    padding: clamp(2.2rem, 4vw, 3.2rem) clamp(1.5rem, 4vw, 3rem);
    background:
        radial-gradient(120% 80% at 50% -10%, rgba(200, 169, 126, 0.10) 0%, transparent 55%),
        linear-gradient(155deg, rgba(26, 24, 20, 0.92) 0%, rgba(8, 7, 6, 0.96) 60%, rgba(5, 5, 5, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 12px;
    box-shadow: 0 32px 70px -28px rgba(0, 0, 0, 0.85), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    overflow: hidden;
    isolation: isolate;
}


.cuando-discutirse::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(560px, 80%);
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid) 35%, #f0dcb8 50%, var(--color-gold-solid) 65%, transparent);
    z-index: 3;
}


.discutirse-corner {
    position: absolute;
    width: 18px;
    height: 18px;
    border: 1.5px solid rgba(200, 169, 126, 0.5);
    pointer-events: none;
    z-index: 2;
}
.discutirse-corner--tl { top: 14px; left: 14px; border-right: none; border-bottom: none; }
.discutirse-corner--tr { top: 14px; right: 14px; border-left: none; border-bottom: none; }
.discutirse-corner--bl { bottom: 14px; left: 14px; border-right: none; border-top: none; }
.discutirse-corner--br { bottom: 14px; right: 14px; border-left: none; border-top: none; }


.discutirse-header { text-align: center; margin-bottom: clamp(1.5rem, 3vw, 2.1rem); }
.discutirse-overline {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
    margin-bottom: 0.85rem;
    opacity: 0.85;
}
.discutirse-title {
    font-family: var(--font-display), serif;
    font-weight: 500;
    font-size: clamp(1.25rem, 2.6vw, 1.7rem);
    line-height: 1.28;
    color: #fff;
    max-width: 760px;
    margin: 0 auto;
    letter-spacing: 0.01em;
}

.discutirse-ornament {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 1.05rem;
}
.discutirse-ornament i {
    display: block;
    width: clamp(40px, 8vw, 80px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(200, 169, 126, 0.6));
}
.discutirse-ornament i:last-child {
    background: linear-gradient(90deg, rgba(200, 169, 126, 0.6), transparent);
}
.discutirse-ornament b {
    width: 7px;
    height: 7px;
    background: var(--color-gold-solid);
    transform: rotate(45deg);
    box-shadow: 0 0 10px rgba(200, 169, 126, 0.5);
}

.discutirse-intro {
    color: var(--color-text-secondary);
    font-size: clamp(0.92rem, 1.6vw, 1rem);
    line-height: 1.7;
    text-align: center;
    max-width: 780px;
    margin: 0 auto clamp(1.9rem, 3.5vw, 2.5rem);
}
.checklist-intimacion {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.55rem;
    max-width: 860px;
    margin: 0 auto;
}
@media (min-width: 720px) {
    .checklist-intimacion { grid-template-columns: 1fr 1fr; }
}
.checklist-intimacion__item {
    position: relative;
    padding: 0.85rem 1rem 0.85rem 2.3rem;
    background: rgba(200, 169, 126, 0.04);
    border: 1px solid rgba(200, 169, 126, 0.14);
    border-left: 2px solid var(--color-gold-solid);
    border-radius: 6px;
    color: var(--color-text-secondary);
    font-size: 0.9rem;
    line-height: 1.55;
    transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.checklist-intimacion__item::before {
    content: '\203A';
    position: absolute;
    left: 0.85rem;
    top: 0.78rem;
    color: var(--color-gold-solid);
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1;
}
.checklist-intimacion__item:hover {
    background: rgba(200, 169, 126, 0.08);
    border-color: rgba(200, 169, 126, 0.32);
    border-left-color: var(--color-gold-solid);
    transform: translateX(2px);
}
.checklist-intimacion__item strong { color: #fff; }



.discutirse-checklist {
    list-style: none;
    counter-reset: discutirse;
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(0.6rem, 1.5vw, 0.9rem);
    max-width: 920px;
    margin: 0 auto;
    padding: 0;
}
@media (min-width: 760px) {
    .discutirse-checklist { grid-template-columns: 1fr 1fr; }
}
.discutirse-checklist__item {
    counter-increment: discutirse;
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: clamp(0.85rem, 2vw, 1.1rem) clamp(1rem, 2.2vw, 1.25rem) clamp(0.85rem, 2vw, 1.1rem) 1rem;
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.05), rgba(200, 169, 126, 0.01));
    border: 1px solid rgba(200, 169, 126, 0.12);
    border-left: 2px solid rgba(200, 169, 126, 0.45);
    border-radius: 8px;
    color: var(--color-text-secondary);
    font-size: clamp(0.86rem, 1.5vw, 0.94rem);
    line-height: 1.55;
    transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), background 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}

.discutirse-checklist__item::before {
    content: counter(discutirse, decimal-leading-zero);
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display), serif;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--color-gold-solid);
    background: rgba(200, 169, 126, 0.08);
    border: 1px solid rgba(200, 169, 126, 0.4);
    border-radius: 7px;
    transition: background 0.4s ease, color 0.4s ease, box-shadow 0.4s ease;
}
.discutirse-checklist__item:hover {
    transform: translateY(-3px);
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.1), rgba(200, 169, 126, 0.03));
    border-color: rgba(200, 169, 126, 0.3);
    border-left-color: var(--color-gold-solid);
    box-shadow: 0 14px 28px -16px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(200, 169, 126, 0.08);
}
.discutirse-checklist__item:hover::before {
    background: var(--color-gold-solid);
    color: #0a0a0a;
    box-shadow: 0 0 14px rgba(200, 169, 126, 0.45);
}
.discutirse-checklist__item strong { color: #fff; font-weight: 600; }


.cuando-discutirse .discutirse-header,
.cuando-discutirse .discutirse-intro,
.cuando-discutirse .discutirse-checklist__item {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.cuando-discutirse.active .discutirse-header { opacity: 1; transform: none; transition-delay: 0.05s; }
.cuando-discutirse.active .discutirse-intro { opacity: 1; transform: none; transition-delay: 0.15s; }
.cuando-discutirse.active .discutirse-checklist__item { opacity: 1; transform: none; }
.cuando-discutirse.active .discutirse-checklist__item:nth-child(1) { transition-delay: 0.24s; }
.cuando-discutirse.active .discutirse-checklist__item:nth-child(2) { transition-delay: 0.32s; }
.cuando-discutirse.active .discutirse-checklist__item:nth-child(3) { transition-delay: 0.40s; }
.cuando-discutirse.active .discutirse-checklist__item:nth-child(4) { transition-delay: 0.48s; }
.cuando-discutirse.active .discutirse-checklist__item:nth-child(5) { transition-delay: 0.56s; }
.cuando-discutirse.active .discutirse-checklist__item:nth-child(6) { transition-delay: 0.64s; }
.cuando-discutirse.active .discutirse-checklist__item:nth-child(7) { transition-delay: 0.72s; }
@media (prefers-reduced-motion: reduce) {
    .cuando-discutirse .discutirse-header,
    .cuando-discutirse .discutirse-intro,
    .cuando-discutirse .discutirse-checklist__item {
        opacity: 1;
        transform: none;
        transition: none;
    }
}


.prueba-hex-cell.is-active .prueba-hex-popover {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
    transition: opacity 0.35s ease, transform 0.35s ease, visibility 0s;
}
.prueba-hex-cell.is-active .prueba-hex-shape {
    transform: scale(1.04);
    filter: drop-shadow(0 0 14px rgba(200, 169, 126, 0.35));
}


.prueba-hex-cell:nth-child(n+4) .prueba-hex-popover {
    top: auto;
    bottom: calc(100% + 12px);
    transform: translateX(-50%) translateY(8px);
}
.prueba-hex-cell:nth-child(n+4):hover .prueba-hex-popover,
.prueba-hex-cell:nth-child(n+4).is-active .prueba-hex-popover {
    transform: translateX(-50%) translateY(0);
}


.transporte-publico-block .prueba-hex-panal {
    padding-bottom: 3.5rem;
}


@media (max-width: 480px) {
    .prueba-hex-panal {
        grid-template-columns: 1fr;
        max-width: min(340px, 100%);
        column-gap: 0;
    }
    .prueba-hex-cell { max-width: 280px; }
    .prueba-hex-cell:nth-child(n+4) .prueba-hex-popover {
        top: calc(100% + 12px);
        bottom: auto;
    }
}


.cap-first { text-transform: uppercase; }




.transporte-narrativo__medio { overflow: hidden; }
.transporte-narrativo__img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    aspect-ratio: 5 / 4;
    object-fit: cover;
    object-position: center;
}



.prueba-urgente-panel {
    position: relative;
    margin-top: 2.6rem;
    padding: 2.4rem clamp(1.5rem, 4vw, 2.6rem) 2.2rem;
    
    
    border-radius: 16px;
    box-shadow: 0 28px 64px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(200, 169, 126, 0.08);
}

.prueba-urgente-panel::before {
    content: '';
    position: absolute;
    top: -22px;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 22px;
    background: linear-gradient(180deg, rgba(200, 169, 126, 0.08), var(--color-gold-solid));
}
.prueba-urgente-panel::after {
    content: '';
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--color-gold-solid) 0%, #a8895f 100%);
    box-shadow: 0 0 0 4px rgba(8, 8, 10, 0.95), 0 0 14px rgba(200, 169, 126, 0.4);
}
.prueba-urgente-panel > h3 { margin-top: 0; }


.prueba-urgente-panel .prueba-urgente-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.7rem;
    max-width: 880px;
    margin: 0 auto;
}
@media (min-width: 720px) {
    .prueba-urgente-panel .prueba-urgente-grid { grid-template-columns: 1fr 1fr; }
}
.prueba-urgente-panel .prueba-urgente__item {
    position: relative;
    padding: 0.95rem 1.1rem 0.95rem 3.1rem;
    background: linear-gradient(150deg, rgba(40, 37, 33, 0.7) 0%, rgba(18, 17, 16, 0.7) 100%);
    border: 1px solid rgba(200, 169, 126, 0.16);
    border-radius: 9px;
    color: var(--color-text-secondary);
    font-size: 0.9rem;
    line-height: 1.55;
    transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease;
}

.prueba-urgente-panel .prueba-urgente__item::before {
    content: '\2713';
    position: absolute;
    left: 0.85rem;
    top: 0.85rem;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--color-gold-solid);
    background: radial-gradient(circle, rgba(200, 169, 126, 0.24) 0%, rgba(8, 8, 10, 0.92) 100%);
    border: 1px solid rgba(200, 169, 126, 0.5);
    box-shadow: 0 0 0 3px rgba(8, 8, 10, 0.55);
}
.prueba-urgente-panel .prueba-urgente__item:hover {
    transform: translateY(-2px);
    background: linear-gradient(150deg, rgba(48, 44, 38, 0.82) 0%, rgba(22, 21, 19, 0.82) 100%);
    border-color: rgba(200, 169, 126, 0.4);
}
.prueba-urgente-panel .prueba-urgente__item strong { color: #fff; }


.primeras-72h-block {
    margin-top: 2.5rem;
}
.timeline-72h__item {
    padding: 1.3rem 1.4rem;
    margin-bottom: 1rem;
    background: linear-gradient(150deg, rgba(30, 28, 25, 0.9) 0%, rgba(14, 13, 12, 0.95) 100%);
    border: 1px solid rgba(200, 169, 126, 0.16);
    border-left: 2px solid var(--color-gold-solid);
    border-radius: 11px;
    align-items: start;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.timeline-72h__item:last-child {
    padding-bottom: 1.3rem;
    margin-bottom: 0;
}
.timeline-72h__item::before { display: none; }
.timeline-72h__item:hover {
    transform: translateY(-2px);
    border-color: rgba(200, 169, 126, 0.42);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
}
.timeline-72h__text { padding-top: 0.35rem; }



.expediente-digital__head {
    display: block;
    text-align: center;
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: 1.2rem;
    font-weight: 500;
    margin: 0 0 1.4rem;
    padding-bottom: 0.9rem;
    border-bottom: 1px solid rgba(200, 169, 126, 0.25);
}
.expediente-digital {
    counter-reset: exp;
    max-width: 840px;
    margin: 0 auto;
}
.expediente-digital__item {
    counter-increment: exp;
    display: grid;
    grid-template-columns: 2.6rem 1fr;
    gap: 0.9rem;
    align-items: start;
    padding: 0.95rem 0.6rem 0.95rem 0.6rem;
    border-bottom: 1px solid rgba(200, 169, 126, 0.12);
    color: var(--color-text-secondary);
    font-size: 0.93rem;
    line-height: 1.6;
    border-radius: 6px;
    transition: background 0.3s ease;
}
.expediente-digital__item:last-child { border-bottom: none; }
.expediente-digital__item::before {
    content: counter(exp, decimal-leading-zero);
    font-family: var(--font-display), serif;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--color-gold-solid);
    letter-spacing: 1px;
    text-align: center;
}
.expediente-digital__item:hover { background: rgba(200, 169, 126, 0.045); }
.expediente-digital__item strong { color: #fff; }




.defensas-objecion-grid {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.1rem;
}
@media (min-width: 640px) {
    .defensas-objecion-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1000px) {
    .defensas-objecion-grid { grid-template-columns: repeat(3, 1fr); }
}
.defensa-objecion-card {
    position: relative;
    padding: 1.5rem 1.4rem 1.4rem;
    background: linear-gradient(155deg, rgba(30, 20, 20, 0.95) 0%, rgba(10, 7, 7, 0.98) 100%);
    border: 1px solid rgba(226, 87, 87, 0.18);
    border-left: 3px solid #e25757;
    border-radius: 10px;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.4s ease, box-shadow 0.4s ease;
}
.defensa-objecion-card:hover {
    transform: translateY(-4px);
    border-color: rgba(226, 87, 87, 0.45);
    border-left-color: #e25757;
    box-shadow: 0 20px 44px rgba(0, 0, 0, 0.55), 0 0 22px rgba(226, 87, 87, 0.14);
}
.defensa-objecion-card__icon {
    width: 40px;
    height: 40px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.8rem;
    background: radial-gradient(circle, rgba(226, 87, 87, 0.22) 0%, rgba(8, 6, 6, 0.85) 100%);
    border: 1px solid rgba(226, 87, 87, 0.4);
}
.defensa-objecion-card__icon svg { width: 18px; height: 18px; color: #e25757; }
.defensa-objecion-card__title {
    color: #f0d8d8;
    font-family: var(--font-display), serif;
    font-size: 1.02rem;
    margin: 0 0 0.5rem;
    line-height: 1.3;
    font-weight: 500;
}
.defensa-objecion-card__text {
    color: var(--color-text-secondary);
    font-size: 0.9rem;
    line-height: 1.55;
    margin: 0;
}
.defensa-objecion-card__text strong { color: #f5e8d3; }



.vias-ruta {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.4rem;
}
@media (min-width: 700px) {
    .vias-ruta { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1040px) {
    .vias-ruta { grid-template-columns: repeat(3, 1fr); }
}
.via-ruta-card {
    position: relative;
    padding: 1.6rem 1.5rem;
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-radius: 12px;
    transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.4s ease, box-shadow 0.4s ease;
}
.via-ruta-card:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.55), 0 0 24px rgba(200, 169, 126, 0.14);
}
.via-ruta-card__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    margin-bottom: 0.9rem;
    font-family: var(--font-display), serif;
    font-size: 1.1rem;
    font-weight: 600;
    color: #0a0a0c;
    background: linear-gradient(145deg, var(--color-gold-solid) 0%, #a8895f 100%);
    box-shadow: 0 0 0 4px rgba(8, 8, 10, 0.9), 0 0 16px rgba(200, 169, 126, 0.25);
}
.via-ruta-card__title {
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 1.05rem;
    margin: 0 0 0.5rem;
    line-height: 1.3;
    font-weight: 500;
}
.via-ruta-card__text {
    color: var(--color-text-secondary);
    font-size: 0.92rem;
    line-height: 1.55;
    margin: 0;
}
.via-ruta-card__text strong { color: #f5e8d3; }

.via-ruta-card::after {
    content: '\203A';
    position: absolute;
    top: 50%;
    right: -1.05rem;
    transform: translateY(-50%);
    font-size: 1.9rem;
    font-weight: 700;
    line-height: 1;
    color: rgba(200, 169, 126, 0.55);
    z-index: 3;
    display: none;
}
@media (min-width: 700px) {
    .via-ruta-card::after { display: block; }
    .via-ruta-card:nth-child(2n)::after,
    .via-ruta-card:last-child::after { display: none; }
}
@media (min-width: 1040px) {
    .via-ruta-card:nth-child(2n)::after { display: block; }
    .via-ruta-card:nth-child(3n)::after,
    .via-ruta-card:last-child::after { display: none; }
}



.header__submenu li.submenu-card::after {
    top: auto !important;
    bottom: 12px !important;
    right: 12px !important;
}



#matriz-operativa-reclamo .matriz-operativa-table {
    table-layout: fixed;
}
#matriz-operativa-reclamo .matriz-operativa-table th:nth-child(1),
#matriz-operativa-reclamo .matriz-operativa-table td:nth-child(1) { width: 16%; }
#matriz-operativa-reclamo .matriz-operativa-table th:nth-child(2),
#matriz-operativa-reclamo .matriz-operativa-table td:nth-child(2) { width: 27%; }
#matriz-operativa-reclamo .matriz-operativa-table th:nth-child(3),
#matriz-operativa-reclamo .matriz-operativa-table td:nth-child(3) { width: 30%; }
#matriz-operativa-reclamo .matriz-operativa-table th:nth-child(4),
#matriz-operativa-reclamo .matriz-operativa-table td:nth-child(4) { width: 27%; }

@media (max-width: 768px) {
  #matriz-operativa-reclamo .matriz-operativa-table td { width: auto !important; }
}


@media (min-width: 1024px) {
    #jurisdiccion-nautica .features-container {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1.5rem;
        align-items: stretch;
    }
}



.evidencia-grid {
    margin-top: 1.5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}
@media (min-width: 640px) { .evidencia-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .evidencia-grid { grid-template-columns: repeat(3, 1fr); } }
.evidencia-card {
    position: relative;
    padding: 1.3rem 1.2rem;
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 11px;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.4s ease, box-shadow 0.4s ease;
}
.evidencia-card:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5), 0 0 22px rgba(200, 169, 126, 0.13);
}
.evidencia-card__num {
    position: absolute;
    top: 0.7rem;
    right: 0.95rem;
    font-family: var(--font-display), serif;
    font-size: 1.7rem;
    color: rgba(200, 169, 126, 0.15);
    font-weight: 500;
    line-height: 1;
}
.evidencia-card__icon {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.7rem;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.22) 0%, rgba(8, 8, 10, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
}
.evidencia-card__icon svg { width: 17px; height: 17px; color: var(--color-gold-solid); }
.evidencia-card__title {
    position: relative;
    z-index: 1;
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 0.96rem;
    margin: 0 0 0.4rem;
    line-height: 1.3;
    font-weight: 500;
    padding-right: 1.6rem;
}
.evidencia-card__text {
    color: var(--color-text-secondary);
    font-size: 0.85rem;
    line-height: 1.5;
    margin: 0;
}
.evidencia-card__text strong { color: #f5e8d3; }

.comparativa__title {
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: 1.2rem;
    margin: 0 0 0.9rem;
    line-height: 1.3;
}
.comparativa__intro {
    color: var(--color-text-secondary);
    font-size: 0.93rem;
    line-height: 1.6;
    margin: 0 0 1rem;
}
.comparativa__list {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.comparativa__list:last-child { margin-bottom: 0; }
.comparativa__list li {
    position: relative;
    padding-left: 1.4rem;
    color: var(--color-text-secondary);
    font-size: 0.9rem;
    line-height: 1.55;
}
.comparativa__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-gold-solid);
}
.comparativa__list li strong { color: #f5e8d3; }
.comparativa__foco {
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.55;
    margin: 0;
    padding-top: 0.9rem;
    border-top: 1px solid rgba(200, 169, 126, 0.15);
}
.comparativa__foco strong { color: var(--color-gold-solid); }


.comparativa-vs {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.2rem;
    align-items: stretch;
}
@media (min-width: 880px) {
    .comparativa-vs { grid-template-columns: 1fr auto 1fr; gap: 0; }
}
.comparativa-vs__side {
    padding: 1.9rem 1.7rem;
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-radius: 14px;
}
.comparativa-vs__side--a { border-top: 3px solid var(--color-gold-solid); }
.comparativa-vs__side--b { border-top: 3px solid #8cb89a; }
.comparativa-vs__side--b .comparativa__title { color: #a8cdb4; }
.comparativa-vs__side--b .comparativa__list li::before { background: #8cb89a; }
.comparativa-vs__divider {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 1.2rem;
}
.comparativa-vs__divider span {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display), serif;
    font-weight: 700;
    font-size: 1.1rem;
    color: #0a0a0c;
    background: linear-gradient(145deg, var(--color-gold-solid) 0%, #a8895f 100%);
    box-shadow: 0 0 0 6px rgba(8, 8, 10, 0.92), 0 0 22px rgba(200, 169, 126, 0.3);
}


.comparativa-split {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.2rem;
}
@media (min-width: 880px) {
    .comparativa-split { grid-template-columns: 1fr 1fr; gap: 0; }
}
.comparativa-split__side {
    position: relative;
    padding: 2rem 1.8rem;
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-radius: 14px;
}
.comparativa-split__icon {
    width: 46px;
    height: 46px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.22) 0%, rgba(8, 8, 10, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
}
.comparativa-split__icon svg { width: 20px; height: 20px; color: var(--color-gold-solid); }
@media (min-width: 880px) {
    .comparativa-split__side--a {
        clip-path: polygon(0 0, 100% 0, calc(100% - 30px) 100%, 0 100%);
        padding-right: 3.6rem;
        border-radius: 14px 0 0 14px;
        z-index: 1;
    }
    .comparativa-split__side--b {
        clip-path: polygon(30px 0, 100% 0, 100% 100%, 0 100%);
        margin-left: -30px;
        padding-left: 3.6rem;
        border-radius: 0 14px 14px 0;
        border-left: 2px solid var(--color-gold-solid);
    }
}



.intro-nautico-pilares {
    list-style: none;
    margin: 0.6rem 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.7rem;
}
@media (min-width: 620px) { .intro-nautico-pilares { grid-template-columns: 1fr 1fr; } }
@media (min-width: 980px) { .intro-nautico-pilares { grid-template-columns: repeat(3, 1fr); } }
.intro-nautico-pilar {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.9rem 1rem;
    background: linear-gradient(150deg, rgba(40, 37, 33, 0.6) 0%, rgba(18, 17, 16, 0.6) 100%);
    border: 1px solid rgba(200, 169, 126, 0.16);
    border-left: 2px solid var(--color-gold-solid);
    border-radius: 8px;
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.5;
    transition: transform 0.3s ease, border-color 0.3s ease;
}
.intro-nautico-pilar:hover { transform: translateY(-2px); border-color: rgba(200, 169, 126, 0.4); }
.intro-nautico-pilar svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 0.15rem; color: var(--color-gold-solid); }


.analisis-grid-4 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.1rem;
}
@media (min-width: 560px) { .analisis-grid-4 { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1080px) { .analisis-grid-4 { grid-template-columns: repeat(4, 1fr); } }
.analisis-ficha {
    position: relative;
    padding: 1.5rem 1.3rem 1.3rem;
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.4s ease, box-shadow 0.4s ease;
}
.analisis-ficha::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 2px;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent);
    opacity: 0.5;
    transition: opacity 0.4s ease;
}
.analisis-ficha:hover {
    transform: translateY(-5px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 22px 46px rgba(0, 0, 0, 0.55), 0 0 24px rgba(200, 169, 126, 0.14);
}
.analisis-ficha:hover::before { opacity: 1; }
.analisis-ficha__top {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.7rem;
}
.analisis-ficha__num {
    font-family: var(--font-display), serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: rgba(200, 169, 126, 0.55);
    line-height: 1;
}
.analisis-ficha__icon {
    width: 34px; height: 34px;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.2) 0%, rgba(8, 8, 10, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
}
.analisis-ficha__icon svg { width: 15px; height: 15px; color: var(--color-gold-solid); }
.analisis-ficha__title {
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 1rem;
    margin: 0 0 0.45rem;
    line-height: 1.3;
    font-weight: 500;
}
.analisis-ficha__text {
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.55;
    margin: 0;
}


.bitacora-nautica {
    position: relative;
    max-width: 840px;
    margin: 0 auto;
}
.bitacora-item {
    position: relative;
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 1.2rem;
    padding-bottom: 1.5rem;
}
.bitacora-item:last-child { padding-bottom: 0; }
.bitacora-item::before {
    content: '';
    position: absolute;
    left: 22px;
    top: 48px;
    bottom: -2px;
    width: 2px;
    background: linear-gradient(180deg, rgba(200, 169, 126, 0.55), rgba(200, 169, 126, 0.08));
}
.bitacora-item:last-child::before { display: none; }
.bitacora-item__marker {
    position: relative;
    z-index: 1;
    width: 46px; height: 46px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--font-display), serif;
    font-size: 1.1rem; font-weight: 600;
    color: var(--color-gold-solid);
    background: radial-gradient(circle, rgba(200, 169, 126, 0.18) 0%, rgba(8, 8, 10, 0.95) 100%);
    border: 1px solid rgba(200, 169, 126, 0.45);
    box-shadow: 0 0 0 4px rgba(8, 8, 10, 0.95);
}
.bitacora-item__body {
    padding: 0.35rem 0 0;
    color: var(--color-text-secondary);
    font-size: 0.92rem;
    line-height: 1.6;
}
.bitacora-item__body strong { color: #fff; }


.defensas-nautico-cols {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.2rem;
}
@media (min-width: 880px) { .defensas-nautico-cols { grid-template-columns: repeat(3, 1fr); } }
.defensa-nautico-col {
    padding: 1.7rem 1.5rem;
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-top: 3px solid var(--color-gold-solid);
    border-radius: 12px;
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}
.defensa-nautico-col:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 46px rgba(0, 0, 0, 0.5), 0 0 22px rgba(200, 169, 126, 0.12);
}
.defensa-nautico-col__icon {
    width: 44px; height: 44px;
    border-radius: 11px;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 0.9rem;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.22) 0%, rgba(8, 8, 10, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
}
.defensa-nautico-col__icon svg { width: 19px; height: 19px; color: var(--color-gold-solid); }
.defensa-nautico-col__title {
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: 1.1rem;
    margin: 0 0 0.9rem;
    line-height: 1.3;
}
.defensa-nautico-col__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}
.defensa-nautico-col__list li {
    position: relative;
    padding-left: 1.4rem;
    color: var(--color-text-secondary);
    font-size: 0.9rem;
    line-height: 1.5;
}
.defensa-nautico-col__list li::before {
    content: '';
    position: absolute;
    left: 0; top: 0.5em;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--color-gold-solid);
}


.seguro-nautico-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.2rem;
}
@media (min-width: 620px) { .seguro-nautico-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .seguro-nautico-grid { grid-template-columns: repeat(3, 1fr); } }
.seguro-conflicto-card {
    position: relative;
    padding: 1.6rem 1.5rem 1.5rem;
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.2);
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.4s ease, box-shadow 0.4s ease;
}
.seguro-conflicto-card:hover {
    transform: translateY(-5px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.55), 0 0 24px rgba(200, 169, 126, 0.14);
}
.seguro-conflicto-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.8rem;
    margin-bottom: 0.9rem;
    border-radius: 999px;
    background: rgba(200, 169, 126, 0.13);
    border: 1px solid rgba(200, 169, 126, 0.4);
    font-family: var(--font-body);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
}
.seguro-conflicto-card__badge svg { width: 12px; height: 12px; }
.seguro-conflicto-card__title {
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 1.06rem;
    margin: 0 0 0.5rem;
    line-height: 1.3;
    font-weight: 500;
}
.seguro-conflicto-card__text {
    color: var(--color-text-secondary);
    font-size: 0.9rem;
    line-height: 1.55;
    margin: 0;
}


.ventajas-nautico-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.1rem;
}
@media (min-width: 560px) { .ventajas-nautico-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .ventajas-nautico-grid { grid-template-columns: repeat(4, 1fr); } }
.ventaja-nautico-card {
    position: relative;
    padding: 1.6rem 1.4rem 1.4rem;
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.4s ease, box-shadow 0.4s ease;
}
.ventaja-nautico-card:hover {
    transform: translateY(-5px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.55), 0 0 24px rgba(200, 169, 126, 0.14);
}
.ventaja-nautico-card__num {
    position: absolute;
    top: 0.5rem;
    right: 0.9rem;
    font-family: var(--font-display), serif;
    font-size: 3rem;
    color: rgba(200, 169, 126, 0.12);
    font-weight: 500;
    line-height: 1;
    z-index: 0;
    transition: color 0.4s ease;
}
.ventaja-nautico-card:hover .ventaja-nautico-card__num { color: rgba(200, 169, 126, 0.28); }
.ventaja-nautico-card__icon {
    position: relative;
    z-index: 1;
    width: 40px; height: 40px;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 0.8rem;
    background: radial-gradient(circle, rgba(200, 169, 126, 0.22) 0%, rgba(8, 8, 10, 0.85) 100%);
    border: 1px solid rgba(200, 169, 126, 0.4);
}
.ventaja-nautico-card__icon svg { width: 18px; height: 18px; color: var(--color-gold-solid); }
.ventaja-nautico-card__title {
    position: relative;
    z-index: 1;
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 1rem;
    margin: 0 0 0.45rem;
    line-height: 1.3;
    font-weight: 500;
    padding-right: 1.8rem;
}
.ventaja-nautico-card__text {
    position: relative;
    z-index: 1;
    color: var(--color-text-secondary);
    font-size: 0.87rem;
    line-height: 1.5;
    margin: 0;
}
.ventaja-nautico-card__text strong { color: #f5e8d3; }



.probatoria-step,
.bitacora-item {
    background: linear-gradient(155deg, rgba(42, 39, 35, 0.55) 0%, rgba(16, 15, 14, 0.62) 100%);
    -webkit-backdrop-filter: blur(9px);
    backdrop-filter: blur(9px);
    border: 1px solid rgba(200, 169, 126, 0.16);
    border-radius: 14px;
    padding: 1.35rem 1.5rem;
    margin-bottom: 1rem;
    transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
.probatoria-step:hover,
.bitacora-item:hover {
    transform: translateY(-2px);
    border-color: rgba(200, 169, 126, 0.4);
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.42);
}
.probatoria-step:last-child,
.bitacora-item:last-child { margin-bottom: 0; }
.probatoria-step::before,
.bitacora-item::before { display: none; }



@media (min-width: 992px) {

    .header__submenu .submenu-card .submenu-main-link::before {
        display: none !important;
    }

    .header__submenu .submenu-card .submenu-main-link {
        padding-right: 56px !important;
    }

    .header__submenu li.submenu-card::after {
        content: 'Ver' !important;
        top: 14px !important;
        right: 14px !important;
        bottom: auto !important;
        padding: 4px 11px 4px 12px !important;
        font-size: 0.62rem !important;
        letter-spacing: 0.1em !important;
    }
    .header__submenu .submenu-card:hover::after {
        transform: translateX(2px) scale(1.04) !important;
    }
}


.seguro-nautico-cta {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.85rem 1.5rem 0.85rem 1.4rem;
    color: var(--color-gold-solid);
    text-decoration: none;
    font-family: var(--font-display), serif;
    font-size: 0.92rem;
    letter-spacing: 0.02em;
    border: 1px solid rgba(200, 169, 126, 0.45);
    border-radius: 999px;
    background: linear-gradient(120deg, rgba(200, 169, 126, 0.06) 0%, rgba(200, 169, 126, 0.02) 100%);
    overflow: hidden;
    isolation: isolate;
    transition: color 0.4s ease, border-color 0.4s ease, transform 0.4s ease, box-shadow 0.4s ease;
}
.seguro-nautico-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(120deg, var(--color-gold-solid) 0%, #a8895f 100%);
    transform: translateX(-101%);
    transition: transform 0.45s cubic-bezier(0.65, 0, 0.35, 1);
}
.seguro-nautico-cta:hover {
    color: #0a0a0c;
    border-color: var(--color-gold-solid);
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.45), 0 0 22px rgba(200, 169, 126, 0.25);
}
.seguro-nautico-cta:hover::before { transform: translateX(0); }
.seguro-nautico-cta__dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1px solid currentColor;
    flex-shrink: 0;
}
.seguro-nautico-cta__dot svg { width: 11px; height: 11px; }
.seguro-nautico-cta__arrow {
    transition: transform 0.4s ease;
}
.seguro-nautico-cta:hover .seguro-nautico-cta__arrow { transform: translateX(4px); }


.intro-nautico-lista {
    list-style: none;
    margin: 0.8rem 0 0;
    padding: 0;
    max-width: 780px;
    counter-reset: inl;
}
.intro-nautico-lista__item {
    counter-increment: inl;
    display: grid;
    grid-template-columns: 2.6rem 1fr;
    gap: 1rem;
    align-items: center;
    padding: 1rem 0.4rem;
    border-bottom: 1px solid rgba(200, 169, 126, 0.13);
    color: var(--color-text-secondary);
    font-size: 0.93rem;
    line-height: 1.6;
    transition: background 0.3s ease;
}
.intro-nautico-lista__item:last-child { border-bottom: none; }
.intro-nautico-lista__item:hover { background: rgba(200, 169, 126, 0.04); }
.intro-nautico-lista__item::before {
    content: counter(inl, decimal-leading-zero);
    width: 2.4rem;
    height: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-family: var(--font-display), serif;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--color-gold-solid);
    background: radial-gradient(circle, rgba(200, 169, 126, 0.18) 0%, rgba(8, 8, 10, 0.9) 100%);
    border: 1px solid rgba(200, 169, 126, 0.45);
}
.intro-nautico-lista__item strong { color: #f5e8d3; }


.zonas-autopistas-premium {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 1.5rem;
}
@media (min-width: 640px) { .zonas-autopistas-premium { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .zonas-autopistas-premium { grid-template-columns: repeat(3, 1fr); } }
.zona-autopista-card {
    position: relative;
    padding: 1.4rem 1.3rem;
    background: linear-gradient(155deg, rgba(24, 24, 28, 0.95) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 11px;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), border-color 0.4s ease, box-shadow 0.4s ease;
}
.zona-autopista-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 2px;
    background: linear-gradient(90deg, transparent, var(--color-gold-solid), transparent);
    opacity: 0.5;
    transition: opacity 0.4s ease;
}
.zona-autopista-card:hover {
    transform: translateY(-4px);
    border-color: rgba(200, 169, 126, 0.5);
    box-shadow: 0 20px 42px rgba(0, 0, 0, 0.55), 0 0 22px rgba(200, 169, 126, 0.13);
}
.zona-autopista-card:hover::before { opacity: 1; }
.zona-autopista-card__title {
    color: #f5e8d3;
    font-family: var(--font-display), serif;
    font-size: 1.02rem;
    margin: 0 0 0.5rem;
    line-height: 1.3;
    font-weight: 500;
}
.zona-autopista-card__text {
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.55;
    margin: 0;
}
.zonas-partidos-premium {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.8rem;
    margin-top: 1.2rem;
}
@media (min-width: 560px) { .zonas-partidos-premium { grid-template-columns: 1fr 1fr; } }
@media (min-width: 900px) { .zonas-partidos-premium { grid-template-columns: repeat(3, 1fr); } }
.zona-partido-card {
    padding: 1.1rem 1.2rem;
    background: linear-gradient(150deg, rgba(40, 37, 33, 0.6) 0%, rgba(16, 15, 14, 0.62) 100%);
    border: 1px solid rgba(200, 169, 126, 0.16);
    border-left: 2px solid var(--color-gold-solid);
    border-radius: 9px;
    transition: transform 0.3s ease, border-color 0.3s ease;
}
.zona-partido-card:hover {
    transform: translateY(-2px);
    border-color: rgba(200, 169, 126, 0.4);
}
.zona-partido-card__title {
    color: var(--color-gold-solid);
    font-family: var(--font-display), serif;
    font-size: 0.98rem;
    margin: 0 0 0.4rem;
}
.zona-partido-card__text {
    color: var(--color-text-secondary);
    font-size: 0.85rem;
    line-height: 1.5;
    margin: 0;
}


.map-seo-hero__cta {
    position: relative;
    margin-top: clamp(3rem, 6vw, 4.5rem);
    padding: clamp(1.8rem, 4vw, 2.8rem) clamp(1.5rem, 4vw, 3rem);
    background:
        linear-gradient(135deg, rgba(200, 169, 126, 0.10) 0%, rgba(200, 169, 126, 0.02) 60%, rgba(0, 0, 0, 0) 100%),
        linear-gradient(180deg, rgba(20, 20, 24, 0.85) 0%, rgba(12, 12, 16, 0.95) 100%);
    border: 1px solid rgba(200, 169, 126, 0.28);
    border-radius: 18px;
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: clamp(1.4rem, 3vw, 2.4rem);
    overflow: hidden;
    isolation: isolate;
}

.map-seo-hero__cta-glow {
    position: absolute;
    inset: -40% -20% auto auto;
    width: 60%;
    height: 220%;
    background: radial-gradient(ellipse at center, rgba(200, 169, 126, 0.18) 0%, rgba(200, 169, 126, 0) 70%);
    pointer-events: none;
    z-index: 0;
    filter: blur(8px);
}
.map-seo-hero__cta-text {
    position: relative;
    z-index: 1;
}
.map-seo-hero__cta-eyebrow {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
    padding: 4px 12px;
    border: 1px solid rgba(200, 169, 126, 0.4);
    border-radius: 999px;
    background: rgba(200, 169, 126, 0.08);
    margin-bottom: 0.85rem;
}
.map-seo-hero__cta-title {
    font-family: var(--font-display), serif;
    font-size: clamp(1.35rem, 2.6vw, 1.85rem);
    line-height: 1.25;
    color: #f5e8d3;
    margin: 0 0 0.7rem 0;
    letter-spacing: -0.005em;
}
.map-seo-hero__cta-desc {
    font-family: var(--font-body);
    font-size: clamp(0.93rem, 1.4vw, 1rem);
    line-height: 1.6;
    text-align: justify;
    color: rgba(255, 255, 255, 0.72);
    margin: 0;
    /* escritorio: la descripcion ocupa todo el ancho de la tarjeta (antes 56ch) */
    max-width: 100%;
}
.map-seo-hero__cta-actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    align-items: center;
}
.map-seo-hero__cta-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.85rem 1.6rem;
    font-family: var(--font-display), serif;
    font-size: 0.95rem;
    letter-spacing: 0.015em;
    text-decoration: none;
    border-radius: 999px;
    transition: transform 0.35s ease, box-shadow 0.35s ease, color 0.35s ease, background 0.35s ease, border-color 0.35s ease;
    white-space: nowrap;
}
.map-seo-hero__cta-btn svg { width: 1em; height: 1em; flex: 0 0 auto; }
.map-seo-hero__cta-btn--primary {
    color: #0b0b0d;
    background: linear-gradient(135deg, #e0c79a 0%, var(--color-gold-solid) 50%, #a98859 100%);
    border: 1px solid rgba(200, 169, 126, 0.6);
    box-shadow: 0 12px 28px rgba(200, 169, 126, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}
.map-seo-hero__cta-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(200, 169, 126, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.45);
}
.map-seo-hero__cta-btn--secondary {
    color: var(--color-gold-solid);
    background: transparent;
    border: 1px solid rgba(200, 169, 126, 0.45);
}
.map-seo-hero__cta-btn--secondary:hover {
    color: #f5e8d3;
    background: rgba(200, 169, 126, 0.10);
    border-color: var(--color-gold-solid);
    transform: translateY(-2px);
}



@media (min-width: 992px) {
    #tipos-incapacidad .features-container,
    #principales-reclamos .features-container {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: clamp(14px, 1.6vw, 22px);
    }
    #tipos-incapacidad .feature-box,
    #principales-reclamos .feature-box {
        min-width: 0;
    }
    #tipos-incapacidad .feature-box__text,
    #principales-reclamos .feature-box__text {
        font-size: 0.92rem;
        line-height: 1.6;
    }
}
@media (min-width: 1100px) {
    #tipos-incapacidad .feature-box__text,
    #principales-reclamos .feature-box__text { font-size: 0.95rem; }
}


#diferenciales-seo-gba > .container > .reveal-up:nth-of-type(1) {

    margin-top: clamp(3rem, 6vw, 4.5rem) !important;
    gap: clamp(20px, 3vw, 32px) !important;
    padding-left: clamp(0px, 2vw, 16px);
    padding-right: clamp(0px, 2vw, 16px);
}
#diferenciales-seo-gba .diferenciales-value-grid {
    margin-top: clamp(3rem, 6vw, 4.5rem) !important;
    gap: clamp(20px, 2.6vw, 32px);
}
#diferenciales-seo-gba .diferenciales-value-card {
    padding: clamp(28px, 3vw, 38px) clamp(24px, 2.5vw, 32px);
}
#diferenciales-seo-gba .diferenciales-coverage {
    margin-top: clamp(3rem, 6vw, 4.5rem) !important;
    padding: clamp(32px, 3.5vw, 44px) clamp(24px, 3vw, 38px);
}
#diferenciales-seo-gba .diferenciales-coverage__eyebrow {
    margin-bottom: clamp(18px, 2vw, 26px);
}
#diferenciales-seo-gba .diferenciales-coverage__pills {
    gap: 10px 12px;
}
#diferenciales-seo-gba .diferenciales-coverage__pills li {
    padding: 8px 16px;
    font-size: 0.85rem;
}
#diferenciales-seo-gba .diferenciales-promise {
    margin-top: clamp(3rem, 6vw, 4.5rem) !important;
}
#diferenciales-seo-gba .diferenciales-promise__items {
    gap: 16px 32px;
    margin-bottom: clamp(1.75rem, 2.4vw, 2.4rem);
}
#diferenciales-seo-gba .diferenciales-promise__item {
    font-size: 0.95rem;
}


.hero-parent-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 3px 10px 3px 8px;
    margin: 0.5rem 0 0.8rem;
    font-family: var(--font-body);
    font-size: 0.68rem;
    letter-spacing: 0.04em;
    color: var(--color-gold-solid);
    text-decoration: none;
    border: 1px solid rgba(200, 169, 126, 0.32);
    border-radius: 999px;
    background: linear-gradient(120deg, rgba(200, 169, 126, 0.10), rgba(200, 169, 126, 0.02));
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: transform 0.35s ease, border-color 0.35s ease, color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
    width: -moz-fit-content;
    width: fit-content;
    line-height: 1.2;
}
.hero-parent-pill__arrow {
    flex: 0 0 auto;
    width: 0.7em;
    height: 0.7em;
    transition: transform 0.35s ease;
    opacity: 0.85;
}
.hero-parent-pill__eyebrow {
    font-size: 0.58rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(245, 232, 211, 0.7);
}
.hero-parent-pill__title {
    font-family: var(--font-display), serif;
    font-size: 0.78rem;
    letter-spacing: 0.005em;
    color: #f5e8d3;
}
@media (max-width: 640px) {

    .hero-parent-pill { padding: 3px 9px 3px 7px; gap: 0.35rem; }
    .hero-parent-pill__eyebrow { display: none; }
    .hero-parent-pill__title { font-size: 0.72rem; }
    .hero-parent-pill__arrow { width: 0.65em; height: 0.65em; }
}
.hero-parent-pill:hover {
    transform: translateX(-3px);
    border-color: var(--color-gold-solid);
    background: linear-gradient(120deg, rgba(200, 169, 126, 0.20), rgba(200, 169, 126, 0.06));
    box-shadow: 0 10px 26px rgba(200, 169, 126, 0.18);
}
.hero-parent-pill:hover .hero-parent-pill__arrow { transform: translateX(-2px); }
.hero-parent-pill:hover .hero-parent-pill__title { color: #fff; }


.parent-back-card-section {
    padding: clamp(2.5rem, 5vw, 4rem) 0;
    background: var(--color-deep-black, #0a0a0c);
}
.parent-back-card {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.4rem, 3vw, 2.4rem);
    align-items: center;
    padding: clamp(1.8rem, 4vw, 2.8rem) clamp(1.5rem, 4vw, 3rem);
    background:
        linear-gradient(135deg, rgba(200, 169, 126, 0.10) 0%, rgba(200, 169, 126, 0.02) 60%, rgba(0, 0, 0, 0) 100%),
        linear-gradient(180deg, rgba(20, 20, 24, 0.85) 0%, rgba(12, 12, 16, 0.95) 100%);
    border: 1px solid rgba(200, 169, 126, 0.26);
    border-radius: 16px;
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    overflow: hidden;
    isolation: isolate;
}
@media (min-width: 880px) {
    .parent-back-card { grid-template-columns: minmax(0, 1.6fr) auto; }
}
.parent-back-card__glow {
    position: absolute;
    inset: -50% -20% auto auto;
    width: 60%;
    height: 230%;
    background: radial-gradient(ellipse at center, rgba(200, 169, 126, 0.18) 0%, rgba(200, 169, 126, 0) 70%);
    pointer-events: none;
    z-index: 0;
    filter: blur(8px);
}
.parent-back-card__body {
    position: relative;
    z-index: 1;
}
.parent-back-card__eyebrow {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
    padding: 4px 12px;
    border: 1px solid rgba(200, 169, 126, 0.38);
    border-radius: 999px;
    background: rgba(200, 169, 126, 0.08);
    margin-bottom: 0.85rem;
}
.parent-back-card__title {
    font-family: var(--font-display), serif;
    font-size: clamp(1.35rem, 2.6vw, 1.8rem);
    line-height: 1.25;
    color: #f5e8d3;
    margin: 0 0 0.6rem 0;
    letter-spacing: -0.005em;
}
.parent-back-card__desc {
    font-family: var(--font-body);
    font-size: clamp(0.92rem, 1.4vw, 1rem);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
    max-width: 60ch;
}
.parent-back-card__cta {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.85rem 1.6rem;
    color: var(--color-gold-solid);
    text-decoration: none;
    font-family: var(--font-display), serif;
    font-size: 0.95rem;
    letter-spacing: 0.015em;
    background: transparent;
    border: 1px solid rgba(200, 169, 126, 0.45);
    border-radius: 999px;
    transition: transform 0.35s ease, color 0.35s ease, background 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
    white-space: nowrap;
}
.parent-back-card__cta svg { width: 1em; height: 1em; flex: 0 0 auto; transition: transform 0.35s ease; }
.parent-back-card__cta:hover {
    transform: translateY(-2px);
    color: #0b0b0d;
    background: linear-gradient(135deg, #e0c79a 0%, var(--color-gold-solid) 50%, #a98859 100%);
    border-color: rgba(200, 169, 126, 0.6);
    box-shadow: 0 14px 32px rgba(200, 169, 126, 0.26);
}
.parent-back-card__cta:hover svg { transform: translateX(3px); }


section[data-zone-section="editorial"],
section[data-zone-section="faq"] {
    position: relative;
    
    margin-bottom: clamp(2.5rem, 5vw, 4.5rem) !important;
}



section[data-zone-section="editorial"] .seo-premium-card {
    border-top-color: transparent !important;
}


section[data-zone-section="editorial"] > .container {
    position: relative;
    z-index: 2;
}
section[data-zone-section="editorial"] > .container::before {
    content: '';
    position: absolute;
    top: clamp(-90px, -8vw, -40px);
    left: 50%;
    transform: translateX(-50%);
    width: clamp(320px, 55vw, 720px);
    height: clamp(200px, 25vw, 280px);
    background: radial-gradient(ellipse, rgba(200, 169, 126, 0.14) 0%, rgba(200, 169, 126, 0) 70%);
    pointer-events: none;
    z-index: 0;
    filter: blur(6px);
}


section[data-zone-section="editorial"] .section-overline,
section[data-zone-section="faq"] .section-overline {
    text-transform: none !important;
    letter-spacing: 0.18em !important;
    font-size: 0.78rem !important;
    color: var(--color-gold-solid) !important;
    font-weight: 500 !important;
    font-family: var(--font-body) !important;
}


section[data-zone-section="editorial"] .section-title,
section[data-zone-section="faq"] .section-title {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    margin-top: clamp(0.7rem, 1.2vw, 1rem);
    line-height: 1.18;
}


section[data-zone-section="editorial"] .service-editorial {
    max-width: 920px;
    margin: clamp(1.5rem, 3vw, 2.5rem) auto 0;
    position: relative;
    z-index: 2;
}
section[data-zone-section="editorial"] .service-editorial p {
    margin-bottom: clamp(1.1rem, 2vw, 1.6rem);
}
section[data-zone-section="editorial"] .service-editorial p:last-child { margin-bottom: 0; }
section[data-zone-section="editorial"] .service-editorial p.lead {
    font-size: clamp(1.02rem, 1.6vw, 1.18rem);
    line-height: 1.7;
    color: rgba(245, 232, 211, 0.95);
    text-align: justify;
}


@media (min-width: 993px) {
    section[data-zone-section="faq"] .tipos-accidentes-layout {
        display: block !important;
        max-width: 920px !important;
        margin: 0 auto !important;
        grid-template-columns: none !important;
    }
}
section[data-zone-section="faq"] .tipos-accidentes-layout > .faq-accordion {
    max-width: 920px;
    margin: 0 auto;
}



.casos-sin-media .tipos-accidentes-sticky { display: none !important; }
.casos-sin-media .faq-item__mobile-photo { display: none !important; }
@media (min-width: 993px) {
    .casos-sin-media .tipos-accidentes-layout {
        display: block !important;
        max-width: 920px !important;
        margin: 0 auto !important;
        grid-template-columns: none !important;
    }
}
.casos-sin-media .tipos-accidentes-layout > .faq-accordion {
    max-width: 920px;
    margin: 0 auto;
}


section[data-zone-section="faq"] .section-subtitle {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}


section[data-zone-section="faq"] .section-header {
    margin-bottom: clamp(2rem, 4vw, 3rem);
}



.map-seo-hero__rotator {
    position: relative;
    margin: 0 auto clamp(1.8rem, 3vw, 2.6rem);
    padding: clamp(1.2rem, 2.5vw, 1.8rem) clamp(1rem, 2vw, 1.8rem);
    max-width: 880px;
    border: 1px solid rgba(200, 169, 126, 0.18);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(200, 169, 126, 0.06) 0%, rgba(200, 169, 126, 0.01) 70%, transparent 100%);

    
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.map-seo-hero__rotator .hero__list-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
}
.map-seo-hero__rotator-eyebrow {
    display: block;
    font-family: var(--font-body);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--color-gold-solid);
    margin-bottom: 0.9rem;
    font-weight: 500;
}
.map-seo-hero__rotator .hero__list-wrapper {
    margin-top: 0;
    min-height: 2.2em;
}
.map-seo-hero__rotator .hero__list li {
    font-size: clamp(0.95rem, 1.6vw, 1.15rem);
    font-family: var(--font-display), serif;
    color: #f5e8d3;
    text-shadow: none;
}
.map-seo-hero__rotator .hero__list li svg {
    color: var(--color-gold-solid);
    margin-right: 0.5rem;
    width: 1.1em;
    height: 1.1em;
    vertical-align: -0.15em;
}



#ubicacion .contact-info-map {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.6rem, 3.5vw, 2.8rem);
    margin-top: clamp(2rem, 4vw, 3rem);
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
@media (min-width: 880px) {
    #ubicacion .contact-info-map {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
        align-items: start;
    }
}


#ubicacion .address-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: clamp(0.85rem, 1.6vw, 1.2rem);
}
#ubicacion .address-list li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(0.9rem, 2vw, 1.3rem);
    align-items: start;
    padding: clamp(1.05rem, 2vw, 1.4rem) clamp(1.1rem, 2vw, 1.5rem);
    border: 1px solid rgba(200, 169, 126, 0.16);
    border-radius: 12px;
    background:
        linear-gradient(140deg, rgba(200, 169, 126, 0.07) 0%, rgba(200, 169, 126, 0.015) 55%, rgba(0, 0, 0, 0) 100%),
        linear-gradient(180deg, rgba(20, 20, 24, 0.55) 0%, rgba(12, 12, 16, 0.7) 100%);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.03);
    transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
    position: relative;
    isolation: isolate;
}
#ubicacion .address-list li:hover {
    transform: translateY(-2px);
    border-color: rgba(200, 169, 126, 0.42);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(200, 169, 126, 0.18) inset;
}


#ubicacion .address-list li > svg {
    width: 1.05em;
    height: 1.05em;
    font-size: 1.15rem;
    flex: 0 0 auto;
    color: var(--color-gold-solid);
    padding: 0.55rem;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(200, 169, 126, 0.18) 0%, rgba(200, 169, 126, 0.04) 70%);
    border: 1px solid rgba(200, 169, 126, 0.32);
    box-sizing: content-box;
    transition: transform 0.35s ease, border-color 0.35s ease, background 0.35s ease;
}
#ubicacion .address-list li:hover > svg {
    transform: scale(1.06);
    border-color: var(--color-gold-solid);
    background: radial-gradient(ellipse at center, rgba(200, 169, 126, 0.28) 0%, rgba(200, 169, 126, 0.06) 70%);
}


#ubicacion .address-list li > div {
    font-family: var(--font-body);
    font-size: clamp(0.93rem, 1.45vw, 1.02rem);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.72);
}
#ubicacion .address-list li > div strong {
    display: block;
    margin-bottom: 0.3rem;
    font-family: var(--font-display), serif;
    font-size: clamp(1rem, 1.6vw, 1.12rem);
    color: #f5e8d3;
    letter-spacing: 0.005em;
    font-weight: 500;
}


#ubicacion .btn-inline-wa {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: 0.65rem;
    padding: 0.55rem 1.05rem;
    color: var(--color-gold-solid);
    text-decoration: none;
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.015em;
    border: 1px solid rgba(200, 169, 126, 0.45);
    border-radius: 999px;
    background: rgba(200, 169, 126, 0.06);
    transition: transform 0.35s ease, color 0.35s ease, background 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
    white-space: nowrap;
}
#ubicacion .btn-inline-wa svg {
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
}
#ubicacion .btn-inline-wa:hover {
    transform: translateY(-2px);
    color: #0b0b0d;
    background: linear-gradient(135deg, #e0c79a 0%, var(--color-gold-solid) 50%, #a98859 100%);
    border-color: rgba(200, 169, 126, 0.6);
    box-shadow: 0 12px 26px rgba(200, 169, 126, 0.22);
}


#ubicacion .contact-map-wrapper {
    position: relative;
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(200, 169, 126, 0.32);
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.5),
                0 0 0 1px rgba(200, 169, 126, 0.08) inset,
                0 0 36px rgba(200, 169, 126, 0.08);
    aspect-ratio: 4 / 3;
    background: rgba(8, 8, 10, 0.96);
    isolation: isolate;
}
#ubicacion .contact-map-wrapper iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    filter: grayscale(15%) contrast(1.05) brightness(0.95);
    transition: filter 0.4s ease;
}
#ubicacion .contact-map-wrapper:hover iframe {
    filter: grayscale(0%) contrast(1.1) brightness(1);
}

#ubicacion .contact-map-wrapper::before {
    content: 'Crisólogo Larralde 1109 · Morón';
    position: absolute;
    left: 0.75rem;
    bottom: 0.75rem;
    z-index: 2;
    padding: 0.5rem 0.9rem 0.5rem 0.75rem;
    background: linear-gradient(135deg, rgba(15, 15, 18, 0.96) 0%, rgba(6, 6, 8, 0.98) 100%);
    border: 1px solid rgba(200, 169, 126, 0.45);
    border-radius: 8px;
    color: #f5e8d3;
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.5);
    pointer-events: none;
    max-width: calc(100% - 1.5rem);
}
#ubicacion .contact-map-wrapper::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: 14px;
    box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.45);
    z-index: 1;
}


@media (min-width: 980px) {
    #ubicacion .contact-map-wrapper {
        position: sticky;
        top: clamp(1.5rem, 4vw, 2.5rem);
        aspect-ratio: 5 / 6;
    }
}


@media (max-width: 640px) {
    #ubicacion .contact-map-wrapper {
        aspect-ratio: 5 / 4;
    }
    #ubicacion .contact-map-wrapper::before {
        font-size: 0.7rem;
        padding: 0.4rem 0.7rem;
    }
    #ubicacion .address-list li {
        padding: 0.95rem 1rem;
    }
}



@media (max-width: 991px) {
    .header__submenu .submenu-card {
        position: relative !important;
    }

    .header__submenu .submenu-card:not(.submenu-item-all) .submenu-main-link::before {
        display: none !important;
    }

    .header__submenu li.submenu-card::after {
        content: 'Ver' !important;
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        padding: 2px 8px 2px 9px !important;
        font-family: var(--font-body) !important;
        font-size: 0.55rem !important;
        font-weight: 600 !important;
        letter-spacing: 0.1em !important;
        text-transform: uppercase !important;
        color: var(--color-gold-solid) !important;
        background: rgba(200, 169, 126, 0.08) !important;
        border: 1px solid rgba(200, 169, 126, 0.32) !important;
        border-radius: 999px !important;
        opacity: 0.8 !important;
        pointer-events: none !important;
        z-index: 2 !important;
        line-height: 1.6 !important;
    }

    .header__submenu .submenu-card .submenu-main-link {
        padding-right: 48px !important;
    }
}




.practice-tags li .practice-tag-link {
    display: block;
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none;

    font: inherit;
    letter-spacing: inherit;
}
.practice-tags li {
    position: relative;
    cursor: pointer;
}
.practice-tags li::after {

    
    pointer-events: none;
}
.practice-tags li:hover .practice-tag-link,
.practice-tags li:focus-within .practice-tag-link {
    color: inherit;
}
.practice-tags li .practice-tag-link:focus-visible {
    outline: 2px solid var(--color-gold-solid);
    outline-offset: 2px;
    border-radius: 2px;
}



.bg-charcoal > .legal-split-bg,
.bg-charcoal .legal-split-bg {
    display: none !important;
}



@media (max-width: 991px) {
    #pagina-accidentes-generales section#marco-normativo .editorial-concept-grid,
    #pagina-eventos-masivos-espectaculos section#marco-normativo .editorial-concept-grid,
    #pagina-espacios-privados-comerciales section#marco-normativo .editorial-concept-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
}



@supports (height: 100svh) {
    .faq-toc-edge__handle {
        top: 50svh !important;
    }
}



.btn-ver {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0.7rem 0 0.9rem;
    padding: 0.45rem 1rem;
    background: rgba(200, 169, 126, 0.08);
    border: 1px solid rgba(200, 169, 126, 0.32);
    border-radius: 999px;
    color: var(--color-gold-solid);
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    -webkit-tap-highlight-color: transparent;
}
.btn-ver:hover,
.btn-ver:focus-visible {
    background: rgba(200, 169, 126, 0.18);
    border-color: var(--color-gold-solid);
    color: #f5e8d3;
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(200, 169, 126, 0.18);
    outline: none;
}
.btn-ver__icon {
    width: 0.85em;
    height: 0.85em;
    flex: 0 0 auto;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-ver[aria-expanded="true"] .btn-ver__icon {
    transform: rotate(180deg);
}

.btn-ver[aria-expanded="false"] .btn-ver__label-hide,
.btn-ver[aria-expanded="true"] .btn-ver__label-show {
    display: none;
}



.btn-ver--show-only[aria-expanded="true"] {
    display: none;
}
.btn-ver--hide-only {
    margin-top: 0.8rem;
}
.btn-ver--hide-only .btn-ver__icon {
    transform: rotate(180deg);
}


.why-tags-collapse.is-collapsed,
.practice-desc-collapse.is-collapsed {
    display: none;
}
.why-tags-collapse,
.practice-desc-collapse {
    animation: btnVerFadeIn 0.35s ease;
}
@keyframes btnVerFadeIn {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}



@media (max-width: 480px) {
    .hero__title {
        font-size: clamp(1.65rem, 6.8vw, 2.35rem) !important;
        line-height: 1.18 !important;
        letter-spacing: -0.015em !important;
        margin-bottom: 14px !important;
        word-break: normal;
        overflow-wrap: break-word;
        hyphens: none;
    }
    .hero__title--white,
    .hero__title--gold {
        font-size: inherit !important;
        line-height: 1.2 !important;
    }
    .hero__overline {
        font-size: clamp(0.62rem, 2.4vw, 0.72rem) !important;
        letter-spacing: 0.14em !important;
        margin-bottom: 10px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
    .hero__content {
        padding: 72px 14px 44px !important;
        gap: 0 !important;
    }
    .hero__editorial {
        margin-top: 6px !important;
    }
    .hero__subtitle {
        font-size: clamp(0.85rem, 3.4vw, 1rem) !important;
        line-height: 1.45 !important;
    }
    .hero__highlight {
        padding: 14px 14px 16px !important;
        margin-top: 14px !important;
        border-radius: 14px !important;
    }
    .highlight-lead {
        font-size: clamp(0.92rem, 3.6vw, 1.05rem) !important;
        line-height: 1.35 !important;
        margin-bottom: 8px !important;
    }
    .highlight-body {
        font-size: clamp(0.82rem, 3vw, 0.92rem) !important;
        line-height: 1.5 !important;
    }
    .hero-parent-pill {
        font-size: clamp(0.62rem, 2.4vw, 0.72rem) !important;
        padding: 5px 12px !important;
        margin-bottom: 10px !important;
    }
}



@media (max-width: 380px) and (max-height: 700px) {
    .hero__title {
        font-size: clamp(1.45rem, 6.4vw, 1.95rem) !important;
        line-height: 1.16 !important;
        margin-bottom: 10px !important;
    }
    .hero__overline {
        font-size: 0.6rem !important;
        margin-bottom: 8px !important;
    }
    .hero__content {
        padding: 60px 12px 36px !important;
    }
    .hero__highlight {
        padding: 12px 12px 14px !important;
        margin-top: 10px !important;
    }
    .highlight-lead {
        font-size: 0.92rem !important;
        margin-bottom: 6px !important;
    }
    .highlight-body {
        font-size: 0.8rem !important;
        line-height: 1.45 !important;
    }
    .hero__subtitle {
        font-size: 0.85rem !important;
        line-height: 1.42 !important;
    }
    .hero-parent-pill {
        font-size: 0.6rem !important;
        padding: 4px 10px !important;
    }

    .scroll-indicator-position {
        display: none !important;
    }
}


@media (max-width: 340px) {
    .hero__title {
        font-size: 1.35rem !important;
    }
    .hero__content {
        padding: 56px 10px 32px !important;
    }
}




@media (max-width: 768px) {
    .map-seo-hero__cta {
        margin-top: clamp(2rem, 5vw, 3rem);
        padding: clamp(1.4rem, 4.5vw, 1.9rem) clamp(1.2rem, 4.5vw, 1.6rem);
        border-radius: 14px;
        gap: 1.2rem;
    }
    .map-seo-hero__cta-eyebrow {
        font-size: 0.66rem;
        letter-spacing: 0.14em;
        padding: 3px 10px;
        margin-bottom: 0.6rem;
    }
    .map-seo-hero__cta-title {
        font-size: clamp(1.15rem, 4.5vw, 1.5rem);
        line-height: 1.25;
        margin-bottom: 0.55rem;
    }
    .map-seo-hero__cta-desc {
        font-size: clamp(0.85rem, 3.2vw, 0.95rem);
        line-height: 1.55;
    }
    .map-seo-hero__cta-actions {
        gap: 0.6rem;
        flex-direction: column;
        align-items: stretch;
    }
    .map-seo-hero__cta-btn {
        padding: 0.75rem 1.1rem;
        font-size: 0.88rem;
        justify-content: center;
        width: 100%;
        gap: 0.5rem;
        white-space: normal;
        text-align: center;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }
}


@media (max-width: 480px) {
    .map-seo-hero__cta {
        margin-top: 2rem;
        padding: 1.2rem 1rem 1.3rem;
        border-radius: 12px;
        gap: 1rem;
    }
    .map-seo-hero__cta-glow {
        inset: -30% -10% auto auto;
        width: 80%;
    }
    .map-seo-hero__cta-eyebrow {
        font-size: 0.62rem;
        padding: 3px 9px;
        margin-bottom: 0.5rem;
    }
    .map-seo-hero__cta-title {
        font-size: clamp(1.05rem, 5vw, 1.3rem);
        line-height: 1.22;
    }
    .map-seo-hero__cta-desc {
        font-size: 0.85rem;
        line-height: 1.5;
    }
    .map-seo-hero__cta-btn {
        padding: 0.72rem 1rem;
        font-size: 0.82rem;
        letter-spacing: 0.01em;
    }
}


@media (max-width: 340px) {
    .map-seo-hero__cta {
        padding: 1rem 0.85rem 1.15rem;
    }
    .map-seo-hero__cta-title {
        font-size: 1rem;
    }
    .map-seo-hero__cta-desc {
        font-size: 0.8rem;
    }
    .map-seo-hero__cta-btn {
        padding: 0.65rem 0.85rem;
        font-size: 0.78rem;
    }
}




@media (max-width: 480px) {
    .practice-card__actions {
        flex-direction: row !important;
        align-items: stretch !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        gap: 0.55rem !important;
        margin-top: 1.1rem !important;
        padding-top: 0.9rem !important;
        border-top: 1px solid rgba(200, 169, 126, 0.18);
    }
    .practice-card__actions .practice-card__btn,
    .practice-card__actions .practice-card__btn--consult {
        align-self: stretch !important;
        flex: 1 1 0 !important;
        min-width: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.45rem !important;
        padding: 0.7rem 0.6rem !important;
        font-size: 0.72rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.06em !important;
        text-transform: uppercase !important;
        border-radius: 999px !important;
        text-decoration: none !important;
        min-height: 42px !important;
        line-height: 1 !important;
        transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease, border-color 0.3s ease, color 0.3s ease !important;
        white-space: nowrap !important;
    }

    .practice-card__actions .practice-card__btn:not(.practice-card__btn--consult) {
        color: #f5e8d3 !important;
        background: rgba(200, 169, 126, 0.06) !important;
        border: 1px solid rgba(200, 169, 126, 0.4) !important;
    }
    .practice-card__actions .practice-card__btn:not(.practice-card__btn--consult)::after {
        display: none !important;
    }
    .practice-card__actions .practice-card__btn:not(.practice-card__btn--consult) .btn-icon svg {
        color: var(--color-gold-solid) !important;
        font-size: 0.85rem !important;
        transition: transform 0.3s ease !important;
    }
    .practice-card__actions .practice-card__btn:not(.practice-card__btn--consult):active {
        transform: scale(0.98);
        background: rgba(200, 169, 126, 0.14) !important;
        border-color: var(--color-gold-solid) !important;
    }

    .practice-card__actions .practice-card__btn--consult {
        color: #0b0b0d !important;
        background: linear-gradient(135deg, #e0c79a 0%, var(--color-gold-solid) 50%, #b39260 100%) !important;
        border: 1px solid rgba(200, 169, 126, 0.6) !important;
        box-shadow: 0 6px 16px rgba(200, 169, 126, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
    }
    .practice-card__actions .practice-card__btn--consult::after {
        display: none !important;
    }
    .practice-card__actions .practice-card__btn--consult .btn-icon {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 1.05rem !important;
        height: 1.05rem !important;
    }
    .practice-card__actions .practice-card__btn--consult .btn-icon svg {
        color: #128C7E !important; 
        
        font-size: 1.05rem !important;
        width: 1.05rem !important;
        height: 1.05rem !important;
        transform: none !important;
        transition: transform 0.3s ease !important;
    }
    .practice-card__actions .practice-card__btn--consult:active {
        transform: scale(0.98) !important;
        box-shadow: 0 4px 10px rgba(200, 169, 126, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
    }

    /* tap (hover pegajoso) en movil: cada boton mantiene su color propio.
       'inherit' tomaba el color claro de la tarjeta y dejaba el texto blanco
       sobre la pastilla dorada del Consultar. */
    .practice-card:hover .practice-card__btn--consult {
        color: #0b0b0d !important;
    }
    .practice-card:hover .practice-card__btn:not(.practice-card__btn--consult) {
        color: #f5e8d3 !important;
    }
    .practice-card:hover .practice-card__btn--consult .btn-icon svg {
        color: #128C7E !important;
        transform: scale(1.06) !important;
    }
}



@media (max-width: 991px) {
    body:has(#marco-normativo) #marco-normativo .editorial-concept-grid,
    .editorial-premium-box .editorial-concept-grid,
    .editorial-concept-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
}



@media (min-width: 1200px) {
    .casos-tomamos-premium {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 1rem !important;
    }
}


.caso-toma-card {
    padding: 1.6rem 1.25rem 1.45rem !important;
    background:
        radial-gradient(125% 85% at 50% 0%, rgba(200, 169, 126, 0.08) 0%, transparent 55%),
        linear-gradient(165deg, rgba(28, 28, 33, 0.97) 0%, rgba(8, 8, 11, 0.99) 100%) !important;
    border: 1px solid rgba(200, 169, 126, 0.16) !important;
    border-radius: 14px !important;
}
.caso-toma-card::before {
    height: 2.5px !important;
}


.caso-toma-card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(200, 169, 126, 0.55) !important;
    box-shadow: 0 26px 54px rgba(0, 0, 0, 0.6), 0 0 32px rgba(200, 169, 126, 0.2) !important;
}


.caso-toma-card__num {
    font-size: 3rem !important;
    top: 0.6rem !important;
    right: 0.9rem !important;
    transition: color 0.45s ease, transform 0.45s ease !important;
}
.caso-toma-card:hover .caso-toma-card__num {
    color: rgba(200, 169, 126, 0.4) !important;
    transform: scale(1.08) translateY(-2px) !important;
}


.caso-toma-card__title {
    font-size: 1.02rem !important;
    line-height: 1.32 !important;
    color: #f5e8d3 !important;
    padding-bottom: 0.65rem !important;
    margin-bottom: 0.7rem !important;
}
.caso-toma-card__title::after {
    content: '';
    display: block;
    width: 26px;
    height: 2px;
    margin-top: 0.55rem;
    background: linear-gradient(90deg, var(--color-gold-solid), transparent);
    transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.caso-toma-card:hover .caso-toma-card__title::after {
    width: 48px;
}



.atlas-silueta__svg [data-zone-dot].is-zone-active .zone-label {
    pointer-events: auto;
    cursor: pointer;
}


@media (hover: none) {
    .atlas-silueta__svg [data-zone-dot].is-zone-active .zone-label {
        font-size: 11px;
        font-weight: 600;
    }
}



.highlight-lead {
    margin-top: 1.4rem;
}


@media (max-width: 768px) {
    .hero__highlight .highlight-body {
        line-height: 1.3 !important;
    }
    .hero__highlight .highlight-body .text-gold,
    #pagina-accidente-laboral .hero__highlight .highlight-body .text-gold,
    #pagina-accidente-nautico .hero__highlight .highlight-body .text-gold,
    #pagina-accidente-transito .hero__highlight .highlight-body .text-gold,
    #pagina-accidente-transito-caba .hero__highlight .highlight-body .text-gold,
    #pagina-accidente-transito-zona-oeste .hero__highlight .highlight-body .text-gold,
    #pagina-accidente-transito-argentina .hero__highlight .highlight-body .text-gold,
    #pagina-accidente-transito-zona-norte .hero__highlight .highlight-body .text-gold,
    #pagina-accidente-transito-zona-sur .hero__highlight .highlight-body .text-gold,
    #pagina-accidente-laboral-caba .hero__highlight .highlight-body .text-gold,
    #pagina-accidente-laboral-gba .hero__highlight .highlight-body .text-gold,
    #pagina-accidente-laboral-zona-oeste .hero__highlight .highlight-body .text-gold,
    #pagina-accidente-laboral-resto-pais .hero__highlight .highlight-body .text-gold,
    #pagina-accidente-laboral-zona-norte .hero__highlight .highlight-body .text-gold,
    #pagina-accidente-laboral-zona-sur .hero__highlight .highlight-body .text-gold,
    #pagina-accidente-general .hero__highlight .highlight-body .text-gold {
        font-size: clamp(0.72rem, 0.63rem + 0.46vw, 0.85rem) !important;
        font-weight: 500 !important;
        line-height: 1.3 !important;
    }
}

/* Hub/landing sin .highlight-body: el dorado es hijo DIRECTO del hero -> mismo sizing fluido + centrado.
   El combinador > evita tocar las páginas que sí usan .highlight-body. */
@media (max-width: 768px) {
    .hero__highlight > .text-gold {
        font-size: clamp(0.72rem, 0.63rem + 0.46vw, 0.85rem) !important;
        text-align: center;
    }
}

.bg-deep-black {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M 20 0 L 40 20 L 20 40 L 0 20 Z' fill='none' stroke='%23ffffff' stroke-width='1' stroke-dasharray='1 3' opacity='0.04'/%3E%3Ccircle cx='20' cy='20' r='1' fill='%23ffffff' opacity='0.025'/%3E%3C/svg%3E");
    background-repeat: repeat;
    background-size: 40px 40px;
}

.bg-charcoal {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 1000' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.01 0.8' numOctaves='1'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0.05 0'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='100%25' height='100%25' filter='url(%23m)'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: cover;
    background-blend-mode: screen;
}


@media (max-width: 768px) {
    .bg-charcoal {
        background-size: 1440px 1000px;
        background-repeat: repeat;
    }
}


.bg-deep-black .legal-flow-animated {
    display: none !important;
}

/* matriz-premium-responsive-fix: en movil .matriz-premium usa card-layout (filas como tarjetas);
   se anula el min-width:540px que forzaba scroll horizontal. No afecta a las otras tablas. */
@media (max-width: 767px) {
    .matriz-premium > table { min-width: 0 !important; }
}

/* sitemap-drawer-zfix: el drawer del mapa del sitio por encima de todo; WhatsApp no compite cuando esta abierto */
body.sitemap-open .whatsapp-float-wrap,
body.sitemap-open .whatsapp-tooltip { z-index: 1 !important; }

/* sitemap-drawer-search-fix */
.sitemap-drawer__search { padding: 0.85rem 1.25rem; border-bottom: 1px solid rgba(201,165,90,0.12); flex-shrink: 0; }
.sitemap-drawer__search-input { width: 100%; padding: 0.6rem 0.9rem; background: rgba(255,255,255,0.04); border: 1px solid rgba(201,165,90,0.22); border-radius: 8px; color: #fff; font-family: "Manrope", sans-serif; font-size: 0.9rem; outline: none; box-sizing: border-box; }
.sitemap-drawer__search-input::placeholder { color: rgba(255,255,255,0.45); }
.sitemap-drawer__search-input:focus { border-color: var(--color-gold-solid, #c9a55a); background: rgba(255,255,255,0.06); }

/* hub-quicktags-and-cta-improve */
/* (1) Quick-tags del hub FAQ: en movil, una sola fila con scroll horizontal (swipe) en vez de envolver */
@media (max-width: 768px) {
    #pagina-faq .hero-quick-tags {
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        max-width: 100% !important;
        margin-left: -16px; margin-right: -16px;
        padding: 4px 16px 8px;
        scroll-snap-type: x proximity;
    }
    #pagina-faq .hero-quick-tags::-webkit-scrollbar { display: none; }
    #pagina-faq .quick-tag { flex: 0 0 auto !important; scroll-snap-align: start; }
}
/* (2) Botón sitemap-cta: upgrade premium (degradé dorado + glow + mayusculas + hover) */
.sitemap-cta__btn {
    background: linear-gradient(135deg, #e3c989 0%, #c9a55a 45%, #b08d44 100%) !important;
    box-shadow: 0 6px 20px rgba(201, 165, 90, 0.30), inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
    border: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    font-size: 0.82rem !important;
}
.sitemap-cta__btn:hover {
    background: linear-gradient(135deg, #efd89c 0%, #d4b470 45%, #bd9850 100%) !important;
    box-shadow: 0 9px 28px rgba(201, 165, 90, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.32) !important;
    transform: translateY(-2px) !important;
}
.sitemap-cta__btn svg { transition: transform 0.25s ease; }
.sitemap-cta__btn:hover svg { transform: scale(1.12); }
/* la variante secundaria mantiene su estilo transparente */
.sitemap-cta__btn--secondary { background: transparent !important; box-shadow: none !important; border: 1px solid var(--color-gold-solid, #c9a55a) !important; color: var(--color-gold-solid, #c9a55a) !important; }

/* hero-3raLinea-movil-y-highlightlead-hyphens */
/* (tarea 2) 3ra linea del hero (descriptor, hermana directa de .hero__title): mas chica en movil
   para que no ocupe tanto. En escritorio mantiene su clamp inline. */
@media (max-width: 768px) {
    .hero__title > .cinematic-line-wrapper .cinematic-line { font-size: clamp(0.8rem, 3vw, 1rem) !important; }
}
/* (tarea 3) highlight-lead: sin guiones por salto de linea (anula la hifenacion heredada) */
.highlight-lead { hyphens: none !important; -webkit-hyphens: none !important; -ms-hyphens: none !important; }

/* hub-3raLinea-movil-fix: el hub usa #pagina-faq (id) en sus reglas de titulo, que gana en especificidad; este selector con id lo iguala+supera para reducir la 3ra linea en movil */
@media (max-width: 768px) {
    #pagina-faq .hero__title > .cinematic-line-wrapper .cinematic-line { font-size: clamp(0.85rem, 3vw, 1.05rem) !important; }
}

/* hero-gap-movil-home */
/* HOME + MOVIL: minimizar el espacio vertical entre el boton "Leer nuestra mision"
   (dentro de .hero__editorial) y el bloque .hero__highlight. Solo movil, solo home.
   #pagina-principal (id) gana sobre las reglas class-only sin tocar desktop ni otras paginas. */
@media (max-width: 767px) {
    #pagina-principal .hero__editorial { margin-bottom: 6px !important; padding-bottom: 8px !important; }
    #pagina-principal .hero__highlight { margin-top: 0 !important; }
}
/* translateY(20px) muerto: neutralizarlo tambien en desktop (la animacion de reveal nunca dispara) */
#pagina-principal .hero__highlight { transform: none !important; }

/* hero-title-gold-glow-global */
/* El glow dorado del titulo (.hero__title--gold) vive en styles.css L2118 con 4 drop-shadows,
   pero el <style> critico inline de cada pagina trae una version vieja de 2 sombras (sin glow).
   Como ambas son .hero__title--gold (misma especificidad), en varias paginas gana el inline por
   orden de DOM y se pierde el glow. Esta regla con especificidad mayor (.hero__title .hero__title--gold)
   gana SIEMPRE, en todas las paginas, sin tocar el inline ni usar !important. */
.hero__title .hero__title--gold {
    /* glow premium: bloom calido en 3 radios (10/28/52px) sobre las sombras de contraste */
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.9))
            drop-shadow(0px 10px 25px rgba(0, 0, 0, 0.6))
            drop-shadow(0 0 8px rgba(200, 169, 126, 0.38))
            drop-shadow(0 0 24px rgba(214, 184, 138, 0.20))
            drop-shadow(0 0 46px rgba(200, 169, 126, 0.10));
}

/* lead-font-sync */
@font-face{font-family:'CinzelLead';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/cinzel/v26/8vIJ7ww63mVu7gt7-GT7LEc.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'CinzelLead';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/cinzel/v26/8vIJ7ww63mVu7gt79mT7.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'CinzelFBLead';src:local('Georgia');font-display:swap;size-adjust:109.4%;ascent-override:89.6%;descent-override:33.8%;line-gap-override:0%}
.highlight-lead{font-family:'CinzelLead','CinzelFBLead',serif}

/* hero-content-gate-release: gana (0,1,1) al gate del critical (0,1,0) -> el hero se revela atomicamente cuando esta hoja aplica (CLS de la des-sincronizacion critical/styles ocurre invisible) */
html.fonts-ok body .hero__content { opacity: 1; animation: none; }

/* flotantes-premium */
/* (1) pill "Inicia tu reclamo": tamano original (la version agrandada ocupaba mucho espacio) */

/* (2) back-to-top: aparicion premium (sube con rebote suave) y el whatsapp se desliza
   en sincronia (el empuje lo hace main.js cambiando bottom; aca la transicion) */
.back-to-top { right: 27.5px; /* centra su eje con el whatsapp (diferian 2.5px) */ transform: scale(0.5) translateY(18px); transition: opacity .45s cubic-bezier(.22,1,.36,1), transform .5s cubic-bezier(.34,1.56,.64,1), visibility .45s, background .3s ease, box-shadow .3s ease; }
.back-to-top.visible { transform: scale(1) translateY(0); }
.whatsapp-float-wrap { transition: bottom .5s cubic-bezier(.22,1,.36,1); }

/* (3) whatsapp: anillo pulsante (mismo lenguaje que el boton de llamar) */
.whatsapp-float { position: relative; }
.whatsapp-float::after { content: ''; position: absolute; inset: -6px; border-radius: 50%; border: 1.5px solid rgba(37, 211, 102, 0.55); animation: waFloatPulse 2.4s cubic-bezier(0.4, 0, 0.2, 1) infinite; pointer-events: none; }
@keyframes waFloatPulse {
    0% { transform: scale(0.85); opacity: 0.8; }
    70% { transform: scale(1.35); opacity: 0; }
    100% { transform: scale(1.35); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .whatsapp-float::after { animation: none; opacity: 0; } }

/* hero-ornamentos-parallax */
/* (a) overline en dorado */
.hero .hero__overline, .hero__content .hero__overline { color: var(--color-gold-solid, #C8A97E); }

/* (b) ornamento sobre el H1: linea — balanza en circulo — linea */
.hero-ornament { display: flex; align-items: center; justify-content: center; gap: 14px; width: min(420px, 72vw); margin: 0 auto clamp(10px, 1.8vh, 18px); }
.hero-ornament__line { flex: 1; height: 1px; }
.hero-ornament__line--l { background: linear-gradient(90deg, transparent, rgba(200,169,126,.55)); }
.hero-ornament__line--r { background: linear-gradient(270deg, transparent, rgba(200,169,126,.55)); }
.hero-ornament__icon { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; width: clamp(30px, 4.5vw, 38px); height: clamp(30px, 4.5vw, 38px); border: 1px solid rgba(200,169,126,.5); border-radius: 50%; color: var(--color-gold-solid, #C8A97E); font-size: clamp(.8rem, 2vw, 1rem); box-shadow: 0 0 14px rgba(200,169,126,.12), inset 0 0 8px rgba(200,169,126,.08); }
.hero-ornament__icon svg { width: 1em; height: 1em; }

/* (c) separador titulo -> texto */
.hero-separator { display: flex; align-items: center; justify-content: center; gap: 12px; width: min(300px, 56vw); margin: clamp(8px, 1.4vh, 14px) auto clamp(8px, 1.6vh, 16px); color: var(--color-gold-solid, #C8A97E); }
.hero-separator__line { flex: 1; height: 1px; }
.hero-separator__line--l { background: linear-gradient(90deg, transparent, rgba(200,169,126,.45)); }
.hero-separator__line--r { background: linear-gradient(270deg, transparent, rgba(200,169,126,.45)); }
.hero-separator__star { font-size: .72rem; line-height: 1; opacity: .9; text-shadow: 0 0 10px rgba(200,169,126,.5); }

/* compactar en pantallas chicas: el hero es 100vh, no hay que empujar el contenido */
@media (max-width: 767px), (max-height: 740px) {
  .hero-ornament { margin-bottom: 8px; gap: 10px; }
  .hero-ornament__icon { width: 28px; height: 28px; font-size: .72rem; }
  .hero-separator { margin: 6px auto 8px; }
}
@media (max-height: 600px) {
  .hero-ornament, .hero-separator { display: none; }
}

/* (d) parallax: hints de compositing para las 3 capas */
.hero__background picture, .hero__overlay, .hero__content { will-change: transform; }

/* hero-lux */
/* (1) grano cinematografico: mas fino y mas sutil (antes 0.05 con grano grueso 0.8/3oct) */
.hero::after {
    opacity: .038;
    background-image: url('data:image/svg+xml;utf8,%3Csvg viewBox="0 0 240 240" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="heroGrain"%3E%3CfeTurbulence type="fractalNoise" baseFrequency="0.95" numOctaves="2" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23heroGrain)" opacity="1"/%3E%3C/svg%3E');
}

/* (2) fade negro al final del hero -> transicion suave a la siguiente seccion */
.hero::before {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: clamp(90px, 14vh, 160px);
    background: linear-gradient(180deg, rgba(5,5,5,0) 0%, rgba(5,5,5,.55) 55%, #050505 100%);
    z-index: 4;
    pointer-events: none;
}

/* (3) entrada escalonada del titulo: 150ms entre lineas (mismo texto, solo el timing) */
.hero__title h1 .cinematic-line-wrapper:nth-of-type(1) .cinematic-line { transition-delay: 0s; }
.hero__title h1 .cinematic-line-wrapper:nth-of-type(2) .cinematic-line { transition-delay: .15s; }
.hero__title > .cinematic-line-wrapper .cinematic-line { transition-delay: .3s; }

/* (4) fila de respaldo institucional: solo escritorio, monocromatica, sutil */
.hero-trust { display: none; }
@media (min-width: 992px) {
    .hero-trust {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: clamp(28px, 3.5vw, 56px);
        margin: 20px auto 0;
        position: relative;
        z-index: 10;
    }
    .hero-trust__item {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        color: rgba(220, 205, 180, .72);
        font-family: var(--font-body, 'Manrope', sans-serif);
        font-size: .64rem;
        font-weight: 600;
        letter-spacing: .16em;
        text-transform: uppercase;
        white-space: nowrap;
    }
    .hero-trust__item svg { width: 1.2em; height: 1.2em; color: rgba(200, 169, 126, .75); flex: 0 0 auto; }
}

/* (5) flechas de scroll eliminadas del markup; cinturon por si quedara alguna */
.scroll-indicator-position { display: none !important; }

/* hero-lux-2 */
/* (1) fondo con degradado direccional dramatico: vineta radial tras el titulo +
   oscurecimiento lateral + calidez dorada abajo + el gradiente vertical original */
.hero .hero__overlay {
    background:
        radial-gradient(ellipse 64% 46% at 50% 36%, rgba(5, 5, 5, 0.48) 0%, rgba(5, 5, 5, 0) 72%),
        linear-gradient(90deg, rgba(5, 5, 5, 0.68) 0%, rgba(5, 5, 5, 0) 26%, rgba(5, 5, 5, 0) 74%, rgba(5, 5, 5, 0.68) 100%),
        linear-gradient(0deg, rgba(82, 62, 26, 0.32) 0%, rgba(82, 62, 26, 0.12) 18%, rgba(5, 5, 5, 0) 36%),
        linear-gradient(0deg, var(--bg-deep-black) 0%, rgba(5, 5, 5, 0.7) 40%, rgba(5, 5, 5, 0.4) 100%);
}

/* (2) ritmo uniforme del titulo en movil/tablet: el espacio ENTRE wrappers debe ser el
   mismo que entre lineas envueltas DENTRO de un wrapper (line-height continuo, sin
   margenes/paddings extra del gold) */
@media (max-width: 991px) {
    .hero__title { gap: 0 !important; }
    .hero__title h1 .cinematic-line-wrapper,
    .hero__title > .cinematic-line-wrapper { line-height: 1.2 !important; padding: 0 !important; }
    .hero__title .hero__title--gold { margin-top: 0 !important; padding-top: 0 !important; padding-bottom: 0.06em !important; }
    .hero__title .hero__title--white { padding-top: 0 !important; padding-bottom: 0 !important; }
}

/* (3) adaptabilidad fina 360/320 (S8/S9): compactar ornamentos y dar aire al hero */
@media (max-width: 374px) {
    .hero-ornament { margin-bottom: 5px; gap: 8px; width: min(300px, 64vw); }
    .hero-ornament__icon { width: 24px; height: 24px; font-size: .6rem; }
    .hero-separator { margin: 4px auto 6px; width: min(200px, 50vw); }
    #pagina-principal .hero__content, .hero__content { padding-top: 72px; padding-bottom: 26px; }
    .hero__title { margin-bottom: 8px; }
}
@media (max-width: 330px) {
    .hero-ornament, .hero-separator { display: none; }
    .hero__content { padding-top: 64px; }
}

/* hero-lux-3 */
/* (1) separador ✦ entre section-overline y section-title — CSS puro, todas las secciones
   de todas las paginas (mismo lenguaje que .hero-separator, sin tocar el markup) */
.section-header .section-overline { display: block; }
.section-header .section-overline::after {
    content: '✦';
    display: block;
    width: min(280px, 52vw);
    margin: 10px auto 4px;
    color: var(--color-gold-solid, #C8A97E);
    font-size: .68rem;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    text-shadow: 0 0 10px rgba(200, 169, 126, .5);
    background:
        linear-gradient(90deg, transparent, rgba(200,169,126,.45)) left center / calc(50% - 18px) 1px no-repeat,
        linear-gradient(270deg, transparent, rgba(200,169,126,.45)) right center / calc(50% - 18px) 1px no-repeat;
}

/* (2) practice-card: titulo dorado + desc mas legible */
.practice-card__title { color: var(--color-gold-solid); text-shadow: 0 2px 12px rgba(0, 0, 0, .65); }
.practice-card:hover .practice-card__title { color: #E6CFA1; }
.practice-card__desc { color: #e8e5df; text-shadow: 0 1px 8px rgba(0, 0, 0, .8), 0 0 2px rgba(0, 0, 0, .55); }
.practice-card:hover .practice-card__desc { color: #f2efe9; }

/* (3) boton Consultar premium: pastilla dorada estable (el hover ya no lo pone blanco) */
.practice-card__btn--consult {
    color: #0a0a0a;
    background: linear-gradient(135deg, #E6CFA1 0%, #C8A97E 45%, #B39260 100%);
    padding: 9px 22px;
    border-radius: 40px;
    gap: 10px;
    box-shadow: 0 6px 16px rgba(200, 169, 126, .26), inset 0 1px 0 rgba(255, 240, 210, .4);
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.practice-card__btn--consult::after { display: none; }
.practice-card__btn--consult .btn-icon svg { color: #0a0a0a; }
.practice-card:hover .practice-card__btn--consult {
    color: #0a0a0a;
    background: linear-gradient(135deg, #F0DCB2 0%, #D4B388 45%, #BF9D6A 100%);
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(200, 169, 126, .4), inset 0 1px 0 rgba(255, 240, 210, .5);
}
.practice-card:hover .practice-card__btn--consult .btn-icon svg { color: #0a0a0a; transform: translateX(4px); }

/* (4) movil: ambos botones con aspecto de boton */
@media (max-width: 767px) {
    .practice-card__actions { gap: 10px; }
    .practice-card__actions .practice-card__btn {
        flex: 1 1 calc(50% - 5px);
        justify-content: center;
        min-height: 44px;
        padding: 9px 14px;
        border-radius: 40px;
        font-size: .7rem;
        letter-spacing: .1em;
    }
    .practice-card__actions .practice-card__btn:not(.practice-card__btn--consult) {
        border: 1px solid rgba(200, 169, 126, .45);
        color: var(--color-gold-solid);
    }
    .practice-card__actions .practice-card__btn::after { display: none; }
}

/* hero-fit-phones */
/* Compactacion por ALTURA de viewport: iPhone 6/7/8 (375x667), Plus (414x736), S8 (360x740).
   El discriminador correcto es la altura corta, no el ancho. Se recortan tamanos para liberar
   aire y que los gaps entre componentes del hero respiren parejo. (>330px para no tocar
   S9+/320 que ya esta bien con sus reglas propias.) */
@media (min-width: 331px) and (max-width: 480px) and (max-height: 750px) {
    .hero__content { padding-top: 68px !important; padding-bottom: 22px !important; }
    .hero__overline { margin-bottom: 10px !important; font-size: .56rem !important; letter-spacing: .18em !important; }
    .hero-parent-pill { margin-bottom: 10px !important; }
    .hero-ornament { margin-bottom: 10px; }
    .hero-ornament__icon { width: 26px; height: 26px; font-size: .64rem; }
    .hero__title { margin-bottom: 10px !important; }
    .hero-separator { margin: 2px auto 8px; }
    #pagina-principal .hero__editorial { margin-bottom: 12px !important; }
    .hero__editorial { min-height: 0 !important; gap: 8px !important; padding-top: 4px !important; padding-bottom: 4px !important; margin-bottom: 14px !important; }
    .hero__subtitle { font-size: .8rem !important; line-height: 1.45 !important; margin-bottom: 0 !important; }
    .hero__read-more { min-height: 40px !important; padding: 9px 16px !important; font-size: .62rem !important; }
    .hero__highlight { padding: 12px 16px 14px !important; margin-bottom: 12px !important; min-height: 0 !important; }
    .highlight-lead { font-size: .86rem !important; line-height: 1.3 !important; margin-bottom: 4px !important; }
    .highlight-body { font-size: .76rem !important; line-height: 1.45 !important; margin-bottom: 6px !important; }
    .hero__highlight .btn-solid-gold, .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el { min-height: 46px !important; height: auto !important; font-size: 10px !important; }
    .hero__list-wrapper { margin-top: 4px !important; height: 44px !important; }
}

/* hero-lux-4 */
/* (1) CTA dorado del hero: texto en UNA fila, altura contenida */
.hero__highlight .btn-solid-gold,
.hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el {
    white-space: nowrap !important;
}
@media (min-width: 992px) {
    .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el { height: 56px !important; font-size: 12px !important; }
}
@media (max-width: 991px) {
    .hero__highlight .btn-solid-gold,
    .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el { height: auto !important; min-height: 46px !important; font-size: 10px !important; letter-spacing: .05em !important; padding: 9px 12px !important; }
}
@media (max-width: 360px) {
    .hero__highlight .btn-solid-gold,
    .hero__highlight a.btn-solid-gold.premium-btn-sweep.magnetic-el { font-size: 9px !important; }
}

/* (2) firma visual del estudio (solo escritorio, home) */
.hero-signature { display: none; }
@media (min-width: 992px) {
    .hero-signature { display: flex; flex-direction: column; align-items: center; gap: 4px; margin-top: 14px; }
    .hero-signature__name {
        font-family: var(--font-display, 'Cinzel', serif);
        font-style: italic;
        font-size: 1.02rem;
        letter-spacing: .16em;
        color: rgba(222, 201, 165, .92);
        text-shadow: 0 0 14px rgba(200, 169, 126, .25);
    }
    .hero-signature__name::after {
        content: '';
        display: block;
        width: 70%;
        height: 1px;
        margin: 6px auto 0;
        background: linear-gradient(90deg, transparent, rgba(200, 169, 126, .55), transparent);
    }
    .hero-signature__tag {
        font-family: var(--font-body, 'Manrope', sans-serif);
        font-size: .58rem;
        font-weight: 600;
        letter-spacing: .22em;
        text-transform: uppercase;
        color: rgba(208, 198, 182, .55);
    }
}

/* (3) hardening del hero__highlight: textos centrados y adaptativos en TODAS las paginas */
.hero__highlight { text-align: center; }
.hero__highlight > * { max-width: 100%; box-sizing: border-box; }
.hero__highlight .highlight-lead,
.hero__highlight .highlight-body {
    margin-left: auto;
    margin-right: auto;
    overflow-wrap: break-word;
    hyphens: none;
    text-align: center;
}

/* (4) contacto: canales en 5 columnas compactas + textos adaptativos */
@media (min-width: 1100px) {
    .contact-channels { grid-template-columns: repeat(5, 1fr) !important; gap: 1.1rem !important; }
}
.channel-card { padding: clamp(1.2rem, 2vw, 1.7rem) clamp(.9rem, 1.4vw, 1.3rem) !important; display: flex; flex-direction: column; align-items: center; }
.channel-card h3 { font-size: clamp(.95rem, 1.3vw, 1.15rem); }
.channel-card p { font-size: clamp(.78rem, 1vw, .88rem); line-height: 1.55; flex: 1 1 auto; }
.channel-card .btn-channel {
    white-space: normal;
    text-align: center;
    line-height: 1.3;
    font-size: clamp(.62rem, .9vw, .72rem);
    padding: .55rem .8rem;
    width: 100%;
    box-sizing: border-box;
    margin-top: auto;
}

/* (5) modal del formulario de consulta (web3forms) */
.consulta-modal { position: fixed; inset: 0; z-index: 100002; display: none; align-items: center; justify-content: center; padding: 18px; }
.consulta-modal.is-open { display: flex; }
.consulta-modal__overlay { position: absolute; inset: 0; background: rgba(3, 3, 3, .78); backdrop-filter: blur(6px); }
.consulta-modal__box {
    position: relative; width: min(560px, 100%); max-height: 88vh; overflow-y: auto; overscroll-behavior: contain;
    background: linear-gradient(180deg, #141414 0%, #0a0a0a 100%);
    border: 1px solid rgba(200, 169, 126, .25); border-top: 1px solid rgba(200, 169, 126, .6);
    border-radius: 14px; padding: clamp(20px, 4vw, 34px);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .85);
}
.consulta-modal__close { position: absolute; top: 12px; right: 14px; background: none; border: none; color: rgba(255,255,255,.65); font-size: 1.05rem; cursor: pointer; padding: 6px; }
.consulta-modal__close:hover { color: var(--color-gold-solid); }
.consulta-modal__title { font-family: var(--font-display); font-size: 1.25rem; color: #fff; margin-bottom: 4px; text-align: center; }
.consulta-modal__sub { font-size: .8rem; color: rgba(255,255,255,.6); text-align: center; margin-bottom: 18px; }
.consulta-form { display: flex; flex-direction: column; gap: 12px; }
.consulta-form label { font-size: .62rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: rgba(200,169,126,.85); display: block; margin-bottom: 5px; }
.consulta-form input, .consulta-form textarea {
    width: 100%; box-sizing: border-box; background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.14); border-radius: 8px;
    color: #f0f0f0; font-family: var(--font-body); font-size: .9rem; padding: 11px 13px;
    transition: border-color .25s ease, background .25s ease;
}
.consulta-form input:focus, .consulta-form textarea:focus { outline: none; border-color: rgba(200,169,126,.65); background: rgba(255,255,255,.07); }
.consulta-form textarea { min-height: 110px; resize: vertical; }
.consulta-form button[type="submit"] {
    margin-top: 4px; min-height: 48px; border: none; border-radius: 40px; cursor: pointer;
    font-family: var(--font-body); font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
    color: #0a0a0a; background: linear-gradient(135deg, #E6CFA1 0%, #C8A97E 45%, #B39260 100%);
    box-shadow: 0 8px 18px rgba(200,169,126,.28); transition: transform .25s ease, box-shadow .25s ease;
}
.consulta-form button[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(200,169,126,.4); }
.consulta-form button[type="submit"]:disabled { opacity: .6; cursor: wait; transform: none; }
.consulta-form__status { font-size: .8rem; text-align: center; min-height: 1.1em; margin-top: 2px; }
.consulta-form__status.ok { color: #7ed99a; }
.consulta-form__status.err { color: #e08a8a; }
body.consulta-modal-open { overflow: hidden; }

/* hero-lux-5 */
/* (1) titulo SIN animacion de entrada (decision de perf): lineas siempre visibles y estaticas */
.hero__title .cinematic-line { transition: none !important; }
body.loading .hero__title .cinematic-line:not(.active) { transform: none !important; opacity: 1 !important; animation: none !important; }

/* (2) goldShimmer removido: reemplazado por spotlight estatico detras del H1 (hero-lux-9) */

/* (3) hero-parent-pill: dos filas elegantes en escritorio (eyebrow + nombre) */
@media (min-width: 992px) {
    .hero-parent-pill { flex-direction: column; align-items: flex-start; gap: 1px; padding: 7px 20px 7px 38px; position: relative; line-height: 1.3; text-align: left; }
    .hero-parent-pill::before { content: 'Volvé a la guía completa'; display: block; font-size: .5rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: rgba(208, 198, 182, .55); }
    .hero-parent-pill__arrow { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); transition: transform .25s ease; }
    .hero-parent-pill:hover .hero-parent-pill__arrow { transform: translateY(-50%) translateX(-3px); }
}

/* (4) firma del estudio: solo pantallas ALTAS de escritorio (en bajas pisaba el highlight) */
@media (min-width: 992px) and (max-height: 859px) { .hero-signature { display: none !important; } }
@media (min-width: 992px) { .hero-signature { margin-top: 10px; } .hero__editorial { height: auto !important; } }

/* (5) bandas de altura para escritorio: 1366x768/700/650/600/550 */
@media (min-width: 992px) and (max-height: 768px) {
    .hero__overline { margin-bottom: 8px !important; }
    .hero-ornament { margin-bottom: 8px; }
    .hero-ornament__icon { width: 30px; height: 30px; font-size: .78rem; }
    .hero__title { font-size: clamp(1.6rem, 2.5vw, 2.1rem) !important; margin-bottom: 8px !important; }
    .hero-separator { margin: 2px auto 8px; }
    .hero-trust { margin-top: 12px; gap: clamp(18px, 2.2vw, 34px); }
    .hero-trust__item { font-size: .56rem; }
}
@media (min-width: 992px) and (max-height: 660px) {
    .hero-trust { display: none !important; }
    .hero__title { font-size: clamp(1.45rem, 2.2vw, 1.85rem) !important; }
    .hero__content { padding-top: 70px !important; padding-bottom: 24px !important; }
    .hero__list-wrapper { height: 36px !important; margin-top: 2px !important; }
}
@media (min-width: 992px) and (max-height: 580px) {
    .hero__overline, .hero-ornament, .hero-separator { display: none !important; }
    .hero__content { padding-top: 58px !important; }
    .hero__title { font-size: clamp(1.3rem, 2vw, 1.6rem) !important; }
}

/* hero-lux-6 */
/* (1) editorial NUNCA estrangulado: una regla vieja le fijaba altura menor al contenido y el
   subtitulo desbordaba hacia ARRIBA (flex centrado) pisando el separador ✦. */
.hero__highlight { height: auto !important; }
/* El hero__content es flex con altura fija: cuando el contenido excede (el subtitulo ROTA
   entre textos de distinto largo), flex-shrink COMPRIME las cajas y sus textos desbordan
   (lead pisando el borde, subtitulo pisando el separador). En movil: sin shrink y el hero
   crece lo minimo necesario. */
@media (max-width: 991px) {
    .hero__content > * { flex-shrink: 0 !important; }
    .hero, #pagina-principal .hero { height: auto !important; min-height: 100vh !important; }
    .hero__content { height: auto !important; min-height: 100vh !important; }
    .heroSwiper, .heroSwiper .swiper-wrapper { height: 100% !important; min-height: 100% !important; }
}
.hero__editorial, .hero__editorial .reveal-up--lcp, .hero__editorial.reveal-up--lcp {
    height: auto !important;
    min-height: 0 !important;
}

/* (2) overline SIEMPRE en una fila (escritorio y movil) */
.hero .hero__overline {
    white-space: nowrap !important;
    max-width: 100% !important;
    overflow: hidden;
}
@media (min-width: 992px) {
    .hero .hero__overline { font-size: 11.5px !important; letter-spacing: .22em !important; }
}
@media (max-width: 991px) {
    .hero .hero__overline { font-size: clamp(7.5px, 2.25vw, 11px) !important; letter-spacing: .08em !important; }
}

/* (3) titulo movil: aprovechar el ancho (mas palabras por fila) manteniendo jerarquia
   sobre los textos de descripcion (~1.8-2x el tamano del subtitle) */
@media (max-width: 480px) {
    .hero__title { font-size: clamp(1.5rem, 6.8vw, 1.95rem) !important; line-height: 1.16 !important; letter-spacing: -0.015em !important; max-width: 100% !important; }
    .hero__title--white, .hero__title--gold { font-size: inherit !important; line-height: 1.16 !important; }
}
@media (max-width: 360px) {
    .hero__title { font-size: clamp(1.4rem, 7vw, 1.7rem) !important; }
    .hero .hero__title--white, .hero .hero__title--gold { font-size: inherit !important; line-height: inherit !important; }
}

/* (4) practice-card: hover premium EN EL PROPIO boton (antes dependia del hover de la card) */
.practice-card__btn .btn-icon svg { transition: transform .35s ease; }
.practice-card__btn:not(.practice-card__btn--consult):hover { color: var(--color-gold-solid); }
.practice-card__btn:not(.practice-card__btn--consult):hover::after { transform: scaleX(1); }
.practice-card__btn:not(.practice-card__btn--consult):hover .btn-icon svg { transform: translateX(6px); }
.practice-card__btn--consult { position: relative; overflow: hidden; }
.practice-card__btn--consult::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, .4) 50%, transparent 70%);
    transform: translateX(-130%);
    transition: transform .6s ease;
    pointer-events: none;
}
.practice-card__btn--consult:hover::before { transform: translateX(130%); }
.practice-card__btn--consult:hover {
    transform: translateY(-3px);
    background: linear-gradient(135deg, #F0DCB2 0%, #D4B388 45%, #BF9D6A 100%);
    box-shadow: 0 12px 26px rgba(200, 169, 126, .45), inset 0 1px 0 rgba(255, 240, 210, .55);
}
.practice-card__btn--consult:hover .btn-icon svg { transform: translateX(4px); }

/* (5) contacto: boton premium dorado (mismo lenguaje que las tarjetas) + textos adaptativos */
.btn-channel--gold {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    color: #0a0a0a !important;
    background: linear-gradient(135deg, #E6CFA1 0%, #C8A97E 45%, #B39260 100%);
    border: none !important;
    border-radius: 40px !important;
    font-weight: 700;
    box-shadow: 0 6px 16px rgba(200, 169, 126, .26), inset 0 1px 0 rgba(255, 240, 210, .4);
    position: relative; overflow: hidden;
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
    cursor: pointer;
}
.btn-channel--gold::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(100deg, transparent 30%, rgba(255,255,255,.4) 50%, transparent 70%);
    transform: translateX(-130%); transition: transform .6s ease; pointer-events: none;
}
.btn-channel--gold:hover::before { transform: translateX(130%); }
.btn-channel--gold:hover { transform: translateY(-2px); background: linear-gradient(135deg, #F0DCB2 0%, #D4B388 45%, #BF9D6A 100%); box-shadow: 0 10px 22px rgba(200, 169, 126, .4); }
.channel-card .btn-channel { white-space: normal; line-height: 1.3; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; }

/* (6) selector del formulario (mismo estilo que inputs) */
.consulta-form select {
    width: 100%; box-sizing: border-box; background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.14); border-radius: 8px;
    color: #f0f0f0; font-family: var(--font-body); font-size: .9rem; padding: 11px 13px;
    appearance: none; -webkit-appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6" viewBox="0 0 10 6"><path d="M1 1l4 4 4-4" stroke="%23C8A97E" stroke-width="1.5" fill="none"/></svg>');
    background-repeat: no-repeat; background-position: right 14px center;
    transition: border-color .25s ease;
}
.consulta-form select:focus { outline: none; border-color: rgba(200,169,126,.65); }
.consulta-form select option { background: #141414; color: #f0f0f0; }

/* (7) CTAs del highlight de contacto */
#pagina-contacto .hero__highlight .cta__action--dual, #pagina-calculadora-indemnizacion .hero__highlight .cta__action--dual { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; width: 100%; margin-top: 12px; }
#pagina-contacto .hero__highlight .cta__action--dual > *, #pagina-calculadora-indemnizacion .hero__highlight .cta__action--dual > * { flex: 1 1 220px; max-width: 340px; }

/* hero-lux-7 */
/* Rotator de los .text-gold del hero__highlight (paginas con .highlight-rotator).
   Grid 1/1: la celda mide lo que el texto MAS ALTO -> cero CLS al rotar.
   Sin JS (html sin .js) los spans quedan en flujo normal, ambos visibles. */
html.js .highlight-rotator { display: grid; }
html.js .highlight-rotator > .text-gold {
    grid-area: 1 / 1;
    display: block;
    opacity: 0;
    transition: opacity .9s ease;
}
html.js .highlight-rotator > .text-gold.is-active { opacity: 1; }

/* hero-lux-8 */
/* Hero COMPLETO dentro del viewport movil. Bandas por ALTURA (compuestas: A ⊃ B ⊃ C),
   tomando las proporciones de 320px (S9) como referencia. Scope 331-991px de ancho:
   no toca 320 (ya excelente) ni escritorio. El hero sigue height:auto + min-height:100vh
   (anti flex-shrink): si el contenido cabe, el justify-center reparte el aire. */

/* ===== Banda A: todo movil con alto <= 899px (compactacion suave) ===== */
@media (min-width: 331px) and (max-width: 991px) and (max-height: 899px) {
    .hero__content { padding-top: 64px !important; padding-bottom: 16px !important; }
    .hero .hero__overline { margin-bottom: 8px !important; }
    .hero-ornament { margin-bottom: 6px !important; }
    .hero .hero__title { margin-bottom: 10px !important; }
    .hero-separator { margin: 0 auto 6px !important; }
    .hero__editorial { margin-top: 4px !important; margin-bottom: 8px !important; padding-top: 4px !important; padding-bottom: 4px !important; gap: 8px !important; min-height: 0 !important; }
    .hero__content .hero__editorial .hero__editorial { margin: 0 !important; padding: 0 !important; }
    .hero__highlight .cta__action--dual { margin-top: 2px !important; gap: 6px !important; }
    .hero__highlight .cta__action--dual > button { padding: 8px 14px !important; }
    .hero__subtitle, .hero__editorial-lead { line-height: 1.55 !important; margin-bottom: 8px !important; }
    .hero__read-more { padding: 11px 18px !important; }
    .hero__highlight { margin-bottom: 8px !important; padding-top: 12px !important; padding-bottom: 12px !important; }
    .highlight-lead { margin-top: 6px !important; margin-bottom: 6px !important; }
    .highlight-body { margin-bottom: 4px !important; line-height: 1.4 !important; }
    .hero .hero__highlight .btn-solid-gold { margin-top: 8px !important; margin-bottom: 2px !important; }
    .hero__content a.btn-solid-gold.premium-btn-sweep.magnetic-el { height: 54px !important; margin-top: 8px !important; }
    .hero__highlight .cta__action--dual > button, .hero__highlight .cta__action > button { padding-top: 9px !important; padding-bottom: 9px !important; }
    .hero__list-wrapper { margin-top: 4px !important; }
    .hero__list { margin-top: 8px !important; }
    .hero-trust { margin-top: 8px !important; row-gap: 6px !important; }
    .hero-parent-pill { margin-bottom: 8px !important; }
}

/* ===== Banda B: alto <= 769px (iPhone Plus 736, S8 740) ===== */
@media (min-width: 331px) and (max-width: 991px) and (max-height: 769px) {
    .hero__content { padding-top: 60px !important; }
    .hero .hero__overline { margin-bottom: 6px !important; }
    .hero-ornament { margin-bottom: 5px !important; }
    .hero-ornament__icon { width: 24px !important; height: 24px !important; font-size: .68rem !important; }
    .hero .hero__title { font-size: clamp(1.4rem, 5.7vw, 1.65rem) !important; line-height: 1.16 !important; margin-bottom: 8px !important; }
    .hero .hero__title--white, .hero .hero__title--gold { font-size: inherit !important; line-height: inherit !important; }
    .hero__subtitle, .hero__editorial-lead { font-size: clamp(0.76rem, 3.5vw, 0.9rem) !important; line-height: 1.45 !important; }
    .hero__read-more { padding: 10px 16px !important; }
    .highlight-lead { font-size: clamp(0.9rem, 3.4vw, 1.05rem) !important; }
    .highlight-body { font-size: clamp(0.74rem, 3vw, 0.85rem) !important; }
    .hero__highlight .text-gold { font-size: clamp(0.72rem, 2.9vw, 0.8rem) !important; line-height: 1.35 !important; }
    .hero__content a.btn-solid-gold.premium-btn-sweep.magnetic-el { height: 50px !important; font-size: 12px !important; }
    .hero-trust__item { font-size: .52rem !important; }
}

/* ===== Banda C: alto <= 679px (iPhone 6/7/8 667) ===== */
@media (min-width: 331px) and (max-width: 991px) and (max-height: 679px) {
    .hero__content { padding-top: 62px !important; padding-bottom: 12px !important; }
    .hero .hero__overline { font-size: 7.5px !important; margin-bottom: 5px !important; }
    .hero-ornament { margin-bottom: 4px !important; }
    .hero-ornament__icon { width: 22px !important; height: 22px !important; }
    .hero .hero__title { font-size: clamp(1.3rem, 5.5vw, 1.5rem) !important; line-height: 1.14 !important; margin-bottom: 6px !important; }
    .hero .hero__title--white, .hero .hero__title--gold { font-size: inherit !important; line-height: inherit !important; }
    .hero-separator { margin: 0 auto 5px !important; }
    .hero__subtitle, .hero__editorial-lead { font-size: clamp(0.74rem, 3.4vw, 0.85rem) !important; line-height: 1.45 !important; margin-bottom: 6px !important; }
    .hero__read-more { padding: 9px 14px !important; }
    .hero__editorial { margin-bottom: 6px !important; gap: 6px !important; }
    .hero__highlight { padding-top: 8px !important; padding-bottom: 8px !important; margin-bottom: 8px !important; }
    .highlight-lead { font-size: clamp(0.84rem, 3.2vw, 0.95rem) !important; margin-top: 4px !important; margin-bottom: 4px !important; }
    .highlight-body { font-size: clamp(0.7rem, 2.9vw, 0.8rem) !important; line-height: 1.32 !important; }
    .hero__highlight .text-gold { font-size: clamp(0.68rem, 2.8vw, 0.76rem) !important; line-height: 1.3 !important; }
    .hero__content a.btn-solid-gold.premium-btn-sweep.magnetic-el { height: 46px !important; font-size: 11.5px !important; }
    .hero__list li { padding: 6px 12px !important; font-size: .6rem !important; }
}

/* hero-lux-8 / Banda D: <= 330px (S9 y menores). Las proporciones de 320 eran la
   referencia: solo se recupera el alto que sumo el line-height heredado y se
   afinan paddings para que el hero cierre dentro del view. */
@media (max-width: 330px) and (max-height: 699px) {
    /* :is() con ID inflado: las reglas inline de <=320 usan #pagina-* + !important;
       aca se necesita (1,2,0) para ganarles desde styles.css */
    :is(#__lux, [id*="pagina"]) .hero .hero__content { padding-top: 54px !important; padding-bottom: 8px !important; }
    :is(#__lux, [id*="pagina"]) .hero .hero__overline { margin-bottom: 4px !important; }
    :is(#__lux, [id*="pagina"]) .hero .hero__title { line-height: 1.13 !important; margin-bottom: 6px !important; }
    :is(#__lux, [id*="pagina"]) .hero :is(.hero__title--white, .hero__title--gold) { font-size: inherit !important; line-height: inherit !important; }
    :is(#__lux, [id*="pagina"]) .hero .hero__editorial { margin-top: 4px !important; margin-bottom: 4px !important; }
    :is(#__lux, [id*="pagina"]) .hero .hero__highlight { margin-bottom: 6px !important; }
}

/* hero-lux-8 refuerzo: reglas inline por pagina usan #pagina-* + !important (1,1,0).
   :is() con ID inflado + .hero ancestro = (1,2,0): gana sin importar el orden. */
@media (min-width: 331px) and (max-width: 991px) and (max-height: 899px) {
    :is(#__lux, [id*="pagina"]) .hero .hero__content { padding-top: 64px !important; padding-bottom: 16px !important; }
    :is(#__lux, [id*="pagina"]) .hero .hero__highlight { margin-bottom: 10px !important; }
}
@media (min-width: 331px) and (max-width: 991px) and (max-height: 769px) {
    :is(#__lux, [id*="pagina"]) .hero .hero__content { padding-top: 60px !important; }
}
@media (min-width: 331px) and (max-width: 991px) and (max-height: 679px) {
    :is(#__lux, [id*="pagina"]) .hero .hero__content { padding-top: 62px !important; padding-bottom: 12px !important; }
    :is(#__lux, [id*="pagina"]) .hero .hero__highlight { margin-bottom: 6px !important; }
}
/* contacto: los CTAs del highlight en columna no deben usar flex-basis 220px como ALTO */
@media (max-width: 991px) {
    #pagina-contacto .hero .hero__highlight .cta__action--dual > *, #pagina-calculadora-indemnizacion .hero .hero__highlight .cta__action--dual > * { flex-basis: auto !important; width: 100% !important; }
}

/* hero-lux-9 */
/* (1) SPOTLIGHT detras del H1: halo calido muy sutil. Reemplaza al goldShimmer animado.
   El inline por pagina trae .hero__title::before{display:none!important} (0,1,1):
   el :is() con ID inflado da (1,2,1) y gana. Estatico: cero costo por frame. */
:is(#__lux, [id*="pagina"]) .hero .hero__title { position: relative; }
:is(#__lux, [id*="pagina"]) .hero .hero__title::before {
    content: '' !important;
    display: block !important;
    position: absolute;
    inset: -14% -8%;
    background: radial-gradient(ellipse 62% 70% at 50% 48%,
        rgba(224, 196, 148, 0.14) 0%,
        rgba(200, 169, 126, 0.06) 45%,
        rgba(200, 169, 126, 0.02) 62%,
        transparent 78%);
    z-index: -1;
    pointer-events: none;
}

/* (2) movil: boton del highlight mas compacto + icono delante del texto.
   Solo <a> (el boton "Areas de Practica" es <button> y no lleva icono). */
@media (max-width: 991px) {
    .hero__content .hero__highlight a.btn-solid-gold.premium-btn-sweep {
        height: auto !important;
        min-height: 40px !important;
        min-width: 0 !important;
        padding: 9px 16px !important;
        font-size: 11px !important;
        letter-spacing: 0.06em !important;
    }
    .hero__highlight a.btn-solid-gold.premium-btn-sweep > span::before {
        content: '';
        display: inline-block;
        width: 13px;
        height: 13px;
        margin-right: 8px;
        vertical-align: -2px;
        background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path fill='%23050505' d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/></svg>") center / contain no-repeat;
    }
}

/* (3) escritorio: linea de confianza bajo los CTAs del highlight + glow calido inferior */
.highlight-trustline { display: none; }
@media (min-width: 992px) {
    .highlight-trustline {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        margin-top: 14px;
        position: relative;
        z-index: 2;
        font-family: var(--font-body);
        font-size: 0.78rem;
        font-weight: 400;
        letter-spacing: 0.04em;
        color: rgba(224, 212, 192, 0.78);
    }
    .highlight-trustline svg {
        width: 15px;
        height: 15px;
        color: var(--color-gold-solid);
        opacity: 0.9;
        flex-shrink: 0;
    }
    .highlight-trustline__dot { color: rgba(200, 169, 126, 0.6); }
    .hero__highlight .highlight-glow {
        background:
            radial-gradient(ellipse at top, rgba(200, 169, 126, 0.12) 0%, transparent 70%),
            radial-gradient(ellipse 85% 60% at 50% 108%, rgba(200, 169, 126, 0.12) 0%, transparent 70%);
    }
    .hero__highlight { border-bottom-color: rgba(200, 169, 126, 0.3); }
}

/* (4) escritorio: hero-trust como pills premium */
@media (min-width: 992px) {
    .hero-trust { gap: 12px !important; }
    .hero-trust__item {
        display: inline-flex;
        align-items: center;
        border: 1px solid rgba(200, 169, 126, 0.28);
        border-radius: 999px;
        padding: 8px 16px;
        background: linear-gradient(180deg, rgba(200, 169, 126, 0.08), rgba(8, 8, 8, 0.3));
        box-shadow: inset 0 1px 0 rgba(255, 235, 205, 0.07);
        transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    }
    .hero-trust__item:hover {
        border-color: rgba(200, 169, 126, 0.55);
        transform: translateY(-2px);
        box-shadow: inset 0 1px 0 rgba(255, 235, 205, 0.12), 0 8px 18px rgba(0, 0, 0, 0.35);
    }
}

/* hero-lux-10 */
/* contacto: textos de los botones de canales adaptables (el mail JS-inyectado es un
   token largo: necesita overflow-wrap anywhere para saltar de linea sin desbordar) */
.channel-card .btn-channel {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.35 !important;
    min-width: 0 !important;
    max-width: 100%;
    box-sizing: border-box;
    text-align: center;
    padding: 10px 12px !important;
    font-size: clamp(0.62rem, 0.78vw, 0.78rem) !important;
}
@media (max-width: 991px) {
    .channel-card .btn-channel { font-size: clamp(0.68rem, 2.6vw, 0.8rem) !important; }
}
/* la tarjeta Formulario Web usa <button>: heredar el look outline de los <a>.btn-channel */
.channel-card button.btn-channel {
    background: transparent;
    border: 2px solid rgb(200, 169, 126);
    color: rgb(200, 169, 126);
    border-radius: 6px;
    font-family: var(--font-body);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background 0.3s ease, color 0.3s ease;
}
.channel-card button.btn-channel:hover { background: rgba(200, 169, 126, 0.12); }

/* contacto: que el dual del highlight respire como en index */
@media (min-width: 992px) {
    #pagina-contacto .hero .hero__highlight .cta__action--dual, #pagina-calculadora-indemnizacion .hero .hero__highlight .cta__action--dual { gap: 14px !important; justify-content: center !important; }
    #pagina-contacto .hero .hero__highlight .cta__action--dual > a.btn-solid-gold,
    #pagina-contacto .hero .hero__highlight .cta__action--dual > button.btn-areas,
    #pagina-calculadora-indemnizacion .hero .hero__highlight .cta__action--dual > a.btn-solid-gold,
    #pagina-calculadora-indemnizacion .hero .hero__highlight .cta__action--dual > button.btn-areas {
        flex: 0 1 300px !important;
        width: auto !important;
        min-width: 240px !important;
        max-width: 320px !important;
        height: 56px !important;
        min-height: 56px !important;
        padding: 0 16px !important;
        white-space: nowrap !important;
    }
}

/* hero-lux-10 / banda desktop alta (769px a ~1080px de alto, p.ej. 1920x1080 con
   barras del navegador). El hero de altura fija estrangulaba a los hijos (mismo
   bug que en movil): anti-shrink + h1 mas contenido + leading parejo en la linea dorada. */
@media (min-width: 992px) and (min-height: 769px) {
    .hero__content > * { flex-shrink: 0 !important; }
    .hero, #pagina-principal .hero { height: auto !important; min-height: 100vh !important; }
    .hero__content { height: auto !important; min-height: 100vh !important; padding-top: 120px !important; padding-bottom: 28px !important; }
    .heroSwiper, .heroSwiper .swiper-wrapper { height: 100% !important; min-height: 100% !important; }
    .hero .hero__title { font-size: clamp(2.1rem, 2.15vw, 2.6rem) !important; line-height: 1.14 !important; margin-bottom: 10px !important; }
    /* la linea dorada usa fuente mayor: su line-box metia mas aire entre fila 2 y 3 */
    .hero .hero__title--gold { line-height: 1.05 !important; padding-bottom: 2px !important; }
    .hero .hero__title--white { line-height: 1.18 !important; }
    .hero-separator { margin: 4px auto 10px !important; }
    .hero__editorial { margin-top: 0 !important; margin-bottom: 10px !important; }
    .hero-signature { margin-top: 2px !important; }
    .hero__highlight { margin-bottom: 12px !important; }
    .hero-trust { margin-top: 10px !important; }
    .hero__read-more { padding: 12px 18px !important; }
}

/* hero-lux-10 / sub-banda 769-1010: 1920x1080 fisico suele dar ~950px utiles.
   La firma cede su espacio para que el hero cierre sin scroll interno. */
@media (min-width: 992px) and (min-height: 769px) and (max-height: 1010px) {
    .hero-signature { display: none !important; }
    .hero__content { padding-top: 116px !important; }
    .hero .hero__overline { margin-bottom: 8px !important; }
    .hero-ornament { margin-bottom: 6px !important; }
    .hero .hero__title { font-size: clamp(1.95rem, 1.9vw, 2.3rem) !important; }
    .hero__subtitle, .hero__editorial-lead { line-height: 1.5 !important; }
    .hero__highlight { margin-bottom: 8px !important; }
    .hero-trust { margin-top: 6px !important; }
}

/* calc-landing */
/* Pagina /calculadora-indemnizacion-accidente-transito/: bloques de contenido SEO */
.cl-disclaimer { max-width: 860px; margin: 0 auto 30px; padding: 14px 22px; border: 1px solid rgba(200, 169, 126, 0.3); border-left: 3px solid var(--color-gold-solid); border-radius: 6px; background: rgba(200, 169, 126, 0.06); }
.cl-disclaimer p { margin: 0; font-size: 0.9rem; color: #d8cfc0; line-height: 1.6; }
.cl-prose { max-width: 860px; margin: 0 auto; }
.cl-prose p { color: #c9c8c8; line-height: 1.8; margin-bottom: 18px; font-size: 1rem; }
.cl-prose p:last-child { margin-bottom: 0; }
.cl-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; max-width: 1100px; margin: 0 auto; }
.cl-card { background: linear-gradient(145deg, rgba(20, 20, 20, 0.85), rgba(8, 8, 8, 0.95)); border: 1px solid rgba(200, 169, 126, 0.16); border-top: 1px solid rgba(200, 169, 126, 0.45); border-radius: 6px; padding: 22px 20px; transition: border-color 0.3s ease, transform 0.3s ease; }
.cl-card:hover { border-color: rgba(200, 169, 126, 0.4); transform: translateY(-3px); }
.cl-card h3 { font-size: 1.02rem; color: var(--color-gold-solid); margin-bottom: 8px; line-height: 1.3; }
.cl-card h3 a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(200, 169, 126, 0.35); transition: border-color 0.3s ease; }
.cl-card h3 a:hover { border-bottom-color: var(--color-gold-solid); }
.cl-card p { color: #bdbcbc; font-size: 0.9rem; line-height: 1.65; margin: 0; }
.cl-note { max-width: 860px; margin: 26px auto 0; text-align: center; color: #d8cfc0; font-size: 0.95rem; line-height: 1.7; }
.cl-list { list-style: none; padding: 0; max-width: 920px; margin: 0 auto; display: grid; gap: 10px; }
.cl-list--2col { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.cl-list li { position: relative; padding: 11px 14px 11px 40px; color: #c9c8c8; background: rgba(255, 255, 255, 0.025); border: 1px solid rgba(200, 169, 126, 0.12); border-radius: 4px; line-height: 1.5; font-size: 0.93rem; }
.cl-list li::before { content: '\2713'; position: absolute; left: 15px; color: var(--color-gold-solid); font-weight: 700; }
.cl-cta { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; margin-top: 28px; }
.cl-faq { max-width: 900px; margin: 0 auto; }
@media (max-width: 600px) {
    .cl-cta { flex-direction: column; align-items: stretch; }
    .cl-cta .btn-solid-gold { width: 100%; }
}

/* calc-landing: los <a>.btn-areas heredan el gradiente dorado de las reglas inline
   de a.btn-solid-gold; forzar el look oscuro de boton secundario (a.btn-areas en la landing) */
#pagina-calculadora-indemnizacion .hero .hero__highlight .cta__action--dual > a.btn-areas,
#pagina-calculadora-indemnizacion .cl-cta a.btn-areas {
    background: linear-gradient(145deg, rgba(30, 30, 30, 0.92), rgba(12, 12, 12, 0.96)) !important;
    color: var(--color-gold-solid) !important;
    border: 1px solid rgba(200, 169, 126, 0.4) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4) !important;
    text-shadow: none !important;
}
#pagina-calculadora-indemnizacion .hero .hero__highlight .cta__action--dual > a.btn-areas:hover,
#pagina-calculadora-indemnizacion .cl-cta a.btn-areas:hover {
    background: rgba(200, 169, 126, 0.12) !important;
    border-color: rgba(200, 169, 126, 0.7) !important;
}

/* calc-landing-2 */
/* Layouts unicos por seccion de la landing calculadora */

/* (1) editorial split: numero + regla vertical a la izquierda, prosa a la derecha */
.cl2-split { display: grid; grid-template-columns: 150px 1fr; gap: 36px; max-width: 980px; margin: 0 auto; align-items: start; }
.cl2-split__aside { display: flex; flex-direction: column; align-items: center; gap: 14px; padding-top: 6px; }
.cl2-split__num { font-family: var(--font-display); font-size: 3.2rem; line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(200, 169, 126, 0.55); }
.cl2-split__rule { width: 1px; height: 90px; background: linear-gradient(to bottom, rgba(200, 169, 126, 0.6), transparent); }
.cl2-split__tag { writing-mode: vertical-rl; font-size: 0.62rem; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(200, 169, 126, 0.7); }
.cl2-split__body h2 { margin-bottom: 18px; }
.cl2-split__body p { color: #c9c8c8; line-height: 1.8; margin-bottom: 16px; }
@media (max-width: 767px) {
    .cl2-split { grid-template-columns: 1fr; gap: 18px; }
    .cl2-split__aside { flex-direction: row; justify-content: center; }
    .cl2-split__rule { width: 90px; height: 1px; background: linear-gradient(to right, rgba(200, 169, 126, 0.6), transparent); align-self: center; }
    .cl2-split__tag { writing-mode: horizontal-tb; }
    .cl2-split__body h2, .cl2-split__body p { text-align: center !important; }
}

/* (2) cards 3D con numeral romano */
.cl-cards--3d { perspective: 1100px; }
.cl-cards--3d .cl-card { position: relative; overflow: hidden; transform-style: preserve-3d; padding-top: 30px; transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color 0.3s ease, box-shadow 0.45s ease; }
.cl-cards--3d .cl-card::before { content: attr(data-num); position: absolute; top: 10px; right: 16px; font-family: var(--font-display); font-size: 2.1rem; line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(200, 169, 126, 0.35); pointer-events: none; }
.cl-cards--3d .cl-card::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, rgba(200, 169, 126, 0.7), transparent); transform: scaleX(0.3); opacity: 0.4; transition: transform 0.5s ease, opacity 0.5s ease; }
.cl-cards--3d .cl-card:hover { transform: rotateX(4deg) translateY(-8px); border-color: rgba(200, 169, 126, 0.45); box-shadow: 0 26px 50px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 240, 210, 0.08); }
.cl-cards--3d .cl-card:hover::after { transform: scaleX(1); opacity: 1; }
@media (min-width: 768px) { #como-se-calcula .cl-cards { grid-template-columns: repeat(2, 1fr); max-width: 880px; } }

/* (3) formula ART: placa central */
.cl2-formula { max-width: 880px; margin: 0 auto 28px; padding: 30px clamp(18px, 4vw, 44px) 24px; text-align: center; border: 1px solid rgba(200, 169, 126, 0.28); border-radius: 8px; background: linear-gradient(160deg, rgba(24, 22, 18, 0.92), rgba(8, 8, 8, 0.96)); box-shadow: 0 22px 45px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 240, 210, 0.06); position: relative; }
.cl2-formula__kicker { display: inline-block; font-size: 0.62rem; letter-spacing: 0.28em; text-transform: uppercase; color: rgba(200, 169, 126, 0.85); border: 1px solid rgba(200, 169, 126, 0.3); border-radius: 999px; padding: 5px 14px; margin-bottom: 20px; background: rgba(200, 169, 126, 0.06); }
.cl2-formula__row { display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 6px clamp(6px, 1.6vw, 18px); margin-bottom: 18px; }
.cl2-formula__term { display: flex; flex-direction: column; gap: 4px; min-width: 86px; padding: 12px 10px; border: 1px solid rgba(200, 169, 126, 0.18); border-radius: 6px; background: rgba(255, 255, 255, 0.025); }
.cl2-formula__term strong { font-family: var(--font-display); font-size: clamp(1.15rem, 2.6vw, 1.7rem); color: var(--color-gold-solid); line-height: 1.1; }
.cl2-formula__term small { font-size: 0.6rem; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(216, 207, 192, 0.65); line-height: 1.3; }
.cl2-formula__op { align-self: center; font-family: var(--font-display); font-size: 1.4rem; color: rgba(200, 169, 126, 0.7); }
.cl2-formula__note { max-width: 640px; margin: 0 auto; font-size: 0.88rem; line-height: 1.65; color: #d8cfc0; }
.cl2-lab-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; max-width: 980px; margin: 0 auto; }
.cl2-lab-item { padding: 18px 20px; border-left: 2px solid rgba(200, 169, 126, 0.45); background: rgba(255, 255, 255, 0.02); border-radius: 0 6px 6px 0; }
.cl2-lab-item h3 { font-size: 0.95rem; color: var(--color-gold-solid); margin-bottom: 6px; }
.cl2-lab-item p { font-size: 0.87rem; line-height: 1.6; color: #bdbcbc; margin: 0; }

/* (4) rubros: paneles duales simetricos */
.cl2-panels { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 22px; max-width: 980px; margin: 0 auto; }
.cl2-panel { padding: 24px 22px; border: 1px solid rgba(200, 169, 126, 0.18); border-top: 2px solid rgba(200, 169, 126, 0.55); border-radius: 8px; background: linear-gradient(165deg, rgba(20, 20, 20, 0.85), rgba(8, 8, 8, 0.95)); box-shadow: 0 18px 38px rgba(0, 0, 0, 0.45); }
.cl2-panel__title { display: flex; align-items: center; gap: 10px; font-size: 1.05rem; color: #fff; margin-bottom: 16px; }
.cl2-panel__title span { color: var(--color-gold-solid); font-size: 1.2rem; }
.cl2-panel .cl-list li { background: transparent; border: none; border-bottom: 1px solid rgba(200, 169, 126, 0.1); border-radius: 0; padding: 9px 4px 9px 30px; }
.cl2-panel .cl-list li::before { left: 4px; }
.cl2-panel .cl-list li:last-child { border-bottom: none; }

/* (5) tipos: tarjetas-link numeradas con flecha */
.cl2-types { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 1060px; margin: 0 auto; }
.cl2-type { position: relative; display: block; padding: 22px 20px 20px; border: 1px solid rgba(200, 169, 126, 0.16); border-radius: 8px; background: linear-gradient(150deg, rgba(22, 21, 18, 0.9), rgba(8, 8, 8, 0.95)); text-decoration: none; overflow: hidden; transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color 0.3s ease, box-shadow 0.4s ease; }
.cl2-type::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(200, 169, 126, 0.08), transparent 70%); opacity: 0; transition: opacity 0.4s ease; }
.cl2-type:hover { transform: translateY(-6px); border-color: rgba(200, 169, 126, 0.5); box-shadow: 0 20px 42px rgba(0, 0, 0, 0.55); }
.cl2-type:hover::before { opacity: 1; }
.cl2-type__num { font-family: var(--font-display); font-size: 0.78rem; letter-spacing: 0.2em; color: rgba(200, 169, 126, 0.6); }
.cl2-type h3 { font-size: 1rem; color: #fff; margin: 8px 0 8px; transition: color 0.3s ease; }
.cl2-type:hover h3 { color: var(--color-gold-solid); }
.cl2-type p { font-size: 0.85rem; line-height: 1.6; color: #b5b4b4; margin: 0 0 26px; }
.cl2-type__arrow { position: absolute; right: 18px; bottom: 14px; color: var(--color-gold-solid); font-size: 1.05rem; transform: translateX(-4px); opacity: 0.55; transition: transform 0.35s ease, opacity 0.35s ease; }
.cl2-type:hover .cl2-type__arrow { transform: translateX(0); opacity: 1; }
@media (max-width: 991px) { .cl2-types { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .cl2-types { grid-template-columns: 1fr; } }

/* (6) oferta del seguro: panel asimetrico texto + tarjeta CTA */
.cl2-warn { display: grid; grid-template-columns: 1.6fr 1fr; gap: 28px; max-width: 1020px; margin: 0 auto; align-items: stretch; }
.cl2-warn__body p { color: #c9c8c8; line-height: 1.8; margin-bottom: 14px; }
.cl2-warn__body h2 { margin-bottom: 16px; }
.cl2-warn__cta { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 14px; text-align: center; padding: 28px 22px; border: 1px solid rgba(200, 169, 126, 0.3); border-radius: 8px; background: linear-gradient(160deg, rgba(26, 23, 18, 0.95), rgba(10, 10, 10, 0.95)); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5); }
.cl2-warn__badge { width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid rgba(200, 169, 126, 0.45); color: var(--color-gold-solid); font-size: 1.3rem; background: rgba(200, 169, 126, 0.08); }
.cl2-warn__cta p { color: #d8cfc0; line-height: 1.55; margin: 0; font-size: 0.95rem; }
@media (max-width: 850px) { .cl2-warn { grid-template-columns: 1fr; } .cl2-warn__body h2, .cl2-warn__body p, .cl2-warn__body .section-overline { text-align: center !important; } }

/* (7) documentacion: dossier numerado */
.cl2-docs { list-style: none; counter-reset: doc; padding: 0; max-width: 1020px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.cl2-docs li { counter-increment: doc; position: relative; padding: 14px 14px 14px 56px; color: #c9c8c8; font-size: 0.9rem; line-height: 1.5; border: 1px solid rgba(200, 169, 126, 0.14); border-radius: 6px; background: linear-gradient(150deg, rgba(20, 20, 20, 0.75), rgba(8, 8, 8, 0.9)); transition: border-color 0.3s ease, transform 0.3s ease; }
.cl2-docs li:hover { border-color: rgba(200, 169, 126, 0.4); transform: translateY(-2px); }
.cl2-docs li::before { content: counter(doc, decimal-leading-zero); position: absolute; left: 14px; top: 50%; transform: translateY(-50%); font-family: var(--font-display); font-size: 1.05rem; color: rgba(200, 169, 126, 0.75); }
@media (max-width: 991px) { .cl2-docs { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .cl2-docs { grid-template-columns: 1fr; } }

/* (8) proceso: timeline horizontal -> vertical en movil */
.cl2-steps { list-style: none; padding: 0; max-width: 1000px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; position: relative; }
.cl2-step { position: relative; text-align: center; padding: 0 8px; }
.cl2-step::before { content: ''; position: absolute; top: 19px; left: calc(50% + 26px); width: calc(100% - 52px); height: 1px; background: linear-gradient(90deg, rgba(200, 169, 126, 0.5), rgba(200, 169, 126, 0.12)); }
.cl2-step:last-child::before { display: none; }
.cl2-step__dot { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(200, 169, 126, 0.5); color: var(--color-gold-solid); font-family: var(--font-display); font-size: 1rem; background: rgba(200, 169, 126, 0.07); margin-bottom: 12px; box-shadow: 0 0 0 5px rgba(200, 169, 126, 0.05); }
.cl2-step h3 { font-size: 0.9rem; color: #fff; margin-bottom: 6px; }
.cl2-step p { font-size: 0.78rem; line-height: 1.55; color: #aFaeae; margin: 0; }
@media (max-width: 850px) {
    .cl2-steps { grid-template-columns: 1fr; gap: 0; max-width: 460px; }
    .cl2-step { display: grid; grid-template-columns: 38px 1fr; column-gap: 16px; text-align: left; padding: 0 0 24px; }
    .cl2-step__dot { margin-bottom: 0; }
    .cl2-step h3 { grid-column: 2; margin-top: 8px; }
    .cl2-step p { grid-column: 2; }
    .cl2-step::before { top: 42px; left: 19px; width: 1px; height: calc(100% - 46px); background: linear-gradient(to bottom, rgba(200, 169, 126, 0.5), rgba(200, 169, 126, 0.12)); }
}

/* (9) banner final con esquinas */
.cl2-banner { position: relative; max-width: 920px; margin: 0 auto; text-align: center; padding: clamp(30px, 5vw, 52px) clamp(20px, 5vw, 56px); border: 1px solid rgba(200, 169, 126, 0.22); border-radius: 8px; background: linear-gradient(160deg, rgba(24, 22, 18, 0.92), rgba(6, 6, 6, 0.96)); box-shadow: 0 26px 55px rgba(0, 0, 0, 0.6); overflow: hidden; }
.cl2-banner::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 70% 90% at 50% 110%, rgba(200, 169, 126, 0.1), transparent 65%); pointer-events: none; }
.cl2-banner h2 { margin-bottom: 14px; }
.cl2-banner p { max-width: 620px; margin: 0 auto; color: #c9c8c8; line-height: 1.75; }
.cl2-banner__corner { position: absolute; width: 34px; height: 34px; border-color: rgba(200, 169, 126, 0.55); border-style: solid; }
.cl2-banner__corner--tl { top: 12px; left: 12px; border-width: 1px 0 0 1px; }
.cl2-banner__corner--br { bottom: 12px; right: 12px; border-width: 0 1px 1px 0; }

/* cl3-rubros */
/* Rubros reclamables: paneles gemelos con medallon, detalle por rubro y divisor central */
.cl3-rubros { display: grid; grid-template-columns: 1fr 56px 1fr; align-items: stretch; max-width: 1040px; margin: 0 auto; }
.cl3-rubros__panel { position: relative; padding: 26px 26px 20px; border: 1px solid rgba(200, 169, 126, 0.18); border-radius: 10px; background: linear-gradient(165deg, rgba(22, 21, 17, 0.92), rgba(7, 7, 7, 0.96)); box-shadow: 0 20px 44px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 240, 210, 0.05); transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color 0.35s ease, box-shadow 0.45s ease; }
.cl3-rubros__panel:hover { transform: translateY(-5px); border-color: rgba(200, 169, 126, 0.4); box-shadow: 0 28px 56px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 240, 210, 0.09); }
.cl3-rubros__corner { position: absolute; width: 26px; height: 26px; border-color: rgba(200, 169, 126, 0.55); border-style: solid; pointer-events: none; }
.cl3-rubros__corner--tl { top: 9px; left: 9px; border-width: 1px 0 0 1px; }
.cl3-rubros__corner--br { bottom: 9px; right: 9px; border-width: 0 1px 1px 0; }
.cl3-rubros__head { display: flex; align-items: center; gap: 14px; padding-bottom: 16px; margin-bottom: 6px; border-bottom: 1px solid rgba(200, 169, 126, 0.16); }
.cl3-rubros__medal { width: 46px; height: 46px; min-width: 46px; display: flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid rgba(200, 169, 126, 0.45); color: var(--color-gold-solid); font-size: 1.25rem; background: radial-gradient(circle at 35% 30%, rgba(200, 169, 126, 0.16), rgba(200, 169, 126, 0.03)); box-shadow: 0 0 0 5px rgba(200, 169, 126, 0.05); }
.cl3-rubros__headtxt h3 { font-size: 1.06rem; color: #fff; margin: 0 0 3px; }
.cl3-rubros__count { font-size: 0.62rem; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(200, 169, 126, 0.7); }
.cl3-rubros__list { list-style: none; padding: 0; margin: 0; }
.cl3-rubros__list li { position: relative; display: flex; flex-direction: column; gap: 1px; padding: 11px 8px 11px 26px; border-bottom: 1px solid rgba(255, 255, 255, 0.05); transition: background 0.3s ease, padding-left 0.3s ease; }
.cl3-rubros__list li:last-child { border-bottom: none; }
.cl3-rubros__list li::before { content: '◆'; position: absolute; left: 6px; top: 13px; font-size: 0.55rem; color: rgba(200, 169, 126, 0.65); transition: color 0.3s ease, transform 0.3s ease; }
.cl3-rubros__list li:hover { background: rgba(200, 169, 126, 0.05); padding-left: 32px; }
.cl3-rubros__list li:hover::before { color: var(--color-gold-solid); transform: scale(1.25); }
.cl3-rubros__list strong { font-size: 0.93rem; color: #ece5d8; font-weight: 600; }
.cl3-rubros__list span { font-size: 0.78rem; color: #9b9a98; line-height: 1.5; }
.cl3-rubros__divider { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; }
.cl3-rubros__divline { width: 1px; flex: 1; max-height: 130px; background: linear-gradient(to bottom, transparent, rgba(200, 169, 126, 0.4), transparent); }
.cl3-rubros__star { color: rgba(200, 169, 126, 0.8); font-size: 0.8rem; }
@media (max-width: 850px) {
    .cl3-rubros { grid-template-columns: 1fr; gap: 0; }
    .cl3-rubros__divider { flex-direction: row; padding: 18px 0; }
    .cl3-rubros__divline { width: auto; height: 1px; flex: 1; max-width: 110px; max-height: none; background: linear-gradient(to right, transparent, rgba(200, 169, 126, 0.4), transparent); }
}

/* cl2-docs v2 */
/* Documentacion: badge numerado + titulo + detalle por item */
.cl2-docs--v2 li { display: grid; grid-template-columns: 38px 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: start; padding: 15px 16px 14px 14px; }
.cl2-docs--v2 li::before { grid-row: 1 / span 2; top: auto; left: auto; transform: none; position: static; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(200, 169, 126, 0.35); border-radius: 8px; background: rgba(200, 169, 126, 0.06); font-size: 0.92rem; color: rgba(200, 169, 126, 0.85); box-shadow: inset 0 1px 0 rgba(255, 240, 210, 0.06); transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease; }
.cl2-docs--v2 li strong { grid-column: 2; font-size: 0.9rem; font-weight: 600; color: #ece5d8; line-height: 1.35; }
.cl2-docs--v2 li span { grid-column: 2; font-size: 0.76rem; color: #9b9a98; line-height: 1.5; margin-top: 2px; }
.cl2-docs--v2 li:hover::before { background: var(--color-gold-solid); color: #0a0a0a; border-color: var(--color-gold-solid); }
.cl2-docs--v2 li:hover { border-color: rgba(200, 169, 126, 0.45); transform: translateY(-3px); box-shadow: 0 14px 28px rgba(0, 0, 0, 0.4); }

/* mobile-gpu-relief */
/* En moviles reales el lag del hero no es el parallax (ya esta gateado a escritorio +
   pointer fine + premium motion): es el combo heroZoom (transform animando un layer
   full-screen PERMANENTEMENTE) + backdrop-filter blur(12px) del highlight encima,
   que obliga a re-muestrear el blur en cada frame, incluso sin scroll. */
@media (max-width: 991px) {
    .hero__background {
        animation: none !important;
        transform: scale(1.06) !important; /* encuadre estatico equivalente al zoom medio */
    }
    .hero__highlight {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        /* compensar el blur perdido con un fondo apenas mas opaco (legibilidad igual) */
        background: linear-gradient(145deg, rgba(18, 18, 18, 0.94) 0%, rgba(5, 5, 5, 0.97) 100%) !important;
    }
}
/* SVGs decorativos con pattern+mask (legal-split-bg): a opacidad ~0.04 en pantallas
   chicas no se perciben, pero el raster del patron punteado + mascara radial se repinta
   cuando el acordeon empuja el layout. Fuera en movil. */
@media (max-width: 768px) {
    .legal-split-bg { display: none !important; }
}
/* Modo rendimiento (boton del usuario): tambien apaga estos costos en escritorio */
body.low-power-mode .hero__background { animation: none !important; }
body.low-power-mode .hero__highlight { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
body.low-power-mode .hero::after { display: none !important; } /* grano */

/* charcoal-texture-relief */
/* La textura de .bg-charcoal es un SVG feTurbulence en mosaico: cada repaint de la
   seccion (acordeon que empuja el layout, primer render de content-visibility al
   scrollear) blitea esa textura sobre areas enormes. En deep-black (color plano) el
   paint es trivial — por eso los FAQ sobre charcoal laguean y sobre deep-black no.
   En movil la textura ni se aprecia: fuera. En escritorio queda (GPU sobrada). */
@media (max-width: 991px) {
    .bg-charcoal { background-image: none !important; }
}
body.low-power-mode .bg-charcoal { background-image: none !important; }

/* composited-pulses */
/* Los pulsos infinitos de box-shadow (ctaPillPulse, readMoreOrbBreath, edgeHandleBreath)
   repintan su zona en cada frame y PSI los marca como animaciones no compuestas.
   El anillo del CTA flotante pasa a un pseudo con transform+opacity (compositado);
   los "breath" sutiles quedan como glow estatico. */
.floating-cta-pill { animation: none !important; }
.floating-cta-pill::after {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: inherit;
    border: 2px solid rgba(200, 169, 126, 0.55);
    opacity: 0;
    transform: scale(0.94);
    animation: pillRingScale 2.4s ease-out infinite;
    pointer-events: none;
}
@keyframes pillRingScale {
    0% { transform: scale(0.94); opacity: 0.6; }
    70% { transform: scale(1.16); opacity: 0; }
    100% { transform: scale(1.16); opacity: 0; }
}
.hero__read-more {
    animation: none !important;
    box-shadow: 0 0 16px rgba(200, 169, 126, 0.32), 0 0 32px rgba(200, 169, 126, 0.14), inset 0 1px 0 rgba(255, 240, 210, 0.15) !important;
}
.faq-toc-edge__handle { animation: none !important; }
@media (prefers-reduced-motion: reduce) { .floating-cta-pill::after { animation: none; opacity: 0; } }

/* dropdown-grace */
/* El dropdown se cerraba apenas el mouse salia del item en diagonal: gracia de
   ~250ms antes de ocultar + puente invisible sobre el borde superior del panel. */
.header__dropdown .header__submenu {
    transition: opacity 0.28s ease 0.25s, visibility 0.28s ease 0.25s, transform 0.28s ease 0.25s !important;
}
.header__dropdown:hover .header__submenu {
    transition-delay: 0s, 0s, 0s !important;
}
.header__submenu::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: -36px;
    height: 36px;
}

/* parent-pill v2 (escritorio) */
@media (min-width: 992px) {
    .hero-parent-pill {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
        padding: 9px 24px 10px 54px;
        position: relative;
        line-height: 1.25;
        text-align: left;
        font-size: 0.84rem;
        color: #ece5d8;
        background: linear-gradient(135deg, rgba(24, 22, 18, 0.88), rgba(8, 8, 8, 0.92)) !important;
        border: 1px solid rgba(200, 169, 126, 0.3) !important;
        border-radius: 14px !important;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 240, 210, 0.07) !important;
        transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
    }
    .hero-parent-pill:hover {
        border-color: rgba(200, 169, 126, 0.65) !important;
        transform: translateY(-2px);
        box-shadow: 0 16px 34px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 240, 210, 0.1) !important;
    }
    /* el markup ya trae su propio eyebrow ('Ver guia completa'): sin ::before duplicado */
    .hero-parent-pill::before { content: none !important; }
    .hero-parent-pill__arrow {
        position: absolute;
        left: 12px;
        top: 50%;
        transform: translateY(-50%);
        width: 20px;
        height: 20px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        border: 1px solid rgba(200, 169, 126, 0.45);
        color: var(--color-gold-solid);
        background: rgba(200, 169, 126, 0.08);
        transition: transform 0.25s ease, background 0.25s ease;
    }
    .hero-parent-pill:hover .hero-parent-pill__arrow {
        transform: translateY(-50%) translateX(-3px);
        background: rgba(200, 169, 126, 0.18);
    }
}

/* audit-hero-mobile */
/* SIG1/G5: el WhatsApp flotante sube por transform (clase is-shifted desde main.js),
   no mutando 'bottom' (que relayoutaba en pleno scroll del hero). */
.whatsapp-float-wrap { transition: transform 0.3s ease; }
.whatsapp-float-wrap.is-shifted { transform: translateY(-52px); }

/* SIG4/G2: refuerzo de lo que ya va en el CSS critico inline de cada pagina */
@media (max-width: 991px) {
    .hero::after { display: none !important; }
    .header.scrolled { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
}

/* SIG2: en movil el indice lateral (estatico de las FAQ o inyectado) queda oculto
   hasta la primera interaccion; main.js le agrega .is-ready. El hook html.js lo pone
   el early-reveal inline del head, asi que sin JS el indice queda siempre visible. */
@media (max-width: 1023px) {
    html.js .faq-toc-edge:not(.is-ready) { display: none !important; }
}

/* SIG5: altura del hero estable ante la barra dinamica del navegador movil.
   svh = viewport chico (barra visible): NO cambia durante el scroll. dvh si cambia
   y eso ES un layout shift en pleno gesto — por eso NO se usa. Fallback: las reglas
   100vh existentes quedan para navegadores sin svh. */
@supports (min-height: 100svh) {
    @media (max-width: 991px) {
        .hero, #pagina-principal .hero { min-height: 100svh !important; }
        .hero__content { min-height: 100svh !important; }
    }
}

/* CTA de subpaginas de transito (diagnostico): el CSS inline whitelistea IDs de pagina
   con min-height 55px en movil; estas 5 subpaginas no estaban en la lista y caian en la
   regla compacta de hero-lux-9 (40px/11px) pensada para el dual del home. Paridad exacta
   con la pagina principal: */
@media (max-width: 767px) {
    #pagina-accidente-auto .hero__highlight .btn-solid-gold,
    #pagina-accidente-moto .hero__highlight .btn-solid-gold,
    #pagina-accidente-bicicleta .hero__highlight .btn-solid-gold,
    #pagina-peaton-atropellado .hero__highlight .btn-solid-gold,
    #pagina-transporte-publico .hero__highlight .btn-solid-gold {
        min-width: unset !important;
        width: 100% !important;
        height: auto !important;
        min-height: 55px !important;
        padding: 12px 15px !important;
        contain: none !important;
        white-space: normal !important;
    }
}

/* loader-orbs-quiet */
/* (a) pulsos infinitos del loader fuera al revelar la pagina: el loader queda
   display:flex con opacity 0 y las animaciones seguian corriendo para siempre
   (Lighthouse las cuenta como layout shift, atribuido al shutter). El JS ademas
   hace display:none al terminar el fade; esto cubre la ventana intermedia.
   No toca #loader (su forceHideLoaderX con fill conserva visibility) ni las
   transiciones de opacity del fade. */
/* brillo del trazo del logo: sombra fija (el shimmer animaba filter = paint por frame) */
.ldr__path--mark{filter:drop-shadow(0 0 12px rgba(200,169,126,.45))!important}
body.loaded .ldr__orb,
body.loaded .ldr__logo-glow,
body.loaded .ldr__path--mark { animation: none !important; }

/* (b) premium-orb: oculto hasta que el layout inicial se asienta (main.js agrega
   orbs-on tras el reveal). Anclados a top % de un main de miles de px, cada
   correccion de altura los movia = CLS desktop. La aparicion por opacity no es
   shift. Sin JS no existe html.js y quedan visibles siempre. */
html.js .premium-orb { visibility: hidden; opacity: 0; transition: opacity 1.2s ease; }
html.js .premium-orb.is-on { visibility: visible; opacity: 1; }


/* penal-home-integration-v7 */
@media (min-width: 993px) {
    .practice-card--penal {
        grid-column: 1 / -1;
        min-height: 520px;
    }
    .practice-card--penal .practice-card__overlay {
        background: linear-gradient(90deg, rgba(8, 8, 10, 0.98) 0%, rgba(8, 8, 10, 0.93) 42%, rgba(8, 8, 10, 0.58) 68%, rgba(8, 8, 10, 0.78) 100%);
    }
    .practice-card--penal .practice-card__content {
        max-width: 930px;
    }
    .practice-card--penal .practice-card__title {
        max-width: 850px;
    }
}
@media (max-width: 992px) {
    .practice-card--penal {
        grid-column: auto;
    }
}

/* penal-megamenu-six-column-v7 */
@media (min-width: 1280px) {
    .header__submenu,
    .header__dropdown ul.header__submenu,
    nav .header__submenu {
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        align-items: stretch !important;
        align-content: start !important;
        justify-content: stretch !important;
    }
    .header__submenu .submenu-item-all {
        grid-column: 1 / -1 !important;
        width: auto !important;
    }
    .header__submenu li.submenu-card {
        min-width: 0 !important;
        max-width: none !important;
        width: auto !important;
    }
}
@media (min-width: 992px) and (max-width: 1279px) {
    .header__submenu,
    .header__dropdown ul.header__submenu,
    nav .header__submenu {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        align-items: stretch !important;
        align-content: start !important;
        justify-content: stretch !important;
    }
    .header__submenu .submenu-item-all {
        grid-column: 1 / -1 !important;
        width: auto !important;
    }
    .header__submenu li.submenu-card {
        min-width: 0 !important;
        max-width: none !important;
        width: auto !important;
    }
}

/* penal-home-card-contrast-v7 */
.practice-card--penal .practice-num,
.practice-card--penal .practice-icon,
.practice-card--penal .practice-card__title {
    color: var(--color-gold-solid, #C8A97E) !important;
}
.practice-card--penal .practice-tags li {
    color: #f0ece5 !important;
    background: rgba(255, 255, 255, 0.055) !important;
    border-color: rgba(200, 169, 126, 0.28) !important;
}
.practice-card--penal .practice-tags li .practice-tag-link {
    color: inherit !important;
}
.practice-card--penal .btn-ver--desc,
.practice-card--penal .btn-ver-mas--tags {
    color: var(--color-gold-solid, #C8A97E) !important;
}

/* penal-home-priority-v16 */
.practice-card__eyebrow {
    display: block;
    font-family: var(--font-body);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--color-gold-solid);
    margin-bottom: 10px;
}
/* Retired: the Home priority strip was removed on request. */

/* Site-wide breadcrumbs inside heroes (mirrors the FAQ pattern).
   Single line always: when the trail is wider than the screen it scrolls
   horizontally inside the nav instead of wrapping or growing. The nav must be
   start-aligned: the ol's auto inline margins center it while it fits and
   collapse to zero on overflow, keeping the first crumb reachable by scroll
   (justify-content:center would clip the leading items unreachably). */
.site-breadcrumbs, .penal-breadcrumbs { justify-content: flex-start; margin: 0 0 18px; position: relative; z-index: 6; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.site-breadcrumbs::-webkit-scrollbar, .penal-breadcrumbs::-webkit-scrollbar { display: none; }
.site-breadcrumbs ol, .penal-breadcrumbs ol { justify-content: flex-start; flex-wrap: nowrap; white-space: nowrap; width: max-content; margin-inline: auto; }
.site-breadcrumbs li, .penal-breadcrumbs li { flex: 0 0 auto; }

/* Legal-guide hero (guia accidente laboral, sole legal-hero__title user):
   two-level title so the long gold tagline reads as a subtitle line instead of
   doubling the display size across seven mobile lines. */
.legal-hero__title br { display: none; }
.legal-hero__title .text-gold { display: block; font-size: 0.82em; line-height: 1.35; margin-top: 10px; }
@media (max-width: 640px) {
    .legal-hero { padding-top: clamp(96px, 14vh, 120px); }
    .legal-hero__title { font-size: 1.5rem; }
    .legal-hero__subtitle { font-size: 0.98rem; line-height: 1.7; }
}

/* Map-SEO hero rotator: readable stacked text on small screens. */
@media (max-width: 600px) {
    .map-seo-hero__rotator { padding: 14px 12px; }
    .map-seo-hero__rotator .hero__list li {
        width: 100%;
        max-width: 100%;
        white-space: normal;
        font-size: 0.68rem;
        letter-spacing: 0.08em;
        line-height: 1.5;
        padding: 8px 12px;
    }
}

/* Card grids never squash two cards side by side on phones. */
@media (max-width: 639px) {
    .features-container,
    .authority-grid,
    .success-cases__grid,
    .team__grid,
    .coverage-grid {
        grid-template-columns: 1fr !important;
    }
}

.consulta-form__hint {
    font-size: .78rem;
    line-height: 1.5;
    color: var(--color-text-muted);
    margin-top: 6px;
}
.consulta-form__penal > div + div {
    margin-top: 14px;
}
@media (min-width: 992px) {
    .submenu-card--penal .submenu-group-title--secondary {
        margin-top: 8px;
        padding-top: 6px;
    }
}
