/*
Theme Name: Reflejo, Gestión y Comunicación en Salud
Theme URI: https://www.gestionreflejo.com
Author: Planteos & Reflejo
Author URI: https://www.gestionreflejo.com
Description: Sistema web institucional de Reflejo | Gestión y comunicación en salud. v3.0: superficies orgánicas sin filetes, gris grafito cálido 2025 (#575756), Verde #B5CE64 y Naranja #F09700 como acentos vivos, Borravino #721C35 exclusivo de Pulso Reflejo, video hero, pictogramas y motion UI. Rubik (títulos) + Open Sans (cuerpo); Baloo solo en el logotipo vectorial.
Version: 3.0.0
Text Domain: reflejo-consultora
*/

:root {
    --r-verde: #B5CE64;
    --r-verde-hover: #A3BE4E;
    --r-verde-velo: rgba(181, 206, 100, 0.24);
    --r-naranja: #F09700;
    --r-naranja-hover: #D98800;
    --r-naranja-velo: #F4F5F2;
    --r-naranja-texto: #F09700;
    --r-borravino: #721C35;
    --r-borravino-hover: #5D162B;
    --r-borravino-velo: rgba(114, 28, 53, 0.08);
    /* Gris grafito cálido extraído de las piezas gráficas 2025 (#575756) */
    --r-antracita: #575756;
    --r-antracita-profundo: #484847;
    --r-antracita-2: #60605F;
    --r-gris-texto: #666665;
    --r-gris-meta: #878786;
    --r-superficie: #FFFFFF;
    --r-superficie-alt: #F4F5F2;
    --r-radius-sm: 14px;
    --r-radius: 20px;
    --r-radius-lg: 24px;
    --r-radius-pill: 999px;
    --r-blob: 50%;
    --r-shadow: 0 16px 40px -12px rgba(72, 72, 71, 0.09);
    --r-shadow-hover: 0 22px 48px -14px rgba(72, 72, 71, 0.16);
    --r-shadow-dark: 0 20px 48px -16px rgba(45, 45, 44, 0.38);
    --r-ease: cubic-bezier(0.16, 1, 0.3, 1);
    --font-heading: 'Rubik', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-body: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    /* Alias de compatibilidad */
    --reflejo-verde: var(--r-verde);
    --reflejo-verde-intenso: var(--r-antracita);
    --reflejo-verde-oscuro: var(--r-antracita-profundo);
    --reflejo-verde-suave: var(--r-verde-velo);
    --reflejo-naranja: var(--r-naranja);
    --reflejo-naranja-hover: var(--r-naranja-hover);
    --reflejo-naranja-suave: var(--r-naranja-velo);
    --reflejo-naranja-accesible: var(--r-naranja);
    --reflejo-pulso: var(--r-borravino);
    --reflejo-pulso-oscuro: var(--r-borravino-hover);
    --reflejo-pulso-suave: var(--r-borravino-velo);
    --reflejo-blanco: var(--r-superficie);
    --reflejo-papel: var(--r-superficie-alt);
    --reflejo-tinta: var(--r-antracita);
    --reflejo-tinta-sec: var(--r-gris-texto);
    --reflejo-linea: transparent;
    --reflejo-linea-fuerte: transparent;
}

/* ============ BASE ============ */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
    margin: 0;
    font-family: var(--font-body);
    color: var(--r-gris-texto);
    background: var(--r-superficie);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--r-antracita); text-decoration: none; transition: color .25s var(--r-ease), background-color .25s var(--r-ease); }
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--r-antracita-profundo);
    margin-top: 0;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.14;
    text-wrap: balance;
}
h1 { font-size: clamp(2.15rem, 4.4vw, 3.75rem); font-weight: 300; margin-bottom: .85rem; }
h2 { font-size: clamp(1.65rem, 3vw, 2.55rem); font-weight: 300; margin-bottom: .65rem; }
h3 { font-size: clamp(1.12rem, 1.45vw, 1.32rem); font-weight: 600; margin-bottom: .4rem; }
h4 { font-size: .98rem; }
p { margin: 0 0 .85rem; color: var(--r-gris-texto); font-family: var(--font-body); }
strong { color: var(--r-antracita-profundo); font-weight: 600; }
.container { width: 100%; max-width: 1220px; margin: 0 auto; padding: 0 1.5rem; }
.lead { font-size: clamp(1.02rem, 1.3vw, 1.16rem); max-width: 58ch; color: var(--r-gris-texto); line-height: 1.55; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
[hidden] { display: none !important; }
.container > *, .r-grid > *, .r-bento > *, .simulator-grid > *, .section-head > *, .r-panel > *, .contact-grid > *, .footer-grid > *, .r-stats > *, .autotest-home-banner > * { min-width: 0; max-width: 100%; }

/* ============ KICKERS LIMPIOS (sin viñeta ni tonos amarronados) ============ */
.editorial-kicker, .kicker, .r-eyebrow {
    display: inline-block;
    font-family: var(--font-heading); font-size: .76rem; font-weight: 600;
    letter-spacing: .12em; text-transform: uppercase;
    color: var(--r-antracita-profundo); margin-bottom: .5rem;
}
.editorial-kicker::before, .kicker::before, .r-eyebrow::before {
    display: none !important;
    content: none !important;
}
.kicker--light, .hero-full .kicker, .section--dark .kicker { color: var(--r-verde); }
.kicker--pulso, .editorial-kicker.kicker-pulso { color: var(--r-borravino); }

/* ============ JERARQUÍA EN TITULARES POR PESO TIPOGRÁFICO Y COLOR PURO (sin contenedores) ============ */
mark.hl, .hl, .hl--naranja, .hl--pill, .hl-curva, .hl-text, .hl-text--naranja, h1 strong, h2 strong {
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    font-weight: 700 !important;
    color: var(--r-antracita-profundo);
}
.hl--naranja, .hl-text--naranja {
    color: var(--r-naranja) !important;
}
.hl-curva { position: static; white-space: normal; }
.hl-curva::after, .hl-curva--verde::after {
    display: none !important;
    content: none !important;
}
.hero-full mark.hl, .hero-full .hl, .hero-full .hl--pill, .hero-full .hl-text, .hero-full h1 strong,
.section--dark mark.hl, .section--dark .hl, .section--dark .hl--pill, .section--dark .hl-text, .section--dark h2 strong {
    color: var(--r-verde) !important;
    font-weight: 700 !important;
}
.hero-full .hl-curva, .hero-full .hl--naranja, .hero-full .hl-text--naranja,
.section--dark .hl-curva, .section--dark .hl--naranja, .section--dark .hl-text--naranja {
    color: var(--r-naranja) !important;
    font-weight: 700 !important;
}
.hero-full--pulso mark.hl, .hero-full--pulso .hl, .hero-full--pulso .hl--pill, .hero-full--pulso .hl-curva {
    color: var(--r-verde) !important;
    font-weight: 700 !important;
}

/* ============ BOTONES (Naranja #F09700 puro + Verde #B5CE64 puro) ============ */
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
    font-family: var(--font-heading); font-weight: 600; font-size: .94rem; line-height: 1.2;
    padding: .85rem 1.5rem; border: none; border-radius: var(--r-radius-pill);
    cursor: pointer; text-align: center;
    transition: transform .3s var(--r-ease), background-color .25s var(--r-ease), color .25s var(--r-ease), box-shadow .3s var(--r-ease);
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0) scale(.98); }
.btn:disabled { opacity: .55; cursor: wait; }
.btn-arrow { display: inline-block; transition: transform .3s var(--r-ease); }
.btn:hover .btn-arrow { transform: translateX(4px); }
.btn-primary { background: var(--r-naranja); color: #FFFFFF; font-weight: 700; }
.btn-primary:hover { background: var(--r-verde); color: #2B3020; box-shadow: 0 12px 26px -8px rgba(181, 206, 100, .65); }
.btn-verde { background: var(--r-verde); color: #2B3020; }
.btn-verde:hover { background: var(--r-naranja); color: #FFFFFF; box-shadow: 0 12px 26px -8px rgba(240, 151, 0, .5); }
.btn-dark { background: var(--r-antracita-profundo); color: #fff; }
.btn-dark:hover { background: var(--r-verde); color: #2B3020; }
.btn-pulso { background: var(--r-borravino); color: #fff; }
.btn-pulso:hover { background: var(--r-borravino-hover); color: #fff; box-shadow: 0 12px 26px -8px rgba(114, 28, 53, .5); }
.btn-outline, .btn-ghost { background: rgba(87, 87, 86, .08); color: var(--r-antracita); }
.btn-outline:hover, .btn-ghost:hover { background: var(--r-verde); color: #2B3020; }
.btn-ghost-light { background: rgba(255, 255, 255, .16); color: #fff; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.btn-ghost-light:hover { background: var(--r-verde); color: #2B3020; }
.btn-sm { padding: .65rem 1.15rem; font-size: .86rem; }
.link-arrow {
    display: inline-flex; align-items: center; gap: .4rem;
    font-family: var(--font-heading); font-weight: 600; font-size: .92rem; color: var(--r-antracita-profundo);
    padding: .25rem .05rem;
    background-image: linear-gradient(var(--r-naranja), var(--r-naranja));
    background-size: 0 2px; background-repeat: no-repeat; background-position: 0 100%;
    transition: background-size .35s var(--r-ease), color .25s;
}
.link-arrow:hover { background-size: 100% 2px; }
.link-arrow .btn-arrow { transition: transform .3s var(--r-ease); }
.link-arrow:hover .btn-arrow { transform: translateX(4px); }
.link-arrow--light { color: #fff; }

/* ============ BARRA DEMO + HEADER + REDES ============ */
.reflejo-demo-bar { background: var(--r-antracita-profundo); color: rgba(255, 255, 255, .86); font-family: var(--font-heading); font-size: .74rem; padding: .35rem 0; position: relative; z-index: 1100; }
.reflejo-demo-bar-inner { max-width: 1280px; margin: 0 auto; padding: 0 1.5rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .6rem; }
.demo-bar-left { display: flex; align-items: center; flex-wrap: wrap; gap: .38rem; }
.demo-bar-utilities { display: flex; align-items: center; gap: .6rem; }
.demo-status-tag { display: inline-block; background: var(--r-verde); color: #2B3020; font-weight: 700; padding: .14rem .62rem; border-radius: 999px; text-transform: uppercase; letter-spacing: .05em; font-size: .66rem; }
.demo-btn { background: rgba(255, 255, 255, .1); color: #fff; border: none; border-radius: 999px; padding: .26rem .72rem; font-family: var(--font-heading); font-size: .7rem; cursor: pointer; transition: background-color .25s var(--r-ease), color .25s; }
.demo-btn:hover { background: var(--r-verde); color: #2B3020; }
.topbar-announce-link { display: inline-flex; align-items: center; gap: .45rem; color: #FFFFFF; text-decoration: none; font-weight: 500; transition: color .2s var(--r-ease); }
.topbar-announce-link:hover .topbar-announce-text { color: var(--r-verde); }
.topbar-announce-text { font-size: .74rem; letter-spacing: .01em; }
.topbar-social-link { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; transition: background-color .25s, color .25s; }
.topbar-social-link svg { width: 14px; height: 14px; }
.topbar-social-link:hover { background: var(--r-verde); color: #2B3020; }
.lang-switcher--topbar { background: #F4F5F2; padding: .14rem; }
.lang-switcher--topbar .lang-btn { color: #3D3D3C; font-weight: 600; padding: .18rem .48rem; font-size: .68rem; }
.lang-switcher--topbar .lang-btn:hover { color: #1C2118; background: rgba(72, 72, 71, .08); }
.lang-switcher--topbar .lang-btn.active { background: var(--r-verde); color: #1C2118; font-weight: 700; }

.site-header { position: sticky; top: 0; z-index: 1000; background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); transition: box-shadow .35s var(--r-ease), background-color .35s var(--r-ease); }
.site-header.is-scrolled { box-shadow: 0 10px 28px -16px rgba(72, 72, 71, .22); }
.header-inner { position: relative; max-width: 1280px; margin: 0 auto; padding: .85rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; transition: padding .32s var(--r-ease); }
.site-header.is-scrolled .header-inner { padding: .45rem 1.5rem; }
.brand-logo, .brand-logo picture { display: inline-flex; align-items: center; flex-shrink: 0; }
.brand-logo img { height: 64px; width: auto; display: block; transition: height .32s var(--r-ease), transform .32s var(--r-ease); }
.site-header.is-scrolled .brand-logo img { height: 44px; }
.main-nav { display: flex; align-items: center; gap: 1rem; flex-shrink: 0; }
.nav-list { display: flex; align-items: center; gap: .18rem; list-style: none; margin: 0; padding: 0; flex-wrap: nowrap; }
.nav-item { position: relative; flex-shrink: 0; }
.nav-link { display: inline-flex; align-items: center; gap: .3rem; font-family: var(--font-heading); font-weight: 500; font-size: .9rem; color: var(--r-antracita); padding: .48rem .78rem; border-radius: 999px; white-space: nowrap; flex-shrink: 0; transition: background-color .25s var(--r-ease), color .25s; }
.header-cta-btn { white-space: nowrap; flex-shrink: 0; }
.nav-chevron { opacity: .65; transition: transform .25s var(--r-ease); flex-shrink: 0; }
.nav-item.has-dropdown:hover .nav-chevron { transform: rotate(180deg); }
.nav-link:hover { background: var(--r-verde-velo); color: var(--r-antracita-profundo); }
.nav-link.active { background: var(--r-verde-velo); color: #2B3020; font-weight: 600; }
.nav-link.nav-link-pulso:hover, .nav-link.nav-link-pulso.active { background: var(--r-borravino-velo); color: var(--r-borravino); font-weight: 600; }
.dropdown-menu { position: absolute; top: calc(100% + .5rem); left: 0; min-width: 330px; list-style: none; margin: 0; padding: .55rem; background: #fff; border-radius: var(--r-radius); box-shadow: var(--r-shadow-hover); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .3s var(--r-ease), transform .35s var(--r-ease), visibility .3s; }
.nav-item.has-dropdown:hover .dropdown-menu, .nav-item.has-dropdown:focus-within .dropdown-menu { opacity: 1; visibility: visible; transform: none; }
.dropdown-link { display: flex; align-items: center; gap: .75rem; padding: .6rem .75rem; border-radius: var(--r-radius-sm); transition: background-color .25s var(--r-ease); }
.dropdown-link:hover { background: var(--r-verde-velo); }
.dropdown-link.dropdown-pulso:hover { background: var(--r-borravino-velo); }
.dropdown-link strong { display: block; font-family: var(--font-heading); font-size: .9rem; color: var(--r-antracita); }
.dropdown-link.dropdown-pulso strong { color: var(--r-borravino); }
.dropdown-link small { display: block; color: var(--r-gris-texto); font-size: .78rem; margin-top: .08rem; line-height: 1.35; }
.header-controls { display: flex; align-items: center; gap: .65rem; flex-shrink: 0; }
.header-mobile-utilities { display: none; align-items: center; justify-content: space-between; gap: .75rem; width: 100%; padding-top: .5rem; border-top: 1px solid rgba(87, 87, 86, .12); }
.header-social { display: inline-flex; align-items: center; gap: .35rem; }
.header-social__link {
    display: inline-grid; place-items: center;
    width: 36px; height: 36px; border-radius: 50%;
    background: var(--r-superficie-alt); color: var(--r-antracita);
    transition: background-color .25s var(--r-ease), color .25s, transform .3s var(--r-ease);
}
.header-social__link svg { width: 17px; height: 17px; }
.header-social__link:hover { background: var(--r-verde); color: #2B3020; transform: translateY(-2px); }
.lang-switcher { display: flex; background: var(--r-superficie-alt); border-radius: 999px; padding: .18rem; }
.lang-btn { border: none; background: transparent; font-family: var(--font-heading); font-size: .72rem; font-weight: 600; color: #3D3D3C; padding: .28rem .55rem; border-radius: 999px; cursor: pointer; transition: background-color .25s, color .25s; }
.lang-btn:hover { color: #1C2118; background: rgba(72, 72, 71, .08); }
.lang-btn.active { background: var(--r-verde); color: #1C2118; font-weight: 700; }
.mobile-menu-toggle { display: none; align-items: center; justify-content: center; gap: .45rem; border: none; background: var(--r-superficie-alt); color: var(--r-antracita); font-family: var(--font-heading); font-weight: 600; font-size: .86rem; border-radius: 999px; padding: .5rem .95rem; min-height: 42px; cursor: pointer; }

/* ============ HERO FULL-WIDTH CON VIDEO (aire amplio sobre la onda de la base) ============ */
.hero-full {
    position: relative; isolation: isolate; display: flex; align-items: center;
    width: 100%; min-height: min(68vh, 560px);
    padding: clamp(3.2rem, 6vh, 4.6rem) 0 clamp(4.8rem, 8.5vh, 6.2rem);
    color: #fff; overflow: hidden; background: #0B0C0B;
}
.hero-full--page { min-height: min(46vh, 410px); padding: clamp(2.6rem, 5vh, 3.6rem) 0 clamp(4.3rem, 7.6vh, 5.5rem); }
.hero-full--compact { min-height: min(36vh, 330px); padding: clamp(2.2rem, 4.2vh, 3rem) 0 clamp(4rem, 7vh, 5rem); }
html.no-hero-wave .hero-full { padding-bottom: clamp(3rem, 5.5vh, 4.2rem); }
html.no-hero-wave .hero-full--page { padding-bottom: clamp(2.5rem, 4.8vh, 3.4rem); }
html.no-hero-wave .hero-full--compact { padding-bottom: clamp(2.1rem, 4vh, 2.8rem); }
.hero-full__media { position: absolute; inset: 0; z-index: -3; overflow: hidden; }
.hero-full__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 32%; }
.hero-full__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; z-index: 0; }
.hero-full__veil {
    position: absolute; inset: 0; z-index: -2;
    background: linear-gradient(100deg, rgba(0, 0, 0, .52) 0%, rgba(0, 0, 0, .34) 50%, rgba(0, 0, 0, .16) 100%);
}
.hero-full--pulso .hero-full__veil {
    background: linear-gradient(100deg, rgba(0, 0, 0, .58) 0%, rgba(45, 8, 20, .42) 52%, rgba(0, 0, 0, .24) 100%);
}
.hero-full--nucleo .hero-full__veil {
    background: linear-gradient(100deg, rgba(0, 0, 0, .74) 0%, rgba(0, 0, 0, .58) 54%, rgba(0, 0, 0, .42) 100%);
}
.hero-full__pulse {
    position: absolute; inset: 0; z-index: 1; pointer-events: none;
    display: flex; align-items: center; overflow: hidden; opacity: .88;
}
.hero-pulse-svg { width: 100%; height: 78%; min-height: 220px; max-height: 380px; display: block; overflow: visible; }
.hero-pulse-svg__grid line { stroke: rgba(255, 255, 255, .06); stroke-width: 1; stroke-dasharray: 5 8; }
.hero-pulse-svg__base { stroke: rgba(181, 206, 100, .26); stroke-width: 1.75; stroke-linejoin: miter; stroke-linecap: round; }
.hero-pulse-svg__active { stroke: url(#reflejoPulseGrad); stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.hero-pulse-svg__nodes circle { fill: rgba(181, 206, 100, .45); stroke: rgba(255, 255, 255, .65); stroke-width: 1.4; transition: transform .25s ease, fill .25s ease; transform-box: fill-box; transform-origin: center; }
.hero-pulse-svg__nodes circle.is-beat { fill: #F09700; stroke: #FFFFFF; transform: scale(1.65); }
.hero-pulse-svg__halo { fill: rgba(240, 151, 0, .26); stroke: rgba(181, 206, 100, .55); stroke-width: 1.5; }
.hero-pulse-svg__dot { fill: #FFFFFF; stroke: #F09700; stroke-width: 2.5; }
.hero-full__content { position: relative; z-index: 2; }
.hero-full__content > * { max-width: 760px; }
.hero-full h1, .hero-full h2 { color: #fff; text-shadow: 0 2px 22px rgba(0, 0, 0, 0.35); }
.hero-full .lead { color: rgba(255, 255, 255, .94); text-shadow: 0 1px 12px rgba(0, 0, 0, 0.28); }
.hero-full__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.4rem; }
.hero-full__chips { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.4rem; }
.hero-full__curve { position: absolute; left: 0; right: 0; bottom: -1px; z-index: 1; line-height: 0; pointer-events: none; transition: opacity .25s var(--r-ease); }
.hero-full__curve svg { width: 100%; height: clamp(24px, 3.6vw, 46px); display: block; }
.hero-full__curve path { fill: var(--curve-fill, #FFFFFF); }
html.no-hero-wave .hero-full__curve { display: none !important; }
.demo-btn.is-active { background: var(--r-verde); color: #2B3020; font-weight: 700; }

/* ============ CHIPS Y PILLS (colores puros de marca, cero marrón) ============ */
.r-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.chip, .r-pill {
    display: inline-flex; align-items: center; gap: .4rem;
    padding: .38rem .85rem; border-radius: 999px;
    font-family: var(--font-heading); font-size: .78rem; font-weight: 500;
    background: var(--r-superficie-alt); color: var(--r-antracita);
}
.chip--glass { background: rgba(255, 255, 255, .15); color: #fff; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.chip--verde, .r-pill--verde { background: var(--r-verde); color: #2B3020; font-weight: 600; }
.chip--naranja, .r-pill--naranja { background: var(--r-naranja); color: #FFFFFF; font-weight: 600; }
.chip--pulso, .r-pill--pulso { background: var(--r-borravino); color: #fff; font-weight: 600; }
.chip--sm { font-size: .72rem; padding: .26rem .68rem; }
.chip-dot { display: none; }
.blob { display: none !important; }

/* ============ SECCIONES (ESPACIADO VERTICAL COMPACTO Y EQUILIBRADO) ============ */
.section { position: relative; isolation: isolate; padding: clamp(2.35rem, 4.2vw, 3.5rem) 0; overflow: hidden; }
.section--alt, .section-paper { background: var(--r-superficie-alt); }
.section--dark, .section-verde-banner { background: var(--r-antracita); color: rgba(255, 255, 255, .88); }
.section--dark h2, .section--dark h3, .section--dark h4, .section-verde-banner h2 { color: #fff; }
.section--dark p, .section-verde-banner p { color: rgba(255, 255, 255, .82); }
.section--dark strong { color: #fff; }
.section--pulso, .section-pulso-spotlight { background: var(--r-borravino-velo); }
.section--tight { padding: clamp(1.4rem, 2.6vw, 2.2rem) 0; }
.section-head, .section-head-split {
    display: grid; grid-template-columns: 1.3fr 1fr; gap: 1.5rem;
    align-items: end; margin-bottom: clamp(1.25rem, 2.2vw, 1.85rem);
}
.section-head p, .section-head-split p { margin: 0; max-width: 46ch; }
.section-head h2 { margin-bottom: 0; }
.section-head--center { grid-template-columns: 1fr; text-align: center; justify-items: center; }

/* ============ GRILLAS + TARJETAS (geometría regular sin deformaciones en hover) ============ */
.r-grid { display: grid; gap: clamp(.9rem, 1.6vw, 1.25rem); }
.r-grid--2 { grid-template-columns: repeat(2, 1fr); }
.r-grid--3 { grid-template-columns: repeat(3, 1fr); }
.r-grid--4 { grid-template-columns: repeat(4, 1fr); }
.r-bento { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(.9rem, 1.6vw, 1.25rem); }
.r-card {
    position: relative; isolation: isolate; overflow: hidden;
    display: flex; flex-direction: column; gap: .3rem;
    background: #fff; border-radius: var(--r-radius-lg);
    padding: clamp(1.35rem, 2vw, 1.8rem); box-shadow: var(--r-shadow);
    transition: transform .3s var(--r-ease), box-shadow .3s var(--r-ease), background-color .25s var(--r-ease);
}
.r-card::after { display: none !important; content: none !important; }
.r-card:hover { transform: translateY(-3px); box-shadow: var(--r-shadow-hover); }
.r-card h3 { margin: .7rem 0 .25rem; }
.r-card p { margin: 0; font-size: .93rem; line-height: 1.52; }
.r-card--alt { background: var(--r-superficie-alt); box-shadow: none; }
.r-card--fill:hover { background: #fff; }
.r-card--dark { background: var(--r-antracita); box-shadow: none; color: #fff; }
.r-card--dark h3 { color: #fff; }
.r-card--dark p { color: rgba(255, 255, 255, .82); }
.r-card--dark:hover { background: var(--r-antracita-profundo); }
.r-card--pulso { background: var(--r-borravino); box-shadow: var(--r-shadow-hover); }
.r-card--pulso h3, .r-card--pulso .r-card__title { color: #fff; }
.r-card--pulso p { color: rgba(255, 255, 255, .88); }
.r-card--pulso:hover { background: var(--r-borravino-hover); }
.r-card__foot { margin-top: auto; padding-top: 1rem; display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; justify-content: space-between; }
.r-card__title-lg { font-size: clamp(1.5rem, 2.4vw, 1.95rem); }

/* ============ BANNER DESTACADO AUTOTEST EN HOME ============ */
.autotest-home-banner {
    margin-top: 1.35rem;
    background: linear-gradient(115deg, var(--r-antracita-profundo) 0%, var(--r-antracita) 62%, #636362 100%);
    color: #fff;
    border-radius: var(--r-radius-lg);
    padding: clamp(1.4rem, 2.6vw, 2.1rem);
    box-shadow: var(--r-shadow-hover);
    display: grid;
    grid-template-columns: 1.55fr auto;
    gap: 1.5rem;
    align-items: center;
}
.autotest-home-banner h3 { color: #fff; font-size: clamp(1.3rem, 2.1vw, 1.65rem); margin: 0 0 .4rem; font-weight: 600; }
.autotest-home-banner p { color: rgba(255, 255, 255, .88); margin: 0; font-size: .94rem; max-width: 66ch; }
.autotest-home-banner strong { color: var(--r-verde); font-weight: 700; }
.autotest-home-banner .kicker { color: var(--r-verde); }
.autotest-home-banner__cta { display: flex; flex-direction: column; align-items: flex-end; gap: .5rem; }
.autotest-home-banner__note { font-family: var(--font-heading); font-size: .76rem; color: rgba(255, 255, 255, .78); }

/* ============ BLOQUE EDITORIAL CON IMAGEN EN GRILLA (NO HERO) ============ */
.r-feature-split {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: clamp(1.35rem, 2.8vw, 2.4rem);
    align-items: center;
    background: #FFFFFF;
    border-radius: var(--r-radius-lg);
    padding: clamp(1.2rem, 2.2vw, 1.75rem);
    box-shadow: var(--r-shadow);
}
.section:not(.section--alt) .r-feature-split {
    background: var(--r-superficie-alt);
    box-shadow: none;
}
.r-feature-split--reverse {
    grid-template-columns: 1fr 1.05fr;
}
.r-feature-split__media {
    border-radius: var(--r-radius);
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #1C2118;
}
.r-feature-split__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 28%;
    display: block;
}
.r-feature-split__body h3 {
    font-size: clamp(1.3rem, 2.1vw, 1.68rem);
    margin: .2rem 0 .65rem;
    line-height: 1.22;
}
.r-feature-split__body p {
    margin: 0;
    font-size: .95rem;
    line-height: 1.58;
    color: var(--r-antracita-suave);
}
@media (max-width: 900px) {
    .r-feature-split, .r-feature-split--reverse {
        grid-template-columns: 1fr;
    }
}

/* ============ MINI ÍTEMS CON PICTOGRAMA ============ */
.r-minis { display: grid; gap: .55rem; }
.r-mini { display: flex; align-items: center; gap: .85rem; background: var(--r-superficie-alt); border-radius: var(--r-radius); padding: .6rem 1rem .6rem .6rem; font-family: var(--font-heading); font-weight: 500; font-size: .92rem; color: var(--r-antracita); transition: background-color .25s var(--r-ease), transform .3s var(--r-ease); }
.r-mini:hover { background: var(--r-verde-velo); transform: translateX(3px); }
.section--dark .r-mini { background: rgba(255, 255, 255, .08); color: #fff; }
.section--dark .r-mini:hover { background: rgba(181, 206, 100, .18); }
.r-mini a { color: inherit; }

/* ============ PICTOGRAMAS ORIGINALES DE ILLUSTRATOR (Reflejo-iconos.ai) ============ */
.picto {
    display: inline-grid; place-items: center; flex: 0 0 auto;
    width: 54px; height: 54px;
    background: transparent;
    transition: transform .3s var(--r-ease);
}
.picto svg { width: 100%; height: 100%; overflow: visible; display: block; }
.picto--lg { width: 68px; height: 68px; }
.picto--sm { width: 42px; height: 42px; }
.picto--xs { width: 32px; height: 32px; }
.r-card--dark .picto, .r-card--pulso .picto, .section--dark .picto {
    background: #FFFFFF;
    border-radius: 14px;
    padding: 7px;
    box-shadow: 0 6px 16px -6px rgba(0, 0, 0, .25);
}
/* Íconos especiales de Servicios de Reflejo: siempre enmarcados en círculos de color pleno con dibujo en negativo (#FFFFFF) */
.picto--service,
.r-card--dark .picto--service,
.r-card--pulso .picto--service,
.section--dark .picto--service {
    background: transparent !important;
    border-radius: 50% !important;
    padding: 0 !important;
    box-shadow: 0 8px 20px -6px rgba(0, 0, 0, .22);
}
.r-card--pulso .picto--service .service-icon-circle {
    stroke: #FFFFFF;
    stroke-width: 15px;
}
.r-card:hover .picto, .r-mini:hover .picto, .r-step:hover .picto, .picto:hover {
    transform: translateY(-2px) scale(1.04);
}

/* ============ EJES E IDEAS FUERZA / CONTADORES ============ */
.r-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: .85rem; }
.r-stats--3 { grid-template-columns: repeat(3, 1fr); }
.r-stats--2 { grid-template-columns: repeat(2, 1fr); }
.r-stat {
    position: relative; overflow: hidden; isolation: isolate;
    background: #fff; border-radius: var(--r-radius);
    padding: 1.25rem 1.35rem; box-shadow: var(--r-shadow);
    transition: transform .3s var(--r-ease), box-shadow .3s var(--r-ease);
}
.r-stat:hover { transform: translateY(-3px); box-shadow: var(--r-shadow-hover); }
.r-stat__kicker {
    display: inline-block;
    font-family: var(--font-heading); font-size: .72rem; font-weight: 600;
    letter-spacing: .1em; text-transform: uppercase;
    color: var(--r-gris-texto); margin-bottom: .3rem;
}
.r-stat__title {
    display: block;
    font-family: var(--font-heading); font-weight: 700;
    font-size: clamp(1.15rem, 1.55vw, 1.35rem); line-height: 1.2;
    color: var(--r-antracita-profundo);
}
.r-stat__value {
    display: flex; align-items: baseline; gap: .2em;
    font-family: var(--font-heading); font-weight: 700;
    font-size: clamp(2rem, 3.6vw, 2.85rem); line-height: 1; letter-spacing: -.03em;
    color: var(--r-antracita-profundo); font-variant-numeric: tabular-nums;
}
.r-stat__value .unit { font-size: .42em; font-weight: 600; letter-spacing: 0; color: var(--r-gris-texto); }
.r-stat__label { display: block; margin-top: .4rem; font-size: .86rem; color: var(--r-gris-texto); max-width: 28ch; line-height: 1.42; }
.r-stat--verde { background: var(--r-verde); box-shadow: var(--r-shadow); }
.r-stat--verde .r-stat__kicker, .r-stat--verde .r-stat__title, .r-stat--verde .r-stat__value, .r-stat--verde .r-stat__value .unit, .r-stat--verde .r-stat__label { color: #2B3020; }
.r-stat--naranja { background: #fff; box-shadow: var(--r-shadow); }
.r-stat--naranja .r-stat__kicker { color: var(--r-naranja); font-weight: 700; }
.r-stat--naranja .r-stat__title { color: var(--r-antracita-profundo); }
.r-stat--naranja .r-stat__value { color: var(--r-naranja); }
.r-stat--naranja .r-stat__value .unit { color: var(--r-antracita-profundo); }
.r-stat--naranja .r-stat__label { color: var(--r-gris-texto); }
.r-stat--dark { background: var(--r-antracita); box-shadow: none; }
.r-stat--dark .r-stat__kicker { color: var(--r-verde); }
.r-stat--dark .r-stat__title { color: #fff; }
.r-stat--dark .r-stat__value { color: var(--r-naranja); }
.r-stat--dark .r-stat__value .unit { color: #fff; }
.r-stat--dark .r-stat__label { color: rgba(255, 255, 255, .88); }
.section--dark .r-stat--verde { background: rgba(255, 255, 255, .09); }
.section--dark .r-stat--verde .r-stat__value { color: var(--r-verde); }
.section--dark .r-stat--verde .r-stat__value .unit, .section--dark .r-stat--verde .r-stat__label { color: rgba(255, 255, 255, .88); }
.section--dark .r-stat--naranja { background: rgba(255, 255, 255, .09); }
.section--dark .r-stat--naranja .r-stat__value { color: var(--r-naranja); }
.section--dark .r-stat--naranja .r-stat__value .unit, .section--dark .r-stat--naranja .r-stat__label { color: rgba(255, 255, 255, .88); }
.r-stat--pulso { background: var(--r-borravino); }
.r-stat--pulso .r-stat__value, .r-stat--pulso .r-stat__value .unit { color: #fff; }
.r-stat--pulso .r-stat__label { color: rgba(255, 255, 255, .88); }

/* ============ BOTÓN AUTOTEST EN HERO CON LATIDO Y AURA EXPANSIVA ============ */
.btn-autotest-hero {
    position: relative;
    isolation: isolate;
    overflow: visible !important;
    background: rgba(28, 33, 24, .74) !important;
    border: 1.5px solid var(--r-verde) !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 22px rgba(181, 206, 100, .38), 0 8px 20px -6px rgba(0, 0, 0, .35);
    animation: heroAutotestBeat 2.4s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}
.btn-autotest-hero::before,
.btn-autotest-hero::after {
    content: "";
    position: absolute;
    inset: -3px;
    border-radius: 999px;
    pointer-events: none;
    z-index: -1;
}
.btn-autotest-hero::before {
    border: 2px solid rgba(181, 206, 100, .78);
    animation: heroAutotestAura 2.4s ease-out infinite;
}
.btn-autotest-hero::after {
    border: 1.5px solid rgba(240, 151, 0, .65);
    animation: heroAutotestAura 2.4s ease-out 0.65s infinite;
}
.btn-autotest-hero:hover {
    background: var(--r-verde) !important;
    color: #1C2118 !important;
    border-color: var(--r-verde) !important;
}
@keyframes heroAutotestBeat {
    0%, 100% { transform: scale(1); }
    12% { transform: scale(1.045); }
    24% { transform: scale(0.995); }
    36% { transform: scale(1.032); }
    52% { transform: scale(1); }
}
@keyframes heroAutotestAura {
    0% {
        transform: scale(0.98);
        opacity: .88;
    }
    75% {
        transform: scale(1.22, 1.48);
        opacity: 0;
    }
    100% {
        transform: scale(1.25, 1.54);
        opacity: 0;
    }
}

/* ============ CARRUSEL DE FLIPCARDS: PEQUEÑOS CARTELES EN VERDE CLARO (.r-flipcard) ============ */
.section-head--compact { margin-bottom: 1.1rem; }
.r-carousel--flipcards .r-carousel__track { padding: .45rem .2rem 1.25rem; }
.r-flipcard,
.r-flipcard:focus,
.r-flipcard:focus-visible {
    perspective: 1100px;
    min-height: 244px;
    cursor: pointer;
    outline: none !important;
    border: none !important;
}
.r-flipcard__inner {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 244px;
    transform-style: preserve-3d;
    transition: transform .58s cubic-bezier(0.22, 1, 0.36, 1);
}
.r-flipcard:hover .r-flipcard__inner,
.r-flipcard:focus-within .r-flipcard__inner,
.r-flipcard.is-flipped .r-flipcard__inner {
    transform: rotateY(180deg);
}
.r-flipcard__front,
.r-flipcard__back {
    position: absolute;
    inset: 0;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    border-radius: var(--r-radius);
    border: none !important;
    outline: none !important;
    padding: 1.5rem 1.55rem 1.35rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: var(--r-shadow);
}
.r-flipcard__front {
    background: linear-gradient(148deg, #EDF4D3 0%, #DFECB6 100%);
    align-items: flex-start;
    overflow: hidden;
}
.r-flipcard__qmark {
    position: absolute;
    top: -.45rem;
    right: .85rem;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 5.4rem;
    line-height: 1;
    color: rgba(36, 48, 16, .08);
    pointer-events: none;
    user-select: none;
}
.r-flipcard__quote {
    position: relative;
    z-index: 1;
    margin: .1rem 0 .65rem;
    font-family: var(--font-heading);
    font-weight: 500;
    font-size: clamp(1.06rem, 1.34vw, 1.22rem);
    line-height: 1.34;
    letter-spacing: -.015em;
    color: #243010;
}
.r-flipcard__quote strong {
    font-weight: 700;
    font-size: 1.05em;
    color: #161E0A;
    background: rgba(255, 255, 255, .68);
    padding: .04em .28em;
    border-radius: 6px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.r-flipcard__quote span {
    font-weight: 500;
    color: #2D3A16;
}
.r-flipcard__cue {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-family: var(--font-heading);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .02em;
    color: #1E2610;
    background: rgba(255, 255, 255, .82);
    padding: .28rem .72rem;
    border-radius: 999px;
    align-self: flex-end;
    margin-top: .25rem;
    transition: background-color .25s, color .25s;
}
.r-flipcard:hover .r-flipcard__cue {
    background: #1E2610;
    color: #FFFFFF;
}
.r-flipcard__back {
    transform: rotateY(180deg);
    background: var(--r-antracita);
    color: #FFFFFF;
    box-shadow: var(--r-shadow-hover);
}
.r-flipcard__back p,
.r-flipcard__back strong,
.r-flipcard__back a,
.r-flipcard__back .r-flipcard__link {
    color: inherit !important;
}
.r-flipcard__answer {
    margin: 0 0 .55rem;
    font-size: .9rem;
    line-height: 1.45;
}
.r-flipcard__result {
    margin: 0;
    padding-top: .5rem;
    border-top: 1px solid rgba(255, 255, 255, .24);
    font-size: .83rem;
    line-height: 1.38;
}
.r-flipcard__link {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: .85rem;
    margin-top: .55rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.r-flipcard__back--verde {
    background: var(--r-verde);
    color: #1C2118;
}
.r-flipcard__back--verde .r-flipcard__result {
    border-top-color: rgba(28, 33, 24, .18);
}
.r-flipcard__back--naranja {
    background: var(--r-naranja);
    color: #FFFFFF;
}
.r-flipcard__back--dark {
    background: var(--r-antracita-profundo);
    color: #FFFFFF;
}
.r-flipcard__back--pulso {
    background: var(--r-borravino);
    color: #FFFFFF;
}

/* ============ CARRUSEL DE LOGOS DE INSTITUCIONES / MARCAS (LOOP INFINITO ESTILO PLANTEOS) ============ */
.r-clients-strip {
    margin-top: 1.15rem;
    padding: 1.1rem 1.35rem;
    background: #fff;
    border-radius: var(--r-radius);
    box-shadow: var(--r-shadow);
    overflow: hidden;
}
.r-clients-strip__head {
    display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .5rem;
    margin-bottom: .85rem;
    text-align: center;
}
.r-clients-strip__label {
    font-family: var(--font-heading); font-size: .76rem; font-weight: 600;
    letter-spacing: .1em; text-transform: uppercase; color: var(--r-gris-texto);
}
.r-clients-marquee {
    position: relative;
    width: 100%;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}
.r-clients-track {
    display: flex;
    align-items: center;
    width: max-content;
    animation: scroll-infinite 25s linear infinite;
}
.r-clients-marquee:hover .r-clients-track {
    animation-play-state: paused;
}
@media (max-width: 768px) {
    .r-clients-track {
        animation: scroll-infinite 12s linear infinite;
    }
}
@keyframes scroll-infinite {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.r-logo-slot {
    flex: 0 0 auto;
    width: 210px;
    height: 68px;
    margin-right: 1rem;
    border-radius: var(--r-radius-sm);
    background: var(--r-superficie-alt);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .65rem 1.35rem;
    color: var(--r-gris-meta);
    font-family: var(--font-heading);
    font-size: .78rem;
    font-weight: 500;
    text-align: center;
    transition: background-color .25s var(--r-ease), color .25s;
}
.r-logo-slot:hover { background: var(--r-verde-velo); color: var(--r-antracita-profundo); }
.r-logo-slot img, .r-logo-slot svg { max-width: 100%; max-height: 42px; width: auto; height: auto; object-fit: contain; filter: grayscale(100%); opacity: .65; transition: filter .3s, opacity .3s; }
.r-logo-slot:hover img, .r-logo-slot:hover svg { filter: grayscale(0%); opacity: 1; }

/* ============ CARRUSEL ============ */
.r-carousel { position: relative; outline: none; width: 100%; max-width: 100%; }
.r-carousel__viewport { overflow: hidden; width: 100%; max-width: 100%; margin: 0; padding: 0; }
.r-carousel__track {
    --gap: 1.15rem; position: relative;
    display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2 * var(--gap)) / 3); gap: var(--gap);
    overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain;
    scrollbar-width: none; padding: .5rem .15rem 1.35rem;
}
.r-carousel__track::-webkit-scrollbar { display: none; }
.r-carousel__track > * { scroll-snap-align: start; }
.r-carousel--2 .r-carousel__track { grid-auto-columns: calc((100% - var(--gap)) / 2); }
.r-carousel__controls { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.r-carousel__dots { display: flex; gap: .45rem; align-items: center; }
.r-carousel__dot { position: relative; width: 10px; height: 10px; border: none; padding: 0; border-radius: 999px; background: rgba(87, 87, 86, .22); cursor: pointer; overflow: hidden; transition: width .5s var(--r-ease), background-color .25s; }
.r-carousel__dot:hover { background: var(--r-verde); }
.r-carousel__dot.is-active { width: 48px; background: rgba(87, 87, 86, .16); }
.r-carousel__dot::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: var(--r-naranja); border-radius: inherit; }
.r-carousel__dot.is-active::after { animation: dotFill var(--r-autoplay, 6000ms) linear forwards; }
.r-carousel.is-paused .r-carousel__dot.is-active::after { animation-play-state: paused; }
.r-carousel.no-autoplay .r-carousel__dot.is-active::after { animation: none; width: 100%; }
@keyframes dotFill { from { width: 0; } to { width: 100%; } }
.r-carousel__arrows { display: flex; gap: .45rem; }
.r-carousel__arrow { display: grid; place-items: center; width: 44px; height: 44px; border: none; border-radius: 50%; background: var(--r-superficie-alt); color: var(--r-antracita); cursor: pointer; transition: background-color .25s var(--r-ease), transform .35s var(--r-ease), color .25s; }
.r-carousel__arrow:hover { background: var(--r-verde); color: #2B3020; transform: scale(1.06); }
.r-carousel__arrow svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.section--dark .r-carousel__dot { background: rgba(255, 255, 255, .24); }
.section--dark .r-carousel__dot.is-active { background: rgba(255, 255, 255, .16); }
.section--dark .r-carousel__arrow { background: rgba(255, 255, 255, .12); color: #fff; }
.section--dark .r-carousel__arrow:hover { background: var(--r-verde); color: #2B3020; }

/* ============ PESTAÑAS ============ */
.r-tabs__list { position: relative; display: inline-flex; flex-wrap: wrap; gap: .25rem; padding: .3rem; background: var(--r-superficie-alt); border-radius: 999px; margin-bottom: 1.25rem; }
.section--alt .r-tabs__list { background: #fff; }
.r-tabs__indicator { position: absolute; top: .3rem; left: 0; height: calc(100% - .6rem); width: 0; border-radius: 999px; background: var(--r-verde); transition: transform .5s var(--r-ease), width .5s var(--r-ease); z-index: 0; }
.r-tab { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: .45rem; border: none; background: transparent; font-family: var(--font-heading); font-weight: 600; font-size: .9rem; color: var(--r-gris-texto); padding: .65rem 1.2rem; border-radius: 999px; cursor: pointer; transition: color .25s; }
.r-tab:hover { color: var(--r-antracita); }
.r-tab[aria-selected="true"] { color: #2B3020; }
.r-tabs__panel.is-visible { animation: panelIn .55s var(--r-ease) both; }
@keyframes panelIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.r-panel { display: grid; grid-template-columns: auto 1fr 1fr; gap: clamp(1rem, 2.2vw, 2rem); align-items: start; background: #fff; border-radius: var(--r-radius-lg); padding: clamp(1.35rem, 2.4vw, 2rem); box-shadow: var(--r-shadow); }
.r-panel--2 { grid-template-columns: 1fr 1fr; }
.r-panel h3 { font-size: clamp(1.2rem, 1.8vw, 1.5rem); margin: .55rem 0 .4rem; }
.r-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: .65rem; }
.r-checklist li { display: flex; gap: .75rem; align-items: flex-start; font-size: .94rem; color: var(--r-antracita); line-height: 1.42; }
.r-checklist li::before { content: ""; flex: 0 0 24px; height: 24px; border-radius: 50%; background: var(--r-verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B3020' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }
.r-checklist--naranja li::before { background: var(--r-naranja) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }
.r-checklist--pulso li::before { background: var(--r-borravino) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }
.section--dark .r-checklist li { color: #fff; }

/* ============ LÍNEA DE TIEMPO PULSO ============ */
.r-timeline { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: .85rem; }
.r-timeline__line { position: absolute; left: 7%; right: 7%; top: 34px; height: 24px; z-index: 0; pointer-events: none; }
.r-timeline__line svg { width: 100%; height: 100%; overflow: visible; }
.r-timeline__line path { fill: none; stroke: var(--r-borravino); stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; opacity: .3; }
.r-step { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: .45rem; background: #fff; border-radius: var(--r-radius); padding: 1.15rem 1.1rem 1.3rem; box-shadow: var(--r-shadow); transition: transform .45s var(--r-ease), box-shadow .45s var(--r-ease); }
.r-step:hover { transform: translateY(-4px); box-shadow: var(--r-shadow-hover); }
.r-step__label { font-family: var(--font-heading); font-weight: 600; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--r-borravino); }
.r-step h3 { font-size: 1.04rem; margin: 0; }
.r-step p { font-size: .86rem; margin: 0; line-height: 1.42; }

/* ============ DIRECCIÓN Y RED ============ */
.r-leaders { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(1.25rem, 2.5vw, 2.25rem); align-items: center; }
.r-leaders__photo { position: relative; isolation: isolate; }
.r-leaders__photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r-radius-lg); box-shadow: var(--r-shadow-hover); }
.r-leader { display: grid; grid-template-columns: 80px 1fr; gap: 1rem; align-items: start; background: #fff; border-radius: var(--r-radius); padding: 1.25rem; box-shadow: var(--r-shadow); transition: transform .45s var(--r-ease), box-shadow .45s var(--r-ease); }
.r-leader:hover { transform: translateY(-3px); box-shadow: var(--r-shadow-hover); }
.r-leader + .r-leader { margin-top: .85rem; }
.r-leader__portrait { position: relative; isolation: isolate; width: 80px; height: 80px; overflow: hidden; border-radius: 50%; background: var(--r-verde-velo); box-shadow: inset 0 0 0 2.5px rgba(181, 206, 100, .75); }
.r-leader__portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; filter: grayscale(100%) contrast(1.08) brightness(1.05); transition: filter .4s var(--r-ease), transform .4s var(--r-ease); }
.r-leader__portrait::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: linear-gradient(145deg, rgba(181, 206, 100, .58), rgba(143, 170, 62, .46)); mix-blend-mode: multiply; pointer-events: none; transition: opacity .35s var(--r-ease); }
.r-leader:nth-child(even) .r-leader__portrait,
.r-leader__portrait--naranja { background: var(--r-naranja-velo); box-shadow: inset 0 0 0 2.5px rgba(240, 151, 0, .72); }
.r-leader:nth-child(even) .r-leader__portrait::after,
.r-leader__portrait--naranja::after { background: linear-gradient(145deg, rgba(240, 151, 0, .52), rgba(217, 130, 0, .42)); }
.r-leader__portrait--pulso { background: var(--r-borravino-velo); box-shadow: inset 0 0 0 2.5px rgba(114, 28, 53, .72); }
.r-leader__portrait--pulso::after { background: linear-gradient(145deg, rgba(114, 28, 53, .52), rgba(90, 20, 40, .42)); }
.r-leader:hover .r-leader__portrait img { transform: scale(1.05); }
.r-leader__role { font-family: var(--font-heading); font-size: .71rem; letter-spacing: .1em; text-transform: uppercase; color: var(--r-antracita-profundo); font-weight: 600; }
.r-leader h3 { margin: .15rem 0 .35rem; font-size: 1.2rem; }
.r-leader__creds { display: flex; flex-wrap: wrap; gap: .32rem; margin: .35rem 0 .6rem; }
.r-leader details summary { cursor: pointer; list-style: none; display: inline-flex; gap: .45rem; align-items: center; font-family: var(--font-heading); font-weight: 600; font-size: .88rem; color: var(--r-antracita-profundo); }
.r-leader details summary::-webkit-details-marker { display: none; }
.r-leader details summary::after { content: "+"; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--r-verde-velo); transition: transform .3s var(--r-ease), background-color .25s; }
.r-leader details[open] summary::after { transform: rotate(45deg); background: var(--r-verde); }
.r-leader details p { font-size: .9rem; margin: .65rem 0 0; }
.r-leader__links { display: flex; gap: .85rem; margin-top: .5rem; }
.r-leadership-strip { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .85rem; margin-top: 1.35rem; background: #fff; border-radius: var(--r-radius); padding: .95rem 1.35rem; box-shadow: var(--r-shadow); }
.r-leadership-strip p { margin: 0; font-size: .9rem; }
.r-network { display: flex; flex-wrap: wrap; gap: .55rem; }
.r-network .chip { font-size: .88rem; padding: .6rem 1.1rem .6rem .65rem; background: #fff; box-shadow: var(--r-shadow); }

/* ============ CARRUSEL DE TESTIMONIOS Y VIDEOS ============ */
.r-testimonial { padding: 0 !important; overflow: hidden; display: flex; flex-direction: column; background: var(--r-superficie-alt); }
.r-testimonial__media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #1C2118; }
.r-testimonial__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; transition: transform .65s var(--r-ease); }
.r-testimonial:hover .r-testimonial__media img { transform: scale(1.05); }
.r-testimonial__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05) 35%, rgba(0,0,0,.62) 100%); pointer-events: none; }
.r-testimonial__badge { position: absolute; left: .85rem; bottom: .75rem; z-index: 2; display: inline-flex; align-items: center; gap: .4rem; background: rgba(28, 33, 24, .82) !important; color: #fff !important; font-size: .73rem; padding: .3rem .7rem; }
.r-testimonial__play { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--r-naranja); color: #fff; font-size: .58rem; padding-left: 1px; }
.r-testimonial__body { padding: 1.25rem 1.35rem 1.35rem; display: flex; flex-direction: column; gap: 1rem; flex: 1; justify-content: space-between; }
.r-testimonial__quote { margin: 0; font-size: .93rem; line-height: 1.56; color: var(--r-antracita-profundo); font-style: italic; }
.r-testimonial__author { display: grid; grid-template-columns: 48px 1fr; gap: .75rem; align-items: center; padding-top: .75rem; border-top: 1px solid rgba(61, 61, 60, .1); }
.r-testimonial__avatar { width: 48px !important; height: 48px !important; }
.r-testimonial__name { display: block; font-family: var(--font-heading); font-size: .92rem; font-weight: 600; color: var(--r-antracita-profundo); line-height: 1.25; }
.r-testimonial__role { display: block; font-size: .78rem; color: var(--r-antracita-suave); margin-top: .15rem; line-height: 1.35; }

/* ============ ARTÍCULOS / FIRMA ============ */
.r-post__media { border-radius: var(--r-radius); overflow: hidden; aspect-ratio: 16 / 10; margin: 0 0 .85rem; background: var(--r-superficie-alt); }
.r-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--r-ease); }
.r-card:hover .r-post__media img { transform: scale(1.04); }
.r-card .r-post__title { font-size: 1.1rem; margin: .55rem 0 .35rem; }
.r-card .r-post__title a { color: inherit; }
.r-signature { display: flex; align-items: center; gap: .65rem; font-size: .78rem; color: var(--r-gris-texto); line-height: 1.35; }
.r-signature__mark { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%; background: var(--r-verde-velo) url("/wp-content/themes/reflejo-consultora/assets/isotipo-reflejo.svg") center / 18px no-repeat; }
.r-signature strong { display: block; font-family: var(--font-heading); font-size: .84rem; color: var(--r-antracita-profundo); }

/* ============ SIMULADOR (superficie limpia con acentos puros Naranja #F09700 y Verde #B5CE64) ============ */
.simulator-frame { background: var(--r-superficie-alt); border-radius: var(--r-radius-lg); box-shadow: var(--r-shadow); overflow: hidden; }
.simulator-grid { display: grid; grid-template-columns: 1.1fr 1fr; }
.simulator-controls { padding: clamp(1.35rem, 2.4vw, 2rem); background: var(--r-superficie-alt); }
.simulator-results { padding: clamp(1.35rem, 2.4vw, 2rem); background: var(--r-antracita); color: #fff; display: flex; flex-direction: column; justify-content: space-between; gap: 1.15rem; }
.simulator-results h3 { color: #fff; }
.roi-control-group { margin-bottom: 1.15rem; }
.roi-control-group label { display: flex; justify-content: space-between; gap: .75rem; flex-wrap: wrap; font-family: var(--font-heading); font-size: .86rem; font-weight: 500; color: var(--r-antracita); margin-bottom: .45rem; }
.roi-control-group label strong { color: var(--r-antracita-profundo); font-weight: 700; }
.roi-slider { width: 100%; -webkit-appearance: none; appearance: none; height: 8px; border-radius: 999px; background: linear-gradient(90deg, var(--r-verde) var(--fill, 7%), rgba(87, 87, 86, .18) var(--fill, 7%)); cursor: pointer; }
.roi-slider::-webkit-slider-thumb { -webkit-appearance: none; width: 24px; height: 24px; border-radius: 50%; background: var(--r-naranja); box-shadow: 0 0 0 5px rgba(240, 151, 0, .22); transition: transform .25s var(--r-ease); }
.roi-slider::-webkit-slider-thumb:hover { transform: scale(1.12); }
.roi-slider::-moz-range-thumb { width: 24px; height: 24px; border: none; border-radius: 50%; background: var(--r-naranja); box-shadow: 0 0 0 5px rgba(240, 151, 0, .22); }
.roi-select, .form-control { width: 100%; font-family: var(--font-body); font-size: .92rem; color: var(--r-antracita); background-color: #fff; border: none; border-radius: var(--r-radius-sm); padding: .78rem 1rem; transition: box-shadow .25s var(--r-ease), background-color .25s; box-shadow: 0 2px 10px -4px rgba(72, 72, 71, 0.08); }
.roi-select { -webkit-appearance: none; appearance: none; padding-right: 2.5rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23575756' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .9rem center; background-size: 16px; }
.roi-select:focus, .form-control:focus { outline: none; background-color: #fff; box-shadow: 0 0 0 3px var(--r-verde); }
textarea.form-control { resize: vertical; min-height: 110px; }
.roi-metric-row { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.roi-metric-card { background: rgba(255, 255, 255, .09); border-radius: var(--r-radius-sm); padding: 1.1rem; }
.roi-metric-card:nth-child(2) { background: rgba(255, 255, 255, .09); }
.roi-metric-card strong { display: block; font-family: var(--font-heading); font-size: clamp(1.65rem, 2.8vw, 2.25rem); font-weight: 700; line-height: 1; color: var(--r-naranja); font-variant-numeric: tabular-nums; }
.roi-metric-card:nth-child(2) strong { color: var(--r-verde); }
.roi-metric-card span { display: block; margin-top: .38rem; font-size: .8rem; line-height: 1.35; color: #FFFFFF; font-weight: 600; }
.roi-presets { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1.1rem; }
.roi-preset-btn {
    border: none; background: #fff; color: var(--r-antracita);
    font-family: var(--font-heading); font-size: .76rem; font-weight: 600;
    padding: .38rem .78rem; border-radius: 999px; cursor: pointer;
    box-shadow: 0 2px 8px -3px rgba(72, 72, 71, 0.1);
    transition: background-color .25s var(--r-ease), color .25s, transform .25s var(--r-ease);
}
.roi-preset-btn:hover { background: var(--r-verde-velo); transform: translateY(-1px); }
.roi-preset-btn.is-active { background: var(--r-verde); color: #2B3020; font-weight: 700; }
.roi-slider-ticks { display: flex; justify-content: space-between; font-family: var(--font-heading); font-size: .7rem; color: var(--r-gris-meta); margin-top: .35rem; }
.roi-metric-sub { display: block; margin-top: .3rem; font-family: var(--font-heading); font-size: .74rem; color: rgba(255, 255, 255, .82); font-weight: 600; }
.roi-breakdown { margin-top: 1rem; background: rgba(255, 255, 255, .08); border-radius: var(--r-radius-sm); padding: .85rem 1rem; display: grid; gap: .6rem; }
.roi-breakdown__row { display: grid; gap: .25rem; }
.roi-breakdown__head { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; font-size: .78rem; color: rgba(255, 255, 255, .9); font-family: var(--font-heading); }
.roi-breakdown__head strong { color: var(--r-verde); font-size: .78rem; font-variant-numeric: tabular-nums; }
.roi-breakdown__track { width: 100%; height: 6px; border-radius: 999px; background: rgba(255, 255, 255, .14); overflow: hidden; }
.roi-breakdown__fill { height: 100%; border-radius: inherit; background: var(--r-verde); transition: width .35s var(--r-ease); }
.roi-breakdown__fill--naranja { background: var(--r-naranja); }
.roi-recommendation { background: rgba(255, 255, 255, .09); border-radius: var(--r-radius-sm); padding: 1rem 1.15rem; }
.roi-recommendation strong { color: var(--r-verde); font-family: var(--font-heading); font-size: .84rem; display: block; }
.roi-recommendation p { margin: .3rem 0 0; font-size: .9rem; color: rgba(255, 255, 255, .92); }
.roi-recommendation p strong { display: inline; color: #fff; }

/* ============ AUTOTEST INTERACTIVO ============ */
.autotest-shell { background: #fff; border-radius: var(--r-radius-lg); box-shadow: var(--r-shadow); padding: clamp(1.35rem, 3vw, 2.35rem); }
.autotest-head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: .85rem; margin-bottom: 1.25rem; }
.autotest-head h2 { margin: 0; font-size: clamp(1.3rem, 2.1vw, 1.75rem); }
.autotest-progress {
    position: sticky; top: 76px; z-index: 5;
    display: flex; flex-direction: column; gap: .55rem;
    background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    border-radius: var(--r-radius); padding: .85rem 1.15rem; box-shadow: var(--r-shadow); margin-bottom: 1.5rem;
}
.autotest-progress-track { width: 100%; height: 9px; border-radius: 999px; background: var(--r-superficie-alt); overflow: hidden; }
.autotest-progress-fill { height: 100%; width: 0%; border-radius: inherit; background: linear-gradient(90deg, var(--r-verde), var(--r-naranja)); transition: width .5s var(--r-ease); }
.autotest-progress-dots { display: flex; gap: .45rem; align-items: center; }
.autotest-progress-dot {
    display: inline-grid; place-items: center;
    width: 24px; height: 24px; border-radius: 50%;
    background: var(--r-superficie-alt); color: var(--r-gris-texto);
    font-family: var(--font-heading); font-size: .74rem; font-weight: 700;
    transition: background-color .3s, color .3s;
}
.autotest-progress-dot.is-done { background: var(--r-verde); color: #2B3020; }
.autotest-axis-block { background: var(--r-superficie-alt); border-radius: var(--r-radius); padding: clamp(1.1rem, 2vw, 1.5rem); margin-bottom: 1.15rem; }
.autotest-axis-title { display: flex; align-items: center; gap: .65rem; font-family: var(--font-heading); font-weight: 700; font-size: 1.05rem; color: var(--r-antracita); margin-bottom: .75rem; }
.autotest-axis-badge { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--r-verde); color: #2B3020; font-size: .86rem; font-weight: 700; flex: 0 0 30px; }
.autotest-question-row { padding: .75rem 0; }
.autotest-options-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
.autotest-option-label { display: flex; gap: .6rem; align-items: flex-start; background: #fff; border-radius: var(--r-radius-sm); padding: .8rem .95rem; font-size: .88rem; line-height: 1.42; cursor: pointer; transition: background-color .25s var(--r-ease), transform .3s var(--r-ease), box-shadow .25s; box-shadow: 0 2px 8px -4px rgba(72, 72, 71, 0.06); }
.autotest-option-label:hover { background: var(--r-verde-velo); transform: translateY(-2px); }
.autotest-option-label:has(input:checked) { background: var(--r-verde); color: #2B3020; font-weight: 600; }
.autotest-option-label input { accent-color: var(--r-naranja); margin-top: .22rem; }
.autotest-lead-box { background: var(--r-superficie-alt); border-radius: var(--r-radius); padding: clamp(1.25rem, 2.5vw, 1.75rem); margin-top: 1.25rem; }
.autotest-field-label { display: block; font-family: var(--font-heading); font-size: .84rem; font-weight: 600; margin-bottom: .35rem; color: var(--r-antracita); }
.autotest-lead-box .form-control, .autotest-lead-box .roi-select { background-color: #fff; }
.autotest-report { background: #fff; border-radius: var(--r-radius-lg); box-shadow: var(--r-shadow-hover); padding: clamp(1.35rem, 3vw, 2.2rem); }

/* ============ LEGADO USADO POR JS / ARTÍCULOS ============ */
.architectural-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.arch-tag { display: inline-block; font-family: var(--font-heading); font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: .28rem .72rem; border-radius: 999px; background: var(--r-verde); color: #2B3020; }
.arch-tag.tag-naranja { background: var(--r-naranja); color: #FFFFFF; }
.arch-tag.tag-pulso { background: var(--r-borravino); color: #fff; }
.dossier-ledger { display: grid; gap: .65rem; }
.dossier-row { display: grid; grid-template-columns: 80px 1fr 1.6fr; gap: 1rem; align-items: center; background: var(--r-superficie-alt); border-radius: var(--r-radius); padding: 1rem 1.25rem; transition: background-color .25s var(--r-ease); }
.dossier-row:hover { background: var(--r-verde-velo); }
.dossier-num { font-family: var(--font-heading); font-weight: 700; font-size: 1.45rem; color: var(--r-antracita); font-variant-numeric: tabular-nums; }
.reflejo-table { width: 100%; border-collapse: separate; border-spacing: 0 .4rem; font-size: .9rem; }
.reflejo-table th { background: var(--r-antracita); color: #fff; font-family: var(--font-heading); font-weight: 600; text-align: left; padding: .75rem .95rem; }
.reflejo-table th:first-child, .reflejo-table td:first-child { border-radius: var(--r-radius-sm) 0 0 var(--r-radius-sm); }
.reflejo-table th:last-child, .reflejo-table td:last-child { border-radius: 0 var(--r-radius-sm) var(--r-radius-sm) 0; }
.reflejo-table td { background: var(--r-superficie-alt); padding: .8rem .95rem; color: var(--r-antracita); vertical-align: top; }
.table-responsive { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ai-executive-summary { background: var(--r-verde-velo); border-radius: var(--r-radius); padding: 1.25rem 1.5rem; margin: 0 0 1.75rem; }
.ai-executive-summary h4 { font-family: var(--font-heading); font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--r-antracita); margin-bottom: .5rem; }
.article-faq-schema { margin-top: 2.25rem; }
.reflejo-faq-list { display: grid; gap: .55rem; }
.reflejo-faq-item { background: var(--r-superficie-alt); border-radius: var(--r-radius-sm); padding: 1rem 1.2rem; }
.reflejo-faq-trigger { font-family: var(--font-heading); font-weight: 600; color: var(--r-antracita); }
.reflejo-faq-content { margin-top: .45rem; }
.reflejo-faq-content p:last-child { margin-bottom: 0; }

/* ============ BLOG + ARTÍCULO ============ */
.blog-filter-bar { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1.65rem; }
.blog-filter-btn { border: none; background: var(--r-superficie-alt); color: var(--r-antracita); font-family: var(--font-heading); font-weight: 500; font-size: .84rem; padding: .55rem 1.05rem; border-radius: 999px; cursor: pointer; transition: background-color .25s var(--r-ease), color .25s, transform .35s var(--r-ease); }
.blog-filter-btn:hover { background: var(--r-verde-velo); transform: translateY(-2px); }
.blog-filter-btn.active { background: var(--r-verde); color: #2B3020; font-weight: 600; }
.single-article-shell { max-width: 800px; }
.single-meta { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .85rem; background: var(--r-superficie-alt); border-radius: var(--r-radius); padding: .85rem 1.15rem; margin: 1.15rem 0 1.85rem; }
.single-meta .chip { background: #fff; }
.single-article-content { font-size: 1.03rem; line-height: 1.75; }
.single-article-content h2 { font-size: clamp(1.4rem, 2.2vw, 1.85rem); margin-top: 2rem; }
.single-article-content h3 { margin-top: 1.5rem; }
.single-article-content ul, .single-article-content ol { padding-left: 1.2rem; color: var(--r-gris-texto); }
.single-article-content li { margin-bottom: .4rem; }
.single-article-content blockquote { margin: 1.5rem 0; padding: 1.25rem 1.5rem; background: var(--r-verde-velo); border-radius: var(--r-radius); font-family: var(--font-heading); font-size: 1.06rem; color: var(--r-antracita); }
.single-article-content img { border-radius: var(--r-radius); }
.r-cta-box { position: relative; isolation: isolate; overflow: hidden; margin-top: 2.5rem; background: var(--r-antracita); border-radius: var(--r-radius-lg); padding: clamp(1.5rem, 3vw, 2.25rem); }
.r-cta-box h3 { color: #fff; }
.r-cta-box p { color: rgba(255, 255, 255, .86); }
.r-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; align-items: center; }

/* ============ CONTACTO ============ */
.contact-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 1.25rem; align-items: stretch; }
.contact-field { margin-bottom: .95rem; }
.contact-field label { display: block; font-family: var(--font-heading); font-size: .84rem; font-weight: 500; color: var(--r-antracita); margin-bottom: .35rem; }
.form-feedback { margin-top: .85rem; font-family: var(--font-heading); font-weight: 600; color: var(--r-antracita); }

/* ============ FOOTER Y PILLS DE REDES SOCIALES ============ */
.site-footer { position: relative; isolation: isolate; overflow: hidden; background: var(--r-antracita-profundo); color: rgba(255, 255, 255, .82); padding: 3.25rem 0 1.75rem; }
.footer-grid { display: grid; grid-template-columns: 1.45fr 1fr 1fr 1.15fr; gap: 2rem; margin-bottom: 2rem; }
.site-footer h4 { font-family: var(--font-heading); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--r-verde); margin-bottom: .85rem; }
.site-footer p { color: rgba(255, 255, 255, .78); font-size: .9rem; }
.site-footer strong { color: #fff; }
.footer-links { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.footer-links li { font-size: .88rem; }
.footer-links a { color: rgba(255, 255, 255, .86); display: inline-flex; align-items: center; gap: .45rem; }
.footer-links a:hover { color: var(--r-verde); }
.footer-links a svg { width: 15px; height: 15px; flex: 0 0 15px; }
.footer-social-row { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }
.social-pill {
    display: inline-flex; align-items: center; gap: .5rem;
    background: rgba(255, 255, 255, .1); color: #fff;
    font-family: var(--font-heading); font-size: .82rem; font-weight: 600;
    padding: .48rem .95rem; border-radius: 999px;
    transition: background-color .25s var(--r-ease), color .25s, transform .3s var(--r-ease);
}
.social-pill svg { width: 16px; height: 16px; flex: 0 0 16px; }
.social-pill:hover { background: var(--r-verde); color: #2B3020; transform: translateY(-2px); }
.social-pill--light { background: var(--r-superficie-alt); color: var(--r-antracita); }
.social-pill--light:hover { background: var(--r-verde); color: #2B3020; }
.footer-leadership { margin-top: 1rem; background: rgba(255, 255, 255, .07); border-radius: var(--r-radius-sm); padding: .8rem .95rem; font-size: .82rem; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .85rem; background: rgba(255, 255, 255, .06); border-radius: 999px; padding: .85rem 1.35rem; font-size: .78rem; color: rgba(255, 255, 255, .72); }

/* ============ BOTÓN STICKY AUTOTEST CON BALIZA PULSANTE + WHATSAPP ============ */
.autotest-sticky-cta {
    position: fixed;
    left: 1.25rem;
    bottom: 1.25rem;
    z-index: 910;
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    background: var(--r-antracita-profundo);
    color: #fff;
    padding: .65rem 1.15rem .65rem .85rem;
    border-radius: 999px;
    box-shadow: 0 16px 38px -10px rgba(45, 45, 44, 0.48), 0 0 0 2px rgba(240, 151, 0, 0.55);
    transition: transform .35s var(--r-ease), background-color .25s, color .25s, box-shadow .35s;
}
.autotest-sticky-cta:hover {
    background: var(--r-verde);
    color: #2B3020;
    transform: translateY(-3px);
    box-shadow: 0 20px 42px -10px rgba(181, 206, 100, 0.65);
}
.autotest-beacon {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}
.autotest-beacon__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--r-naranja);
    z-index: 2;
}
.autotest-beacon__ring {
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    background: rgba(240, 151, 0, 0.55);
    animation: beaconPulse 1.9s cubic-bezier(0.16, 1, 0.3, 1) infinite;
    z-index: 1;
}
.autotest-sticky-cta:hover .autotest-beacon__dot { background: var(--r-borravino); }
.autotest-sticky-cta__text, .autotest-sticky-cta__body { display: inline-flex; align-items: baseline; gap: .45rem; line-height: 1.18; }
.autotest-sticky-cta strong, .autotest-sticky-cta__title { font-family: var(--font-heading); font-size: .88rem; font-weight: 700; color: #fff !important; }
.autotest-sticky-cta small, .autotest-sticky-cta__sub { font-family: var(--font-heading); font-size: .74rem; color: var(--r-verde) !important; font-weight: 600; }
.autotest-sticky-cta:hover strong,
.autotest-sticky-cta:hover small,
.autotest-sticky-cta:hover .autotest-sticky-cta__title,
.autotest-sticky-cta:hover .autotest-sticky-cta__sub { color: #2B3020 !important; }
.autotest-sticky-cta__arrow { font-family: var(--font-heading); font-weight: 700; color: var(--r-naranja); transition: transform .3s var(--r-ease), color .25s; }
.autotest-sticky-cta:hover .autotest-sticky-cta__arrow { transform: translateX(3px); color: #2B3020; }
.autotest-inline-dot {
    width: 9px; height: 9px; border-radius: 50%;
    background: var(--r-naranja);
    box-shadow: 0 0 0 4px rgba(240, 151, 0, .28);
    animation: pulseBeaconInline 2s infinite;
}
@keyframes beaconPulse {
    0% { transform: scale(0.75); opacity: 0.95; }
    80%, 100% { transform: scale(2.15); opacity: 0; }
}
@keyframes pulseBeaconInline {
    0%, 100% { box-shadow: 0 0 0 3px rgba(240, 151, 0, .28); }
    50% { box-shadow: 0 0 0 7px rgba(240, 151, 0, .08); }
}

.whatsapp-float {
    position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 900;
    display: inline-flex; align-items: center; gap: .55rem;
    background: var(--r-antracita-profundo); color: #fff;
    font-family: var(--font-heading); font-weight: 600; font-size: .86rem;
    padding: .75rem 1.2rem; border-radius: 999px;
    box-shadow: var(--r-shadow-dark);
    transition: transform .35s var(--r-ease), background-color .25s, color .25s;
}
.whatsapp-float svg { width: 18px; height: 18px; flex: 0 0 18px; }
.whatsapp-float:hover { background: var(--r-verde); color: #2B3020; transform: translateY(-3px); }
.whatsapp-float__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--r-verde); animation: pulseDot 2.4s var(--r-ease) infinite; }
.whatsapp-float:hover .whatsapp-float__dot { background: #2B3020; }
@keyframes pulseDot { 0% { box-shadow: 0 0 0 0 rgba(181, 206, 100, .55); } 80%, 100% { box-shadow: 0 0 0 10px rgba(181, 206, 100, 0); } }

/* ============ INSPECTOR DATALAYER ============ */
#datalayer-inspector-panel { position: fixed; left: 1.25rem; bottom: 5.2rem; width: 390px; max-width: calc(100vw - 2.5rem); max-height: 340px; background: var(--r-antracita-profundo); color: #E3E6EA; border-radius: var(--r-radius); box-shadow: var(--r-shadow-dark); z-index: 1200; display: none; flex-direction: column; overflow: hidden; font-family: monospace; font-size: .74rem; }
#datalayer-inspector-panel.open { display: flex; }
.dl-inspector-header { background: var(--r-antracita); color: var(--r-verde); padding: .65rem .95rem; font-family: var(--font-heading); font-weight: 600; display: flex; justify-content: space-between; align-items: center; }
.dl-inspector-body { padding: .45rem .7rem; overflow-y: auto; max-height: 270px; }
.dl-event-item { padding: .45rem; border-radius: 8px; }
.dl-event-item:nth-child(odd) { background: rgba(255, 255, 255, .05); }

/* ============ ACCESIBILIDAD ============ */
:focus-visible { outline: 3px solid var(--r-naranja); outline-offset: 3px; border-radius: 6px; }
.skip-link { position: absolute; top: -100px; left: 1.5rem; background: var(--r-antracita-profundo); color: #fff; padding: .65rem 1.2rem; border-radius: 999px; z-index: 99999; font-family: var(--font-heading); font-weight: 700; font-size: .86rem; }
.skip-link:focus-visible { top: 1rem; }

/* ============ REVEAL ESCALONADO ============ */
.js-motion [data-reveal]:not(.is-visible) { opacity: 0; }
.js-motion [data-reveal].is-visible { animation: revealUp .8s var(--r-ease) backwards; animation-delay: calc(var(--i, 0) * 70ms); }
.js-motion [data-reveal="scale"].is-visible { animation-name: revealScale; }
.js-motion [data-reveal="left"].is-visible { animation-name: revealLeft; }
@keyframes revealUp { from { opacity: 0; transform: translate3d(0, 22px, 0); } to { opacity: 1; transform: none; } }
@keyframes revealScale { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
@keyframes revealLeft { from { opacity: 0; transform: translate3d(-22px, 0, 0); } to { opacity: 1; transform: none; } }

/* ============ ACORDEÓN NARRATIVO E IDENTIDAD POR QUÉ REFLEJO ============ */
.r-narrative-accordion {
    background: #FFFFFF;
    border: 1px solid #DCE2CE;
    border-radius: var(--r-radius-sm);
    margin: 0 0 1.85rem;
    transition: box-shadow .28s var(--r-ease), border-color .28s var(--r-ease);
}
.r-narrative-accordion[open] {
    box-shadow: var(--r-shadow-sm);
    border-color: var(--r-verde);
}
.r-narrative-accordion__summary {
    list-style: none;
    cursor: pointer;
    padding: 1.05rem 1.4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    font-family: var(--font-heading);
    user-select: none;
}
.r-narrative-accordion__summary::-webkit-details-marker { display: none; }
.r-narrative-accordion__title {
    font-size: .98rem;
    font-weight: 600;
    color: var(--r-antracita-profundo);
}
.r-narrative-accordion__cta {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    font-size: .82rem;
    font-weight: 600;
    color: var(--r-antracita);
    background: var(--r-superficie-alt);
    padding: .38rem .85rem;
    border-radius: 999px;
    transition: background-color .22s, color .22s;
}
.r-narrative-accordion__summary:hover .r-narrative-accordion__cta,
.r-narrative-accordion[open] .r-narrative-accordion__cta {
    background: var(--r-verde);
    color: #1C2118;
}
.r-narrative-accordion__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1;
    transition: transform .28s var(--r-ease);
}
.r-narrative-accordion[open] .r-narrative-accordion__icon {
    transform: rotate(45deg);
}
.r-narrative-accordion__body {
    padding: 0 1.4rem 1.35rem;
    border-top: 1px solid #DCE2CE;
}
.r-narrative-accordion__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    padding-top: 1.15rem;
}
.r-narrative-accordion__grid p {
    margin: 0 0 .75rem;
    font-size: .94rem;
    line-height: 1.65;
    color: var(--r-antracita);
}
.r-narrative-accordion__grid p:last-child { margin-bottom: 0; }

/* ============ CARRUSEL DE ACTIVIDADES Y REDES EN POR QUÉ REFLEJO ============ */
.r-activities-block {
    margin-top: 2.5rem;
    padding-top: 2rem;
    border-top: 1px solid #DCE2CE;
}
.r-activities-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}
.r-activities-head h3 {
    margin: .2rem 0 0;
    font-size: clamp(1.18rem, 2vw, 1.45rem);
}
.r-activity-card {
    background: #FFFFFF;
    border-radius: var(--r-radius);
    overflow: hidden;
    box-shadow: var(--r-shadow-sm);
    display: flex;
    flex-direction: column;
    transition: transform .32s var(--r-ease), box-shadow .32s var(--r-ease);
}
.r-activity-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--r-shadow-hover);
}
.r-activity-card__media {
    position: relative;
    aspect-ratio: 16 / 11;
    overflow: hidden;
    background: var(--r-antracita-profundo);
}
.r-activity-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .55s var(--r-ease);
}
.r-activity-card:hover .r-activity-card__media img {
    transform: scale(1.04);
}
.r-activity-card__badge {
    position: absolute;
    left: .85rem;
    bottom: .85rem;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .22);
}
.r-activity-card__body {
    padding: 1.15rem 1.25rem 1.3rem;
    display: flex;
    flex-direction: column;
    gap: .4rem;
    flex: 1;
}
.r-activity-card__body h4 {
    margin: 0;
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--r-antracita-profundo);
}
.r-activity-card__body p {
    margin: 0;
    font-size: .86rem;
    line-height: 1.55;
    color: var(--r-antracita-suave);
}

/* ============ RESPONSIVE OPTIMIZADO (TABLET & MOBILE) ============ */
@media (max-width: 1100px) {
    .r-grid--4 { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
    .r-carousel__track { grid-auto-columns: calc((100% - var(--gap)) / 2); }
    .r-carousel--logos .r-carousel__track { grid-auto-columns: calc((100% - 2 * var(--gap)) / 3); }
}

@media (max-width: 960px) {
    .demo-bar-utilities { display: none; }
    .header-inner { padding: .6rem 1.15rem; }
    .site-header.is-scrolled .header-inner { padding: .42rem 1.15rem; }
    .brand-logo img { height: 44px; width: auto; max-width: 60vw; }
    .site-header.is-scrolled .brand-logo img { height: 36px; }
    .header-cta-desktop { display: none; }
    .mobile-menu-toggle { display: inline-flex; }
    .header-controls { flex-direction: column; align-items: stretch; gap: .75rem; width: 100%; }
    .header-mobile-utilities { display: flex; }
    .header-cta-btn { width: 100%; }
    .main-nav {
        display: none; position: absolute; top: 100%; left: 0; right: 0;
        flex-direction: column; align-items: stretch; gap: .65rem;
        background: #fff; padding: .95rem 1.15rem 1.35rem;
        border-radius: 0 0 var(--r-radius) var(--r-radius);
        box-shadow: var(--r-shadow-hover);
    }
    .main-nav.open { display: flex; }
    .nav-list { flex-direction: column; align-items: stretch; gap: .2rem; }
    .nav-link { padding: .65rem .9rem; font-size: .95rem; justify-content: space-between; }
    .nav-item.has-dropdown .dropdown-menu {
        position: static; display: none; min-width: 0;
        opacity: 1; visibility: visible; transform: none;
        box-shadow: none; background: var(--r-superficie-alt);
        margin-top: .25rem; padding: .4rem;
    }
    .nav-item.has-dropdown.is-open .dropdown-menu { display: block; }
    .section-head, .section-head-split, .simulator-grid, .r-grid--3, .r-grid--2, .r-bento, .r-leaders, .contact-grid, .r-panel, .r-panel--2, .autotest-home-banner, .r-narrative-accordion__grid {
        grid-template-columns: 1fr;
    }
    .r-narrative-accordion__summary {
        flex-direction: column;
        align-items: flex-start;
        gap: .65rem;
    }
    .autotest-home-banner__cta { align-items: flex-start; }
    .r-timeline { grid-template-columns: 1fr; gap: .75rem; }
    .r-timeline__line { display: none; }
    .r-step { flex-direction: row; flex-wrap: wrap; align-items: center; padding: 1rem 1.15rem; }
    .r-step > div { flex: 1 1 200px; }
    .dossier-row { grid-template-columns: 1fr; gap: .45rem; }
    .autotest-options-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    body { padding-bottom: 4.5rem; }
    .container { padding: 0 1.05rem; }
    .brand-logo img { height: 40px; max-width: 58vw; }
    .reflejo-demo-bar { padding: .3rem 0; }
    .demo-btn { padding: .22rem .58rem; font-size: .66rem; }
    .header-social { display: none; }
    .lang-btn { padding: .24rem .45rem; font-size: .68rem; }
    h1 { font-size: clamp(1.75rem, 7vw, 2.35rem); line-height: 1.16; }
    h2 { font-size: clamp(1.42rem, 5.6vw, 1.9rem); }
    .lead { font-size: .96rem; }
    .hero-full { min-height: auto; padding: 2.35rem 0 3.7rem; }
    .hero-full--page, .hero-full--compact { min-height: auto; padding: 1.95rem 0 3.3rem; }
    .hero-full__actions { flex-direction: column; align-items: stretch; margin-top: 1.15rem; }
    .hero-full__actions .btn { width: 100%; }
    .hero-full__chips { margin-top: 1.1rem; gap: .35rem; }
    .hero-full__chips .chip { font-size: .72rem; padding: .28rem .65rem; }
    .section { padding: 1.9rem 0; }
    .section--tight { padding: 1.25rem 0; }
    .section-head { margin-bottom: 1.1rem; gap: .5rem; }
    /* Grilla 2x2 de contadores en móvil para ahorrar espacio vertical */
    .r-stats { grid-template-columns: repeat(2, 1fr); gap: .65rem; }
    .r-stat { padding: 1rem; }
    .r-stat__value { font-size: 1.75rem; }
    .r-stat__label { font-size: .78rem; margin-top: .3rem; }
    .r-clients-strip { padding: .95rem 1rem; }
    .r-carousel--logos .r-carousel__track { grid-auto-columns: calc((100% - var(--gap)) / 2); }
    .r-grid--4, .r-stats--3, .footer-grid, .architectural-grid-2, .roi-metric-row { grid-template-columns: 1fr; }
    .r-card { padding: 1.2rem; border-radius: var(--r-radius); }
    .r-carousel__track { grid-auto-columns: 85%; padding-bottom: 1rem; }
    .r-tabs__list { display: flex; width: 100%; border-radius: var(--r-radius-sm); }
    .r-tabs__indicator { display: none; }
    .r-tab { flex: 1; justify-content: center; padding: .55rem .75rem; font-size: .82rem; }
    .r-tab[aria-selected="true"] { background: var(--r-antracita-profundo); color: #fff; }
    .r-leadership-strip { border-radius: var(--r-radius); padding: .95rem 1.1rem; }
    .footer-bottom { border-radius: var(--r-radius); padding: .85rem 1rem; text-align: center; justify-content: center; }
    /* Botones flotantes inferiores convivientes en móvil */
    .autotest-sticky-cta {
        left: .75rem;
        bottom: .75rem;
        padding: .55rem .95rem .55rem .7rem;
        max-width: calc(100vw - 5.2rem);
    }
    .autotest-sticky-cta__sub, .autotest-sticky-cta__text small { display: none; }
    .autotest-sticky-cta__title, .autotest-sticky-cta__text strong { font-size: .8rem; }
    .whatsapp-float {
        right: .75rem;
        bottom: .75rem;
        padding: .72rem;
    }
    .whatsapp-float__label { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
    .js-motion [data-reveal]:not(.is-visible) { opacity: 1; }
    .hero-full__media img { transform: none; animation: none; }
}
@media print {
    .no-print, .site-header, .site-footer, .reflejo-demo-bar, .whatsapp-float, .autotest-sticky-cta, .hero-full__media, .blob { display: none !important; }
    .hero-full { min-height: 0; background: none; color: var(--r-antracita); padding: 1rem 0; }
    .hero-full h1 { color: var(--r-antracita); }
}

/* ==========================================================================
   NÚCLEO REFLEJO (Tarjeta 2x2 en Home + Landing Page fiel al Brochure A4)
   ========================================================================== */
.r-card--nucleo {
    background: linear-gradient(145deg, #EDF4D3 0%, #E2EEBD 100%);
    color: #243010;
    border: none;
    outline: none;
    box-shadow: 0 12px 30px rgba(36, 48, 16, 0.07);
}
.r-card--nucleo h3,
.r-card--nucleo p,
.r-card--nucleo strong {
    color: #243010;
}

.nucleo-green-heading {
    font-family: var(--font-heading, 'Rubik', sans-serif);
    color: #9BB845;
    font-weight: 700;
    margin: 0 0 0.45rem;
}

.nucleo-intro-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 2.5rem;
    align-items: start;
}
.nucleo-lead-p {
    font-size: 1.02rem;
    line-height: 1.68;
    color: #484847;
    margin-bottom: 1.1rem;
}
.nucleo-meta-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.15rem;
    margin-top: 1.4rem;
}
.nucleo-meta-box {
    background: #F4F5F2;
    border-radius: 20px;
    padding: 1.35rem 1.45rem;
    border: none;
    outline: none;
}
.nucleo-meta-box p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.55;
    color: #484847;
}
.nucleo-poster-card {
    background: #EDF4D3;
    color: #243010;
    border-radius: 20px;
    padding: 1.45rem 1.6rem;
    margin-top: 1rem;
    border: none;
    outline: none;
}
.nucleo-poster-card__title {
    font-family: var(--font-heading, 'Rubik', sans-serif);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.45;
    color: #243010;
    margin: 0 0 0.55rem;
}
.nucleo-poster-card__list {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.58;
    color: #243010;
}
.nucleo-studio-frame {
    margin-top: 1.35rem;
    border-radius: 22px;
    overflow: hidden;
    border: none;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.08);
}
.nucleo-studio-frame img {
    display: block;
    width: 100%;
    height: auto;
}

/* Grilla 3x3 de las 9 temáticas (Página 2 del Brochure A4) */
.nucleo-topics-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.15rem;
}
.nucleo-topic-card {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 1.3rem 1.4rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    border: none;
    outline: none;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.nucleo-topic-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.07);
}
.nucleo-topic-card__icon {
    flex-shrink: 0;
}
.nucleo-topic-card__title {
    font-family: var(--font-heading, 'Rubik', sans-serif);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    color: #484847;
    margin: 0;
}

/* Vista previa de cápsulas en silencio y láminas */
.nucleo-clips-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.4rem;
}
.nucleo-clip-card {
    background: #F4F5F2;
    border-radius: 22px;
    overflow: hidden;
    border: none;
    outline: none;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
}
.nucleo-clip-card__media {
    position: relative;
    aspect-ratio: 16 / 9;
    background: #2B3020;
    overflow: hidden;
}
.nucleo-clip-card__media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.nucleo-clip-card__badge {
    position: absolute;
    left: 0.9rem;
    bottom: 0.85rem;
}
.nucleo-clip-card__body {
    padding: 1.25rem 1.4rem 1.4rem;
}
.nucleo-clip-card__body h3 {
    font-size: 1.15rem;
    margin: 0 0 0.4rem;
    color: #484847;
}
.nucleo-clip-card__body p {
    margin: 0;
    font-size: 0.93rem;
    line-height: 1.55;
    color: #666665;
}

.nucleo-slides-strip {
    margin-top: 2rem;
    background: #F4F5F2;
    border-radius: 24px;
    padding: 1.65rem 1.8rem;
    border: none;
}
.nucleo-slides-strip__head {
    margin-bottom: 1.15rem;
}
.nucleo-slides-strip__head h3 {
    margin: 0;
    font-size: 1.25rem;
}
.nucleo-slides-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}
.nucleo-slide-item {
    margin: 0;
    background: #FFFFFF;
    border-radius: 16px;
    overflow: hidden;
    border: none;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}
.nucleo-slide-item img {
    display: block;
    width: 100%;
    height: auto;
}
.nucleo-slide-item figcaption {
    padding: 0.65rem 0.85rem;
    font-family: var(--font-heading, 'Rubik', sans-serif);
    font-size: 0.84rem;
    font-weight: 500;
    color: #484847;
    text-align: center;
}

/* Consultoras y bloque oscuro de Modalidad (Página 3 del Brochure A4) */
.nucleo-consultoras-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem;
}
.nucleo-consultora-card {
    background: #FFFFFF;
    border-radius: 24px;
    padding: 2rem 2.1rem;
    border: none;
    outline: none;
    box-shadow: 0 8px 26px rgba(0, 0, 0, 0.04);
}
.nucleo-consultora-card__avatar {
    width: 148px;
    height: 148px;
    border-radius: 50%;
    padding: 5px;
    margin-bottom: 1.2rem;
    overflow: hidden;
}
.nucleo-consultora-card__avatar--verde {
    background: #B5CE64;
}
.nucleo-consultora-card__avatar--naranja {
    background: #F09700;
}
.nucleo-consultora-card__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}
.nucleo-consultora-card__name {
    font-family: var(--font-heading, 'Rubik', sans-serif);
    font-size: 1.22rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    color: #484847;
    margin: 0 0 0.75rem;
}
.nucleo-consultora-card p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.68;
    color: #575756;
}

.nucleo-modalidad-dark {
    margin-top: 2rem;
    background: #484847;
    color: #FFFFFF;
    border-radius: 24px;
    padding: 2.1rem 2.25rem;
    border: none;
    outline: none;
}
.nucleo-modalidad-dark__title {
    font-family: var(--font-heading, 'Rubik', sans-serif);
    font-size: 1.65rem;
    font-weight: 700;
    color: #FFFFFF !important;
    margin: 0 0 1.4rem;
}
.nucleo-modalidad-dark__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem 1.6rem;
}
.nucleo-modalidad-item {
    display: flex;
    align-items: center;
    gap: 0.95rem;
    color: #FFFFFF;
}
.nucleo-modalidad-item__icon {
    background: #FFFFFF;
    width: 54px;
    height: 54px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.nucleo-modalidad-item span {
    font-size: 0.96rem;
    line-height: 1.42;
    color: #FFFFFF !important;
    font-weight: 500;
}

/* Período, Inversión e Inscripción (Página 4 del Brochure A4) */
.nucleo-periodo-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 2.2rem;
    align-items: center;
    margin-bottom: 2.5rem;
}
.nucleo-months-box {
    background: #EDF4D3;
    border-radius: 22px;
    padding: 1.55rem 1.85rem;
    display: flex;
    flex-direction: column;
    gap: 1.05rem;
    border: none;
}
.nucleo-month-row {
    display: flex;
    flex-direction: column;
    gap: 0.42rem;
}
.nucleo-month-row__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
}
.nucleo-month-row__head strong {
    font-family: var(--font-heading, 'Rubik', sans-serif);
    font-size: 1.08rem;
    font-weight: 700;
    color: #1C2118;
}
.nucleo-month-row__head span {
    font-family: var(--font-body, 'Open Sans', sans-serif);
    font-size: 0.92rem;
    font-weight: 400;
    color: #484847;
}
.nucleo-month-row__track {
    width: 100%;
    height: 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    overflow: hidden;
}
.nucleo-month-row__fill {
    height: 100%;
    border-radius: 999px;
}
.nucleo-month-row__fill--full {
    width: 100%;
    background: #B5CE64;
}
.nucleo-month-row__fill--half {
    width: 50%;
    background: #F09700;
}

.nucleo-inversion-block {
    margin-bottom: 2.5rem;
}
.nucleo-inversion-card {
    background: #F4F5F2;
    border-radius: 24px;
    padding: 1.85rem 2.2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    flex-wrap: wrap;
    border: none;
}
.nucleo-inversion-card__total {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.nucleo-inversion-card__label {
    font-family: var(--font-heading, 'Rubik', sans-serif);
    font-size: 1.55rem;
    font-weight: 300;
    color: #484847;
}
.nucleo-inversion-card__price {
    font-family: var(--font-heading, 'Rubik', sans-serif);
    font-size: clamp(2.1rem, 3.6vw, 2.85rem);
    font-weight: 700;
    color: #484847;
    line-height: 1.08;
}
.nucleo-inversion-card__note {
    font-size: 0.94rem;
    color: #575756;
    margin-top: 0.25rem;
}
.nucleo-inversion-card__installments {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.95rem;
    flex: 1;
    min-width: 300px;
}
.nucleo-installment-pill {
    background: #EDF4D3;
    border-radius: 16px;
    padding: 1.05rem 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    color: #243010;
    border: none;
}
.nucleo-installment-pill span {
    font-size: 0.88rem;
    font-weight: 600;
    color: #243010;
}
.nucleo-installment-pill strong {
    font-family: var(--font-heading, 'Rubik', sans-serif);
    font-size: 1.32rem;
    font-weight: 700;
    color: #243010;
}

.nucleo-inscripcion-box {
    background: #F4F5F2;
    border-radius: 24px;
    padding: 2rem 2.2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    border: none;
}
.nucleo-inscripcion-box__qr {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
    background: #FFFFFF;
    padding: 1rem;
    border-radius: 18px;
    flex-shrink: 0;
}
.nucleo-inscripcion-box__qr img {
    display: block;
    width: 148px;
    height: 148px;
}
.nucleo-inscripcion-box__qr span {
    font-size: 0.78rem;
    color: #575756;
    font-weight: 600;
}

@media (max-width: 960px) {
    .nucleo-intro-grid,
    .nucleo-periodo-grid,
    .nucleo-consultoras-grid,
    .nucleo-clips-grid {
        grid-template-columns: 1fr;
    }
    .nucleo-topics-grid,
    .nucleo-modalidad-dark__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .nucleo-slides-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .nucleo-inscripcion-box {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 640px) {
    .nucleo-meta-pair,
    .nucleo-topics-grid,
    .nucleo-modalidad-dark__grid,
    .nucleo-slides-grid,
    .nucleo-months-box,
    .nucleo-inversion-card__installments {
        grid-template-columns: 1fr;
    }
    .nucleo-inversion-card,
    .nucleo-inscripcion-box,
    .nucleo-modalidad-dark,
    .nucleo-consultora-card {
        padding: 1.4rem;
    }
}

