@charset "UTF-8";
/* ==========================================================================
   TENTREK LASERS — HOJA DE ESTILOS UNIFICADA
   Consolida el CSS que antes vivía inline en cada widget HTML de Elementor.
   Se carga UNA sola vez desde el <head> (ver functions-snippet.php).

   ORDEN DE SECCIONES
   00. Tokens globales           05. Video hero (carrusel)
   01. Header                    06. Eventos
   02. Hero                      07. Noticias
   03. Tecnologías (slider)      08. Contacto
   04. Academy                   09. Footer
                                 10. Utilidades / accesibilidad

   NOTA SOBRE !important
   Se conserva porque hoy es lo que gana contra Elementor + Hello.
   Al cargarse este archivo DESPUÉS del CSS de Elementor, se puede ir
   quitando progresivamente. No lo hagas de golpe.
   ========================================================================== */

/* ==========================================================================
   00. TOKENS GLOBALES
   Antes cada bloque redefinía :root y el último en cargar pisaba a los demás.
   Aquí quedan definidos UNA vez y sin colisiones.
   ========================================================================== */
:root {
    /* Tipografías */
    --font-display: 'Raleway', sans-serif;
    --font-ui: 'Montserrat', sans-serif;
    --font-text: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

    /* Marca */
    --tk-cyan: #00a9ff;          /* cian principal de marca */
    --tk-cyan-soft: #7DCEF5;     /* cian claro (header / Tensamax) */
    --tk-cyan-deep: #0071e3;     /* azul profundo para texto sobre blanco */
    --tk-gold: #C59A66;
    --tk-purple: #8B5CF6;

    /* Neutros */
    --tk-black: #000000;
    --tk-ink: #1d1d1f;
    --tk-muted-dark: #86868b;    /* gris sobre fondo claro */
    --tk-muted-light: #a1a1a6;   /* gris sobre fondo oscuro */
    --tk-white: #ffffff;
    --tk-surface: #f5f5f7;
    --tk-hairline: #d2d2d7;
    --tk-border-light: rgba(255, 255, 255, 0.08);

    /* Layout */
    --tk-max-width: 1400px;

    /* Curvas de animación reutilizadas en todo el sitio */
    --tk-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Reduce motion: respeta la preferencia del sistema en todo el sitio */
@media (prefers-reduced-motion: reduce) {
    .tkl-hero-page-wrapper *,
    .tk-header-wrapper *,
    #tkl-lux *,
    .tkl-academy-wrapper *,
    .tmx-events-section *,
    .tmx-news-section *,
    .tmx-contact-wrapper *,
    .tkl-footer-wrapper * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ==========================================================================
   01. HEADER GLOBAL
   ========================================================================== */
.tk-header-wrapper {
    background-color: #000000 !important;
    width: 100% !important;
    font-family: var(--font-display) !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 9999 !important;
    -webkit-font-smoothing: antialiased !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tk-header-wrapper * { box-sizing: border-box !important; }

.tk-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 15px 30px !important;
    max-width: 1600px !important;
    margin: 0 auto !important;
    height: 80px !important;
}

.tk-logo img {
    height: 32px !important;
    width: auto !important;
    display: block !important;
    max-width: none !important;
}

/* --- Navegación escritorio --- */
.tk-nav {
    display: flex !important;
    align-items: center !important;
    gap: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tk-nav a {
    text-decoration: none !important;
    color: #d1d1d1 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.5px !important;
    transition: color 0.3s ease !important;
    white-space: nowrap !important;
    font-family: var(--font-text) !important;
}

.tk-nav > a:hover,
.tk-nav > .tk-dropdown > a:hover,
.tk-nav > .tk-mega-dropdown > a:hover { color: #ffffff !important; }

.tk-nav a.active-link {
    background-color: #1a1a1a !important;
    padding: 6px 12px !important;
    border-radius: 4px !important;
    color: var(--tk-cyan-soft) !important;
    font-weight: 700 !important;
}

/* --- Mega menú --- */
.tk-mega-dropdown { position: static !important; }

.tk-mega-content {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 100% !important;
    background-color: #000000 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
    padding: 35px 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(15px) !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    z-index: 100 !important;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.8) !important;
}

.tk-mega-dropdown:hover .tk-mega-content,
.tk-mega-dropdown:focus-within .tk-mega-content {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.tk-mega-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) 1.2fr !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    gap: 20px !important;
}

.tk-mega-col {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 0 !important;
}

.tk-mega-link {
    color: var(--tk-muted-light) !important;
    font-family: var(--font-text) !important;
    font-size: 13px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    display: inline-block !important;
    width: fit-content !important;
    padding: 3px 0 !important;
}

.tk-mega-link:hover { color: #ffffff !important; transform: translateX(5px) !important; }

.tk-mega-highlight-col {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-end !important;
    padding-left: 30px !important;
    border-left: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.tk-mega-highlight-link { text-decoration: none !important; display: block !important; }

.tk-mega-highlight { position: relative !important; z-index: 2 !important; text-align: right !important; }

.tk-mega-highlight h3 {
    font-family: var(--font-display) !important;
    font-size: 38px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.1 !important;
    letter-spacing: -1px !important;
}

.tk-accent-line {
    width: 35px !important;
    height: 4px !important;
    background-color: var(--tk-cyan) !important;
    border-radius: 3px !important;
    box-shadow: 0 0 15px rgba(0, 169, 255, 0.4) !important;
    margin: 0 0 0 auto !important;
}

/* --- Submenú estándar --- */
.tk-dropdown { position: relative !important; display: inline-block !important; }

.tk-dropdown-content {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    background-color: #111111 !important;
    min-width: 180px !important;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.8) !important;
    border-radius: 8px !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    padding: 10px 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(15px) !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    z-index: 100 !important;
}

.tk-dropdown:hover .tk-dropdown-content,
.tk-dropdown:focus-within .tk-dropdown-content {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.tk-dropdown-content a {
    display: block !important;
    padding: 12px 20px !important;
    color: var(--tk-muted-light) !important;
    font-size: 13px !important;
    transition: all 0.3s !important;
}

.tk-dropdown-content a:hover {
    background-color: rgba(125, 206, 245, 0.1) !important;
    color: var(--tk-cyan-soft) !important;
    padding-left: 25px !important;
}

.tk-dropdown-content a.tk-logout-link {
    color: #ef4444 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
    margin-top: 5px !important;
    padding-top: 14px !important;
}

.tk-dropdown-content a.tk-logout-link:hover {
    background-color: rgba(239, 68, 68, 0.1) !important;
    color: #f87171 !important;
    padding-left: 25px !important;
}

/* --- Acciones derechas --- */
.tk-actions { display: flex !important; align-items: center !important; gap: 20px !important; }

.tk-btn-pacientes {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    background: rgba(125, 206, 245, 0.1) !important;
    border: 1px solid rgba(125, 206, 245, 0.3) !important;
    color: var(--tk-cyan-soft) !important;
    padding: 8px 18px !important;
    border-radius: 50px !important;
    font-family: var(--font-text) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.tk-btn-pacientes:hover {
    background: var(--tk-cyan-soft) !important;
    color: #000000 !important;
    box-shadow: 0 4px 15px rgba(125, 206, 245, 0.3) !important;
}

.tk-login-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    padding: 8px 18px !important;
    border-radius: 50px !important;
    font-family: var(--font-text) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.tk-login-btn:hover { background-color: #ffffff !important; color: #000000 !important; transform: scale(1.05) !important; }

.tk-btn-contact {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 10px 26px !important;
    border-radius: 50px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    background: #000000 !important;
    border: none !important;
    overflow: hidden !important;
    z-index: 1 !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 0 15px rgba(125, 206, 245, 0.15) !important;
}

.tk-btn-contact::before {
    content: '' !important;
    position: absolute !important;
    width: 200% !important;
    height: 200% !important;
    background: conic-gradient(from 0deg, transparent 70%, var(--tk-cyan-soft) 85%, #ffffff 100%) !important;
    top: -50% !important;
    left: -50% !important;
    animation: borderLaserSpin 2.5s linear infinite !important;
    z-index: -2 !important;
}

.tk-btn-contact::after {
    content: '' !important;
    position: absolute !important;
    inset: 2px !important;
    background: #000000 !important;
    border-radius: 50px !important;
    z-index: -1 !important;
    transition: background 0.3s ease !important;
}

.tk-btn-contact:hover {
    color: #000000 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 20px rgba(125, 206, 245, 0.4) !important;
}

.tk-btn-contact:hover::after { background: #ffffff !important; }

@keyframes borderLaserSpin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.tk-search-icon svg {
    width: 20px !important;
    height: 20px !important;
    fill: #ffffff !important;
    cursor: pointer !important;
    transition: transform 0.2s !important;
}

.tk-search-icon svg:hover { transform: scale(1.1) !important; }

/* --- Estados de usuario (anti-caché) --- */
#tk-main-header .tk-login-btn,
#tk-main-header .tk-dropdown-content a.tk-show-logged-out,
#tk-main-header .tk-mobile-actions a.tk-show-logged-out,
#tk-main-header .tk-dropdown-content a.tk-show-logged-in,
#tk-main-header .tk-mobile-actions a.tk-show-logged-in { display: none !important; }

#tk-main-header.is-logged-out .tk-login-btn { display: inline-flex !important; }
#tk-main-header.is-logged-out .tk-dropdown-content a.tk-show-logged-out { display: block !important; }
#tk-main-header.is-logged-out .tk-mobile-actions a.tk-show-logged-out { display: flex !important; }
#tk-main-header.is-logged-in .tk-dropdown-content a.tk-show-logged-in { display: block !important; }
#tk-main-header.is-logged-in .tk-mobile-actions a.tk-show-logged-in { display: flex !important; }

/* --- Overlay de búsqueda --- */
.tk-search-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: #000000 !important;
    z-index: 1000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 30px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-10px) !important;
    transition: all 0.3s ease-in-out !important;
}

.tk-search-overlay.active { opacity: 1 !important; visibility: visible !important; transform: translateY(0) !important; }

.tk-search-form {
    width: 100% !important;
    max-width: 800px !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    margin: 0 !important;
}

.tk-search-input {
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #555 !important;
    color: #fff !important;
    font-family: var(--font-display) !important;
    font-size: 20px !important;
    font-weight: 300 !important;
    padding: 10px 40px 10px 0 !important;
    outline: none !important;
}

.tk-search-input::placeholder { color: #666 !important; }

.tk-search-submit {
    position: absolute !important;
    right: 0 !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
}

.tk-search-submit svg { width: 20px !important; height: 20px !important; fill: #fff !important; }

.tk-close-search {
    position: absolute !important;
    right: 30px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #fff !important;
    font-size: 24px !important;
    cursor: pointer !important;
    font-weight: 300 !important;
    transition: color 0.3s !important;
    background: none !important;
    border: none !important;
    line-height: 1 !important;
}

.tk-close-search:hover { color: #aaa !important; }

/* --- Modal de login --- */
.tk-login-modal-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    z-index: 999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.3s ease !important;
}

.tk-login-modal-overlay.active { opacity: 1 !important; visibility: visible !important; }

.tk-login-modal-box {
    background: rgba(25, 25, 30, 0.85) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 24px !important;
    padding: 45px 40px !important;
    width: 90% !important;
    max-width: 400px !important;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5) !important;
    transform: scale(0.95) !important;
    transition: transform 0.3s ease !important;
    position: relative !important;
}

.tk-login-modal-overlay.active .tk-login-modal-box { transform: scale(1) !important; }

.tk-login-close {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    background: none !important;
    border: none !important;
    color: var(--tk-muted-light) !important;
    font-size: 28px !important;
    font-weight: 300 !important;
    cursor: pointer !important;
    transition: color 0.3s !important;
    padding: 0 !important;
}

.tk-login-close:hover { color: #fff !important; }

.tk-login-header { text-align: center !important; margin-bottom: 30px !important; }

.tk-login-icon {
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    background: rgba(125, 206, 245, 0.1) !important;
    color: var(--tk-cyan-soft) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
    margin: 0 auto 15px auto !important;
}

.tkl-gate-logo { width: 120px !important; margin: 0 auto 10px auto !important; display: block !important; height: auto !important; }
.tkl-gate-title { color: #ffffff !important; margin: 0 0 5px 0 !important; font-family: var(--font-display) !important; font-size: 24px !important; font-weight: 300 !important; letter-spacing: -0.5px !important; }
.tkl-gate-title strong { font-weight: 600 !important; }
.tkl-gate-desc { color: var(--tk-muted-light) !important; font-size: 13px !important; font-family: var(--font-text) !important; margin: 0 !important; }

.tk-form-group { margin-bottom: 20px !important; text-align: left !important; }

.tk-form-group label {
    display: block !important;
    font-family: var(--font-text) !important;
    font-size: 11px !important;
    color: var(--tk-muted-light) !important;
    margin-bottom: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
}

.tk-form-input {
    width: 100% !important;
    background: rgba(0, 0, 0, 0.3) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    color: #fff !important;
    font-family: var(--font-text) !important;
    font-size: 15px !important;
    outline: none !important;
    transition: border-color 0.3s !important;
}

.tk-form-input:focus {
    border-color: var(--tk-cyan-soft) !important;
    background: rgba(125, 206, 245, 0.05) !important;
    box-shadow: 0 0 0 3px rgba(125, 206, 245, 0.1) !important;
}

.tk-form-options {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 30px !important;
    font-family: var(--font-text) !important;
    font-size: 13px !important;
}

.tk-form-options label {
    color: var(--tk-muted-light) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.tk-form-options input[type="checkbox"] { accent-color: var(--tk-cyan-soft) !important; width: 16px !important; height: 16px !important; margin: 0 !important; }
.tk-form-options a { color: var(--tk-muted-light) !important; text-decoration: none !important; transition: color 0.3s !important; }
.tk-form-options a:hover { color: #fff !important; }

.tk-submit-btn {
    width: 100% !important;
    background: #fff !important;
    color: #000 !important;
    border: none !important;
    padding: 16px !important;
    border-radius: 50px !important;
    font-family: var(--font-text) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
}

.tk-submit-btn:hover { background: var(--tk-cyan-soft) !important; transform: translateY(-2px) !important; box-shadow: 0 10px 20px rgba(125, 206, 245, 0.2) !important; }
.tk-submit-btn:disabled { opacity: 0.65 !important; cursor: wait !important; transform: none !important; box-shadow: none !important; }

/* --- Hamburguesa --- */
.tk-hamburger { display: none !important; flex-direction: column !important; cursor: pointer !important; gap: 5px !important; background: none !important; border: none !important; padding: 0 !important; }
.tk-bar { width: 25px !important; height: 2px !important; background-color: #fff !important; border-radius: 2px !important; transition: 0.3s !important; }
.tk-mobile-actions { display: none !important; }

/* --- Scroll to top --- */
.tk-scroll-top {
    position: fixed !important;
    bottom: 30px !important;
    right: 30px !important;
    width: 48px !important;
    height: 48px !important;
    background: rgba(25, 25, 30, 0.7) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    cursor: pointer !important;
    z-index: 9999 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(20px) !important;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}

.tk-scroll-top.show { opacity: 1 !important; visibility: visible !important; transform: translateY(0) !important; }

.tk-scroll-top:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: var(--tk-cyan-soft) !important;
    color: var(--tk-cyan-soft) !important;
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 35px rgba(125, 206, 245, 0.25) !important;
}

/* --- Responsive header --- */
@media (max-width: 1200px) {
    .tk-actions .tk-btn-pacientes,
    .tk-actions .tk-login-btn,
    .tk-actions .tk-search-icon,
    .tk-actions .tk-btn-contact { display: none !important; }

    .tk-nav {
        position: absolute !important;
        top: 80px !important;
        left: 0 !important;
        width: 100% !important;
        background-color: #000000 !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 20px 30px !important;
        gap: 15px !important;
        border-top: 1px solid #333 !important;
        max-height: 0 !important;
        overflow-y: auto !important;
        opacity: 0 !important;
        transition: all 0.4s ease-in-out !important;
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5) !important;
    }

    .tk-nav.nav-open { max-height: calc(100vh - 80px) !important; opacity: 1 !important; padding-bottom: 40px !important; }
    .tk-nav a.tk-nav-link { font-size: 16px !important; width: 100% !important; display: block !important; padding: 8px 0 !important; }

    .tk-mega-dropdown { width: 100% !important; }

    .tk-mega-content {
        position: static !important;
        box-shadow: none !important;
        background-color: transparent !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        padding: 10px 0 !important;
        border: none !important;
        display: none !important;
    }

    .tk-mega-dropdown.open .tk-mega-content { display: block !important; }
    .tk-mega-grid { grid-template-columns: 1fr 1fr !important; gap: 15px !important; padding: 0 10px !important; }
    .tk-mega-col { padding: 10px !important; }
    .tk-mega-highlight-col { display: none !important; }

    .tk-dropdown { width: 100% !important; }

    .tk-dropdown-content {
        position: static !important;
        box-shadow: none !important;
        background-color: transparent !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        padding: 5px 0 5px 20px !important;
        border: none !important;
        display: none !important;
        border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
        margin-left: 10px !important;
        margin-top: 10px !important;
    }

    .tk-dropdown.open .tk-dropdown-content { display: block !important; }

    .tk-hamburger { display: flex !important; }
    .tk-search-overlay { padding: 0 20px !important; }
    .tk-search-input { font-size: 16px !important; }

    .tk-mobile-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
        margin-top: 10px !important;
        padding-top: 25px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    }

    .tk-mobile-action-btn {
        display: flex !important;
        align-items: center !important;
        gap: 15px !important;
        background: rgba(255, 255, 255, 0.04) !important;
        border: 1px solid rgba(255, 255, 255, 0.06) !important;
        padding: 16px 20px !important;
        border-radius: 16px !important;
        color: #ffffff !important;
        text-decoration: none !important;
        font-family: var(--font-text) !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        transition: all 0.3s ease !important;
    }

    .tk-mobile-action-btn:hover { background: rgba(255, 255, 255, 0.08) !important; }
    .tk-mobile-action-btn i { font-size: 18px !important; width: 24px !important; text-align: center !important; }
    .tk-mobile-action-btn.search i { color: var(--tk-muted-light) !important; }
    .tk-mobile-action-btn.pacientes i { color: #ef4444 !important; }
    .tk-mobile-action-btn.login i { color: var(--tk-cyan-soft) !important; }
    .tk-mobile-action-btn.logout { border-color: rgba(239, 68, 68, 0.3) !important; cursor: pointer !important; }
    .tk-mobile-action-btn.logout i { color: #ef4444 !important; }
}

@media (max-width: 768px) {
    .tk-container { padding: 15px 20px !important; height: 70px !important; }
    .tk-nav { top: 70px !important; }
    .tk-mega-grid { grid-template-columns: 1fr !important; }

    .tk-login-modal-overlay { padding: 16px !important; box-sizing: border-box !important; }

    .tk-login-modal-box {
        width: 100% !important;
        max-height: calc(100dvh - 32px) !important;
        overflow-y: auto !important;
        padding: 42px 24px 28px !important;
        box-sizing: border-box !important;
    }

    .tk-form-options { align-items: flex-start !important; flex-wrap: wrap !important; gap: 12px !important; }

    .tk-scroll-top { bottom: 20px !important; right: 20px !important; width: 42px !important; height: 42px !important; font-size: 14px !important; }
}

/* ==========================================================================
   02. HERO (video + caja explicativa)
   ========================================================================== */
.tkl-hero-page-wrapper {
    width: 100% !important;
    position: relative !important;
    overflow: hidden !important;
    background-color: var(--tk-surface) !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tkl-hero-page-wrapper * { box-sizing: border-box !important; }

.tkl-video-header {
    position: relative !important;
    width: 100% !important;
    height: 75vh !important;
    overflow: hidden !important;
    background: #000 !important;
    z-index: 10 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tkl-media-bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
}

.tkl-media-bg iframe,
.tkl-media-bg img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 100vw !important;
    height: 56.25vw !important;
    min-height: 100% !important;
    min-width: 177.77vh !important;
    transform: translate(-50%, -50%) !important;
    object-fit: cover !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* --------------------------------------------------------------------------
   Póster + video nativo del hero

   El póster se pinta al instante y es el candidato a LCP. El video entra por
   encima con un fundido cuando ya tiene datos suficientes para reproducir.

   Ojo con la especificidad: la regla `.tkl-media-bg img` de arriba usa el
   truco de 100vw/56.25vw pensado para iframes. Con un <video> nativo no hace
   falta: object-fit:cover lo resuelve mejor. Por eso estos selectores llevan
   dos clases (0-2-0), para ganarle a esa regla.
   -------------------------------------------------------------------------- */
.tkl-media-bg .tkl-hero-poster,
.tkl-media-bg .tkl-hero-video {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    transform: none !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    display: block !important;
}

.tkl-media-bg .tkl-hero-poster { z-index: 1 !important; }

.tkl-media-bg .tkl-hero-video {
    z-index: 2 !important;
    opacity: 0 !important;
    transition: opacity 0.9s ease !important;
}

.tkl-media-bg.is-video-ready .tkl-hero-video { opacity: 1 !important; }

/* Capas heredadas del montaje con Vimeo. Se conservan por si vuelves atrás. */
#tklVideoLayer,
#tklImageLayer {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 2 !important;
}

#tklVideoLayer {
    opacity: 0 !important;
    transition: opacity 0.9s ease !important;
}

.tkl-media-bg.is-video-ready #tklVideoLayer { opacity: 1 !important; }

.tkl-media-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.85) 100%) !important;
    z-index: 2 !important;
}

.tkl-explanatory-section {
    position: relative !important;
    width: 100% !important;
    background: transparent !important;
    z-index: 20 !important;
    margin-top: -40px !important;
    padding-bottom: 40px !important;
    display: flex !important;
    justify-content: center !important;
    padding-left: 4% !important;
    padding-right: 4% !important;
}

/* opacity y transform SIN !important: los controla el JS */
.tkl-floating-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 1000px !important;
    will-change: transform !important;
    opacity: 1;
}

.tkl-explanatory-box {
    position: relative !important;
    width: 100% !important;
    background: rgba(15, 15, 18, 0.85) !important;
    backdrop-filter: blur(30px) !important;
    -webkit-backdrop-filter: blur(30px) !important;
    border-radius: 36px !important;
    padding: 60px !important;
    text-align: center !important;
    overflow: hidden !important;
    box-shadow: 0 40px 80px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    z-index: 2 !important;
    margin: 0 !important;
}

.tkl-glow-orb {
    position: absolute !important;
    top: -50px !important;
    left: -50px !important;
    width: 500px !important;
    height: 500px !important;
    background: var(--tk-cyan) !important;
    border-radius: 50% !important;
    filter: blur(180px) !important;
    z-index: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.5s ease !important;
    opacity: 0.12;
    transform: translate(-50%, -50%);
}

.tkl-box-content { position: relative !important; z-index: 2 !important; }

.tkl-hero-page-wrapper .tkl-eyebrow {
    font-family: var(--font-ui) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--tk-cyan) !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    display: block !important;
    margin: 0 0 20px 0 !important;
    line-height: 1.2 !important;
}

.tkl-hero-page-wrapper .tkl-headline {
    font-family: var(--font-display) !important;
    font-size: clamp(40px, 5vw, 64px) !important;
    font-weight: 100 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 25px 0 !important;
    color: #ffffff !important;
    text-transform: none !important;
}

.tkl-hero-page-wrapper .tkl-headline strong {
    font-weight: 400 !important;
    display: block !important;
    color: #ffffff !important;
    font-family: inherit !important;
}

.tkl-hero-page-wrapper .tkl-subheadline {
    font-family: var(--font-text) !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    color: var(--tk-muted-light) !important;
    line-height: 1.6 !important;
    margin: 0 auto !important;
    max-width: 750px !important;
    text-wrap: pretty !important;
}

.tkl-action-container { margin-top: 35px !important; position: relative !important; z-index: 1 !important; }

.tkl-hero-page-wrapper .tkl-btn-outline {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #ffffff !important;
    padding: 16px 40px !important;
    border-radius: 50px !important;
    font-family: var(--font-ui) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    transition: all 0.4s var(--tk-ease) !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
}

.tkl-hero-page-wrapper .tkl-btn-outline:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 30px rgba(0,0,0,0.3) !important;
    background-color: transparent !important;
    color: #ffffff !important;
}

@media (max-width: 1024px) {
    .tkl-explanatory-box { padding: 50px 40px !important; }
}

@media (max-width: 768px) {
    .tkl-video-header { height: 60vh !important; }

    .tkl-explanatory-section {
        margin-top: -60px !important;
        padding-bottom: 40px !important;
        padding-left: 5% !important;
        padding-right: 5% !important;
    }

    .tkl-explanatory-box {
        padding: 40px 25px !important;
        border-radius: 28px !important;
        box-shadow: 0 20px 40px rgba(0,0,0,0.4) !important;
    }

    .tkl-hero-page-wrapper .tkl-eyebrow { font-size: 11px !important; margin-bottom: 12px !important; letter-spacing: 3px !important; }
    .tkl-hero-page-wrapper .tkl-headline { font-size: 38px !important; line-height: 1.15 !important; margin-bottom: 15px !important; }
    .tkl-hero-page-wrapper .tkl-subheadline { font-size: 16px !important; line-height: 1.5 !important; padding: 0 !important; }
    .tkl-action-container { margin-top: 30px !important; width: 100% !important; }
    .tkl-hero-page-wrapper .tkl-btn-outline { width: 100% !important; justify-content: center !important; padding: 16px 20px !important; font-size: 14px !important; }
}

/* ==========================================================================
   03. TECNOLOGÍAS — slider de equipos + estadísticas
   ========================================================================== */
#tkl-lux {
    background-color: #ffffff !important;
    padding: 100px 0 !important;
    font-family: var(--font-text) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

#tkl-lux * { box-sizing: border-box !important; text-decoration: none !important; }

.lux-header {
    max-width: var(--tk-max-width) !important;
    margin: 0 auto 60px auto !important;
    padding: 0 4% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    gap: 40px !important;
}

.lux-header-text { flex: 1 !important; }

.lux-eyebrow {
    font-family: var(--font-display) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--tk-cyan) !important;
    text-transform: uppercase !important;
    letter-spacing: 4px !important;
    margin-bottom: 20px !important;
    display: block !important;
}

.lux-title {
    font-family: var(--font-display) !important;
    font-size: clamp(34px, 5vw, 64px) !important;
    font-weight: 100 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 20px 0 !important;
    color: var(--tk-ink) !important;
    line-height: 1.1 !important;
}

.lux-title strong { font-weight: 300 !important; color: #000000 !important; }

.lux-desc {
    font-family: var(--font-display) !important;
    font-size: 20px !important;
    color: var(--tk-muted-dark) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    font-weight: 300 !important;
    max-width: 800px !important;
    text-wrap: pretty !important;
}

.lux-track-wrap { width: 100% !important; position: relative !important; perspective: 1500px !important; z-index: 1 !important; }

.lux-track {
    display: flex !important;
    gap: 30px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    width: 100% !important;
    padding-left: max(4%, calc((100% - var(--tk-max-width)) / 2)) !important;
    padding-right: 4% !important;
    padding-bottom: 80px !important;
    padding-top: 20px !important;
}

.lux-track::-webkit-scrollbar { display: none !important; }
.lux-track { -ms-overflow-style: none !important; scrollbar-width: none !important; }
.lux-track.no-smooth { scroll-behavior: auto !important; }

.lux-card {
    flex: 0 0 auto !important;
    width: 420px !important;
    height: 600px !important;
    background: #ffffff !important;
    border-radius: 32px !important;
    display: block !important;
    position: relative !important;
    border: 1px solid rgba(0,0,0,0.04) !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.04) !important;
    overflow: visible !important;
    scroll-snap-align: start !important;
    transition: transform 0.5s var(--tk-ease), box-shadow 0.5s ease !important;
    transform-style: preserve-3d !important;
}

.lux-card:hover { z-index: 10 !important; transform: translateY(-8px) !important; box-shadow: 0 30px 60px rgba(0,0,0,0.08) !important; }

.lux-glare {
    position: absolute !important;
    inset: 0 !important;
    border-radius: 32px !important;
    background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.8), transparent 60%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: 2 !important;
    mix-blend-mode: overlay !important;
    transition: opacity 0.3s ease !important;
}

.lux-machine {
    position: absolute !important;
    bottom: 40px !important;
    left: 5% !important;
    width: 90% !important;
    height: 85% !important;
    object-fit: contain !important;
    object-position: bottom center !important;
    z-index: 4 !important;
    background-color: transparent !important;
    filter: drop-shadow(0 20px 30px rgba(0,0,0,0.12)) !important;
    transform: translateZ(50px) !important;
    transition: transform 0.6s var(--tk-ease) !important;
}

.lux-card:hover .lux-machine { transform: translateZ(80px) scale(1.03) translateY(-10px) !important; }

.lux-plus {
    position: absolute !important;
    bottom: 30px !important;
    right: 30px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background-color: var(--tk-ink) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 5 !important;
    transform: translateZ(40px) !important;
    transition: all 0.4s var(--tk-ease) !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
}

.lux-plus svg { display: block !important; width: 20px !important; height: 20px !important; stroke: #ffffff !important; stroke-width: 2px !important; fill: none !important; transition: transform 0.4s ease !important; }

.lux-card:hover .lux-plus { transform: translateZ(60px) scale(1.1) !important; background-color: var(--tk-cyan) !important; box-shadow: 0 15px 30px rgba(0, 169, 255, 0.3) !important; }
.lux-card:hover .lux-plus svg { transform: rotate(90deg) !important; }

.lux-controls { display: flex !important; justify-content: flex-end !important; gap: 15px !important; position: relative !important; z-index: 10 !important; }

.lux-nav-btn {
    background-color: #ffffff !important;
    border: 1px solid var(--tk-hairline) !important;
    color: var(--tk-ink) !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
    padding: 0 !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.02) !important;
}

.lux-nav-btn:hover { background-color: var(--tk-ink) !important; color: #ffffff !important; border-color: var(--tk-ink) !important; transform: scale(1.05) !important; }
.lux-nav-btn svg { width: 20px !important; height: 20px !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.5px !important; stroke-linecap: round !important; stroke-linejoin: round !important; }

.lux-leaders-section { max-width: var(--tk-max-width) !important; margin: 60px auto 0 auto !important; padding: 0 4% !important; }

.lux-leaders-header { display: flex !important; justify-content: space-between !important; align-items: flex-end !important; margin-bottom: 60px !important; gap: 40px !important; }
.lux-leaders-text-col { flex: 1.5 !important; }
.lux-leaders-btn-col { flex: 1 !important; display: flex !important; justify-content: flex-end !important; }

.lux-leaders-title {
    font-family: var(--font-display) !important;
    font-size: clamp(32px, 4vw, 48px) !important;
    font-weight: 100 !important;
    margin: 0 0 15px 0 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: var(--tk-ink) !important;
}

.lux-leaders-title strong { font-weight: 400 !important; }

.lux-leaders-desc {
    font-family: var(--font-display) !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    color: var(--tk-muted-dark) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

.lux-btn-outline {
    padding: 18px 40px !important;
    border: 1px solid var(--tk-hairline) !important;
    color: var(--tk-ink) !important;
    background: transparent !important;
    border-radius: 50px !important;
    font-family: var(--font-ui) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.4s var(--tk-ease) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.lux-btn-outline:hover { background: var(--tk-ink) !important; color: #ffffff !important; border-color: var(--tk-ink) !important; transform: translateY(-2px) !important; box-shadow: 0 15px 30px rgba(0,0,0,0.1) !important; }

.lux-stats-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 30px !important; }

.lux-stat-card {
    border-radius: 32px !important;
    padding: 50px 45px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-height: 320px !important;
    transition: transform 0.5s var(--tk-ease) !important;
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid rgba(0,0,0,0.04) !important;
}

.lux-stat-card:hover { transform: translateY(-8px) !important; }

.lux-stat-main { background: #000000 !important; color: #ffffff !important; justify-content: center !important; gap: 20px !important; box-shadow: 0 20px 50px rgba(0,0,0,0.15) !important; }
.lux-stat-top-block { display: flex !important; flex-direction: column !important; gap: 5px !important; }

.lux-stat-big-num {
    font-family: var(--font-display) !important;
    font-size: 100px !important;
    font-weight: 100 !important;
    line-height: 1 !important;
    margin: 0 !important;
    letter-spacing: -3px !important;
    color: #ffffff !important;
}

.lux-stat-subtitle-large { font-family: var(--font-display) !important; font-size: 24px !important; font-weight: 400 !important; margin: 0 !important; line-height: 1.2 !important; }
.lux-stat-main p { font-family: var(--font-display) !important; font-size: 16px !important; font-weight: 300 !important; color: var(--tk-muted-light) !important; margin: 0 !important; }

.lux-stat-dark { background-color: #ffffff !important; color: var(--tk-ink) !important; box-shadow: 0 15px 40px rgba(0,0,0,0.03) !important; }

.lux-overlap-avatars { display: flex !important; align-items: center !important; margin-bottom: 25px !important; }
.lux-overlap-avatars img { width: 60px !important; height: 60px !important; border-radius: 50% !important; object-fit: cover !important; border: 3px solid #ffffff !important; margin-left: -15px !important; box-shadow: 0 5px 15px rgba(0,0,0,0.1) !important; }
.lux-overlap-avatars img:first-child { margin-left: 0 !important; z-index: 3 !important; }
.lux-overlap-avatars img:nth-child(2) { z-index: 2 !important; }

.lux-overlap-plus {
    width: 60px !important; height: 60px !important; border-radius: 50% !important;
    background-color: var(--tk-surface) !important; color: var(--tk-ink) !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    font-family: var(--font-display) !important; font-weight: 500 !important;
    font-size: 18px !important; border: 3px solid #ffffff !important;
    margin-left: -15px !important; z-index: 1 !important;
}

.lux-stars { color: #f59e0b !important; font-size: 14px !important; margin-bottom: 15px !important; letter-spacing: 3px !important; }
.lux-stat-dark h4,
.lux-stat-dark .lux-stat-headline { font-family: var(--font-display) !important; font-size: 26px !important; font-weight: 300 !important; margin: 0 0 10px 0 !important; line-height: 1.2 !important; color: var(--tk-ink) !important; }
.lux-stat-dark p { font-family: var(--font-display) !important; font-size: 15px !important; color: var(--tk-muted-dark) !important; font-weight: 300 !important; margin: 0 !important; line-height: 1.5 !important; }

.lux-stat-white { background-color: #ffffff !important; color: var(--tk-ink) !important; box-shadow: 0 15px 40px rgba(0,0,0,0.03) !important; }
.lux-stat-white h4,
.lux-stat-white .lux-stat-figure { font-family: var(--font-display) !important; font-size: 64px !important; font-weight: 100 !important; margin: 0 0 5px 0 !important; letter-spacing: -2px !important; color: var(--tk-ink) !important; }
.lux-stat-white p { font-family: var(--font-ui) !important; font-size: 13px !important; color: var(--tk-cyan) !important; margin: 0 0 20px 0 !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 2px !important; }

.lux-css-chart { display: flex !important; align-items: flex-end !important; justify-content: space-between !important; height: 80px !important; width: 100% !important; gap: 10px !important; margin-top: auto !important; }
.lux-bar { flex: 1 !important; background: var(--tk-surface) !important; border-radius: 6px 6px 0 0 !important; transition: height 1s ease, background 0.4s ease !important; }
.lux-bar:nth-child(1) { height: 40% !important; }
.lux-bar:nth-child(2) { height: 25% !important; }
.lux-bar:nth-child(3) { height: 100% !important; background: var(--tk-ink) !important; }
.lux-bar:nth-child(4) { height: 65% !important; }
.lux-stat-card:hover .lux-bar:nth-child(3) { background: var(--tk-cyan) !important; }

@media (max-width: 1024px) {
    .lux-header { flex-direction: column !important; align-items: flex-start !important; }
    .lux-leaders-header { flex-direction: column !important; align-items: flex-start !important; gap: 30px !important; }
    .lux-stats-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
    .lux-controls { display: none !important; }
}

@media (max-width: 768px) {
    #tkl-lux { padding: 60px 0 !important; }
    .lux-header { margin-bottom: 40px !important; padding: 0 5% !important; }
    .lux-eyebrow { font-size: 10px !important; margin-bottom: 12px !important; letter-spacing: 2px !important; }
    .lux-title { font-size: clamp(28px, 6vw, 36px) !important; margin-bottom: 15px !important; }
    .lux-desc { font-size: 16px !important; }
    .lux-card { width: 300px !important; height: 460px !important; border-radius: 24px !important; }
    .lux-machine { height: 85% !important; bottom: 25px !important; }
    .lux-plus { bottom: 20px !important; right: 20px !important; }
    .lux-leaders-section { margin-top: 60px !important; padding: 0 5% !important; }
    .lux-leaders-title { font-size: 32px !important; }
    .lux-btn-outline { width: 100% !important; justify-content: center !important; }
}

/* ==========================================================================
   04. ACADEMY — expertos 3D, cursos y estadísticas
   ========================================================================== */
.tkl-academy-wrapper {
    background-color: #000000 !important;
    font-family: var(--font-display) !important;
    color: #ffffff !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    overflow: hidden !important;
    width: 100% !important;
}

.tkl-academy-wrapper * { box-sizing: border-box !important; }

.tkl-container { max-width: var(--tk-max-width) !important; margin: 0 auto !important; padding: 0 5% !important; }

/* Números tabulares (direcciones, cifras) — usado en varias secciones */
.tkl-num { font-family: var(--font-ui) !important; font-weight: 400 !important; letter-spacing: 0 !important; }

.tkl-experts-section {
    padding: 120px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 60px !important;
}

.tkl-experts-content { flex: 1.1 !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; text-align: left !important; }

.tkl-experts-eyebrow {
    font-family: var(--font-display) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--tk-cyan) !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    margin-bottom: 20px !important;
}

.tkl-experts-title {
    font-size: clamp(30px, 5vw, 40px) !important;
    font-weight: 100 !important;
    line-height: 1.1 !important;
    margin: 0 0 25px 0 !important;
    color: #ffffff !important;
    letter-spacing: -0.02em !important;
    text-wrap: balance !important;
}

.tkl-experts-title strong { font-weight: 400 !important; display: block !important; }

.tkl-experts-desc {
    font-family: var(--font-display) !important;
    font-size: 19px !important;
    font-weight: 300 !important;
    color: var(--tk-muted-light) !important;
    margin: 0 0 40px 0 !important;
    line-height: 1.6 !important;
    max-width: 600px !important;
    text-wrap: pretty !important;
}

.tkl-experts-list { list-style: none !important; padding: 0 !important; margin: 0 !important; }

.tkl-experts-list li {
    font-size: 16px !important;
    color: #ffffff !important;
    margin-bottom: 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    font-weight: 300 !important;
}

.tkl-experts-list li i { font-size: 12px !important; color: var(--tk-cyan) !important; }

.tkl-btn-acceder {
    font-family: var(--font-ui) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #ffffff !important;
    background-color: var(--tk-ink) !important;
    text-decoration: none !important;
    padding: 18px 45px !important;
    border-radius: 50px !important;
    border: 1px solid #333 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    transition: all 0.4s var(--tk-ease) !important;
    margin-top: 25px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important;
}

.tkl-btn-acceder:hover { background-color: #ffffff !important; color: #000000 !important; border-color: #ffffff !important; transform: scale(1.03) !important; }

/* --- Carrusel 3D CSS puro --- */
.tkl-experts-visual {
    flex: 1.3 !important;
    position: relative !important;
    height: 500px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    perspective: 1200px !important;
}

.tkl-3d-floor {
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 80% !important;
    height: 60px !important;
    background: radial-gradient(ellipse, rgba(0, 169, 255, 0.15) 0%, transparent 70%) !important;
    filter: blur(20px) !important;
    z-index: 0 !important;
}

.tkl-3d-slider-wrap { position: relative !important; width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; }

.tkl-3d-slider {
    position: relative !important;
    width: 240px !important;
    height: 340px !important;
    transform-style: preserve-3d !important;
    animation: rotate3dSlider 20s linear infinite !important;
    z-index: 10 !important;
}

.tkl-3d-slider:hover { animation-play-state: paused !important; }

@keyframes rotate3dSlider {
    0%   { transform: perspective(1200px) rotateY(0deg); }
    100% { transform: perspective(1200px) rotateY(360deg); }
}

.tkl-3d-slide {
    margin: 0 !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    background-color: #111 !important;
    transform: rotateY(calc(var(--i) * 90deg)) translateZ(220px) !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.6) !important;
}

.tkl-3d-slide img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: top center !important; }

.tkl-3d-slide::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.2) 40%, transparent 100%) !important;
    pointer-events: none !important;
}

.tkl-3d-info { margin: 0 !important; position: absolute !important; bottom: 25px !important; left: 0 !important; width: 100% !important; text-align: center !important; z-index: 2 !important; }
.tkl-3d-info h4,
.tkl-3d-info h3 { font-family: var(--font-display) !important; font-size: 18px !important; font-weight: 500 !important; color: #ffffff !important; margin: 0 0 5px 0 !important; }
.tkl-3d-info p { font-family: var(--font-display) !important; font-size: 12px !important; color: var(--tk-cyan) !important; font-weight: 300 !important; text-transform: uppercase !important; letter-spacing: 2px !important; margin: 0 !important; }

/* --- Cursos destacados --- */
.tkl-courses-section {
    background-color: var(--tk-surface) !important;
    padding: 120px 0 100px 0 !important;
    color: var(--tk-ink) !important;
    border-radius: 40px 40px 0 0 !important;
    position: relative !important;
    z-index: 10 !important;
    margin-top: -40px !important;
}

.tkl-courses-header { text-align: center !important; margin-bottom: 70px !important; }

.tkl-courses-title {
    font-family: var(--font-display) !important;
    font-size: clamp(38px, 5vw, 56px) !important;
    font-weight: 100 !important;
    margin: 0 !important;
    color: var(--tk-ink) !important;
    letter-spacing: -0.02em !important;
}

.tkl-courses-title strong { font-weight: 500 !important; }

.tkl-courses-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 40px !important; }

.tkl-card {
    background-color: #ffffff !important;
    border-radius: 32px !important;
    overflow: hidden !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.04) !important;
    border: 1px solid rgba(0,0,0,0.04) !important;
    transition: transform 0.5s var(--tk-ease), box-shadow 0.5s ease !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
}

.tkl-card:hover { transform: translateY(-8px) !important; box-shadow: 0 30px 60px rgba(0,0,0,0.08) !important; }

.tkl-card-img-wrap { position: relative !important; width: 100% !important; height: 280px !important; background-color: var(--tk-surface) !important; overflow: hidden !important; }
.tkl-card-img-wrap img { width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform 0.6s ease !important; }
.tkl-card:hover .tkl-card-img-wrap img { transform: scale(1.04) !important; }

.tkl-card-badge {
    position: absolute !important;
    top: 20px !important;
    left: 20px !important;
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    color: var(--tk-ink) !important;
    font-family: var(--font-ui) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 8px 16px !important;
    border-radius: 50px !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
    z-index: 2 !important;
}

.tkl-card-body { padding: 35px 40px !important; display: flex !important; flex-direction: column !important; flex-grow: 1 !important; background-color: #ffffff !important; }
.tkl-card-brand { display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 12px !important; }

.tkl-brand-icon {
    width: 22px !important; height: 22px !important;
    background-color: var(--tk-ink) !important; color: #fff !important;
    border-radius: 6px !important; display: flex !important; align-items: center !important; justify-content: center !important;
    font-family: var(--font-ui) !important; font-size: 11px !important; font-weight: 700 !important;
}

.tkl-brand-text { font-family: var(--font-display) !important; font-size: 13px !important; color: var(--tk-muted-dark) !important; font-weight: 600 !important; }

.tkl-card-title { font-family: var(--font-display) !important; font-size: 32px !important; font-weight: 300 !important; color: var(--tk-ink) !important; margin: 0 0 10px 0 !important; letter-spacing: -0.5px !important; }

.tkl-card-rating { margin: 0 0 20px 0 !important; display: flex !important; align-items: center !important; gap: 6px !important; font-family: var(--font-ui) !important; font-size: 14px !important; font-weight: 600 !important; color: var(--tk-ink) !important; margin-bottom: 20px !important; }
.tkl-card-rating i { color: #f59e0b !important; font-size: 13px !important; }
.tkl-card-rating span { color: var(--tk-muted-dark) !important; font-weight: 400 !important; font-size: 13px !important; }

.tkl-card-desc {
    font-family: var(--font-display) !important;
    font-size: 16px !important; font-weight: 300 !important;
    color: var(--tk-muted-dark) !important; line-height: 1.6 !important;
    margin: 0 0 35px 0 !important;
    display: -webkit-box !important; -webkit-line-clamp: 4 !important;
    -webkit-box-orient: vertical !important; overflow: hidden !important;
    flex-grow: 1 !important; text-align: left !important;
}

.tkl-card-footer { border-top: 1px solid rgba(0,0,0,0.05) !important; padding-top: 25px !important; display: flex !important; justify-content: space-between !important; align-items: center !important; position: relative !important; }
.tkl-card-level { font-family: var(--font-ui) !important; font-size: 12px !important; font-weight: 500 !important; color: var(--tk-muted-dark) !important; text-transform: uppercase !important; letter-spacing: 1px !important; display: flex !important; align-items: center !important; gap: 6px !important; }

.tkl-card-link { font-family: var(--font-ui) !important; font-size: 14px !important; font-weight: 600 !important; color: var(--tk-ink) !important; text-decoration: none !important; display: flex !important; align-items: center !important; gap: 6px !important; transition: all 0.3s !important; position: static !important; }
.tkl-card-link::after { content: '' !important; position: absolute !important; inset: 0 !important; z-index: 5 !important; }
.tkl-card:hover .tkl-card-link { opacity: 0.8 !important; transform: translateX(3px) !important; color: var(--tk-cyan) !important; }

/* --- Líderes + estadísticas Academy --- */
.tkl-leaders-section { background-color: #ffffff !important; padding: 80px 30px !important; margin-top: 20px !important; }
.tkl-leaders-header { display: flex !important; justify-content: space-between !important; align-items: flex-end !important; margin-bottom: 70px !important; gap: 60px !important; }
.tkl-leaders-text-col { flex: 1.5 !important; }

.tkl-leaders-title {
    font-family: var(--font-display) !important;
    font-size: clamp(34px, 5vw, 38px) !important;
    font-weight: 100 !important;
    margin: 0 0 15px 0 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: var(--tk-ink) !important;
    text-wrap: balance !important;
}

.tkl-leaders-title strong { font-weight: 400 !important; display: block !important; }

.tkl-leaders-desc { font-family: var(--font-display) !important; font-size: 20px !important; font-weight: 300 !important; color: var(--tk-muted-dark) !important; line-height: 1.6 !important; margin: 0 !important; max-width: 800px !important; text-wrap: pretty !important; }
.tkl-leaders-btn-col { flex: 1 !important; display: flex !important; justify-content: flex-end !important; }

.tkl-btn-outline {
    padding: 18px 40px !important; border: 1px solid var(--tk-hairline) !important; color: var(--tk-ink) !important;
    background: transparent !important; border-radius: 50px !important;
    font-family: var(--font-ui) !important; font-size: 14px !important; font-weight: 500 !important;
    text-decoration: none !important; transition: all 0.4s var(--tk-ease) !important;
    display: inline-flex !important; align-items: center !important; gap: 12px !important;
}

.tkl-btn-outline:hover { background: var(--tk-ink) !important; color: #ffffff !important; border-color: var(--tk-ink) !important; transform: translateY(-2px) !important; box-shadow: 0 15px 30px rgba(0,0,0,0.1) !important; }

.tkl-stats-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 40px !important; }

.tkl-stat-card {
    border-radius: 32px !important; padding: 50px 45px !important;
    display: flex !important; flex-direction: column !important; justify-content: space-between !important;
    min-height: 320px !important; transition: transform 0.5s var(--tk-ease) !important;
    position: relative !important; overflow: hidden !important; border: 1px solid rgba(0,0,0,0.04) !important;
}

.tkl-stat-card:hover { transform: translateY(-8px) !important; }
.tkl-stat-main { background: #000000 !important; color: #ffffff !important; justify-content: center !important; gap: 20px !important; box-shadow: 0 20px 50px rgba(0,0,0,0.15) !important; }
.tkl-stat-top-block { display: flex !important; flex-direction: column !important; gap: 5px !important; }
.tkl-stat-big-num { font-family: var(--font-display) !important; font-size: 100px !important; font-weight: 100 !important; line-height: 1 !important; margin: 0 !important; letter-spacing: -3px !important; color: #ffffff !important; }
.tkl-stat-subtitle-large { font-family: var(--font-display) !important; font-size: 24px !important; font-weight: 400 !important; margin: 0 !important; line-height: 1.2 !important; }
.tkl-stat-main p { font-family: var(--font-display) !important; font-size: 16px !important; font-weight: 300 !important; color: var(--tk-muted-light) !important; margin: 0 !important; }

.tkl-stat-dark { background-color: #ffffff !important; color: var(--tk-ink) !important; box-shadow: 0 15px 40px rgba(0,0,0,0.03) !important; }
.tkl-overlap-avatars { display: flex !important; align-items: center !important; margin-bottom: 25px !important; }
.tkl-overlap-avatars img { width: 60px !important; height: 60px !important; border-radius: 50% !important; object-fit: cover !important; object-position: top center !important; border: 3px solid #ffffff !important; margin-left: -15px !important; box-shadow: 0 5px 15px rgba(0,0,0,0.1) !important; }
.tkl-overlap-avatars img:first-child { margin-left: 0 !important; z-index: 3 !important; }
.tkl-overlap-avatars img:nth-child(2) { z-index: 2 !important; }

.tkl-overlap-plus {
    width: 60px !important; height: 60px !important; border-radius: 50% !important; background-color: var(--tk-surface) !important; color: var(--tk-ink) !important;
    display: flex !important; align-items: center !important; justify-content: center !important; font-family: var(--font-ui) !important;
    font-weight: 500 !important; font-size: 18px !important; border: 3px solid #ffffff !important; margin-left: -15px !important; z-index: 1 !important;
}

.tkl-stars { color: #f59e0b !important; font-size: 14px !important; margin-bottom: 15px !important; letter-spacing: 3px !important; }
.tkl-stat-dark h4,
.tkl-stat-dark .tkl-stat-headline { font-family: var(--font-display) !important; font-size: 26px !important; font-weight: 300 !important; margin: 0 0 10px 0 !important; line-height: 1.2 !important; }
.tkl-stat-dark p { font-family: var(--font-display) !important; font-size: 16px !important; color: var(--tk-muted-dark) !important; font-weight: 300 !important; margin: 0 !important; line-height: 1.5 !important; }

.tkl-stat-white { background-color: #ffffff !important; color: var(--tk-ink) !important; box-shadow: 0 15px 40px rgba(0,0,0,0.03) !important; }
.tkl-stat-white h4,
.tkl-stat-white .tkl-stat-figure { font-family: var(--font-display) !important; font-size: 64px !important; font-weight: 100 !important; margin: 0 0 5px 0 !important; letter-spacing: -2px !important; }
.tkl-stat-white p { font-family: var(--font-ui) !important; font-size: 13px !important; color: var(--tk-cyan) !important; margin: 0 0 20px 0 !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 2px !important; }

.tkl-css-chart { display: flex !important; align-items: flex-end !important; justify-content: space-between !important; height: 80px !important; width: 100% !important; gap: 10px !important; margin-top: auto !important; }
.tkl-bar { flex: 1 !important; background: var(--tk-surface) !important; border-radius: 6px 6px 0 0 !important; transition: height 1s ease, background 0.4s ease !important; }
.tkl-bar:nth-child(1) { height: 40% !important; }
.tkl-bar:nth-child(2) { height: 25% !important; }
.tkl-bar:nth-child(3) { height: 100% !important; background: var(--tk-ink) !important; }
.tkl-bar:nth-child(4) { height: 65% !important; }
.tkl-stat-card:hover .tkl-bar:nth-child(3) { background: var(--tk-cyan) !important; }

@media (max-width: 1024px) {
    .tkl-experts-section { flex-direction: column !important; text-align: center !important; align-items: center !important; padding: 80px 0 !important; gap: 50px !important; }
    .tkl-experts-content { align-items: center !important; }
    .tkl-experts-desc { text-align: center !important; }
    .tkl-experts-list { display: flex !important; flex-direction: column !important; align-items: center !important; }
    .tkl-experts-visual { width: 100% !important; margin-top: 20px !important; }
    .tkl-leaders-header { flex-direction: column !important; gap: 30px !important; align-items: flex-start !important; }
    .tkl-courses-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 30px !important; }
    .tkl-stats-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
}

@media (max-width: 768px) {
    .tkl-container { padding: 0 6% !important; width: 100% !important; }
    .tkl-experts-section { padding: 60px 0 !important; gap: 30px !important; }
    .tkl-experts-eyebrow { font-size: 11px !important; letter-spacing: 3px !important; }
    .tkl-experts-title { font-size: 28px !important; line-height: 1.2 !important; margin-bottom: 20px !important; white-space: normal !important; text-wrap: balance !important; }
    .tkl-experts-title strong { font-size: 30px !important; display: inline !important; }
    .tkl-experts-desc { font-size: 15px !important; margin-bottom: 30px !important; white-space: normal !important; }
    .tkl-btn-acceder { width: 100% !important; justify-content: center !important; padding: 16px 20px !important; }

    .tkl-experts-visual { height: 320px !important; perspective: 800px !important; overflow: hidden !important; width: 100% !important; }
    .tkl-3d-slider { width: 160px !important; height: 240px !important; }
    .tkl-3d-slide { transform: rotateY(calc(var(--i) * 90deg)) translateZ(140px) !important; }

    .tkl-courses-section { padding: 80px 0 !important; border-radius: 24px 24px 0 0 !important; margin-top: -30px !important; }
    .tkl-courses-header { margin-bottom: 40px !important; }
    .tkl-courses-title { font-size: 32px !important; }

    .tkl-courses-grid, .tkl-stats-grid {
        display: flex !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        scroll-behavior: smooth !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 0 6% 40px 6% !important;
        gap: 20px !important;
        width: 100vw !important;
        position: relative !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        -ms-overflow-style: none !important;
        scrollbar-width: none !important;
    }

    .tkl-courses-grid::-webkit-scrollbar, .tkl-stats-grid::-webkit-scrollbar { display: none !important; }

    .tkl-card, .tkl-stat-card { flex: 0 0 85vw !important; scroll-snap-align: center !important; }
    .tkl-card-body { padding: 25px !important; }
    .tkl-card-title { font-size: 26px !important; }
    .tkl-card-desc { font-size: 15px !important; margin-bottom: 25px !important; }

    .tkl-leaders-section { padding: 60px 6% !important; }
    .tkl-leaders-header { flex-direction: column !important; text-align: left !important; align-items: flex-start !important; padding: 0 !important; margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
    .tkl-leaders-title { font-size: 28px !important; line-height: 1.2 !important; white-space: normal !important; text-wrap: balance !important; }
    .tkl-leaders-title strong { font-size: 30px !important; display: inline !important; }
    .tkl-leaders-desc { font-size: 15px !important; padding-right: 0 !important; white-space: normal !important; }
    .tkl-btn-outline { width: 100% !important; justify-content: center !important; }
}

/* ==========================================================================
   05. VIDEO HERO — carrusel de mensajes sobre video
   Reemplaza al scroll story de 800vh.

   Diferencias de fondo:
   - Una pantalla de alto, no ocho.
   - El video se ve. El velo es un degradado suave, no un 80% de negro.
   - Los cuatro mensajes existen siempre en el DOM.
   ========================================================================== */

.tkl-vhero {
    position: relative !important;
    width: 100% !important;
    /* svh evita el salto de la barra de direcciones en móvil */
    height: 100svh !important;
    min-height: 600px !important;
    max-height: 900px !important;
    overflow: hidden !important;
    background-color: #000 !important;
    display: flex !important;
    align-items: flex-end !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.tkl-vhero * { box-sizing: border-box !important; }

/* --- Capa de medios --- */
.tkl-vhero__media {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    background-color: #000 !important;
}

.tkl-vhero__poster,
.tkl-vhero__video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    border: 0 !important;
    display: block !important;
}

/* El póster se ve al instante; el video entra por encima cuando puede reproducir */
.tkl-vhero__poster { z-index: 1 !important; }

.tkl-vhero__video {
    z-index: 2 !important;
    opacity: 0 !important;
    transition: opacity 0.8s ease !important;
}

.tkl-vhero.is-video-ready .tkl-vhero__video { opacity: 1 !important; }

/* Variante iframe (Vimeo) por si no puedes autoalojar el MP4 */
.tkl-vhero__media iframe {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 100vw !important;
    height: 56.25vw !important;
    min-height: 100% !important;
    min-width: 177.77vh !important;
    transform: translate(-50%, -50%) !important;
    z-index: 2 !important;
    border: 0 !important;
    pointer-events: none !important;
}

/* --- Velo. Suave arriba, denso abajo, solo lo justo para leer --- */
.tkl-vhero__scrim {
    position: absolute !important;
    inset: 0 !important;
    z-index: 3 !important;
    pointer-events: none !important;
    background:
        linear-gradient(180deg,
            rgba(0,0,0,0.35) 0%,
            rgba(0,0,0,0.12) 28%,
            rgba(0,0,0,0.25) 55%,
            rgba(0,0,0,0.78) 100%) !important;
}

/* --- Contenido --- */
.tkl-vhero__inner {
    position: relative !important;
    z-index: 4 !important;
    width: 100% !important;
    max-width: var(--tk-max-width) !important;
    margin: 0 auto !important;
    padding: 0 5% 64px 5% !important;
}

/* Las slides se apilan; solo cambia la que está activa */
.tkl-vhero__stage {
    position: relative !important;
    min-height: 220px !important;
    display: grid !important;
}

.tkl-vhero__slide {
    grid-area: 1 / 1 !important;
    align-self: end !important;
    max-width: 760px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(18px) !important;
    transition: opacity 0.7s var(--tk-ease), transform 0.7s var(--tk-ease), visibility 0.7s !important;
    pointer-events: none !important;
}

.tkl-vhero__slide.is-active {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

.tkl-vhero__eyebrow {
    display: block !important;
    font-family: var(--font-ui) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: var(--tk-cyan-soft) !important;
    margin: 0 0 18px 0 !important;
}

.tkl-vhero__title {
    font-family: var(--font-display) !important;
    font-size: clamp(30px, 4.2vw, 54px) !important;
    font-weight: 200 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em !important;
    color: #ffffff !important;
    margin: 0 0 26px 0 !important;
    text-wrap: balance !important;
    text-shadow: 0 2px 24px rgba(0,0,0,0.45) !important;
}

.tkl-vhero__title strong { font-weight: 500 !important; }

/* Enlace estilo Meta: subrayado fino que se extiende al pasar el cursor */
.tkl-vhero__link {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-family: var(--font-ui) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    padding-bottom: 6px !important;
    transition: gap 0.3s var(--tk-ease), color 0.3s ease !important;
}

.tkl-vhero__link::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 1px !important;
    background: rgba(255,255,255,0.45) !important;
    transform-origin: left center !important;
    transform: scaleX(1) !important;
    transition: background 0.3s ease, transform 0.4s var(--tk-ease) !important;
}

.tkl-vhero__link:hover { gap: 16px !important; color: var(--tk-cyan-soft) !important; }
.tkl-vhero__link:hover::after { background: var(--tk-cyan-soft) !important; }
.tkl-vhero__link i { font-size: 12px !important; }

/* --- Controles: barras de progreso --- */
.tkl-vhero__controls {
    position: relative !important;
    z-index: 4 !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-top: 40px !important;
    padding: 0 !important;
    list-style: none !important;
}

.tkl-vhero__dot {
    flex: 0 1 92px !important;
    height: 3px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 99px !important;
    background: rgba(255,255,255,0.28) !important;
    cursor: pointer !important;
    overflow: hidden !important;
    position: relative !important;
    transition: background 0.3s ease !important;
    /* área táctil cómoda sin engordar la barra */
    box-shadow: 0 0 0 8px transparent !important;
}

.tkl-vhero__dot:hover { background: rgba(255,255,255,0.45) !important; }

.tkl-vhero__fill {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    background: #ffffff !important;
    border-radius: 99px !important;
    transform: scaleX(0) !important;
    transform-origin: left center !important;
}

/* La barra ya vista queda llena; la activa se rellena sola */
.tkl-vhero__dot.is-done .tkl-vhero__fill { transform: scaleX(1) !important; }

/* --- Franja de resumen bajo el video (opcional, ver el HTML) --- */
.tkl-vhero-summary {
    background: #000000 !important;
    color: var(--tk-muted-light) !important;
    padding: 46px 5% !important;
    border-top: 1px solid var(--tk-border-light) !important;
}

.tkl-vhero-summary__inner {
    max-width: 980px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 40px !important;
}

.tkl-vhero-summary p {
    font-family: var(--font-text) !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    text-wrap: pretty !important;
}

.tkl-vhero-summary strong { color: #ffffff !important; font-weight: 500 !important; }

/* --- Responsive --- */
@media (max-width: 1024px) {
    .tkl-vhero__inner { padding-bottom: 52px !important; }
    .tkl-vhero-summary__inner { flex-direction: column !important; align-items: flex-start !important; gap: 24px !important; }
}

@media (max-width: 768px) {
    .tkl-vhero {
        height: 88svh !important;
        min-height: 520px !important;
        max-height: none !important;
    }

    .tkl-vhero__inner { padding: 0 6% 40px 6% !important; }
    .tkl-vhero__stage { min-height: 190px !important; }
    .tkl-vhero__eyebrow { font-size: 10px !important; letter-spacing: 2px !important; margin-bottom: 12px !important; }
    .tkl-vhero__title { font-size: 27px !important; margin-bottom: 20px !important; }
    .tkl-vhero__link { font-size: 14px !important; }
    .tkl-vhero__controls { margin-top: 28px !important; gap: 10px !important; }
    .tkl-vhero__dot { flex: 1 1 auto !important; }
    .tkl-vhero-summary { padding: 36px 6% !important; }
    .tkl-vhero-summary p { font-size: 15px !important; }
}

/* Sin animación: nada rota solo, el póster se queda quieto */
@media (prefers-reduced-motion: reduce) {
    .tkl-vhero__slide { transition: none !important; }
    .tkl-vhero__fill { transition: none !important; }
}

/* ==========================================================================
   06. EVENTOS
   ========================================================================== */
.tmx-events-section {
    background-color: #000000 !important;
    padding: 120px 0 !important;
    font-family: var(--font-ui) !important;
    color: #ffffff !important;
    position: relative !important;
    overflow: hidden !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.tmx-events-section * { box-sizing: border-box !important; }

.tmx-evt-header { text-align: center !important; margin-bottom: 70px !important; padding: 0 5% !important; position: relative !important; z-index: 10 !important; }

.tmx-evt-title {
    font-family: var(--font-display) !important;
    font-size: clamp(34px, 5vw, 56px) !important;
    font-weight: 200 !important;
    margin: 0 0 25px 0 !important;
    letter-spacing: -0.02em !important;
    color: #ffffff !important;
    line-height: 1.1 !important;
    text-wrap: balance !important;
}

.tmx-evt-title strong { font-weight: 500 !important; }

.tmx-evt-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding: 10px 24px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 50px !important;
    font-family: var(--font-ui) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    text-align: center !important;
    line-height: 1.4 !important;
    color: var(--tk-muted-light) !important;
}

.tmx-evt-pill { margin: 0 auto !important; }

/* Título y metadatos de cada evento (rellenar en el bloque 06) */
.tmx-evt-name {
    position: relative !important;
    z-index: 3 !important;
    font-family: var(--font-display) !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    margin: 0 0 8px 0 !important;
    padding: 0 8px !important;
    text-align: center !important;
    line-height: 1.25 !important;
    text-wrap: balance !important;
}

.tmx-evt-meta {
    position: relative !important;
    z-index: 3 !important;
    font-family: var(--font-ui) !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    color: var(--tk-muted-light) !important;
    margin: 0 0 24px 0 !important;
    padding: 0 8px !important;
    text-align: center !important;
}

.tmx-zoom-tag { display: inline-flex !important; align-items: center !important; gap: 6px !important; color: var(--tk-cyan) !important; font-weight: 600 !important; }

.tmx-evt-slider-container { position: relative !important; width: 100% !important; max-width: 1600px !important; margin: 0 auto !important; padding: 0 !important; }

.tmx-evt-track {
    display: flex !important;
    gap: 30px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 20px 4% 60px 4% !important;
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
}

.tmx-evt-track::-webkit-scrollbar { display: none !important; }

.tmx-evt-controls { display: flex !important; justify-content: flex-end !important; gap: 15px !important; margin-top: -30px !important; margin-bottom: 25px !important; padding-right: 4% !important; }

.tmx-evt-arrow {
    width: 44px !important; height: 44px !important;
    border-radius: 50% !important;
    background-color: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    color: #ffffff !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    cursor: pointer !important; transition: all 0.3s var(--tk-ease) !important;
    font-size: 16px !important;
}

.tmx-evt-arrow:hover { background-color: #ffffff !important; color: #000000 !important; transform: scale(1.05) !important; }

.tmx-evt-card {
    flex: 0 0 calc(33.333% - 20px) !important;
    min-width: 420px !important;
    background: rgba(15, 15, 18, 0.65) !important;
    backdrop-filter: blur(30px) !important;
    -webkit-backdrop-filter: blur(30px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 36px !important;
    padding: 15px 15px 30px 15px !important;
    position: relative !important;
    overflow: hidden !important;
    scroll-snap-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    box-shadow: 0 30px 60px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.05) !important;
    transition: transform 0.5s var(--tk-ease), box-shadow 0.5s ease !important;
}

.tmx-evt-card:hover { transform: translateY(-8px) !important; box-shadow: 0 40px 80px rgba(0,0,0,0.8), inset 0 1px 0 rgba(255,255,255,0.15) !important; border-color: rgba(255, 255, 255, 0.15) !important; }

.tmx-glow { position: absolute !important; width: 300px !important; height: 300px !important; border-radius: 50% !important; filter: blur(90px) !important; opacity: 0.5 !important; z-index: 0 !important; pointer-events: none !important; transition: opacity 0.5s ease !important; }
.tmx-evt-card:hover .tmx-glow { opacity: 0.8 !important; }

.tmx-glow-1 { background-color: var(--tk-gold) !important; top: -15% !important; left: -15% !important; }
.tmx-glow-2 { background-color: #0055ff !important; bottom: 0 !important; right: -20% !important; }
.tmx-glow-3 { background-color: var(--tk-purple) !important; top: -10% !important; right: -15% !important; }
.tmx-glow-4 { background-color: var(--tk-cyan) !important; bottom: -10% !important; left: -20% !important; }
.tmx-glow-neutral { background-color: rgba(255, 255, 255, 0.1) !important; top: -15% !important; left: -15% !important; }

.tmx-evt-flyer {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    border-radius: 28px !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.6) !important;
    margin-bottom: 30px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    transition: transform 0.6s var(--tk-ease), border-color 0.5s ease !important;
    box-sizing: border-box !important;
}

.tmx-evt-card:hover .tmx-evt-flyer { transform: scale(1.02) !important; border-color: rgba(255, 255, 255, 0.4) !important; }

.tmx-btn-assist {
    position: relative !important;
    z-index: 3 !important;
    background-color: #ffffff !important;
    color: #000000 !important;
    font-family: var(--font-ui) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 16px 36px !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    width: 85% !important;
    text-align: center !important;
    border: 1px solid transparent !important;
    transition: all 0.4s var(--tk-ease) !important;
    box-shadow: 0 10px 20px rgba(255,255,255,0.1) !important;
}

.tmx-btn-assist:hover { background-color: #000000 !important; color: #ffffff !important; border-color: #ffffff !important; box-shadow: 0 10px 25px rgba(0,0,0,0.4) !important; transform: translateY(-2px) !important; }

.tmx-evt-swipe-hint {
    display: none !important;
    text-align: center !important;
    font-family: var(--font-ui) !important;
    font-size: 12px !important;
    font-weight: 300 !important;
    color: var(--tk-muted-light) !important;
    margin-top: 5px !important;
    margin-bottom: 20px !important;
    animation: pulseHint 2s infinite !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

@keyframes pulseHint {
    0%, 100% { opacity: 0.4; transform: translateX(0); }
    50%      { opacity: 1; transform: translateX(-5px); }
}

.tmx-evt-footer-link {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 20px !important;
    padding: 15px 5% !important;
    font-family: var(--font-ui) !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    color: var(--tk-muted-light) !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.tmx-evt-footer-link strong { color: #ffffff !important; font-weight: 500 !important; transition: color 0.3s ease !important; }
.tmx-evt-footer-link i { color: var(--tk-cyan) !important; font-size: 16px !important; }

@media (max-width: 1200px) { .tmx-evt-card { min-width: 380px !important; } }
@media (max-width: 1024px) { .tmx-evt-card { flex: 0 0 calc(50% - 15px) !important; min-width: 340px !important; } }

@media (max-width: 768px) {
    .tmx-events-section { padding: 80px 0 60px 0 !important; }
    .tmx-evt-header { margin-bottom: 40px !important; padding: 0 6% !important; }
    .tmx-evt-title { font-size: 32px !important; line-height: 1.15 !important; margin-bottom: 20px !important; }
    .tmx-evt-pill { font-size: 10px !important; padding: 8px 18px !important; letter-spacing: 1px !important; gap: 6px !important; }
    .tmx-evt-controls { display: none !important; }
    .tmx-evt-track { padding: 10px 6% 30px 6% !important; gap: 20px !important; }
    .tmx-evt-swipe-hint { display: block !important; }
    .tmx-evt-card { flex: 0 0 85vw !important; min-width: auto !important; padding: 12px 12px 25px 12px !important; border-radius: 28px !important; }
    .tmx-evt-flyer { border-radius: 20px !important; margin-bottom: 25px !important; }
    .tmx-btn-assist { width: 92% !important; padding: 16px 20px !important; font-size: 13px !important; }
    .tmx-evt-footer-link { font-size: 12px !important; flex-direction: column !important; text-align: center !important; gap: 6px !important; margin-top: 10px !important; }
}

/* ==========================================================================
   07. NOTICIAS / ACTUALIDAD
   ========================================================================== */
.tmx-news-section {
    background-color: #000000 !important;
    padding: 120px 0 !important;
    font-family: var(--font-ui) !important;
    color: #ffffff !important;
    overflow: hidden !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.tmx-news-section * { box-sizing: border-box !important; }

.tmx-slider-header {
    max-width: var(--tk-max-width) !important;
    margin: 0 auto 50px auto !important;
    padding: 0 4% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
}

.tmx-slider-title {
    font-family: var(--font-display) !important;
    font-size: clamp(38px, 5vw, 56px) !important;
    font-weight: 100 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    margin: 0 !important;
    color: #ffffff !important;
    text-wrap: balance !important;
}

.tmx-slider-title strong { font-weight: 400 !important; display: block !important; }

.tmx-slider-link {
    color: var(--tk-cyan) !important;
    font-family: var(--font-ui) !important;
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: all 0.3s ease !important;
    white-space: nowrap !important;
    padding-bottom: 10px !important;
}

.tmx-slider-link:hover { color: #ffffff !important; transform: translateX(5px) !important; }

.tmx-slider-container { position: relative !important; width: 100% !important; display: flex !important; flex-direction: column !important; align-items: center !important; }

.tmx-slider-track {
    display: flex !important;
    gap: 30px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
    padding: 0 calc(50vw - 480px) 40px calc(50vw - 480px) !important;
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
}

.tmx-slider-track::-webkit-scrollbar { display: none !important; }

.tmx-news-card {
    flex: 0 0 auto !important;
    width: 960px !important;
    height: 500px !important;
    border-radius: 32px !important;
    scroll-snap-align: center !important;
    display: flex !important;
    flex-direction: row !important;
    overflow: hidden !important;
    position: relative !important;
    transition: transform 0.5s var(--tk-ease), box-shadow 0.5s ease !important;
}

.tmx-news-card:hover { transform: translateY(-8px) !important; }

.tmx-news-img-wrapper { flex: 1.1 !important; position: relative !important; overflow: hidden !important; }
.tmx-news-img-wrapper img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important; transition: transform 0.8s var(--tk-ease) !important; }
.tmx-news-card:hover .tmx-news-img-wrapper img { transform: scale(1.05) !important; }

.tmx-news-text-content { flex: 1 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; padding: 50px 60px !important; text-align: left !important; }

.tmx-news-meta { display: flex !important; align-items: center !important; gap: 15px !important; margin-bottom: 25px !important; }

.tmx-news-category {
    font-family: var(--font-ui) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    padding: 6px 14px !important;
    border-radius: 50px !important;
}

.tmx-news-date { font-family: var(--font-ui) !important; font-size: 13px !important; font-weight: 400 !important; }

.tmx-news-title {
    font-family: var(--font-display) !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    font-weight: 300 !important;
    line-height: 1.15 !important;
    margin: 0 0 20px 0 !important;
    letter-spacing: -0.02em !important;
    text-wrap: balance !important;
}

.tmx-news-excerpt { font-family: var(--font-ui) !important; font-size: 16px !important; line-height: 1.6 !important; margin: 0 0 35px 0 !important; font-weight: 300 !important; text-wrap: pretty !important; }

.tmx-news-action {
    margin-top: auto !important;
    font-family: var(--font-ui) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: all 0.3s ease !important;
    align-self: flex-start !important;
}

.tmx-news-action i { font-size: 12px !important; transition: transform 0.3s !important; }
.tmx-news-action:hover { opacity: 0.8 !important; }
.tmx-news-action:hover i { transform: translateX(5px) !important; }

/* Tema claro */
.tmx-theme-light { background-color: #ffffff !important; color: var(--tk-ink) !important; border: 1px solid rgba(0,0,0,0.04) !important; box-shadow: 0 20px 50px rgba(0,0,0,0.1) !important; }
.tmx-theme-light:hover { box-shadow: 0 30px 70px rgba(0,0,0,0.15) !important; }
.tmx-theme-light .tmx-news-category { background-color: rgba(0, 169, 255, 0.1) !important; color: var(--tk-cyan-deep) !important; }
.tmx-theme-light .tmx-news-date { color: var(--tk-muted-dark) !important; }
.tmx-theme-light .tmx-news-title { color: #000000 !important; font-weight: 300 !important; }
.tmx-theme-light .tmx-news-title strong { font-weight: 600 !important; }
.tmx-theme-light .tmx-news-excerpt { color: var(--tk-muted-dark) !important; }
.tmx-theme-light .tmx-news-action { color: var(--tk-cyan-deep) !important; }

/* Variante dorada (análisis clínico) — reemplaza los style="" inline */
.tmx-news-category.is-gold { background: rgba(197, 154, 102, 0.15) !important; color: var(--tk-gold) !important; }
.tmx-news-action.is-gold { color: var(--tk-gold) !important; }

/* Tema oscuro / podcast */
.tmx-theme-dark {
    background-color: rgba(15, 15, 18, 0.65) !important;
    backdrop-filter: blur(30px) !important;
    -webkit-backdrop-filter: blur(30px) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    color: #ffffff !important;
    box-shadow: 0 30px 60px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.05) !important;
}

.tmx-theme-dark:hover { box-shadow: 0 40px 80px rgba(0,0,0,0.8), inset 0 1px 0 rgba(255,255,255,0.1) !important; }
.tmx-theme-dark .tmx-news-category.podcast-badge { background-color: rgba(139, 92, 246, 0.2) !important; color: #c4b5fd !important; }
.tmx-theme-dark .tmx-news-date { color: var(--tk-muted-light) !important; }
.tmx-theme-dark .tmx-news-title { color: #ffffff !important; }
.tmx-theme-dark .tmx-news-excerpt { color: #d1d1d6 !important; }
.tmx-theme-dark .tmx-news-action { color: #c4b5fd !important; }

.tmx-podcast-overlay { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; background: linear-gradient(90deg, rgba(15,15,18,0) 0%, rgba(15,15,18,1) 100%) !important; z-index: 1 !important; pointer-events: none !important; }

.tmx-play-btn {
    position: absolute !important;
    top: 50% !important; left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 64px !important; height: 64px !important;
    background: rgba(255,255,255,0.15) !important;
    backdrop-filter: blur(15px) !important; -webkit-backdrop-filter: blur(15px) !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
    border-radius: 50% !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    color: white !important; font-size: 20px !important; z-index: 2 !important;
    transition: all 0.4s var(--tk-ease) !important;
}

.tmx-play-btn i { margin-left: 3px !important; }
.tmx-news-card:hover .tmx-play-btn { background: rgba(255,255,255,0.9) !important; color: var(--tk-purple) !important; transform: translate(-50%, -50%) scale(1.1) !important; }

.tmx-slider-controls {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    background: rgba(40, 40, 42, 0.6) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    padding: 12px 24px !important;
    border-radius: 50px !important;
    margin-top: 10px !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
}

.tmx-nav-btn {
    background: rgba(255, 255, 255, 0.1) !important;
    border: none !important;
    color: white !important;
    width: 44px !important; height: 44px !important;
    border-radius: 50% !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    cursor: pointer !important; transition: all 0.3s !important;
}

.tmx-nav-btn:hover { background: #ffffff !important; color: #000000 !important; transform: scale(1.05) !important; }
.tmx-nav-btn svg { width: 18px !important; height: 18px !important; fill: currentColor !important; }

.tmx-dots-container { display: flex !important; gap: 10px !important; }
.tmx-dot { width: 8px !important; height: 8px !important; background-color: #555555 !important; border-radius: 50% !important; cursor: pointer !important; transition: all 0.3s ease !important; border: none !important; padding: 0 !important; }
.tmx-dot.active { background-color: #ffffff !important; width: 24px !important; border-radius: 10px !important; }

@media (max-width: 1200px) {
    .tmx-slider-track { padding: 0 5% 40px 5% !important; }
    .tmx-news-card { width: 90vw !important; max-width: 900px !important; }
}

@media (max-width: 1024px) {
    .tmx-news-card { height: auto !important; min-height: 480px !important; }
    .tmx-news-text-content { padding: 40px !important; }
}

@media (max-width: 768px) {
    .tmx-news-section { padding: 80px 0 !important; }
    .tmx-slider-header { flex-direction: column !important; align-items: flex-start !important; gap: 20px !important; margin-bottom: 40px !important; padding: 0 6% !important; }
    .tmx-slider-title { font-size: 34px !important; line-height: 1.15 !important; }
    .tmx-slider-track { gap: 20px !important; padding: 0 6% 30px 6% !important; }
    .tmx-news-card { width: 88vw !important; flex-direction: column !important; min-height: auto !important; border-radius: 28px !important; }
    .tmx-news-img-wrapper { flex: none !important; height: 240px !important; width: 100% !important; }
    .tmx-podcast-overlay { background: linear-gradient(180deg, rgba(15,15,18,0) 0%, rgba(15,15,18,1) 100%) !important; }
    .tmx-news-text-content { flex: 1 !important; padding: 30px 25px !important; justify-content: flex-start !important; }
    .tmx-news-meta { margin-bottom: 15px !important; }
    .tmx-news-title { font-size: 24px !important; margin-bottom: 15px !important; line-height: 1.2 !important; }
    .tmx-news-excerpt { font-size: 15px !important; margin-bottom: 25px !important; }
    .tmx-news-action { font-size: 15px !important; }
    .tmx-slider-controls { margin-top: 20px !important; }
}

/* ==========================================================================
   08. CONTACTO / AGENDAR DEMOSTRACIÓN
   ========================================================================== */
.tmx-contact-wrapper {
    background-color: #000000 !important;
    font-family: var(--font-ui) !important;
    color: #ffffff !important;
    width: 100% !important;
    position: relative !important;
    overflow: hidden !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    padding: 120px 5% !important;
}

.tmx-contact-wrapper * { box-sizing: border-box !important; }

.tmx-contact-glow {
    position: absolute !important;
    top: 50% !important; left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 600px !important; height: 600px !important;
    background: var(--tk-cyan) !important;
    border-radius: 50% !important;
    filter: blur(250px) !important;
    opacity: 0.15 !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

.tmx-form-container { max-width: 850px !important; margin: 0 auto !important; position: relative !important; z-index: 2 !important; }

.tmx-form-box {
    background-color: rgba(15, 15, 18, 0.7) !important;
    backdrop-filter: blur(30px) !important;
    -webkit-backdrop-filter: blur(30px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 36px !important;
    padding: 70px 80px !important;
    box-shadow: 0 40px 100px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.05) !important;
}

.tmx-form-title {
    font-family: var(--font-display) !important;
    font-size: clamp(38px, 5vw, 56px) !important;
    font-weight: 100 !important;
    margin: 0 0 15px 0 !important;
    text-align: center !important;
    letter-spacing: -0.02em !important;
    line-height: 1.1 !important;
    text-wrap: balance !important;
}

.tmx-form-title strong { font-weight: 400 !important; color: #ffffff !important; display: block !important; }

.tmx-form-desc {
    font-family: var(--font-display) !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    color: var(--tk-muted-light) !important;
    text-align: center !important;
    margin: 0 auto 40px auto !important;
    line-height: 1.6 !important;
    max-width: 600px !important;
    text-wrap: pretty !important;
}

.tmx-directive-wrap { text-align: center !important; }

.tmx-click-directive {
    text-align: center !important;
    font-family: var(--font-ui) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    background-color: rgba(0, 169, 255, 0.1) !important;
    border: 1px solid rgba(0, 169, 255, 0.2) !important;
    padding: 10px 24px !important;
    border-radius: 50px !important;
    margin: 0 auto 25px auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    animation: pulseDirective 2.5s infinite !important;
    transition: opacity 0.3s ease !important;
}

@keyframes pulseDirective {
    0%   { box-shadow: 0 0 0 0 rgba(0, 169, 255, 0.3); }
    70%  { box-shadow: 0 0 0 10px rgba(0, 169, 255, 0); }
    100% { box-shadow: 0 0 0 0 rgba(0, 169, 255, 0); }
}

.tmx-arrow-down { animation: bounceDown 2s infinite !important; }

@keyframes bounceDown {
    0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(3px); }
    60% { transform: translateY(1px); }
}

.tmx-profile-selector { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 24px !important; margin-bottom: 20px !important; }

.tmx-profile-option {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 35px 20px 30px 20px !important;
    background-color: rgba(0,0,0,0.3) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 24px !important;
    cursor: pointer !important;
    transition: all 0.4s var(--tk-ease) !important;
    color: var(--tk-muted-light) !important;
    position: relative !important;
    overflow: hidden !important;
}

.tmx-profile-option::after {
    content: 'Seleccionar \2192' !important;
    position: absolute !important;
    bottom: 0 !important; left: 0 !important; width: 100% !important;
    background-color: rgba(0, 169, 255, 0.15) !important;
    color: var(--tk-cyan) !important;
    font-family: var(--font-ui) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-align: center !important;
    padding: 10px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transform: translateY(100%) !important;
    transition: transform 0.3s ease !important;
}

.tmx-profile-option:hover,
.tmx-profile-option:focus-within {
    background-color: rgba(0, 169, 255, 0.05) !important;
    border-color: rgba(0, 169, 255, 0.3) !important;
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 30px rgba(0,0,0,0.3) !important;
    color: #ffffff !important;
}

.tmx-profile-option:hover::after { transform: translateY(0) !important; }

/* El radio se oculta visualmente pero sigue enfocable por teclado */
.tmx-profile-option input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important; height: 1px !important;
    margin: 0 !important;
}

.tmx-radio-indicator {
    width: 24px !important; height: 24px !important;
    border-radius: 50% !important;
    border: 1.5px solid var(--tk-muted-light) !important;
    margin-bottom: 20px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    transition: all 0.3s ease !important;
}

.tmx-radio-indicator::before {
    content: '' !important; width: 12px !important; height: 12px !important;
    background-color: var(--tk-cyan) !important;
    border-radius: 50% !important;
    transform: scale(0) !important;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

.tmx-profile-option.active {
    border-color: var(--tk-cyan) !important;
    background-color: rgba(0, 169, 255, 0.08) !important;
    color: #ffffff !important;
    box-shadow: 0 15px 30px rgba(0, 169, 255, 0.15) !important;
}

.tmx-profile-option.active::after { display: none !important; }
.tmx-profile-option.active .tmx-radio-indicator { border-color: var(--tk-cyan) !important; }
.tmx-profile-option.active .tmx-radio-indicator::before { transform: scale(1) !important; }
.tmx-profile-option.active .tmx-profile-icon { color: var(--tk-cyan) !important; transform: scale(1.1) !important; }

.tmx-profile-icon { color: var(--tk-muted-light) !important; margin-bottom: 15px !important; transition: all 0.4s ease !important; }
.tmx-profile-title-text { font-family: var(--font-display) !important; font-size: 22px !important; font-weight: 400 !important; margin-bottom: 4px !important; text-align: center !important; color: #ffffff !important; }
.tmx-profile-subtitle { font-family: var(--font-ui) !important; font-size: 13px !important; font-weight: 300 !important; opacity: 0.8 !important; text-align: center !important; }

.tmx-btn-back {
    background: none !important; border: none !important;
    color: var(--tk-muted-light) !important;
    font-family: var(--font-ui) !important;
    font-size: 13px !important; font-weight: 500 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    padding: 10px 0 !important;
    margin-top: 30px !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
    width: 100% !important; text-align: center !important;
    transition: color 0.3s ease !important;
}

.tmx-btn-back:hover { color: #ffffff !important; }

.tmx-kommo-wrapper {
    display: none;
    width: 100%;
    min-height: 400px;
    position: relative;
    animation: fadeIn 0.6s var(--tk-ease) forwards;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

.tmx-kommo-wrapper iframe { width: 100% !important; max-width: 650px !important; margin: 0 auto !important; display: block !important; border: none !important; background: transparent !important; }

.tmx-kommo-loader { text-align: center !important; padding: 60px 20px !important; }
.tmx-kommo-loader i { color: var(--tk-cyan) !important; margin-bottom: 15px !important; }
.tmx-kommo-loader p { color: var(--tk-muted-light) !important; font-size: 15px !important; font-family: var(--font-text) !important; }

/* Estilos forzados del formulario Kommo */
.amoforms-form,
.amoforms-form-container,
.amoforms-main-container { background-color: #111111 !important; border-radius: 20px !important; }

.tmx-patient-msg-box {
    display: none !important;
    text-align: center !important;
    padding: 60px 40px !important;
    background: rgba(0,0,0,0.2) !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255,255,255,0.05) !important;
    animation: fadeInMsg 0.6s var(--tk-ease) forwards !important;
}

@keyframes fadeInMsg {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

.tmx-patient-icon { margin-bottom: 25px !important; line-height: 1 !important; }
.tmx-patient-icon i { font-size: 56px !important; color: var(--tk-cyan) !important; filter: drop-shadow(0 0 20px rgba(0, 169, 255, 0.3)) !important; }

.tmx-patient-title { font-family: var(--font-display) !important; font-size: 32px !important; font-weight: 300 !important; color: #ffffff !important; margin-bottom: 15px !important; letter-spacing: -0.02em !important; }
.tmx-patient-desc { font-family: var(--font-ui) !important; font-size: 16px !important; font-weight: 300 !important; color: #d1d1d6 !important; line-height: 1.6 !important; margin: 0 auto 35px auto !important; max-width: 500px !important; text-wrap: pretty !important; }
.tmx-patient-desc strong { color: #ffffff !important; font-weight: 500 !important; }

.tmx-btn-portal {
    display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important;
    background-color: #ffffff !important; color: #000000 !important; text-decoration: none !important;
    padding: 18px 40px !important; border-radius: 50px !important; font-weight: 600 !important; font-size: 14px !important;
    font-family: var(--font-ui) !important; transition: all 0.4s var(--tk-ease) !important; text-transform: uppercase !important; letter-spacing: 1px !important;
}

.tmx-btn-portal:hover { background-color: var(--tk-cyan) !important; color: #000000 !important; transform: translateY(-3px) !important; box-shadow: 0 15px 30px rgba(0, 169, 255, 0.25) !important; }

@media (max-width: 1024px) { .tmx-form-box { padding: 60px 50px !important; } }

@media (max-width: 768px) {
    .tmx-contact-wrapper { padding: 80px 4% !important; }
    .tmx-form-box { padding: 45px 25px !important; border-radius: 28px !important; }
    .tmx-form-title { font-size: 34px !important; line-height: 1.15 !important; margin-bottom: 12px !important; }
    .tmx-form-desc { font-size: 15px !important; margin-bottom: 30px !important; }
    .tmx-profile-selector { grid-template-columns: 1fr !important; gap: 15px !important; }
    .tmx-profile-option { padding: 20px 24px !important; flex-direction: row !important; justify-content: flex-start !important; text-align: left !important; border-radius: 20px !important; }
    .tmx-profile-option::after { content: none !important; }
    .tmx-radio-indicator { margin-bottom: 0 !important; margin-right: 20px !important; flex-shrink: 0 !important; }
    .tmx-profile-icon { margin-bottom: 0 !important; margin-right: 20px !important; flex-shrink: 0 !important; }
    .tmx-profile-title-text { text-align: left !important; margin-bottom: 2px !important; font-size: 20px !important; font-weight: 500 !important; }
    .tmx-profile-subtitle { text-align: left !important; font-size: 12px !important; }
    .tmx-patient-msg-box { padding: 40px 20px !important; border-radius: 20px !important; }
    .tmx-patient-title { font-size: 26px !important; }
    .tmx-patient-desc { font-size: 15px !important; margin-bottom: 30px !important; }
    .tmx-btn-portal { width: 100% !important; font-size: 13px !important; padding: 18px 20px !important; }
}

/* ==========================================================================
   09. FOOTER
   ========================================================================== */
.tkl-footer-wrapper {
    background-color: #000000 !important;
    color: var(--tk-muted-light) !important;
    font-family: var(--font-text) !important;
    width: 100% !important;
    overflow: hidden !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    border-top: 1px solid var(--tk-border-light) !important;
}

.tkl-footer-wrapper * { box-sizing: border-box !important; }

.tkl-footer-container { max-width: 1350px !important; margin: 0 auto !important; padding: 0 5% !important; }

.tkl-footer-top { display: flex !important; justify-content: center !important; align-items: center !important; padding: 45px 0 !important; border-bottom: 1px solid var(--tk-border-light) !important; }
.tkl-footer-logo { text-align: center !important; }
.tkl-footer-logo img { height: 32px !important; width: auto !important; display: inline-block !important; opacity: 0.9 !important; transition: opacity 0.3s ease !important; filter: drop-shadow(0 0 15px rgba(255,255,255,0.1)) !important; }
.tkl-footer-logo img:hover { opacity: 1 !important; }

.tkl-footer-main { display: grid !important; grid-template-columns: 2fr 1fr 1.5fr !important; gap: 60px !important; padding: 60px 0 !important; }

.tkl-footer-col h4 {
    font-family: var(--font-display) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    margin: 0 0 25px 0 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

.tkl-footer-desc { font-family: var(--font-text) !important; font-size: 14px !important; color: var(--tk-muted-light) !important; line-height: 1.6 !important; margin-bottom: 25px !important; font-weight: 300 !important; text-wrap: pretty !important; }

.tkl-footer-list { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-direction: column !important; gap: 15px !important; }
.tkl-footer-list li { font-size: 14px !important; font-weight: 300 !important; line-height: 1.5 !important; display: flex !important; align-items: center !important; }
.tkl-footer-list a { color: var(--tk-muted-light) !important; text-decoration: none !important; transition: all 0.3s var(--tk-ease) !important; display: flex !important; align-items: center !important; gap: 12px !important; width: fit-content !important; }
.tkl-footer-list a:hover { color: #ffffff !important; transform: translateX(4px) !important; }

.tkl-tech-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 15px 40px !important; }

.tkl-btn-subscribe {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: none !important;
    padding: 16px 36px !important;
    border-radius: 50px !important;
    font-family: var(--font-ui) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    cursor: pointer !important;
    transition: all 0.4s var(--tk-ease) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    text-decoration: none !important;
    box-shadow: 0 10px 20px rgba(255,255,255,0.05) !important;
}

.tkl-btn-subscribe:hover { transform: translateY(-3px) !important; background-color: var(--tk-cyan) !important; color: #ffffff !important; box-shadow: 0 15px 30px rgba(0, 169, 255, 0.2) !important; }

.tkl-footer-social-col { display: flex !important; gap: 15px !important; }

.tkl-footer-social-col a {
    color: var(--tk-muted-light) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    font-size: 16px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s var(--tk-ease) !important;
    text-decoration: none !important;
}

.tkl-footer-social-col a:hover { color: #ffffff !important; background-color: var(--tk-cyan) !important; transform: translateY(-4px) !important; box-shadow: 0 10px 20px rgba(0, 169, 255, 0.3) !important; }

.tkl-footer-bottom { border-top: 1px solid var(--tk-border-light) !important; padding: 25px 0 !important; text-align: center !important; font-size: 13px !important; font-weight: 300 !important; color: var(--tk-muted-light) !important; }
.tkl-footer-bottom a { color: var(--tk-muted-light) !important; text-decoration: none !important; transition: color 0.3s !important; margin: 0 8px !important; }
.tkl-footer-bottom a:hover { color: #ffffff !important; }
.tkl-footer-bottom .divider { opacity: 0.5 !important; margin: 0 5px !important; }
.tkl-footer-bottom .tkl-shield-icon { margin-right: 5px !important; color: var(--tk-cyan) !important; }

@media (max-width: 1024px) {
    .tkl-footer-main { grid-template-columns: 1fr 1fr !important; gap: 50px !important; }
    .tkl-footer-main > div:nth-child(3) { grid-column: span 2 !important; }
}

@media (max-width: 768px) {
    .tkl-footer-container { padding: 0 6% !important; }
    .tkl-footer-top { padding: 35px 0 !important; }
    .tkl-footer-main { grid-template-columns: 1fr !important; gap: 50px !important; padding: 50px 0 !important; }
    .tkl-footer-main > div:nth-child(3) { grid-column: span 1 !important; }
    .tkl-tech-grid { grid-template-columns: 1fr 1fr !important; gap: 15px 20px !important; }
    .tkl-footer-col h4 { font-size: 12px !important; margin-bottom: 20px !important; }
    .tkl-footer-bottom { line-height: 2.2 !important; padding: 25px 0 !important; display: flex !important; flex-direction: column !important; gap: 10px !important; }
    .tkl-footer-bottom .divider { display: none !important; }
    .tkl-footer-bottom a { display: block !important; margin: 0 !important; }
}

@media (max-width: 480px) {
    .tkl-tech-grid { grid-template-columns: 1fr !important; }
    .tkl-btn-subscribe { width: 100% !important; justify-content: center !important; }
    .tkl-footer-social-col { justify-content: center !important; }
    .tkl-footer-main > div:nth-child(3) { text-align: center !important; }
    .tkl-footer-main > div:nth-child(3) h4 { margin-top: 40px !important; }
}

/* --------------------------------------------------------------------------
   09b. BLINDAJE DE COLOR DEL FOOTER

   Elementor (Colores Globales) o ElementsKit pintan todos los <a> con un
   !important propio. Sus selectores pesan lo mismo que los míos
   (.elementor-widget-html a vs .tkl-footer-list a: ambos 0-1-1), y en un
   empate gana el que carga después. El suyo carga después.

   Añadir más !important no arregla nada: ya lo tenía. Lo que hace falta es
   subir de especificidad. Un selector de ID (1-0-1) le gana a cualquier
   selector de clase con !important, sin importar el orden de carga.

   Por eso el <footer> del bloque 09 ahora lleva id="tkl-footer".
   Si quitas ese id, esta sección deja de funcionar.
   -------------------------------------------------------------------------- */

#tkl-footer a,
#tkl-footer a:visited,
#tkl-footer .tkl-footer-list a,
#tkl-footer .tkl-footer-bottom a {
    color: var(--tk-muted-light) !important;
    text-decoration: none !important;
    /* El kit también fuerza font-family: Helvetica en todos los <a> */
    font-family: var(--font-text) !important;
}

#tkl-footer a:hover,
#tkl-footer .tkl-footer-list a:hover,
#tkl-footer .tkl-footer-bottom a:hover {
    color: #ffffff !important;
}

/* Botón blanco: texto e icono en negro */
#tkl-footer a.tkl-btn-subscribe,
#tkl-footer a.tkl-btn-subscribe:visited {
    color: #000000 !important;
    background-color: #ffffff !important;
}

#tkl-footer a.tkl-btn-subscribe i { color: inherit !important; }

#tkl-footer a.tkl-btn-subscribe:hover {
    color: #ffffff !important;
    background-color: var(--tk-cyan) !important;
}

/* Iconos sociales */
#tkl-footer .tkl-footer-social-col a {
    color: var(--tk-muted-light) !important;
    background: rgba(255, 255, 255, 0.05) !important;
}

#tkl-footer .tkl-footer-social-col a:hover {
    color: #ffffff !important;
    background-color: var(--tk-cyan) !important;
}

#tkl-footer .tkl-footer-social-col a i { color: inherit !important; }

/* Encabezados de columna y logo */
#tkl-footer .tkl-footer-col h4 { color: #ffffff !important; }
#tkl-footer .tkl-footer-desc { color: var(--tk-muted-light) !important; }

/* El escudo de "Estados financieros" sí es cian, a propósito */
#tkl-footer .tkl-shield-icon { color: var(--tk-cyan) !important; }

/* Los iconos heredan el color del enlace que los contiene */
#tkl-footer .tkl-footer-list a i,
#tkl-footer .tkl-footer-bottom a i { color: inherit !important; }

/* --------------------------------------------------------------------------
   09c. NEUTRALIZACIÓN DEL KIT DE ELEMENTOR

   Elementor imprime esta regla, y aplica a TODOS los enlaces del sitio:

       .elementor-kit-146 a { color:#1F6BCC; font-family:"Helvetica"; }

   .elementor-kit-146 es la clase del <body>, así que el selector pesa 0-1-1:
   exactamente lo mismo que .tkl-footer-list a, .tk-nav a, .lux-card, etc.
   En un empate manda el que carga después — y el kit carga después.

   Truco: anteponer `body` sube el peso a 0-1-2 y le gana al kit, sin
   descolocar la cascada interna (las reglas propias de cada componente
   siguen mandando entre ellas porque son igual de específicas y van después).

   ARREGLO DE RAÍZ, POR SI PREFIERES ATACARLO EN ORIGEN:
   Elementor → Configuración del sitio → Tipografía → Enlace.
   Deja el color y la familia sin definir. Entonces esta sección sobra y
   puedes borrarla. Es lo que yo haría a medio plazo: pelear contra tu propio
   tema con especificidad funciona, pero es una carrera que nunca termina.
   -------------------------------------------------------------------------- */

/* La tipografía se restaura en todos nuestros contenedores de golpe */
body .tk-header-wrapper a,
body .tkl-hero-page-wrapper a,
body #tkl-lux a,
body .tkl-academy-wrapper a,
body .tkl-courses-section a,
body .tkl-vhero a,
body .tkl-vhero-summary a,
body .tmx-events-section a,
body .tmx-news-section a,
body .tmx-contact-wrapper a,
body .tkl-footer-wrapper a {
    font-family: var(--font-ui) !important;
}

/* Y el color, componente por componente */
body .tk-nav a            { color: #d1d1d1 !important; }
body .tk-nav a.active-link { color: var(--tk-cyan-soft) !important; }
body a.tk-mega-link{ color: var(--tk-muted-light) !important; }
body a.tk-mega-link:hover{ color: #ffffff !important; }
body .tk-dropdown-content a { color: var(--tk-muted-light) !important; }
body .tk-dropdown-content a.tk-logout-link { color: #ef4444 !important; }
body a.tk-btn-pacientes{ color: var(--tk-cyan-soft) !important; }
body a.tk-btn-pacientes:hover{ color: #000000 !important; }
body a.tk-btn-contact{ color: #ffffff !important; }
body a.tk-btn-contact:hover{ color: #000000 !important; }
body a.tk-login-btn{ color: #ffffff !important; }
body a.tk-login-btn:hover{ color: #000000 !important; }
body a.tk-mobile-action-btn{ color: #ffffff !important; }

body .tkl-hero-page-wrapper .tkl-btn-outline { color: #000000 !important; }
body .tkl-hero-page-wrapper .tkl-btn-outline:hover { color: #ffffff !important; }

body a.lux-btn-outline{ color: var(--tk-ink) !important; }
body a.lux-btn-outline:hover{ color: #ffffff !important; }

body a.tkl-btn-acceder{ color: #ffffff !important; }
body a.tkl-btn-acceder:hover{ color: #000000 !important; }
body a.tkl-btn-outline{ color: var(--tk-ink) !important; }
body a.tkl-btn-outline:hover{ color: #ffffff !important; }
body a.tkl-card-link{ color: var(--tk-ink) !important; }
body .tkl-card:hover .tkl-card-link { color: var(--tk-cyan) !important; }

body a.tkl-vhero__link{ color: #ffffff !important; }
body a.tkl-vhero__link:hover{ color: var(--tk-cyan-soft) !important; }
body .tkl-vhero-summary .lux-btn-outline { color: #ffffff !important; }

body a.tmx-btn-assist{ color: #000000 !important; }
body a.tmx-btn-assist:hover{ color: #ffffff !important; }
body a.tmx-evt-footer-link{ color: var(--tk-muted-light) !important; }

body a.tmx-slider-link{ color: var(--tk-cyan) !important; }
body a.tmx-slider-link:hover{ color: #ffffff !important; }
body a.tmx-news-action{ color: var(--tk-cyan-deep) !important; }
body .tmx-theme-dark .tmx-news-action { color: #c4b5fd !important; }
body .tmx-news-action.is-gold { color: var(--tk-gold) !important; }

body a.tmx-btn-portal{ color: #000000 !important; }
body a.tmx-btn-portal:hover{ color: #000000 !important; }

body .tk-form-options a   { color: var(--tk-muted-light) !important; }
body .tk-form-options a:hover { color: #ffffff !important; }

/* Los botones usan Montserrat; los enlaces de texto, Inter */
body a.tmx-news-action,
body a.tmx-slider-link,
body a.tkl-card-link,
body .tk-nav a,
body a.tk-mega-link,
body .tk-dropdown-content a { font-family: var(--font-text) !important; }

/* ==========================================================================
   10. UTILIDADES Y ACCESIBILIDAD
   ========================================================================== */

/* Texto solo para lectores de pantalla (NO usar para keywords: sería cloaking) */
.tk-visually-hidden {
    position: absolute !important;
    width: 1px !important; height: 1px !important;
    padding: 0 !important; margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Foco visible consistente en todo el sitio */
.tk-header-wrapper a:focus-visible,
.tk-header-wrapper button:focus-visible,
.tkl-hero-page-wrapper a:focus-visible,
#tkl-lux a:focus-visible,
#tkl-lux button:focus-visible,
.tkl-academy-wrapper a:focus-visible,
.tkl-courses-section a:focus-visible,
.tmx-events-section a:focus-visible,
.tmx-events-section button:focus-visible,
.tmx-news-section a:focus-visible,
.tmx-news-section button:focus-visible,
.tmx-contact-wrapper a:focus-visible,
.tmx-contact-wrapper button:focus-visible,
.tmx-profile-option:focus-within,
.tkl-footer-wrapper a:focus-visible,
.tkl-footer-wrapper button:focus-visible {
    outline: 2px solid var(--tk-cyan) !important;
    outline-offset: 3px !important;
    border-radius: 4px;
}

/* Placeholder mientras carga el video de Vimeo (evita el flash blanco) */
.tk-video-placeholder { background-color: #000 !important; }


/* ==========================================================================
   11. LANDING TENSAMAX PRO+ — CIERRE (video + formulario + evidencia + CTA)
   --------------------------------------------------------------------------
   POR QUÉ ESTÁ AQUÍ Y NO EN EL WIDGET:
   La landing reutiliza las clases del bloque 08 (.tmx-form-box,
   .tmx-form-title, .tmx-patient-msg-box...). Como el bloque 08 usa
   !important, el <style> del widget perdía: por eso el título salía blanco
   en vez de cian y el mensaje de pacientes nunca aparecía
   (.tmx-patient-msg-box { display:none !important }).

   Todo va bajo .tmx-closing-wrapper: pesa más que las reglas del bloque 08
   y NO afecta a la home ni a ningún otro bloque de contacto.
   ========================================================================== */

.tmx-closing-wrapper {
    --tmxl-cyan: #7DCEF5;
    --tmxl-cyan-rgb: 125, 206, 245;
    --tmxl-gray: #1a1a1a;
    --tmxl-text: #ffffff;
    --tmxl-muted: #a1a1a6;
    background-color: #000000 !important;
    font-family: var(--font-text) !important;
    color: var(--tmxl-text) !important;
    width: 100% !important;
    overflow: hidden !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.tmx-closing-wrapper *,
.tmx-closing-wrapper *::before,
.tmx-closing-wrapper *::after { box-sizing: border-box !important; }

.tmx-closing-wrapper h2,
.tmx-closing-wrapper h3,
.tmx-closing-wrapper p,
.tmx-closing-wrapper figure { margin-top: 0 !important; }

.tmx-closing-wrapper figure { margin: 0 !important; }

/* El ancla del formulario no queda escondida bajo el header fijo */
.tmx-closing-wrapper #agendar-evaluacion { scroll-margin-top: 110px; }

/* --- 11.1 Split video / formulario ------------------------------------- */
.tmx-closing-wrapper .tmx-split-section { width: 100% !important; padding-top: 40px !important; }

.tmx-closing-wrapper .tmx-split-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    gap: 40px !important;
    padding: 0 4% !important;
}

.tmx-closing-wrapper .tmx-video-col {
    flex: 1 1 0 !important;
    min-width: 300px !important;
    position: relative !important;
    order: 1 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.tmx-closing-wrapper .tmx-video-wrapper {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    background: radial-gradient(ellipse at center, #121a20 0%, #000 70%) !important;
    box-shadow: 0 40px 100px rgba(0,0,0,0.9), inset 0 1px 0 rgba(255,255,255,0.1) !important;
    border: 1px solid rgba(var(--tmxl-cyan-rgb), 0.3) !important;
    margin: 0 auto !important;
    transition: transform 0.6s var(--tk-ease), box-shadow 0.6s var(--tk-ease) !important;
}

.tmx-closing-wrapper .tmx-video-wrapper:hover {
    transform: translateY(-10px) !important;
    box-shadow: 0 50px 120px rgba(var(--tmxl-cyan-rgb), 0.2) !important;
}

/* El iframe lo inserta tentrek.js (initLazyVimeo) cuando la sección se acerca */
.tmx-closing-wrapper .tmx-video-wrapper iframe {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    opacity: 0;
    transition: opacity 0.8s ease !important;
    pointer-events: none !important;
}
.tmx-closing-wrapper .tmx-video-wrapper.is-video-ready iframe { opacity: 1 !important; }

.tmx-closing-wrapper .tmx-form-col {
    flex: 1 1 0 !important;
    min-width: 350px !important;
    max-width: 600px !important;
    position: relative !important;
    order: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.tmx-closing-wrapper .tmx-form-box {
    background-color: rgba(25, 25, 30, 0.85) !important;
    backdrop-filter: blur(40px) !important;
    -webkit-backdrop-filter: blur(40px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 36px !important;
    padding: 50px 40px !important;
    width: 100% !important;
    box-shadow: 0 40px 80px rgba(0,0,0,0.6) !important;
}

/* Título: fino arriba, grueso y cian abajo */
.tmx-closing-wrapper .tmx-form-title {
    font-family: var(--font-display) !important;
    font-size: inherit !important;
    font-weight: 300 !important;
    text-align: center !important;
    line-height: 1.1 !important;
    margin: 0 0 15px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
}

.tmx-closing-wrapper .tmx-form-title .tmx-title-light {
    display: block !important;
    font-weight: 300 !important;
    font-size: clamp(20px, 2.5vw, 32px) !important;
    letter-spacing: 1px !important;
    color: var(--tmxl-text) !important;
}

.tmx-closing-wrapper .tmx-form-title .tmx-title-bold {
    display: block !important;
    font-weight: 700 !important;
    font-size: clamp(34px, 4vw, 42px) !important;
    color: var(--tmxl-cyan) !important;
    letter-spacing: -1px !important;
    margin-top: 4px !important;
}

.tmx-closing-wrapper .tmx-form-desc {
    font-family: var(--font-text) !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    color: var(--tmxl-muted) !important;
    text-align: center !important;
    margin: 0 auto 35px auto !important;
    line-height: 1.6 !important;
    max-width: 480px !important;
    text-wrap: pretty !important;
}

/* --- 11.2 Selector de perfil ------------------------------------------- */
.tmx-closing-wrapper .tmx-directive-wrap { text-align: center !important; }

.tmx-closing-wrapper .tmx-click-directive {
    background-color: rgba(var(--tmxl-cyan-rgb), 0.15) !important;
    border: 1px solid rgba(var(--tmxl-cyan-rgb), 0.4) !important;
    color: #ffffff !important;
    max-width: 100% !important;
    white-space: normal !important;
    animation: tmxlPulse 2s infinite !important;
}

@keyframes tmxlPulse {
    0%   { box-shadow: 0 0 0 0 rgba(125, 206, 245, 0.4); }
    70%  { box-shadow: 0 0 0 12px rgba(125, 206, 245, 0); }
    100% { box-shadow: 0 0 0 0 rgba(125, 206, 245, 0); }
}

.tmx-closing-wrapper .tmx-profile-selector { gap: 15px !important; width: 100% !important; }

.tmx-closing-wrapper .tmx-profile-option {
    padding: 25px 15px 30px !important;
    background-color: rgba(0,0,0,0.4) !important;
    border-radius: 20px !important;
    width: 100% !important;
    margin: 0 !important;
}

.tmx-closing-wrapper .tmx-profile-option::after {
    background-color: rgba(var(--tmxl-cyan-rgb), 0.2) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

.tmx-closing-wrapper .tmx-profile-option:hover,
.tmx-closing-wrapper .tmx-profile-option:focus-within {
    background-color: rgba(var(--tmxl-cyan-rgb), 0.05) !important;
    border-color: var(--tmxl-cyan) !important;
}

.tmx-closing-wrapper .tmx-radio-indicator { margin-bottom: 15px !important; }
.tmx-closing-wrapper .tmx-radio-indicator::before { background-color: #000 !important; }

.tmx-closing-wrapper .tmx-profile-option.active {
    border-color: var(--tmxl-cyan) !important;
    background-color: rgba(var(--tmxl-cyan-rgb), 0.1) !important;
    box-shadow: 0 15px 30px rgba(var(--tmxl-cyan-rgb), 0.15) !important;
}
.tmx-closing-wrapper .tmx-profile-option.active .tmx-radio-indicator {
    border-color: var(--tmxl-cyan) !important;
    background-color: var(--tmxl-cyan) !important;
}
.tmx-closing-wrapper .tmx-profile-option.active .tmx-profile-icon { color: var(--tmxl-cyan) !important; }

.tmx-closing-wrapper .tmx-profile-icon { margin-bottom: 12px !important; line-height: 0 !important; }
.tmx-closing-wrapper .tmx-profile-title-text { font-size: 18px !important; font-weight: 600 !important; }
.tmx-closing-wrapper .tmx-profile-subtitle { font-size: 11px !important; font-weight: 400 !important; color: var(--tmxl-muted) !important; }

/* Botón "Cambiar perfil": Hello/Elementor le ponía fondo gris de botón */
body .tmx-closing-wrapper button.tmx-btn-back,
body .tmx-closing-wrapper button.tmx-btn-back:hover,
body .tmx-closing-wrapper button.tmx-btn-back:focus {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--tmxl-muted) !important;
    font-family: var(--font-ui) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    width: 100% !important;
    margin-top: 30px !important;
    padding: 20px 0 0 0 !important;
    cursor: pointer !important;
}
body .tmx-closing-wrapper button.tmx-btn-back:hover { color: #ffffff !important; }

/* --- 11.3 Kommo -------------------------------------------------------- */
.tmx-closing-wrapper .tmx-kommo-wrapper { min-height: 450px !important; width: 100% !important; }
.tmx-closing-wrapper .tmx-kommo-wrapper iframe { min-height: 450px !important; }
.tmx-closing-wrapper .tmx-kommo-loader i,
.tmx-closing-wrapper .tmx-kommo-loader .tmxl-spinner { color: var(--tmxl-cyan) !important; }

.tmx-closing-wrapper .amoforms-form,
.tmx-closing-wrapper .amoforms-form-container,
.tmx-closing-wrapper .amoforms-main-container { background-color: #0b111e !important; }

/* Aviso si Kommo no carga (bloqueador de anuncios, red, etc.) — lo pinta tentrek.js */
.tk-kommo-fallback {
    text-align: center !important;
    padding: 40px 20px !important;
    color: #a1a1a6 !important;
    font-family: var(--font-text) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}
.tk-kommo-fallback strong { color: #ffffff !important; display: block !important; font-size: 18px !important; margin-bottom: 8px !important; font-weight: 500 !important; }
body .tk-kommo-fallback a,
body .tk-kommo-fallback button {
    display: inline-flex !important; margin-top: 18px !important;
    padding: 12px 26px !important; border-radius: 50px !important;
    background: #7DCEF5 !important; color: #000 !important; border: 0 !important;
    font-family: var(--font-ui) !important; font-weight: 600 !important; font-size: 13px !important;
    text-decoration: none !important; cursor: pointer !important;
}

/* --- 11.4 Mensaje pacientes -------------------------------------------- */
.tmx-closing-wrapper .tmx-patient-msg-box {
    padding: 40px 25px !important;
    background: rgba(0,0,0,0.3) !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    width: 100% !important;
}

/* RED DE SEGURIDAD para landings antiguas que aún traen el <script> inline:
   ese script hace style.display='block' SIN !important y la regla
   display:none !important del bloque 08 lo anulaba. Esto lo respeta. */
.tmx-closing-wrapper .tmx-patient-msg-box[style*="display: block"],
.tmx-closing-wrapper .tmx-patient-msg-box[style*="display:block"] { display: block !important; }

.tmx-closing-wrapper .tmx-patient-icon { margin-bottom: 20px !important; line-height: 0 !important; color: var(--tmxl-cyan) !important; }
.tmx-closing-wrapper .tmx-patient-icon svg { filter: drop-shadow(0 0 15px rgba(var(--tmxl-cyan-rgb), 0.4)); }
.tmx-closing-wrapper .tmx-patient-title { font-size: 26px !important; font-weight: 400 !important; margin-bottom: 12px !important; }
.tmx-closing-wrapper .tmx-patient-desc { font-family: var(--font-text) !important; font-size: 14px !important; color: var(--tmxl-muted) !important; margin-bottom: 25px !important; }

body .tmx-closing-wrapper a.tmx-btn-portal {
    background-color: var(--tmxl-cyan) !important;
    color: #000000 !important;
    padding: 14px 30px !important;
    font-size: 13px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-family: var(--font-ui) !important;
}
body .tmx-closing-wrapper a.tmx-btn-portal:hover {
    background-color: #ffffff !important;
    color: #000000 !important;
    box-shadow: 0 10px 20px rgba(var(--tmxl-cyan-rgb), 0.3) !important;
}

/* Iconos SVG en línea (sustituyen a Font Awesome en esta landing) */
.tmx-closing-wrapper .tmxl-ico { width: 1em; height: 1em; flex-shrink: 0; display: inline-block; vertical-align: -0.125em; }

/* --- 11.5 Evidencia clínica -------------------------------------------- */
.tmx-closing-wrapper .tmx-evidence-section { padding: 60px 5% 80px 5% !important; max-width: 1400px !important; margin: 0 auto !important; }
.tmx-closing-wrapper .tmx-evidence-header { display: flex !important; justify-content: space-between !important; align-items: flex-end !important; margin-bottom: 50px !important; gap: 40px !important; }
.tmx-closing-wrapper .tmx-evidence-text { max-width: 700px !important; }

.tmx-closing-wrapper .tmx-evidence-title {
    font-family: var(--font-display) !important;
    font-size: clamp(32px, 5vw, 46px) !important;
    font-weight: 300 !important;
    line-height: 1.1 !important;
    margin-bottom: 15px !important;
    letter-spacing: -0.5px !important;
    color: #ffffff !important;
    text-wrap: balance !important;
}
.tmx-closing-wrapper .tmx-evidence-title strong { font-weight: 700 !important; color: var(--tmxl-cyan) !important; }

.tmx-closing-wrapper .tmx-evidence-desc { font-family: var(--font-text) !important; font-size: 16px !important; color: var(--tmxl-muted) !important; line-height: 1.6 !important; font-weight: 300 !important; margin: 0 !important; text-wrap: pretty !important; }

.tmx-closing-wrapper .tmx-evidence-controls { display: flex !important; gap: 15px !important; flex-shrink: 0 !important; }

body .tmx-closing-wrapper button.tmx-nav-arrow {
    width: 48px !important; height: 48px !important; padding: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    color: #ffffff !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.4s ease !important;
}
body .tmx-closing-wrapper button.tmx-nav-arrow:hover {
    background: var(--tmxl-cyan) !important; color: #000 !important;
    border-color: var(--tmxl-cyan) !important; transform: scale(1.05) !important;
}
body .tmx-closing-wrapper button.tmx-nav-arrow[disabled] { opacity: 0.3 !important; cursor: default !important; transform: none !important; background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,0.15) !important; }
.tmx-closing-wrapper .tmx-nav-arrow svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 2; fill: none; }

.tmx-closing-wrapper .tmx-evidence-slider {
    display: flex !important;
    gap: 40px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 0 40px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}
.tmx-closing-wrapper .tmx-evidence-slider::-webkit-scrollbar { display: none !important; }

.tmx-closing-wrapper .tmx-evidence-slide { flex: 0 0 75% !important; max-width: 900px !important; scroll-snap-align: center !important; }

.tmx-closing-wrapper .tmx-slide-treatment {
    font-family: var(--font-display) !important; font-size: 20px !important; font-weight: 600 !important;
    color: #ffffff !important; margin: 0 0 15px 0 !important; letter-spacing: 1px !important; text-transform: uppercase !important;
}

/* La imagen es un <button>: clicable con teclado y anunciada por lectores */
body .tmx-closing-wrapper button.tmx-slide-img-box {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    background: var(--tmxl-gray) !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.5) !important;
    cursor: zoom-in !important;
    position: relative !important;
}
.tmx-closing-wrapper .tmx-slide-img-box img { width: 100% !important; height: auto !important; display: block !important; transition: transform 0.6s var(--tk-ease) !important; }
.tmx-closing-wrapper .tmx-slide-img-box:hover img { transform: scale(1.02) !important; }

.tmx-closing-wrapper .tmx-slide-zoom-hint {
    position: absolute !important; right: 14px !important; bottom: 14px !important;
    width: 40px !important; height: 40px !important; border-radius: 50% !important;
    background: rgba(0,0,0,0.6) !important; color: #fff !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    opacity: 0.85; transition: opacity 0.3s ease !important; pointer-events: none !important;
}
.tmx-closing-wrapper .tmx-slide-img-box:hover .tmx-slide-zoom-hint { opacity: 1; }

.tmx-closing-wrapper .tmx-slide-caption { font-family: var(--font-text) !important; font-size: 13px !important; color: var(--tmxl-muted) !important; margin-top: 12px !important; line-height: 1.5 !important; }

/* --- 11.6 CTA final ---------------------------------------------------- */
.tmx-closing-wrapper .tmx-footer-cta {
    background: linear-gradient(135deg, rgba(25, 25, 30, 0.8) 0%, rgba(125, 206, 245, 0.1) 100%) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
    padding: 60px 5% !important;
    text-align: center !important;
    margin-top: 20px !important;
}
.tmx-closing-wrapper .tmx-cta-title { font-family: var(--font-display) !important; font-size: clamp(28px, 3.5vw, 36px) !important; font-weight: 300 !important; color: #ffffff !important; margin-bottom: 15px !important; }
.tmx-closing-wrapper .tmx-cta-title strong { font-weight: 700 !important; color: var(--tmxl-cyan) !important; }

body .tmx-closing-wrapper a.tmx-btn-jump {
    display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important;
    background-color: var(--tmxl-cyan) !important; color: #000000 !important; text-decoration: none !important;
    padding: 18px 40px !important; border-radius: 50px !important;
    font-weight: 700 !important; font-size: 15px !important; font-family: var(--font-ui) !important;
    transition: all 0.4s ease !important; margin-top: 20px !important;
    box-shadow: 0 10px 20px rgba(125, 206, 245, 0.2) !important;
}
body .tmx-closing-wrapper a.tmx-btn-jump:hover {
    transform: translateY(-4px) !important; background-color: #ffffff !important; color: #000000 !important;
    box-shadow: 0 15px 30px rgba(255, 255, 255, 0.3) !important;
}

/* --- 11.7 Lightbox (lo crea tentrek.js: initLightbox) ------------------- */
.tk-lightbox {
    position: fixed !important; inset: 0 !important;
    background: rgba(0, 0, 0, 0.95) !important;
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    z-index: 999999 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    opacity: 0; visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease !important;
    padding: 20px !important;
}
.tk-lightbox.is-open { opacity: 1; visibility: visible; }
.tk-lightbox__figure { position: relative !important; max-width: 95vw !important; max-height: 92vh !important; margin: 0 !important; text-align: center !important; }
.tk-lightbox__img { max-width: 100% !important; max-height: 82vh !important; width: auto !important; height: auto !important; border-radius: 12px !important; box-shadow: 0 40px 100px rgba(0,0,0,0.9) !important; display: block !important; margin: 0 auto !important; }
.tk-lightbox__caption { color: #d1d1d6 !important; font-family: var(--font-text) !important; font-size: 14px !important; margin-top: 14px !important; }
body .tk-lightbox button.tk-lightbox__btn {
    position: absolute !important;
    width: 48px !important; height: 48px !important; padding: 0 !important;
    border-radius: 50% !important; border: 1px solid rgba(255,255,255,0.2) !important;
    background: rgba(0,0,0,0.5) !important; color: #ffffff !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    cursor: pointer !important; transition: background 0.3s ease, color 0.3s ease !important;
    font-size: 0 !important; line-height: 0 !important;
}
body .tk-lightbox button.tk-lightbox__btn:hover { background: #7DCEF5 !important; color: #000 !important; }
body .tk-lightbox button.tk-lightbox__btn:focus-visible { outline: 2px solid #7DCEF5 !important; outline-offset: 3px !important; }
.tk-lightbox__btn svg { width: 22px; height: 22px; stroke: currentColor; stroke-width: 2; fill: none; }
body .tk-lightbox .tk-lightbox__close { top: 20px !important; right: 20px !important; }
body .tk-lightbox .tk-lightbox__prev { left: 20px !important; top: 50% !important; transform: translateY(-50%) !important; }
body .tk-lightbox .tk-lightbox__next { right: 20px !important; top: 50% !important; transform: translateY(-50%) !important; }
.tk-lightbox.is-single .tk-lightbox__prev,
.tk-lightbox.is-single .tk-lightbox__next { display: none !important; }

/* --- 11.8 Accesibilidad / movimiento reducido -------------------------- */
.tmx-closing-wrapper a:focus-visible,
.tmx-closing-wrapper button:focus-visible {
    outline: 2px solid var(--tmxl-cyan) !important;
    outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
    .tmx-closing-wrapper *,
    .tk-lightbox {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* --- 11.9 Responsive --------------------------------------------------- */
@media (max-width: 1024px) {
    .tmx-closing-wrapper .tmx-split-grid { flex-direction: column !important; gap: 50px !important; }
    .tmx-closing-wrapper .tmx-video-col { width: 100% !important; max-width: 800px !important; flex: 0 0 auto !important; }
    .tmx-closing-wrapper .tmx-form-col { width: 100% !important; max-width: 700px !important; min-width: 0 !important; flex: 0 0 auto !important; }
    .tmx-closing-wrapper .tmx-evidence-header { flex-direction: column !important; align-items: flex-start !important; gap: 20px !important; }
    .tmx-closing-wrapper .tmx-evidence-slide { flex: 0 0 90% !important; }
    .tmx-closing-wrapper .tmx-form-box { padding: 50px 40px !important; }
}

@media (max-width: 768px) {
    .tmx-closing-wrapper .tmx-split-section { padding-top: 20px !important; }
    .tmx-closing-wrapper .tmx-video-col { min-width: 0 !important; }
    .tmx-closing-wrapper .tmx-video-wrapper { border-radius: 18px !important; }
    .tmx-closing-wrapper .tmx-video-wrapper:hover { transform: none !important; }
    .tmx-closing-wrapper .tmx-form-box { padding: 40px 22px !important; border-radius: 28px !important; }
    .tmx-closing-wrapper .tmx-form-title .tmx-title-light { font-size: 20px !important; letter-spacing: 0 !important; }
    .tmx-closing-wrapper .tmx-form-title .tmx-title-bold { font-size: 32px !important; }
    .tmx-closing-wrapper .tmx-form-desc { font-size: 14px !important; margin-bottom: 25px !important; }

    .tmx-closing-wrapper .tmx-profile-selector { grid-template-columns: 1fr !important; gap: 12px !important; }
    .tmx-closing-wrapper .tmx-profile-option { padding: 15px 20px !important; flex-direction: row !important; justify-content: flex-start !important; gap: 15px !important; text-align: left !important; border-radius: 16px !important; }
    .tmx-closing-wrapper .tmx-profile-option::after { content: none !important; }
    .tmx-closing-wrapper .tmx-profile-icon,
    .tmx-closing-wrapper .tmx-radio-indicator { margin: 0 !important; flex-shrink: 0 !important; }
    .tmx-closing-wrapper .tmx-profile-title-text { text-align: left !important; margin-bottom: 2px !important; font-size: 16px !important; }
    .tmx-closing-wrapper .tmx-profile-subtitle { text-align: left !important; }

    .tmx-closing-wrapper .tmx-evidence-section { padding: 40px 5% 60px 5% !important; }
    .tmx-closing-wrapper .tmx-evidence-title { font-size: 28px !important; line-height: 1.2 !important; }
    .tmx-closing-wrapper .tmx-evidence-desc { font-size: 15px !important; }
    .tmx-closing-wrapper .tmx-evidence-controls { display: none !important; }
    .tmx-closing-wrapper .tmx-evidence-slider { gap: 15px !important; padding-bottom: 20px !important; }
    .tmx-closing-wrapper .tmx-evidence-slide { flex: 0 0 88% !important; }
    .tmx-closing-wrapper .tmx-slide-treatment { font-size: 16px !important; }
    body .tmx-closing-wrapper button.tmx-slide-img-box { border-radius: 16px !important; }

    .tmx-closing-wrapper .tmx-patient-title { font-size: 22px !important; }
    body .tmx-closing-wrapper a.tmx-btn-portal { width: 100% !important; padding: 14px 20px !important; }

    .tmx-closing-wrapper .tmx-footer-cta { padding: 50px 5% !important; }
    .tmx-closing-wrapper .tmx-cta-title { font-size: 24px !important; text-wrap: balance !important; }
    body .tmx-closing-wrapper a.tmx-btn-jump { width: 100% !important; font-size: 14px !important; }

    body .tk-lightbox .tk-lightbox__prev,
    body .tk-lightbox .tk-lightbox__next { top: auto !important; bottom: 20px !important; transform: none !important; }
}

/* Al saltar al formulario con el CTA, el contenedor recibe foco: sin anillo */
.tmx-closing-wrapper [tabindex="-1"]:focus { outline: none !important; }


/* ==========================================================================
   12. PLANTILLA DE LANDINGS DE PRODUCTO (.tkp-*) — PRIMERA: FRACLIGHT PLUS
   --------------------------------------------------------------------------
   Componentes reutilizables para TODAS las landings de tecnologías:
   hero con video, tecnología, indicaciones, especificaciones, casos,
   expertos, formulario de leads (Kommo), FAQ y CTA.

   EL COLOR SE CAMBIA CON UNA CLASE en el contenedor:
     <div class="tkp-landing tkp--fraclight">  → naranja #f6a01b
     <div class="tkp-landing tkp--liftin">     → champagne #D0BCA0
     <div class="tkp-landing tkp--tensamax">   → celeste #7DCEF5
   Para una tecnología nueva, copia uno de esos tres bloques de variables.

   Prefijo propio (tkp-) para no chocar con los bloques 01–11.
   ========================================================================== */

.tkp-landing {
    --tkp-accent: #f6a01b;
    --tkp-accent-rgb: 246, 160, 27;
    --tkp-accent-hover: #ffb74d;
    --tkp-on-accent: #000000;
    --tkp-bg: #000000;
    --tkp-surface: #0f0f12;
    --tkp-surface-2: #151518;
    --tkp-line: rgba(255, 255, 255, 0.08);
    --tkp-text: #ffffff;
    --tkp-muted: #a1a1a6;
    --tkp-radius: 24px;

    background-color: var(--tkp-bg) !important;
    color: var(--tkp-text) !important;
    font-family: var(--font-text) !important;
    width: 100% !important;
    overflow: hidden !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    line-height: 1.5 !important;
}

/* Temas por tecnología */
.tkp-landing.tkp--fraclight { --tkp-accent: #f6a01b; --tkp-accent-rgb: 246, 160, 27;  --tkp-accent-hover: #ffb74d; }
.tkp-landing.tkp--liftin    { --tkp-accent: #D0BCA0; --tkp-accent-rgb: 208, 188, 160; --tkp-accent-hover: #EAE0D1; }
.tkp-landing.tkp--tensamax  { --tkp-accent: #7DCEF5; --tkp-accent-rgb: 125, 206, 245; --tkp-accent-hover: #ffffff; }

.tkp-landing *,
.tkp-landing *::before,
.tkp-landing *::after { box-sizing: border-box !important; }

.tkp-landing h1, .tkp-landing h2, .tkp-landing h3, .tkp-landing h4,
.tkp-landing p, .tkp-landing figure, .tkp-landing dl, .tkp-landing dd,
.tkp-landing ul, .tkp-landing ol { margin: 0 !important; }

.tkp-landing ul, .tkp-landing ol { padding: 0 !important; list-style: none !important; }

.tkp-landing [hidden] { display: none !important; }

.tkp-landing img { max-width: 100%; height: auto; display: block; }

.tkp-landing [id] { scroll-margin-top: 100px; }
.tkp-landing [tabindex="-1"]:focus { outline: none !important; }

.tkp-landing a:focus-visible,
.tkp-landing button:focus-visible,
.tkp-landing summary:focus-visible,
.tkp-landing .tkp-profile:focus-within {
    outline: 2px solid var(--tkp-accent) !important;
    outline-offset: 3px !important;
}

.tkp-ico { width: 1em; height: 1em; flex-shrink: 0; display: inline-block; vertical-align: -0.125em; }

/* --- 12.1 Bloques comunes ---------------------------------------------- */
.tkp-section { padding: 100px 5% !important; position: relative !important; }
.tkp-container { max-width: 1300px !important; margin: 0 auto !important; }

.tkp-eyebrow {
    display: inline-block !important;
    font-family: var(--font-ui) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--tkp-accent) !important;
    margin-bottom: 16px !important;
}

.tkp-h2 {
    font-family: var(--font-display) !important;
    font-size: clamp(32px, 4.5vw, 52px) !important;
    font-weight: 200 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: var(--tkp-text) !important;
    text-wrap: balance !important;
    margin-bottom: 18px !important;
}
.tkp-h2 strong { font-weight: 700 !important; color: var(--tkp-accent) !important; }

.tkp-lead {
    font-family: var(--font-text) !important;
    font-size: 17px !important;
    font-weight: 300 !important;
    line-height: 1.65 !important;
    color: var(--tkp-muted) !important;
    max-width: 680px !important;
    text-wrap: pretty !important;
}
.tkp-lead strong { color: var(--tkp-text) !important; font-weight: 500 !important; }

.tkp-head { margin-bottom: 56px !important; }
.tkp-head--center { text-align: center !important; }
.tkp-head--center .tkp-lead { margin: 0 auto !important; }
.tkp-head--split { display: flex !important; justify-content: space-between !important; align-items: flex-end !important; gap: 40px !important; }

/* Botones */
body .tkp-landing a.tkp-btn,
body .tkp-landing button.tkp-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 15px 30px !important;
    border-radius: 50px !important;
    font-family: var(--font-ui) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    transition: transform 0.4s var(--tk-ease), background-color 0.3s ease, color 0.3s ease, box-shadow 0.4s ease, border-color 0.3s ease !important;
}
body .tkp-landing a.tkp-btn--primary,
body .tkp-landing button.tkp-btn--primary {
    background-color: var(--tkp-accent) !important;
    color: var(--tkp-on-accent) !important;
    border: 1px solid var(--tkp-accent) !important;
    box-shadow: 0 10px 25px rgba(var(--tkp-accent-rgb), 0.3) !important;
}
body .tkp-landing a.tkp-btn--primary:hover,
body .tkp-landing button.tkp-btn--primary:hover {
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    color: #000000 !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 35px rgba(var(--tkp-accent-rgb), 0.5) !important;
}
body .tkp-landing a.tkp-btn--ghost,
body .tkp-landing button.tkp-btn--ghost {
    background-color: rgba(0, 0, 0, 0.4) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}
body .tkp-landing a.tkp-btn--ghost:hover,
body .tkp-landing button.tkp-btn--ghost:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
    transform: translateY(-3px) !important;
}

/* Flechas de slider */
body .tkp-landing button.tkp-arrow {
    width: 50px !important; height: 50px !important; padding: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    color: #ffffff !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.4s ease !important;
}
body .tkp-landing button.tkp-arrow:hover { background: var(--tkp-accent) !important; color: #000 !important; border-color: var(--tkp-accent) !important; }
body .tkp-landing button.tkp-arrow[disabled] { opacity: 0.3 !important; cursor: default !important; background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,0.15) !important; }
.tkp-arrow svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 2; fill: none; }
.tkp-arrows { display: flex !important; gap: 12px !important; flex-shrink: 0 !important; }

/* --- 12.2 Hero ---------------------------------------------------------- */
.tkp-hero {
    position: relative !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 600px !important;
    background-color: #000 !important;
    overflow: hidden !important;
    isolation: isolate;
}

.tkp-hero__poster,
.tkp-hero__video { position: absolute !important; inset: 0 !important; z-index: 0 !important; }

.tkp-hero__poster img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; object-position: center !important;
    opacity: 0.55;
}

.tkp-hero__video { pointer-events: none !important; }

/* Cubre la pantalla con un video 16:9 sin franjas negras */
.tkp-hero__video iframe {
    position: absolute !important;
    top: 50% !important; left: 50% !important;
    width: 100vw !important; height: 56.25vw !important;
    min-height: 100% !important; min-width: 177.78vh !important;
    transform: translate(-50%, -50%) !important;
    border: 0 !important;
    opacity: 0;
    transition: opacity 1s ease !important;
}
.tkp-hero__video.is-video-ready iframe { opacity: 1 !important; }

.tkp-hero__shade { position: absolute !important; inset: 0 !important; z-index: 1 !important; background: rgba(0, 0, 0, 0.4) !important; }
.tkp-hero__glow {
    position: absolute !important; left: 0 !important; bottom: 0 !important;
    width: 100% !important; height: 65% !important; z-index: 2 !important;
    background: linear-gradient(to top, rgba(var(--tkp-accent-rgb), 0.35) 0%, rgba(0,0,0,0.8) 30%, rgba(0,0,0,0) 100%) !important;
}

.tkp-hero__content {
    position: absolute !important;
    left: 6% !important; bottom: 12% !important;
    width: 90% !important; max-width: 820px !important;
    z-index: 3 !important;
}

.tkp-hero__tag {
    display: inline-block !important;
    background-color: var(--tkp-accent) !important;
    color: var(--tkp-on-accent) !important;
    font-family: var(--font-ui) !important;
    font-size: 11px !important; font-weight: 700 !important;
    letter-spacing: 2px !important; text-transform: uppercase !important;
    padding: 8px 18px !important; border-radius: 50px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 8px 20px rgba(var(--tkp-accent-rgb), 0.4) !important;
}

.tkp-hero__title {
    font-family: var(--font-display) !important;
    font-size: clamp(40px, 6vw, 76px) !important;
    font-weight: 200 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.02em !important;
    color: #ffffff !important;
}
.tkp-hero__title strong { display: block !important; font-weight: 700 !important; color: #ffffff !important; }

.tkp-hero__sub {
    font-family: var(--font-text) !important;
    font-size: clamp(15px, 1.8vw, 19px) !important;
    font-weight: 300 !important;
    color: #d4d4d8 !important;
    margin-top: 16px !important;
    max-width: 600px !important;
    line-height: 1.55 !important;
}

.tkp-hero__ctas { display: flex !important; flex-wrap: wrap !important; gap: 15px !important; margin-top: 32px !important; }

/* Entrada escalonada */
.tkp-hero__tag, .tkp-hero__title, .tkp-hero__sub, .tkp-hero__ctas {
    opacity: 0;
    transform: translateY(20px);
    animation: tkpFadeUp 1s ease forwards;
}
.tkp-hero__tag   { animation-delay: 0.3s; }
.tkp-hero__title { animation-delay: 0.55s; }
.tkp-hero__sub   { animation-delay: 0.8s; }
.tkp-hero__ctas  { animation-delay: 1.05s; }

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

.tkp-hero__scroll {
    position: absolute !important; right: 5% !important; bottom: 8% !important;
    z-index: 3 !important; text-align: center !important;
    opacity: 0; animation: tkpFadeIn 1s ease forwards 2s;
}
.tkp-hero__scroll span {
    display: block !important;
    writing-mode: vertical-rl; transform: rotate(180deg);
    font-family: var(--font-ui) !important; font-size: 9px !important; font-weight: 600 !important;
    letter-spacing: 2px !important; text-transform: uppercase !important;
    color: rgba(255,255,255,0.8) !important; margin-bottom: 12px !important;
}
.tkp-hero__scroll i {
    display: block !important; width: 1px !important; height: 50px !important; margin: 0 auto !important;
    background: rgba(255,255,255,0.15) !important; position: relative !important; overflow: hidden !important;
}
.tkp-hero__scroll i::after {
    content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important;
    width: 100% !important; height: 50% !important; background: var(--tkp-accent) !important;
    animation: tkpScrollLine 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;
}
@keyframes tkpFadeIn { to { opacity: 1; } }
@keyframes tkpScrollLine { 0% { transform: translateY(-100%); } 100% { transform: translateY(200%); } }

/* --- 12.3 Tecnología (filtros) ----------------------------------------- */
.tkp-tech-grid { display: grid !important; grid-template-columns: 1.05fr 0.95fr !important; gap: 70px !important; align-items: center !important; }

.tkp-filters { display: grid !important; grid-template-columns: repeat(7, 1fr) !important; gap: 10px !important; margin: 36px 0 14px !important; }
.tkp-filter {
    position: relative !important;
    border-radius: 14px !important;
    padding: 46px 4px 12px !important;
    text-align: center !important;
    background: var(--tkp-surface-2) !important;
    border: 1px solid var(--tkp-line) !important;
    overflow: hidden !important;
    transition: transform 0.4s var(--tk-ease), border-color 0.3s ease !important;
}
.tkp-filter::before {
    content: '' !important; position: absolute !important; top: 10px !important; left: 50% !important;
    width: 26px !important; height: 26px !important; margin-left: -13px !important; border-radius: 50% !important;
    background: var(--tkp-wl, #fff) !important;
    box-shadow: 0 0 18px var(--tkp-wl, #fff) !important;
}
.tkp-filter:hover { transform: translateY(-4px) !important; border-color: var(--tkp-wl, var(--tkp-accent)) !important; }
.tkp-filter b { display: block !important; font-family: var(--font-ui) !important; font-size: 16px !important; font-weight: 700 !important; color: #fff !important; }
.tkp-filter small { display: block !important; font-family: var(--font-ui) !important; font-size: 10px !important; color: var(--tkp-muted) !important; letter-spacing: 1px !important; }
.tkp-filters-note { font-size: 13px !important; color: var(--tkp-muted) !important; }

.tkp-feature-list { display: grid !important; gap: 14px !important; margin-top: 32px !important; }
.tkp-feature {
    display: flex !important; gap: 16px !important; align-items: flex-start !important;
    padding: 20px !important; border-radius: 18px !important;
    background: var(--tkp-surface-2) !important; border: 1px solid var(--tkp-line) !important;
}
.tkp-feature__ico {
    width: 42px !important; height: 42px !important; border-radius: 12px !important; flex-shrink: 0 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background: rgba(var(--tkp-accent-rgb), 0.12) !important; color: var(--tkp-accent) !important; font-size: 20px !important;
}
.tkp-feature h3 { font-family: var(--font-ui) !important; font-size: 15px !important; font-weight: 600 !important; color: #fff !important; margin-bottom: 4px !important; }
.tkp-feature p { font-size: 14px !important; color: var(--tkp-muted) !important; line-height: 1.55 !important; }

.tkp-tech-media {
    position: relative !important;
    border-radius: 30px !important;
    padding: 20px !important;
    background: radial-gradient(circle at center, rgba(var(--tkp-accent-rgb), 0.14) 0%, transparent 70%) !important;
}
.tkp-tech-media img { width: 100% !important; border-radius: 22px !important; filter: drop-shadow(0 20px 40px rgba(0,0,0,0.8)); transition: transform 0.6s var(--tk-ease) !important; }
.tkp-tech-media:hover img { transform: translateY(-8px) !important; }
body .tkp-landing button.tkp-play-chip {
    position: absolute !important; left: 50% !important; bottom: 34px !important; transform: translateX(-50%) !important;
    display: inline-flex !important; align-items: center !important; gap: 10px !important;
    padding: 12px 22px !important; border-radius: 50px !important;
    background: rgba(0,0,0,0.65) !important; color: #fff !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    font-family: var(--font-ui) !important; font-size: 12px !important; font-weight: 600 !important;
    letter-spacing: 1px !important; text-transform: uppercase !important; cursor: pointer !important;
    transition: background 0.3s ease, color 0.3s ease !important;
}
body .tkp-landing button.tkp-play-chip:hover { background: var(--tkp-accent) !important; color: #000 !important; border-color: var(--tkp-accent) !important; }

/* --- 12.4 Indicaciones -------------------------------------------------- */
.tkp-indications { display: grid !important; grid-template-columns: repeat(5, 1fr) !important; gap: 14px !important; }
.tkp-indication {
    padding: 24px 18px !important; border-radius: 18px !important;
    background: var(--tkp-surface-2) !important; border: 1px solid var(--tkp-line) !important;
    transition: transform 0.4s var(--tk-ease), border-color 0.3s ease, background 0.3s ease !important;
}
.tkp-indication:hover { transform: translateY(-5px) !important; border-color: rgba(var(--tkp-accent-rgb), 0.5) !important; background: rgba(var(--tkp-accent-rgb), 0.05) !important; }
.tkp-indication span { display: block !important; font-family: var(--font-ui) !important; font-size: 12px !important; font-weight: 700 !important; color: var(--tkp-accent) !important; margin-bottom: 10px !important; letter-spacing: 1px !important; }
.tkp-indication h3 { font-family: var(--font-display) !important; font-size: 17px !important; font-weight: 500 !important; color: #fff !important; line-height: 1.3 !important; }

/* --- 12.5 Especificaciones --------------------------------------------- */
.tkp-specs { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 1px !important; background: var(--tkp-line) !important; border: 1px solid var(--tkp-line) !important; border-radius: var(--tkp-radius) !important; overflow: hidden !important; }
.tkp-spec { background: var(--tkp-surface) !important; padding: 24px 26px !important; }
.tkp-spec dt { font-family: var(--font-ui) !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: 1.5px !important; text-transform: uppercase !important; color: var(--tkp-muted) !important; margin-bottom: 8px !important; }
.tkp-spec dd { font-family: var(--font-display) !important; font-size: 18px !important; font-weight: 500 !important; color: #fff !important; line-height: 1.35 !important; }

/* --- 12.6 Casos (slider + lightbox) ------------------------------------ */
.tkp-track {
    display: flex !important; gap: 28px !important;
    overflow-x: auto !important; scroll-snap-type: x mandatory !important; scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important; padding-bottom: 30px !important;
    scrollbar-width: none !important; -ms-overflow-style: none !important;
}
.tkp-track::-webkit-scrollbar { display: none !important; }

.tkp-case { flex: 0 0 min(420px, 80%) !important; scroll-snap-align: start !important; }
body .tkp-landing button.tkp-case__img {
    display: block !important; width: 100% !important; padding: 0 !important; margin: 0 0 14px !important;
    border-radius: 20px !important; overflow: hidden !important; position: relative !important;
    border: 1px solid var(--tkp-line) !important; background: var(--tkp-surface-2) !important;
    cursor: zoom-in !important; box-shadow: 0 20px 40px rgba(0,0,0,0.5) !important;
}
.tkp-case__img img { width: 100% !important; transition: transform 0.6s var(--tk-ease) !important; }
.tkp-case__img:hover img { transform: scale(1.03) !important; }
.tkp-case__zoom {
    position: absolute !important; right: 12px !important; bottom: 12px !important;
    width: 38px !important; height: 38px !important; border-radius: 50% !important;
    background: rgba(0,0,0,0.6) !important; color: #fff !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    pointer-events: none !important;
}
.tkp-case h3 { font-family: var(--font-display) !important; font-size: 18px !important; font-weight: 600 !important; color: #fff !important; }
.tkp-note { font-size: 13px !important; color: var(--tkp-muted) !important; margin-top: 6px !important; }

/* --- 12.7 Expertos ------------------------------------------------------ */
.tkp-experts { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 20px !important; }
.tkp-expert {
    padding: 28px 22px !important; border-radius: var(--tkp-radius) !important;
    background: var(--tkp-surface-2) !important; border: 1px solid var(--tkp-line) !important;
    display: flex !important; flex-direction: column !important; gap: 16px !important;
    transition: transform 0.4s var(--tk-ease), border-color 0.3s ease !important;
}
.tkp-expert:hover { transform: translateY(-5px) !important; border-color: rgba(var(--tkp-accent-rgb), 0.4) !important; }
.tkp-expert__who { display: flex !important; align-items: center !important; gap: 14px !important; }
.tkp-expert__who img { width: 58px !important; height: 58px !important; border-radius: 50% !important; object-fit: cover !important; border: 2px solid rgba(var(--tkp-accent-rgb), 0.6) !important; background: #222 !important; }
.tkp-expert__name { font-family: var(--font-ui) !important; font-size: 15px !important; font-weight: 600 !important; color: #fff !important; }
.tkp-expert__role { font-size: 12px !important; color: var(--tkp-muted) !important; }
.tkp-expert blockquote { margin: 0 !important; padding: 0 !important; border: 0 !important; font-family: var(--font-text) !important; font-size: 14px !important; font-weight: 300 !important; line-height: 1.6 !important; color: #d1d1d6 !important; font-style: normal !important; background: none !important; }
.tkp-expert blockquote strong { color: var(--tkp-accent) !important; font-weight: 500 !important; }

/* --- 12.8 Leads: video + formulario ------------------------------------ */
.tkp-lead-grid { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 40px !important; max-width: 1400px !important; margin: 0 auto !important; }
.tkp-lead-media { flex: 1 1 0 !important; min-width: 300px !important; }
.tkp-lead-video {
    position: relative !important; width: 100% !important; aspect-ratio: 16 / 9 !important;
    border-radius: var(--tkp-radius) !important; overflow: hidden !important;
    background: radial-gradient(ellipse at center, rgba(var(--tkp-accent-rgb), 0.12) 0%, #000 70%) !important;
    border: 1px solid rgba(var(--tkp-accent-rgb), 0.3) !important;
    box-shadow: 0 40px 100px rgba(0,0,0,0.9) !important;
}
.tkp-lead-video iframe { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; border: 0 !important; opacity: 0; transition: opacity 0.8s ease !important; pointer-events: none !important; }
.tkp-lead-video.is-video-ready iframe { opacity: 1 !important; }

.tkp-lead-col { flex: 1 1 0 !important; min-width: 350px !important; max-width: 600px !important; }
.tkp-form-box {
    background-color: rgba(15, 15, 18, 0.85) !important;
    backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px);
    border: 1px solid var(--tkp-line) !important;
    border-radius: 36px !important;
    padding: 50px 40px !important;
    box-shadow: 0 40px 80px rgba(0,0,0,0.7) !important;
}
.tkp-form-title { font-family: var(--font-display) !important; text-align: center !important; text-transform: uppercase !important; line-height: 1.1 !important; margin-bottom: 15px !important; }
.tkp-form-title span { display: block !important; font-weight: 300 !important; font-size: clamp(20px, 2.5vw, 30px) !important; letter-spacing: 1px !important; color: #fff !important; }
.tkp-form-title strong { display: block !important; font-weight: 800 !important; font-size: clamp(32px, 4vw, 44px) !important; letter-spacing: -1px !important; color: var(--tkp-accent) !important; margin-top: 4px !important; }
.tkp-form-desc { text-align: center !important; font-size: 15px !important; font-weight: 300 !important; color: var(--tkp-muted) !important; line-height: 1.6 !important; margin: 0 auto 30px !important; max-width: 470px !important; }

.tkp-hint-wrap { text-align: center !important; }
.tkp-hint {
    display: inline-flex !important; align-items: center !important; gap: 10px !important;
    font-family: var(--font-ui) !important; font-size: 12px !important; font-weight: 700 !important;
    letter-spacing: 1px !important; text-transform: uppercase !important;
    color: var(--tkp-on-accent) !important; background: var(--tkp-accent) !important;
    padding: 10px 24px !important; border-radius: 50px !important; margin-bottom: 25px !important;
    animation: tkpPulse 2s infinite;
}
.tkp-hint svg { animation: tkpBounce 2s infinite; }
@keyframes tkpPulse { 0% { box-shadow: 0 0 0 0 rgba(var(--tkp-accent-rgb), 0.45); } 70% { box-shadow: 0 0 0 12px rgba(var(--tkp-accent-rgb), 0); } 100% { box-shadow: 0 0 0 0 rgba(var(--tkp-accent-rgb), 0); } }
@keyframes tkpBounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(3px); } 60% { transform: translateY(1px); } }

.tkp-profiles { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 15px !important; border: 0 !important; padding: 0 !important; margin: 0 !important; min-width: 0 !important; }
.tkp-profile {
    position: relative !important; overflow: hidden !important;
    display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important;
    padding: 26px 15px 32px !important; border-radius: 20px !important;
    background: var(--tkp-surface-2) !important; border: 1px solid var(--tkp-line) !important;
    color: var(--tkp-muted) !important; cursor: pointer !important; text-align: center !important;
    transition: all 0.4s var(--tk-ease) !important;
}
.tkp-profile input { position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; margin: 0 !important; }
.tkp-profile::after {
    content: 'Seleccionar \2192' !important; position: absolute !important; left: 0 !important; bottom: 0 !important; width: 100% !important;
    padding: 9px 0 !important; background: rgba(var(--tkp-accent-rgb), 0.15) !important; color: var(--tkp-accent) !important;
    font-family: var(--font-ui) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 1px !important; text-transform: uppercase !important;
    transform: translateY(100%) !important; transition: transform 0.3s ease !important;
}
.tkp-profile:hover, .tkp-profile:focus-within { border-color: var(--tkp-accent) !important; background: rgba(255,255,255,0.04) !important; transform: translateY(-5px) !important; color: #fff !important; }
.tkp-profile:hover::after { transform: translateY(0) !important; }
.tkp-profile.is-active { border-color: var(--tkp-accent) !important; background: rgba(var(--tkp-accent-rgb), 0.08) !important; color: #fff !important; }
.tkp-profile__radio { width: 22px !important; height: 22px !important; border-radius: 50% !important; border: 1.5px solid var(--tkp-muted) !important; margin-bottom: 14px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.tkp-profile__radio::before { content: '' !important; width: 11px !important; height: 11px !important; border-radius: 50% !important; background: var(--tkp-accent) !important; transform: scale(0) !important; transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important; }
.tkp-profile.is-active .tkp-profile__radio { border-color: var(--tkp-accent) !important; }
.tkp-profile.is-active .tkp-profile__radio::before { transform: scale(1) !important; }
.tkp-profile__ico { line-height: 0 !important; margin-bottom: 12px !important; transition: color 0.3s ease !important; }
.tkp-profile.is-active .tkp-profile__ico { color: var(--tkp-accent) !important; }
.tkp-profile__title { display: block !important; font-family: var(--font-display) !important; font-size: 18px !important; font-weight: 600 !important; color: #fff !important; }
.tkp-profile__sub { display: block !important; font-family: var(--font-ui) !important; font-size: 11px !important; opacity: 0.8 !important; margin-top: 3px !important; }

.tkp-kommo { width: 100% !important; min-height: 450px !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; animation: tkpFadeUp 0.6s ease forwards; }
.tkp-kommo iframe { width: 100% !important; max-width: 650px !important; min-height: 450px !important; margin: 0 auto !important; display: block !important; border: 0 !important; background: transparent !important; }
.tkp-loader { text-align: center !important; padding: 60px 20px !important; color: var(--tkp-muted) !important; font-size: 15px !important; }
.tkp-spinner { width: 38px !important; height: 38px !important; margin: 0 auto 16px !important; border-radius: 50% !important; border: 3px solid rgba(255,255,255,0.12) !important; border-top-color: var(--tkp-accent) !important; animation: tkpSpin 0.9s linear infinite; }
@keyframes tkpSpin { to { transform: rotate(360deg); } }

.tkp-patient {
    text-align: center !important; padding: 40px 25px !important; border-radius: 20px !important;
    background: rgba(0,0,0,0.45) !important; border: 1px solid var(--tkp-line) !important;
    animation: tkpFadeUp 0.6s ease forwards;
}
.tkp-patient__ico { color: var(--tkp-accent) !important; line-height: 0 !important; margin-bottom: 18px !important; }
.tkp-patient__ico svg { filter: drop-shadow(0 0 15px rgba(var(--tkp-accent-rgb), 0.4)); }
.tkp-patient h3 { font-family: var(--font-display) !important; font-size: 26px !important; font-weight: 400 !important; color: #fff !important; margin-bottom: 12px !important; }
.tkp-patient p { font-size: 14px !important; font-weight: 300 !important; color: var(--tkp-muted) !important; line-height: 1.6 !important; margin-bottom: 24px !important; }
.tkp-patient p strong { color: #fff !important; font-weight: 500 !important; }

body .tkp-landing button.tkp-back,
body .tkp-landing button.tkp-back:hover,
body .tkp-landing button.tkp-back:focus {
    display: block !important; width: 100% !important;
    margin-top: 28px !important; padding: 20px 0 0 !important;
    background: transparent !important; border: 0 !important; border-top: 1px solid var(--tkp-line) !important; border-radius: 0 !important; box-shadow: none !important;
    color: var(--tkp-muted) !important; font-family: var(--font-ui) !important; font-size: 13px !important; font-weight: 500 !important;
    text-transform: none !important; letter-spacing: 0 !important; cursor: pointer !important;
}
body .tkp-landing button.tkp-back:hover { color: #fff !important; }

/* --- 12.9 FAQ ----------------------------------------------------------- */
.tkp-faq { max-width: 900px !important; margin: 0 auto !important; display: grid !important; gap: 12px !important; }
.tkp-faq details { border-radius: 18px !important; background: var(--tkp-surface-2) !important; border: 1px solid var(--tkp-line) !important; overflow: hidden !important; }
.tkp-faq details[open] { border-color: rgba(var(--tkp-accent-rgb), 0.4) !important; }
.tkp-faq summary {
    list-style: none !important; cursor: pointer !important;
    padding: 22px 60px 22px 24px !important; position: relative !important;
    font-family: var(--font-ui) !important; font-size: 16px !important; font-weight: 600 !important; color: #fff !important;
}
.tkp-faq summary::-webkit-details-marker { display: none !important; }
.tkp-faq summary::after {
    content: '+' !important; position: absolute !important; right: 24px !important; top: 50% !important; transform: translateY(-50%) !important;
    font-size: 24px !important; font-weight: 300 !important; color: var(--tkp-accent) !important; transition: transform 0.3s ease !important;
}
.tkp-faq details[open] summary::after { transform: translateY(-50%) rotate(45deg) !important; }
.tkp-faq details > div { padding: 0 24px 22px !important; font-size: 15px !important; font-weight: 300 !important; color: var(--tkp-muted) !important; line-height: 1.65 !important; }
.tkp-faq details > div strong { color: #fff !important; font-weight: 500 !important; }

/* --- 12.10 CTA final ---------------------------------------------------- */
.tkp-cta {
    text-align: center !important; padding: 80px 5% !important;
    background: linear-gradient(135deg, rgba(25,25,30,0.8) 0%, rgba(var(--tkp-accent-rgb), 0.12) 100%) !important;
    border-top: 1px solid var(--tkp-line) !important;
}
.tkp-cta .tkp-h2 { margin-bottom: 26px !important; }

/* --- 12.11 Modal de video (lo crea tentrek.js: initVimeoModal) ---------- */
.tk-vmodal {
    position: fixed !important; inset: 0 !important; z-index: 999999 !important;
    background: rgba(0,0,0,0.92) !important;
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    display: flex !important; align-items: center !important; justify-content: center !important;
    padding: 20px !important;
    opacity: 0; visibility: hidden; transition: opacity 0.35s ease, visibility 0.35s ease !important;
}
.tk-vmodal.is-open { opacity: 1; visibility: visible; }
.tk-vmodal__box { position: relative !important; width: min(1100px, 100%) !important; aspect-ratio: 16 / 9 !important; max-height: 85vh !important; border-radius: 18px !important; overflow: hidden !important; background: #000 !important; box-shadow: 0 30px 80px rgba(0,0,0,0.9) !important; }
.tk-vmodal.is-vertical .tk-vmodal__box { width: auto !important; height: 85vh !important; aspect-ratio: 9 / 16 !important; }
.tk-vmodal__box iframe { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; border: 0 !important; }
body .tk-vmodal button.tk-vmodal__close {
    position: absolute !important; top: 20px !important; right: 20px !important;
    width: 48px !important; height: 48px !important; padding: 0 !important; border-radius: 50% !important;
    border: 1px solid rgba(255,255,255,0.25) !important; background: rgba(0,0,0,0.5) !important; color: #fff !important;
    display: flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important;
}
body .tk-vmodal button.tk-vmodal__close:hover { background: #ffffff !important; color: #000 !important; }
.tk-vmodal__close svg { width: 22px; height: 22px; stroke: currentColor; stroke-width: 2; fill: none; }

/* --- 12.12 Movimiento reducido ----------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    .tkp-landing *, .tk-vmodal {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    .tkp-hero__tag, .tkp-hero__title, .tkp-hero__sub, .tkp-hero__ctas, .tkp-hero__scroll { opacity: 1 !important; transform: none !important; }
}

/* --- 12.13 Responsive --------------------------------------------------- */
@media (max-width: 1100px) {
    .tkp-indications { grid-template-columns: repeat(3, 1fr) !important; }
    .tkp-experts { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 1024px) {
    .tkp-section { padding: 80px 5% !important; }
    .tkp-tech-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
    .tkp-specs { grid-template-columns: repeat(2, 1fr) !important; }
    .tkp-head--split { flex-direction: column !important; align-items: flex-start !important; gap: 20px !important; }
    .tkp-lead-grid { flex-direction: column !important; }
    .tkp-lead-media, .tkp-lead-col { width: 100% !important; max-width: 700px !important; min-width: 0 !important; flex: 0 0 auto !important; }
}

@media (max-width: 768px) {
    .tkp-section { padding: 64px 5% !important; }
    .tkp-head { margin-bottom: 36px !important; }
    .tkp-lead { font-size: 15px !important; }

    .tkp-hero__content { left: 6% !important; bottom: 9% !important; max-width: 88% !important; }
    .tkp-hero__glow { height: 75% !important; background: linear-gradient(to top, rgba(var(--tkp-accent-rgb), 0.5) 0%, rgba(0,0,0,0.8) 40%, rgba(0,0,0,0) 100%) !important; }
    .tkp-hero__tag { font-size: 9px !important; padding: 6px 14px !important; letter-spacing: 1px !important; margin-bottom: 14px !important; }
    .tkp-hero__title { font-size: 40px !important; text-shadow: 0 2px 15px rgba(0,0,0,0.9); }
    .tkp-hero__sub { font-size: 15px !important; color: #e4e4e7 !important; text-shadow: 0 2px 10px rgba(0,0,0,0.9); }
    .tkp-hero__ctas { flex-direction: column !important; gap: 12px !important; margin-top: 24px !important; }
    body .tkp-landing .tkp-hero__ctas a.tkp-btn { width: 100% !important; padding: 13px 20px !important; font-size: 12px !important; }
    .tkp-hero__scroll { display: none !important; }

    .tkp-filters { grid-template-columns: repeat(4, 1fr) !important; }
    .tkp-indications { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
    .tkp-indication { padding: 18px 14px !important; }
    .tkp-indication h3 { font-size: 15px !important; }
    .tkp-specs { grid-template-columns: 1fr !important; }
    .tkp-experts { grid-template-columns: 1fr !important; }
    .tkp-arrows { display: none !important; }
    .tkp-case { flex-basis: 85% !important; }

    .tkp-form-box { padding: 38px 22px !important; border-radius: 28px !important; }
    .tkp-profiles { grid-template-columns: 1fr !important; gap: 12px !important; }
    .tkp-profile { flex-direction: row !important; justify-content: flex-start !important; gap: 15px !important; padding: 16px 20px !important; text-align: left !important; border-radius: 16px !important; }
    .tkp-profile::after { content: none !important; }
    .tkp-profile__radio, .tkp-profile__ico { margin: 0 !important; flex-shrink: 0 !important; }
    body .tkp-landing .tkp-patient a.tkp-btn { width: 100% !important; }

    .tkp-faq summary { font-size: 15px !important; padding: 18px 52px 18px 18px !important; }
    .tkp-faq details > div { padding: 0 18px 18px !important; font-size: 14px !important; }
    .tkp-cta { padding: 60px 5% !important; }
    body .tkp-landing .tkp-cta a.tkp-btn { width: 100% !important; }
}

/* Enlaces de texto dentro de la landing (gana al color del kit de Elementor) */
body .tkp-landing .tkp-faq a { color: var(--tkp-accent) !important; text-decoration: underline !important; font-family: inherit !important; }
body .tkp-landing .tkp-faq a:hover { color: #ffffff !important; }


/* ==========================================================================
   13. LANDINGS DE PRODUCTO — COMPONENTES EXTRA (.tkp-*)
   Cabecera de marca, tarjetas apilables (sticky), slider de especificaciones
   con puntos, expertos grandes y casos anchos. Se apoyan en las variables
   de color de la sección 12 (tkp--fraclight, tkp--liftin, tkp--tensamax).
   ========================================================================== */

/* Las tarjetas sticky NO funcionan si un contenedor padre tiene
   overflow:hidden. "clip" recorta igual el desborde horizontal pero deja
   vivo el position:sticky. */
.tkp-landing { overflow: visible !important; overflow-x: clip !important; }

/* --- 13.1 Cabecera de marca (sobre el video + formulario) -------------- */
.tkp-brand { text-align: center !important; padding: 70px 5% 40px !important; }
.tkp-brand__logo { height: 50px !important; width: auto !important; margin: 0 auto 18px !important; filter: drop-shadow(0 0 15px rgba(var(--tkp-accent-rgb), 0.25)); }
.tkp-brand__title {
    font-family: var(--font-display) !important;
    font-size: clamp(40px, 6vw, 72px) !important;
    font-weight: 200 !important;
    letter-spacing: -0.03em !important;
    line-height: 1.05 !important;
    color: #ffffff !important;
}
.tkp-brand__title strong { font-weight: 700 !important; color: var(--tkp-accent) !important; }
.tkp-brand__sub { font-size: 17px !important; font-weight: 300 !important; color: var(--tkp-muted) !important; margin-top: 14px !important; }

/* Sección de leads arriba: sin padding superior extra */
.tkp-section.tkp-section--lead-top { padding-top: 0 !important; }

/* --- 13.2 Tarjetas apilables ------------------------------------------- */
.tkp-stack-wrap { max-width: 1300px !important; margin: 0 auto !important; }

.tkp-stack {
    --tkp-stack-i: 0;
    position: sticky !important;
    top: calc(10vh + var(--tkp-stack-i) * 3vh) !important;
    z-index: calc(1 + var(--tkp-stack-i)) !important;
    height: 75vh !important;
    min-height: 560px !important;
    max-height: 660px !important;
    margin-bottom: 50vh !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    border-radius: 32px !important;
    overflow: hidden !important;
    background: #111111 !important;
    border: 1px solid var(--tkp-line) !important;
    box-shadow: 0 -20px 60px rgba(0,0,0,0.85) !important;
    transition: border-color 0.4s ease, box-shadow 0.4s ease !important;
}
.tkp-stack:last-child { margin-bottom: 0 !important; }
.tkp-stack:hover { border-color: rgba(var(--tkp-accent-rgb), 0.3) !important; box-shadow: 0 -20px 60px rgba(0,0,0,0.9), 0 0 50px rgba(var(--tkp-accent-rgb), 0.15) !important; }

.tkp-stack__media {
    position: relative !important; height: 100% !important; overflow: hidden !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background: #08050f !important;
    border-right: 1px solid rgba(255,255,255,0.05) !important;
    perspective: 1000px;
}
.tkp-stack__media.is-light { background: #ffffff !important; border-right-color: rgba(0,0,0,0.05) !important; }
.tkp-stack__media.is-video { background: #000 !important; }

/* Video de fondo dentro de la tarjeta (lo inserta initLazyVimeo) */
.tkp-stack__video { position: absolute !important; inset: 0 !important; pointer-events: none !important; }
.tkp-stack__video iframe {
    position: absolute !important; top: 50% !important; left: 50% !important;
    height: 100% !important; width: auto !important; aspect-ratio: 16 / 9; min-width: 100% !important;
    transform: translate(-50%, -50%) !important; border: 0 !important;
    opacity: 0; transition: opacity 0.8s ease !important;
}
.tkp-stack__video.is-video-ready iframe { opacity: 1 !important; }

.tkp-stack__img {
    position: relative !important; z-index: 2 !important;
    width: 100% !important; height: 100% !important;
    max-width: 62% !important; max-height: 68% !important;
    object-fit: contain !important; margin: 0 auto !important;
    filter: drop-shadow(0 25px 45px rgba(0,0,0,0.8)) drop-shadow(0 0 20px rgba(var(--tkp-accent-rgb), 0.2));
    transform: translateZ(20px);
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), filter 0.6s ease !important;
}
.tkp-stack__media.is-light .tkp-stack__img { filter: drop-shadow(0 15px 30px rgba(0,0,0,0.15)); }
.tkp-stack:hover .tkp-stack__img { transform: translateZ(60px) translateY(-10px) scale(1.06) !important; }

.tkp-stack__text {
    padding: 6% 8% !important;
    display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: flex-start !important;
    background: #111111 !important;
    overflow-y: auto !important;
}
.tkp-stack__title {
    font-family: var(--font-display) !important;
    font-size: clamp(32px, 3.4vw, 44px) !important;
    font-weight: 300 !important; line-height: 1.15 !important; letter-spacing: -0.02em !important;
    color: #ffffff !important; margin-bottom: 20px !important;
}
.tkp-stack__title strong { font-weight: 700 !important; color: var(--tkp-accent-hover) !important; }
.tkp-stack__desc { font-size: 15px !important; font-weight: 300 !important; line-height: 1.65 !important; color: #d1d1d6 !important; margin-bottom: 18px !important; }
.tkp-stack__desc strong { color: #ffffff !important; font-weight: 600 !important; }

.tkp-stack__inset { width: 100% !important; background: #ffffff !important; padding: 15px !important; border-radius: 16px !important; box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important; margin-top: 6px !important; }
.tkp-stack__inset img { width: 100% !important; border-radius: 8px !important; }

.tkp-stack .tkp-filters { margin: 8px 0 0 !important; width: 100% !important; gap: 8px !important; }
.tkp-stack .tkp-filter { padding: 40px 2px 10px !important; }
.tkp-stack .tkp-filter b { font-size: 14px !important; }

.tkp-stack__list { display: grid !important; gap: 14px !important; width: 100% !important; }
.tkp-stack__item {
    padding: 16px 20px !important; border-radius: 16px !important;
    background: rgba(255,255,255,0.03) !important; border: 1px solid rgba(255,255,255,0.05) !important;
    transition: background 0.3s ease, border-color 0.3s ease !important;
}
.tkp-stack:hover .tkp-stack__item { background: rgba(var(--tkp-accent-rgb), 0.05) !important; border-color: rgba(var(--tkp-accent-rgb), 0.2) !important; }
.tkp-stack__item h4 { display: flex !important; align-items: center !important; gap: 10px !important; font-family: var(--font-ui) !important; font-size: 14px !important; font-weight: 700 !important; color: #ffffff !important; margin-bottom: 6px !important; }
.tkp-stack__item h4 svg { color: var(--tkp-accent-hover) !important; width: 18px; height: 18px; flex-shrink: 0; }
.tkp-stack__item p { font-size: 13px !important; line-height: 1.55 !important; color: #d1d1d6 !important; }
.tkp-stack__item p strong { color: #ffffff !important; }

/* --- 13.3 Slider de especificaciones ----------------------------------- */
.tkp-spec-head { max-width: 1200px !important; margin: 0 auto 40px !important; padding: 0 5% !important; display: flex !important; justify-content: space-between !important; align-items: flex-end !important; gap: 20px !important; }
.tkp-spec-head .tkp-h2 { margin: 0 !important; }
body .tkp-landing a.tkp-link {
    display: inline-flex !important; align-items: center !important; gap: 8px !important;
    color: var(--tkp-accent-hover) !important; font-family: var(--font-ui) !important; font-size: 15px !important; font-weight: 600 !important;
    text-decoration: none !important; white-space: nowrap !important; transition: transform 0.3s ease, opacity 0.3s ease !important;
}
body .tkp-landing a.tkp-link:hover { transform: translateX(5px) !important; opacity: 0.85 !important; color: var(--tkp-accent-hover) !important; }

.tkp-spec-track {
    display: flex !important; gap: 30px !important;
    overflow-x: auto !important; scroll-snap-type: x mandatory !important; scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 max(5vw, calc(50% - 480px)) 10px !important;
    margin: 0 !important; list-style: none !important;
    scrollbar-width: none !important; -ms-overflow-style: none !important;
}
.tkp-spec-track::-webkit-scrollbar { display: none !important; }

.tkp-spec-card {
    flex: 0 0 auto !important; width: 960px !important; max-width: 90vw !important; min-height: 580px !important;
    scroll-snap-align: center !important;
    display: flex !important; align-items: stretch !important;
    border-radius: 36px !important; overflow: hidden !important; position: relative !important;
    background: #111111 !important; border: 1px solid var(--tkp-line) !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5) !important;
    transition: border-color 0.4s ease !important;
}
.tkp-spec-card:hover { border-color: rgba(var(--tkp-accent-rgb), 0.4) !important; }
.tkp-spec-card--showcase { background: #050508 !important; }

.tkp-spec-card__text { flex: 1.2 !important; padding: 50px 30px 50px 50px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; }
.tkp-spec-card__brand { font-family: var(--font-ui) !important; font-size: 24px !important; font-weight: 300 !important; color: var(--tkp-accent-hover) !important; letter-spacing: -0.02em !important; margin-bottom: 8px !important; }
.tkp-spec-card__brand strong { font-weight: 700 !important; }
.tkp-spec-card__title { font-family: var(--font-display) !important; font-size: 32px !important; font-weight: 400 !important; color: #ffffff !important; line-height: 1.15 !important; margin-bottom: 24px !important; }

.tkp-spec-table { display: grid !important; grid-template-columns: 1fr 1.5fr !important; gap: 0 20px !important; }
.tkp-spec-table dt,
.tkp-spec-table dd {
    font-family: var(--font-text) !important; font-size: 13px !important;
    padding: 9px 0 !important; border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    display: flex !important; align-items: center !important;
}
.tkp-spec-table dt { font-weight: 600 !important; color: var(--tkp-muted) !important; }
.tkp-spec-table dd { font-weight: 300 !important; color: #ffffff !important; }
.tkp-spec-table dt:last-of-type, .tkp-spec-table dd:last-of-type { border-bottom: 0 !important; }

.tkp-spec-card__media { flex: 0.8 !important; position: relative !important; display: flex !important; align-items: center !important; justify-content: center !important; overflow: hidden !important; background: #080502 !important; }
.tkp-spec-card__glow { position: absolute !important; width: 130% !important; aspect-ratio: 1 !important; right: -15% !important; top: 50% !important; transform: translateY(-50%) !important; border-radius: 50% !important; background: rgba(var(--tkp-accent-rgb), 0.1) !important; filter: blur(50px) !important; }
.tkp-spec-card__media img { position: relative !important; z-index: 1 !important; width: 100% !important; max-height: 90% !important; object-fit: contain !important; filter: drop-shadow(0 20px 40px rgba(0,0,0,0.8)); transform: scale(1.05); transition: transform 0.5s ease !important; }
.tkp-spec-card:hover .tkp-spec-card__media img { transform: scale(1.1) !important; }
.tkp-spec-card--showcase .tkp-spec-card__media { flex: 1 !important; background: transparent !important; }
.tkp-spec-card--showcase .tkp-spec-card__media img { width: 100% !important; height: 100% !important; max-height: none !important; padding: 20px !important; transform: none; filter: none; }
.tkp-spec-card--showcase:hover .tkp-spec-card__media img { transform: scale(1.03) !important; }

/* Barra de controles con puntos (los puntos los crea initSliderDots) */
.tkp-spec-controls {
    display: flex !important; align-items: center !important; justify-content: center !important; gap: 20px !important;
    width: max-content !important; margin: 40px auto 0 !important; padding: 12px 24px !important; border-radius: 50px !important;
    background: rgba(40, 40, 42, 0.6) !important; backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px);
}
body .tkp-landing .tkp-spec-controls button.tkp-arrow { width: 44px !important; height: 44px !important; background: rgba(255,255,255,0.1) !important; border: 0 !important; }
body .tkp-landing .tkp-spec-controls button.tkp-arrow:hover { background: var(--tkp-accent) !important; color: #000 !important; }
.tkp-dots { display: flex !important; gap: 10px !important; align-items: center !important; }
body .tkp-landing button.tkp-dot {
    width: 8px !important; height: 8px !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important;
    background: #555555 !important; cursor: pointer !important; transition: all 0.3s ease !important;
}
body .tkp-landing button.tkp-dot.is-active { width: 24px !important; border-radius: 10px !important; background: var(--tkp-accent-hover) !important; }

/* --- 13.4 Expertos grandes --------------------------------------------- */
.tkp-experts.tkp-experts--xl { grid-template-columns: 1fr 1fr !important; gap: 30px !important; max-width: 1200px !important; margin: 0 auto !important; }
.tkp-experts--xl .tkp-expert { flex-direction: row !important; align-items: center !important; gap: 30px !important; padding: 40px 35px !important; border-radius: 32px !important; }
.tkp-experts--xl .tkp-expert__photo { width: 130px !important; height: 130px !important; flex-shrink: 0 !important; border-radius: 50% !important; overflow: hidden !important; border: 2px solid rgba(var(--tkp-accent-rgb), 0.25) !important; background: #000 !important; }
.tkp-experts--xl .tkp-expert__photo img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: top center !important; }
.tkp-experts--xl .tkp-expert__role { display: block !important; font-family: var(--font-ui) !important; font-size: 12px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 1.5px !important; color: var(--tkp-accent-hover) !important; margin-bottom: 8px !important; }
.tkp-experts--xl .tkp-expert__name { font-size: 24px !important; font-weight: 700 !important; letter-spacing: -0.5px !important; line-height: 1.2 !important; padding-bottom: 14px !important; margin-bottom: 14px !important; border-bottom: 1px solid rgba(255,255,255,0.1) !important; }
.tkp-experts--xl blockquote { font-size: 15px !important; color: #a1a1a6 !important; }
.tkp-experts--xl blockquote strong { color: #ffffff !important; }

/* --- 13.5 Casos anchos -------------------------------------------------- */
.tkp-track--wide { gap: 40px !important; }
.tkp-track--wide .tkp-case { flex: 0 0 75% !important; max-width: 900px !important; }
.tkp-track--wide .tkp-case h3 { font-family: var(--font-ui) !important; font-size: 20px !important; margin-bottom: 15px !important; }
.tkp-track--wide .tkp-case__img { margin-bottom: 0 !important; }

/* --- 13.6 Responsive ---------------------------------------------------- */
@media (max-width: 1024px) {
    .tkp-stack { min-height: 520px !important; }
    .tkp-stack__text { padding: 6% !important; }
    .tkp-spec-card { width: 85vw !important; }
    .tkp-spec-card__text { padding: 40px !important; }
    .tkp-experts.tkp-experts--xl { grid-template-columns: 1fr !important; max-width: 700px !important; }
    .tkp-track--wide .tkp-case { flex-basis: 90% !important; }
}

@media (max-width: 768px) {
    .tkp-brand { padding: 40px 5% 28px !important; }
    .tkp-brand__title { font-size: 40px !important; }
    .tkp-brand__sub { font-size: 15px !important; }

    .tkp-stack {
        grid-template-columns: 1fr !important;
        height: auto !important; min-height: 0 !important; max-height: none !important;
        top: calc(70px + var(--tkp-stack-i) * 15px) !important;
        margin-bottom: 8vh !important; border-radius: 24px !important;
        box-shadow: 0 -15px 30px rgba(0,0,0,0.8) !important;
    }
    .tkp-stack__media { height: 260px !important; border-right: 0 !important; border-bottom: 1px solid rgba(255,255,255,0.05) !important; }
    .tkp-stack__img { max-width: 50% !important; max-height: 70% !important; }
    .tkp-stack__text { padding: 30px 22px !important; overflow: visible !important; }
    .tkp-stack__title { font-size: 28px !important; margin-bottom: 14px !important; }
    .tkp-stack__desc { font-size: 14px !important; }
    .tkp-stack__item { padding: 14px 16px !important; }
    .tkp-stack .tkp-filters { grid-template-columns: repeat(4, 1fr) !important; }

    .tkp-spec-head { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 28px !important; }
    .tkp-spec-card { width: 88vw !important; flex-direction: column !important; min-height: 0 !important; border-radius: 28px !important; }
    .tkp-spec-card__text { padding: 32px 22px 26px !important; flex: none !important; }
    .tkp-spec-card__brand { font-size: 20px !important; }
    .tkp-spec-card__title { font-size: 25px !important; margin-bottom: 18px !important; }
    .tkp-spec-table { gap: 0 12px !important; }
    .tkp-spec-table dt, .tkp-spec-table dd { font-size: 12px !important; padding: 7px 0 !important; }
    .tkp-spec-card__media { min-height: 280px !important; flex: 1 !important; }
    .tkp-spec-card__glow { right: auto !important; left: 50% !important; transform: translate(-50%, -50%) !important; }
    .tkp-spec-card__media img { width: 65% !important; }
    .tkp-spec-card--showcase .tkp-spec-card__media img { width: 100% !important; }
    .tkp-spec-controls { margin-top: 26px !important; }
    body .tkp-landing .tkp-spec-controls button.tkp-arrow { display: flex !important; }

    .tkp-experts--xl .tkp-expert { flex-direction: column !important; text-align: center !important; padding: 34px 24px !important; gap: 18px !important; border-radius: 28px !important; }
    .tkp-experts--xl .tkp-expert__name { font-size: 22px !important; }
    .tkp-track--wide { gap: 18px !important; }
    .tkp-track--wide .tkp-case { flex-basis: 92% !important; }
    .tkp-track--wide .tkp-case h3 { font-size: 16px !important; }
}

/* Movimiento reducido: sin efecto de apilado */
@media (prefers-reduced-motion: reduce) {
    .tkp-stack { position: relative !important; top: auto !important; margin-bottom: 30px !important; }
}

/* Los puntos calculan posiciones con offsetLeft: el track debe ser la referencia */
.tkp-landing [data-tk-slider-track] { position: relative !important; }


/* ==========================================================================
   14. ESTÁNDAR TIPOGRÁFICO + ACABADO PREMIUM DE LANDINGS (.tkp-*)
   --------------------------------------------------------------------------
   Mismo estándar que Retraction World:
     - Títulos: Raleway 300 y la frase clave en <strong> 700.
       Máximo 2 líneas en escritorio (ancho ~22em + text-wrap: balance).
     - Eyebrow: 11 px, 700, mayúsculas, espaciado 3 px.
     - Texto: Raleway 16 px / 1.65 en escritorio y 15 px / 1.6 en celular.
     - Números: Gotham (con Montserrat de respaldo si Gotham no está).
     - Sin huérfanas: text-wrap + el módulo JS initNoOrphans (une las dos
       últimas palabras de cada título y párrafo).
     - En celular no quedan huecos vacíos arriba ni abajo de las secciones.

   POR QUÉ "body .tkp-landing ...":
   La sección 12 tiene un reset ".tkp-landing p { margin:0 !important }" que
   pesa 0-1-1 y anulaba los márgenes de .tkp-form-desc, .tkp-h2, etc. (0-1-0).
   Por eso los textos salían pegados entre sí. Este bloque pesa 0-2-1 o más
   y manda sobre todo lo anterior.
   ========================================================================== */

.tkp-landing {
    --tk-font-text: "Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --tk-font-num: "Gotham", "Montserrat", sans-serif;
    --tkp-h1: clamp(40px, 5vw, 64px);
    --tkp-h2: clamp(30px, 3.2vw, 42px);
    --tkp-h3: clamp(26px, 2.4vw, 34px);
    --tkp-title-lh: 1.1;
    --tkp-title-ls: -0.025em;
    --tkp-title-measure: 22em;
    --tkp-fs-text: 16px;
    --tkp-text-lh: 1.65;
    --tkp-small: 14px;
    --tkp-eyebrow: 11px;
    --tkp-space: 88px;

    /* Todo lo que en las secciones 12-13 usaba Montserrat/Inter pasa a Raleway */
    --font-display: var(--tk-font-text);
    --font-ui: var(--tk-font-text);
    --font-text: var(--tk-font-text);
}

body .tkp-landing .tkp-head .tkp-hero__tag { margin: 0 0 18px !important; letter-spacing: 2.5px !important; }

/* --- 14.1 Base: Raleway en todo, números de forma alineada ------------- */
body .tkp-landing,
body .tkp-landing p,
body .tkp-landing li,
body .tkp-landing dt,
body .tkp-landing dd,
body .tkp-landing blockquote,
body .tkp-landing summary,
body .tkp-landing label,
body .tkp-landing button,
body .tkp-landing a {
    font-family: var(--tk-font-text) !important;
    font-feature-settings: "lnum" 1, "pnum" 1;   /* Raleway trae números "antiguos" por defecto */
    font-variant-numeric: lining-nums proportional-nums;
}
body .tkp-landing p,
body .tkp-landing blockquote,
body .tkp-landing dd,
body .tkp-landing summary { text-wrap: pretty; orphans: 2; widows: 2; hyphens: manual; }
body .tkp-landing h1,
body .tkp-landing h2,
body .tkp-landing h3,
body .tkp-landing h4 { text-wrap: balance; hyphens: manual; font-family: var(--tk-font-text) !important; }

/* Números en Gotham */
body .tkp-landing .tk-num,
body .tkp-landing .tkp-filter b,
body .tkp-landing .tkp-indication span,
body .tkp-landing .tkp-spec-table dd,
body .tkp-landing .tkp-spec dd {
    font-family: var(--tk-font-num) !important;
    font-variant-numeric: tabular-nums lining-nums;
    letter-spacing: 0 !important;
}

/* --- 14.2 Escala de títulos ------------------------------------------- */
body .tkp-landing .tkp-eyebrow {
    display: inline-block !important;
    font: 700 var(--tkp-eyebrow)/1.3 var(--tk-font-text) !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    margin: 0 0 16px !important;
}

body .tkp-landing .tkp-h2 {
    max-width: var(--tkp-title-measure) !important;
    font: 300 var(--tkp-h2)/var(--tkp-title-lh) var(--tk-font-text) !important;
    letter-spacing: var(--tkp-title-ls) !important;
    margin: 0 0 18px !important;
    text-wrap: balance;
}
body .tkp-landing .tkp-head--center .tkp-h2,
body .tkp-landing .tkp-cta .tkp-h2 { margin-left: auto !important; margin-right: auto !important; }
body .tkp-landing .tkp-h2 strong { font-weight: 700 !important; }

body .tkp-landing .tkp-lead {
    font: 400 var(--tkp-fs-text)/var(--tkp-text-lh) var(--tk-font-text) !important;
    max-width: 640px !important;
    margin: 0 !important;
}
body .tkp-landing .tkp-head--center .tkp-lead { margin: 0 auto !important; }
body .tkp-landing .tkp-head { margin-bottom: 44px !important; }

/* --- 14.3 Marca (H1) --------------------------------------------------- */
body .tkp-landing .tkp-brand { padding: 56px 5% 36px !important; position: relative !important; }
body .tkp-landing .tkp-brand__title {
    font: 300 var(--tkp-h1)/1.02 var(--tk-font-text) !important;
    letter-spacing: -0.03em !important;
    margin: 0 !important;
}
body .tkp-landing .tkp-brand__title strong {
    font-weight: 700 !important;
    background: linear-gradient(100deg, var(--tkp-accent) 0%, var(--tkp-accent-hover) 40%, #fff3df 50%, var(--tkp-accent-hover) 60%, var(--tkp-accent) 100%);
    background-size: 220% 100%;
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: tkpShimmerText 6s ease-in-out infinite;
}
@keyframes tkpShimmerText { 0%, 100% { background-position: 100% 0; } 50% { background-position: 0 0; } }
body .tkp-landing .tkp-brand__sub {
    font: 400 17px/1.5 var(--tk-font-text) !important;
    color: var(--tkp-muted) !important;
    margin: 14px auto 0 !important;
    letter-spacing: 0.2px !important;
}

/* --- 14.4 Video + formulario ------------------------------------------- */
body .tkp-landing .tkp-section--lead-top { padding-bottom: var(--tkp-space) !important; position: relative !important; }
body .tkp-landing .tkp-section--lead-top::before {
    content: '' !important; position: absolute !important; z-index: 0 !important; pointer-events: none !important;
    left: 50% !important; top: 40% !important; width: 1100px !important; max-width: 120vw !important; height: 700px !important;
    transform: translate(-50%, -50%) !important;
    background: radial-gradient(closest-side, rgba(var(--tkp-accent-rgb), 0.10), transparent) !important;
}
body .tkp-landing .tkp-lead-grid { position: relative !important; z-index: 1 !important; gap: 48px !important; align-items: center !important; }

body .tkp-landing .tkp-form-box { position: relative !important; isolation: isolate; padding: 44px 40px 40px !important; }
body .tkp-landing .tkp-form-title {
    text-transform: none !important;
    margin: 0 0 14px !important;
    line-height: 1.08 !important;
}
body .tkp-landing .tkp-form-title span {
    font: 300 clamp(22px, 2vw, 28px)/1.2 var(--tk-font-text) !important;
    letter-spacing: -0.01em !important;
}
body .tkp-landing .tkp-form-title strong {
    font: 700 clamp(32px, 3vw, 42px)/1.05 var(--tk-font-text) !important;
    letter-spacing: -0.025em !important;
    margin-top: 2px !important;
}
body .tkp-landing .tkp-form-desc {
    font: 400 15px/1.6 var(--tk-font-text) !important;
    max-width: 420px !important;
    margin: 0 auto 24px !important;
}
body .tkp-landing .tkp-hint {
    font: 700 11px/1 var(--tk-font-text) !important;
    letter-spacing: 2px !important;
    padding: 11px 22px !important;
    margin: 0 0 22px !important;
}
body .tkp-landing .tkp-profiles { gap: 14px !important; }
body .tkp-landing .tkp-profile { padding: 24px 16px 30px !important; gap: 0 !important; }
body .tkp-landing .tkp-profile__radio { margin-bottom: 12px !important; }
body .tkp-landing .tkp-profile__ico { margin-bottom: 10px !important; }
body .tkp-landing .tkp-profile__title {
    font: 700 18px/1.25 var(--tk-font-text) !important;
    letter-spacing: 0.1px !important;
}
body .tkp-landing .tkp-profile__sub {
    font: 500 13px/1.4 var(--tk-font-text) !important;
    letter-spacing: 0.2px !important;
    margin-top: 4px !important;
    color: var(--tkp-muted) !important;
    opacity: 1 !important;
}
body .tkp-landing .tkp-profile::after { font-family: var(--tk-font-text) !important; letter-spacing: 1.5px !important; }
body .tkp-landing .tkp-patient h3 { font: 400 26px/1.2 var(--tk-font-text) !important; margin: 0 0 12px !important; }
body .tkp-landing .tkp-patient p { font: 400 15px/1.6 var(--tk-font-text) !important; margin: 0 auto 24px !important; max-width: 400px !important; }
body .tkp-landing .tkp-loader p { margin: 0 !important; font-size: 15px !important; }

/* Borde de luz que gira alrededor del formulario */
@property --tkp-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
body .tkp-landing .tkp-form-box::before {
    content: '' !important; position: absolute !important; inset: 0 !important; z-index: -1 !important;
    border-radius: inherit !important; padding: 1px !important; pointer-events: none !important;
    background: conic-gradient(from var(--tkp-angle), transparent 0 62%, rgba(var(--tkp-accent-rgb), 0.85) 75%, transparent 88%) !important;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    animation: tkpSpinAngle 7s linear infinite;
}
@keyframes tkpSpinAngle { to { --tkp-angle: 360deg; } }

/* --- 14.5 Botones con destello ----------------------------------------- */
body .tkp-landing a.tkp-btn,
body .tkp-landing button.tkp-btn {
    position: relative !important; overflow: hidden !important;
    font: 700 13px/1.2 var(--tk-font-text) !important;
    letter-spacing: 1.5px !important;
}
body .tkp-landing .tkp-btn--primary::after {
    content: '' !important; position: absolute !important; top: 0 !important; left: -60% !important;
    width: 40% !important; height: 100% !important; pointer-events: none !important;
    background: linear-gradient(100deg, transparent, rgba(255,255,255,0.55), transparent) !important;
    transform: skewX(-20deg);
    transition: left 0.7s ease !important;
}
body .tkp-landing .tkp-btn--primary:hover::after { left: 120% !important; }
body .tkp-landing a.tkp-link { font-family: var(--tk-font-text) !important; font-weight: 700 !important; }

/* --- 14.6 Tarjetas apilables ------------------------------------------- */
body .tkp-landing .tkp-stack {
    height: min(78vh, 620px) !important;
    min-height: 520px !important;
    max-height: none !important;
    margin-bottom: 30vh !important;
    transform-origin: center top;
    will-change: transform;
}
body .tkp-landing .tkp-stack:last-child { margin-bottom: 0 !important; }
body .tkp-landing .tkp-stack__text { padding: 48px 52px !important; justify-content: center !important; }
body .tkp-landing .tkp-stack__title {
    font: 300 var(--tkp-h3)/1.12 var(--tk-font-text) !important;
    letter-spacing: var(--tkp-title-ls) !important;
    margin: 0 0 16px !important;
}
body .tkp-landing .tkp-stack__title strong { font-weight: 700 !important; }
body .tkp-landing .tkp-stack__desc {
    font: 400 var(--tkp-fs-text)/var(--tkp-text-lh) var(--tk-font-text) !important;
    margin: 0 0 20px !important;
}
body .tkp-landing .tkp-stack__item h4 { font: 700 15px/1.3 var(--tk-font-text) !important; margin: 0 0 6px !important; }
body .tkp-landing .tkp-stack__item p { font: 400 14px/1.55 var(--tk-font-text) !important; margin: 0 !important; }
body .tkp-landing .tkp-stack__inset { margin: 4px 0 0 !important; }
body .tkp-landing .tkp-stack .tkp-filters { margin: 4px 0 0 !important; }
body .tkp-landing .tkp-stack .tkp-filter b { font-size: 15px !important; font-weight: 600 !important; }
body .tkp-landing .tkp-filter small { font: 600 10px/1.2 var(--tk-font-text) !important; letter-spacing: 1px !important; margin-top: 2px !important; }

/* Video VERTICAL (9:16) llenando la columna sin franjas negras */
body .tkp-landing .tkp-stack__video.is-vertical iframe {
    width: 100% !important; height: auto !important;
    aspect-ratio: 9 / 16; min-height: 100% !important; min-width: 0 !important;
}

/* --- 14.7 Especificaciones --------------------------------------------- */
body .tkp-landing .tkp-spec-head .tkp-h2 { margin: 0 !important; }
body .tkp-landing .tkp-spec-card { min-height: 560px !important; }
body .tkp-landing .tkp-spec-card__brand { font: 300 22px/1.2 var(--tk-font-text) !important; margin: 0 0 6px !important; }
body .tkp-landing .tkp-spec-card__brand strong { font-weight: 700 !important; }
body .tkp-landing .tkp-spec-card__title { font: 300 var(--tkp-h3)/1.12 var(--tk-font-text) !important; letter-spacing: var(--tkp-title-ls) !important; margin: 0 0 22px !important; }
body .tkp-landing .tkp-spec-table dt { font: 600 13px/1.35 var(--tk-font-text) !important; padding: 10px 0 !important; margin: 0 !important; }
body .tkp-landing .tkp-spec-table dd { font-size: 14px !important; font-weight: 500 !important; line-height: 1.4 !important; padding: 10px 0 !important; margin: 0 !important; }

/* --- 14.8 Expertos, casos, FAQ, CTA ------------------------------------ */
body .tkp-landing .tkp-expert__role { font: 700 11px/1.3 var(--tk-font-text) !important; letter-spacing: 2px !important; margin: 0 0 8px !important; }
body .tkp-landing .tkp-experts--xl .tkp-expert__name { font: 700 22px/1.2 var(--tk-font-text) !important; letter-spacing: -0.01em !important; margin: 0 0 14px !important; padding: 0 0 14px !important; }
body .tkp-landing .tkp-experts--xl blockquote { font: 400 15px/1.65 var(--tk-font-text) !important; margin: 0 !important; }

body .tkp-landing .tkp-track--wide .tkp-case h3 { font: 600 19px/1.3 var(--tk-font-text) !important; margin: 0 0 14px !important; }
body .tkp-landing .tkp-note { font: 400 13px/1.5 var(--tk-font-text) !important; margin: 8px 0 0 !important; }

body .tkp-landing .tkp-faq summary { font: 700 16px/1.4 var(--tk-font-text) !important; }
body .tkp-landing .tkp-faq details > div { font: 400 15px/1.65 var(--tk-font-text) !important; }

body .tkp-landing .tkp-cta .tkp-h2 { margin-bottom: 26px !important; }

/* Separación vertical uniforme entre secciones */
body .tkp-landing .tkp-section { padding-top: var(--tkp-space) !important; padding-bottom: var(--tkp-space) !important; }
body .tkp-landing .tkp-section[style*="padding-top:0"] { padding-top: 0 !important; }
body .tkp-landing .tkp-section--lead-top { padding-top: 0 !important; }
body .tkp-landing #especificaciones { padding-left: 0 !important; padding-right: 0 !important; }

/* --- 14.9 Luz que sigue al cursor (la mueve initSpotlight) ------------- */
@media (hover: hover) and (pointer: fine) {
    body .tkp-landing .tkp-form-box,
    body .tkp-landing .tkp-expert,
    body .tkp-landing .tkp-stack__text,
    body .tkp-landing .tkp-spec-card,
    body .tkp-landing .tkp-faq details {
        background-image: radial-gradient(520px circle at var(--tk-mx, -999px) var(--tk-my, -999px), rgba(var(--tkp-accent-rgb), 0.09), transparent 45%) !important;
    }
}

/* --- 14.10 Aparición al hacer scroll (la activa initReveal) ------------ */
html.tk-reveal-on .tk-reveal {
    opacity: 0 !important;
    transform: translateY(26px) !important;
    transition: opacity 0.9s var(--tk-ease), transform 0.9s var(--tk-ease) !important;
    transition-delay: var(--tk-reveal-delay, 0ms) !important;
}
html.tk-reveal-on .tk-reveal.is-in { opacity: 1 !important; transform: none !important; }

/* --- 14.11 Responsive -------------------------------------------------- */
@media (max-width: 1024px) {
    .tkp-landing { --tkp-space: 72px; }
    body .tkp-landing .tkp-stack__text { padding: 40px 36px !important; }
}

@media (max-width: 768px) {
    .tkp-landing { --tkp-space: 56px; }
    body .tkp-landing .tkp-head { margin-bottom: 28px !important; }
    body .tkp-landing .tkp-brand { padding: 32px 6% 22px !important; }
    body .tkp-landing .tkp-brand__sub { font-size: 15px !important; margin-top: 10px !important; }
    body .tkp-landing .tkp-lead-grid { gap: 22px !important; }
    body .tkp-landing .tkp-form-box { padding: 32px 20px 26px !important; }
    body .tkp-landing .tkp-form-desc { margin-bottom: 20px !important; }
    body .tkp-landing .tkp-profile { padding: 16px 18px !important; gap: 14px !important; }
    body .tkp-landing .tkp-profile__radio,
    body .tkp-landing .tkp-profile__ico { margin: 0 !important; }
    body .tkp-landing .tkp-profile__title { font-size: 17px !important; }

    body .tkp-landing .tkp-stack { height: auto !important; min-height: 0 !important; margin-bottom: 6vh !important; }
    body .tkp-landing .tkp-stack__media.is-video { height: 420px !important; }
    body .tkp-landing .tkp-stack__text { padding: 28px 22px 26px !important; }
    body .tkp-landing .tkp-stack__desc { margin-bottom: 16px !important; }

    body .tkp-landing .tkp-spec-card { min-height: 0 !important; }
    body .tkp-landing .tkp-spec-card__media { min-height: 260px !important; }
    body .tkp-landing .tkp-spec-table dt,
    body .tkp-landing .tkp-spec-table dd { font-size: 12.5px !important; padding: 8px 0 !important; }

    body .tkp-landing .tkp-experts--xl .tkp-expert__name { font-size: 20px !important; }
    body .tkp-landing .tkp-track--wide .tkp-case h3 { font-size: 16px !important; margin-bottom: 10px !important; }
    body .tkp-landing .tkp-faq summary { font-size: 15px !important; }
    body .tkp-landing .tkp-cta { padding: 48px 6% !important; }
}

@media (max-width: 560px) {
    .tkp-landing {
        --tkp-h1: 38px;
        --tkp-h2: 27px;
        --tkp-h3: 25px;
        --tkp-fs-text: 15px;
        --tkp-text-lh: 1.6;
        --tkp-eyebrow: 10px;
        --tkp-space: 48px;
    }
    body .tkp-landing .tkp-eyebrow { letter-spacing: 2.4px !important; margin-bottom: 12px !important; }
    body .tkp-landing .tkp-h2 { max-width: 330px !important; margin-bottom: 14px !important; }
    body .tkp-landing .tkp-head--split .tkp-h2 { max-width: none !important; }
    body .tkp-landing .tkp-form-title span { font-size: 21px !important; }
    body .tkp-landing .tkp-form-title strong { font-size: 31px !important; }
}

@media (prefers-reduced-motion: reduce) {
    body .tkp-landing .tkp-brand__title strong,
    body .tkp-landing .tkp-form-box::before { animation: none !important; }
    html.tk-reveal-on .tk-reveal { opacity: 1 !important; transform: none !important; }
}

/* Celular: las tarjetas son más altas que la pantalla; si siguieran
   "pegadas" (sticky) la siguiente taparía el final del texto. Se apilan
   normal, una debajo de otra, sin huecos. */
@media (max-width: 768px) {
    body .tkp-landing .tkp-stack {
        position: relative !important;
        top: auto !important;
        margin-bottom: 20px !important;
        box-shadow: 0 20px 40px rgba(0,0,0,0.6) !important;
    }
    body .tkp-landing .tkp-stack:last-child { margin-bottom: 0 !important; }
    body .tkp-landing .tkp-stack__media.is-video { height: 360px !important; }
}

/* Escritorio: ficha técnica sin aire vacío arriba y abajo */
@media (min-width: 769px) {
    body .tkp-landing .tkp-spec-card { min-height: 520px !important; }
    body .tkp-landing .tkp-spec-card__text { padding: 44px 30px 44px 50px !important; }
}


/* ==========================================================================
   15. LANDING REMOVALL TRIO LITE + COMPONENTES NUEVOS (.tkp-*)
   Tema lavanda (#aea1b9), video MP4 propio (sin Vimeo), cifras clave,
   pasos antes/durante/después, zonas del cuerpo y casos en cuadrícula.
   Todo reutilizable en otras landings con la misma plantilla .tkp.
   ========================================================================== */

.tkp-landing.tkp--removall {
    --tkp-accent: #aea1b9;
    --tkp-accent-rgb: 174, 161, 185;
    --tkp-accent-hover: #d6cde0;
    --tkp-on-accent: #0b0a0d;
}

/* --- 15.1 Video MP4 propio (lo carga initNativeVideo) ------------------ */
body .tkp-landing video.tkp-media-video {
    position: absolute !important; inset: 0 !important;
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; object-position: center !important;
    display: block !important; border: 0 !important; background: #000 !important;
}
body .tkp-landing .tkp-lead-video { background: #000 !important; }

/* --- 15.2 Sello de registro bajo el título ----------------------------- */
body .tkp-landing .tkp-badge {
    display: inline-flex !important; align-items: center !important; gap: 8px !important;
    margin: 18px auto 0 !important; padding: 7px 16px !important; border-radius: 50px !important;
    border: 1px solid rgba(var(--tkp-accent-rgb), 0.35) !important;
    background: rgba(var(--tkp-accent-rgb), 0.08) !important;
    font: 600 11px/1.3 var(--tk-font-text) !important; letter-spacing: 1px !important;
    color: #d1d1d6 !important;
}
body .tkp-landing .tkp-badge .tk-num { color: #ffffff !important; font-weight: 500 !important; }

/* --- 15.3 Cifras clave -------------------------------------------------- */
body .tkp-landing .tkp-stats {
    display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 1px !important;
    max-width: 1100px !important; margin: 0 auto !important;
    background: var(--tkp-line) !important; border: 1px solid var(--tkp-line) !important;
    border-radius: var(--tkp-radius) !important; overflow: hidden !important;
}
body .tkp-landing .tkp-stat { background: #0d0d10 !important; padding: 30px 26px !important; text-align: center !important; }
body .tkp-landing .tkp-stat b {
    display: block !important;
    font: 500 clamp(30px, 3.4vw, 44px)/1 var(--tk-font-num) !important;
    color: var(--tkp-accent-hover) !important; letter-spacing: -0.01em !important;
    margin: 0 0 10px !important;
}
body .tkp-landing .tkp-stat b small { font-size: 0.45em !important; font-weight: 500 !important; margin-left: 4px !important; color: var(--tkp-accent) !important; }
body .tkp-landing .tkp-stat span { display: block !important; font: 500 14px/1.45 var(--tk-font-text) !important; color: #c7c7cc !important; }

/* --- 15.4 Antes / durante / después ------------------------------------ */
body .tkp-landing .tkp-steps { max-width: 1000px !important; margin: 0 auto !important; }
body .tkp-landing .tkp-steps__img { width: 100% !important; max-width: 900px !important; margin: 0 auto !important; border-radius: 24px !important; background: #ffffff !important; padding: 20px 24px !important; }
body .tkp-landing .tkp-steps__labels { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; max-width: 900px !important; margin: 26px auto 0 !important; }
body .tkp-landing .tkp-step { text-align: center !important; }
body .tkp-landing .tkp-step b { display: inline-flex !important; width: 30px !important; height: 30px !important; align-items: center !important; justify-content: center !important; border-radius: 50% !important; background: var(--tkp-accent) !important; color: var(--tkp-on-accent) !important; font: 600 13px/1 var(--tk-font-num) !important; margin: 0 0 10px !important; }
body .tkp-landing .tkp-step h3 { font: 700 18px/1.3 var(--tk-font-text) !important; color: #ffffff !important; margin: 0 0 6px !important; }
body .tkp-landing .tkp-step p { font: 400 14px/1.55 var(--tk-font-text) !important; color: var(--tkp-muted) !important; margin: 0 !important; }
body .tkp-landing .tkp-callout {
    max-width: 760px !important; margin: 34px auto 0 !important; padding: 20px 26px !important;
    border-left: 3px solid var(--tkp-accent) !important; border-radius: 0 16px 16px 0 !important;
    background: rgba(var(--tkp-accent-rgb), 0.07) !important;
    font: 400 16px/1.6 var(--tk-font-text) !important; color: #d1d1d6 !important;
}
body .tkp-landing .tkp-callout strong { color: #ffffff !important; font-weight: 700 !important; }

/* --- 15.5 Zonas del cuerpo ---------------------------------------------- */
body .tkp-landing .tkp-zones { display: grid !important; grid-template-columns: 0.8fr 1.2fr !important; gap: 56px !important; align-items: center !important; max-width: 1150px !important; margin: 0 auto !important; }
body .tkp-landing .tkp-zones__img { border-radius: 28px !important; overflow: hidden !important; background: #ffffff !important; box-shadow: 0 30px 60px rgba(0,0,0,0.6) !important; }
body .tkp-landing .tkp-zones__img img { width: 100% !important; }
body .tkp-landing .tkp-chips { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 10px !important; margin: 26px 0 0 !important; }
body .tkp-landing .tkp-chip {
    padding: 14px 10px !important; border-radius: 14px !important; text-align: center !important;
    background: var(--tkp-surface-2) !important; border: 1px solid var(--tkp-line) !important;
    font: 600 15px/1.2 var(--tk-font-text) !important; color: #ffffff !important;
    transition: border-color 0.3s ease, background 0.3s ease, transform 0.3s ease !important;
}
body .tkp-landing .tkp-chip:hover { border-color: rgba(var(--tkp-accent-rgb), 0.6) !important; background: rgba(var(--tkp-accent-rgb), 0.08) !important; transform: translateY(-3px) !important; }
body .tkp-landing .tkp-zones__small { margin: 30px 0 0 !important; padding: 22px 24px !important; border-radius: 20px !important; background: var(--tkp-surface-2) !important; border: 1px solid var(--tkp-line) !important; }
body .tkp-landing .tkp-zones__small h3 { font: 700 16px/1.3 var(--tk-font-text) !important; color: #ffffff !important; margin: 0 0 4px !important; }
body .tkp-landing .tkp-zones__small p { font: 400 14px/1.5 var(--tk-font-text) !important; color: var(--tkp-muted) !important; margin: 0 0 14px !important; }
body .tkp-landing .tkp-zones__small img { width: 100% !important; max-width: 420px !important; }

/* --- 15.6 Casos en cuadrícula ------------------------------------------ */
body .tkp-landing .tkp-cases-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 28px !important; max-width: 1150px !important; margin: 0 auto !important; }
body .tkp-landing .tkp-cases-grid .tkp-case { flex: none !important; max-width: none !important; }
body .tkp-landing .tkp-cases-grid .tkp-case h3 { font: 700 17px/1.3 var(--tk-font-text) !important; color: #ffffff !important; margin: 14px 0 2px !important; }
body .tkp-landing .tkp-cases-grid .tkp-case p { font: 400 13px/1.4 var(--tk-font-text) !important; color: var(--tkp-muted) !important; margin: 0 !important; }
body .tkp-landing .tkp-cases-grid .tkp-case__img { margin: 0 !important; aspect-ratio: 2.07 / 1; }
body .tkp-landing .tkp-cases-grid .tkp-case__img img { height: 100% !important; object-fit: cover !important; }

/* --- 15.7 Tarjetas de piezas de mano (sobre la ficha de la sección 13) -- */
body .tkp-landing .tkp-spec-card--product .tkp-spec-card__media { background: radial-gradient(circle at 50% 55%, rgba(var(--tkp-accent-rgb), 0.22) 0%, #08070b 65%) !important; }
body .tkp-landing .tkp-spec-card--product .tkp-spec-card__media img { max-height: 82% !important; width: 88% !important; }
body .tkp-landing .tkp-spec-card__desc { font: 400 16px/1.65 var(--tk-font-text) !important; color: #c7c7cc !important; margin: 0 0 20px !important; }
body .tkp-landing .tkp-spec-card__desc strong { color: #ffffff !important; font-weight: 700 !important; }
body .tkp-landing .tkp-ticks { display: grid !important; gap: 10px !important; margin: 0 !important; }
body .tkp-landing .tkp-ticks li { position: relative !important; padding-left: 28px !important; font: 500 15px/1.45 var(--tk-font-text) !important; color: #ffffff !important; }
body .tkp-landing .tkp-ticks li::before {
    content: '' !important; position: absolute !important; left: 0 !important; top: 3px !important;
    width: 18px !important; height: 18px !important; border-radius: 50% !important;
    background: rgba(var(--tkp-accent-rgb), 0.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d6cde0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat !important;
}

/* Botón secundario (descargar brochure) */
body .tkp-landing .tkp-patient .tkp-btn + .tkp-btn { margin-top: 12px !important; }
body .tkp-landing .tkp-patient__actions { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 12px !important; }

/* --- 15.8 Responsive ---------------------------------------------------- */
@media (max-width: 1024px) {
    body .tkp-landing .tkp-zones { grid-template-columns: 1fr !important; gap: 32px !important; }
    body .tkp-landing .tkp-zones__img { max-width: 420px !important; margin: 0 auto !important; }
}

@media (max-width: 768px) {
    body .tkp-landing .tkp-stats { grid-template-columns: 1fr !important; }
    body .tkp-landing .tkp-stat { padding: 22px 18px !important; }
    body .tkp-landing .tkp-steps__img { padding: 10px 12px !important; border-radius: 18px !important; }
    body .tkp-landing .tkp-steps__labels { gap: 10px !important; margin-top: 18px !important; }
    body .tkp-landing .tkp-step h3 { font-size: 15px !important; }
    body .tkp-landing .tkp-step p { display: none !important; }
    body .tkp-landing .tkp-callout { font-size: 15px !important; padding: 16px 18px !important; margin-top: 24px !important; }
    body .tkp-landing .tkp-chips { grid-template-columns: repeat(2, 1fr) !important; }
    body .tkp-landing .tkp-zones__img { max-width: 300px !important; }
    body .tkp-landing .tkp-cases-grid { grid-template-columns: 1fr !important; gap: 22px !important; }
    body .tkp-landing .tkp-spec-card__desc { font-size: 15px !important; }
    body .tkp-landing .tkp-spec-card--product .tkp-spec-card__media { min-height: 280px !important; }
}

/* Sello de registro: los números nunca se parten; en celular baja ordenado */
body .tkp-landing .tkp-badge { flex-wrap: wrap !important; justify-content: center !important; text-align: center !important; max-width: 92% !important; }
body .tkp-landing .tkp-badge .tk-num { white-space: nowrap !important; }
@media (max-width: 560px) {
    body .tkp-landing .tkp-badge { font-size: 10px !important; letter-spacing: 0.5px !important; padding: 7px 14px !important; gap: 4px 6px !important; border-radius: 16px !important; }
}

/* ==========================================================================
   16. AJUSTES REMOVALL — cifras clave y piezas de mano
   ========================================================================== */

/* Cifras: centradas vertical y horizontalmente, sin que el número se parta */
body .tkp-landing .tkp-stat {
    display: flex !important; flex-direction: column !important;
    align-items: center !important; justify-content: center !important;
    padding: 28px 22px !important;
}
body .tkp-landing .tkp-stat b {
    white-space: nowrap !important;
    font-size: clamp(28px, 3vw, 40px) !important;
    margin: 0 0 8px !important;
}
body .tkp-landing .tkp-stat--long b {
    font-size: clamp(22px, 2.1vw, 30px) !important;
    letter-spacing: 0 !important;
    word-spacing: -0.12em;
}
body .tkp-landing .tkp-stat b .tkp-sep { color: var(--tkp-accent) !important; margin: 0 0.12em !important; font-weight: 400 !important; }
body .tkp-landing .tkp-stat span { max-width: 240px !important; }

/* La marca de las tarjetas de producto siempre en el color de la tecnología */
body .tkp-landing .tkp-spec-card__brand,
body .tkp-landing .tkp-spec-card__brand strong { color: var(--tkp-accent-hover) !important; }

/* Imagen de producto que debe verse grande (render ancho recortado) */
body .tkp-landing .tkp-spec-card--wide-media .tkp-spec-card__media { flex: 1.15 !important; }
body .tkp-landing .tkp-spec-card--wide-media .tkp-spec-card__media img {
    width: 100% !important; max-width: none !important; max-height: 92% !important;
    transform: scale(1.08);
}
body .tkp-landing .tkp-spec-card--wide-media:hover .tkp-spec-card__media img { transform: scale(1.14) !important; }

@media (max-width: 768px) {
    body .tkp-landing .tkp-stat b { font-size: 34px !important; }
    body .tkp-landing .tkp-stat--long b { font-size: 28px !important; }
    body .tkp-landing .tkp-spec-card--wide-media .tkp-spec-card__media img { transform: none; width: 96% !important; }
}

body .tkp-landing .tkp-stat b .tkp-sep { display: inline !important; font-style: normal !important; }

/* Etiquetas de las cifras repartidas en líneas parejas, sin huérfanas */
body .tkp-landing .tkp-stat span { max-width: 300px !important; text-wrap: balance; }


/* ==========================================================================
   17. LANDING LIFT-!N PLUS (HIFU) — tema crema #d4ae8e y componentes extra
   Reutiliza toda la plantilla .tkp (secciones 12–16). Aquí solo va:
   el color, la cifra de profundidad de los cartuchos, la animación
   flotante de los cartuchos y la ficha técnica agrupada por pieza de mano.
   ========================================================================== */

.tkp-landing.tkp--liftin-plus {
    --tkp-accent: #d4ae8e;
    --tkp-accent-rgb: 212, 174, 142;
    --tkp-accent-hover: #ead2bd;
    --tkp-on-accent: #1f1f1f;
}

/* Profundidad del cartucho (cifra grande en Gotham) */
body .tkp-landing .tkp-depth {
    font: 500 clamp(40px, 4vw, 54px)/1 var(--tk-font-num) !important;
    color: var(--tkp-accent) !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 10px !important;
}
body .tkp-landing .tkp-depth small { font-size: 0.42em !important; margin-left: 6px !important; color: var(--tkp-accent-hover) !important; font-weight: 500 !important; }
body .tkp-landing .tkp-tag {
    display: inline-block !important; margin: 0 0 14px !important; padding: 5px 12px !important; border-radius: 50px !important;
    background: rgba(var(--tkp-accent-rgb), 0.12) !important; border: 1px solid rgba(var(--tkp-accent-rgb), 0.3) !important;
    font: 700 10px/1.3 var(--tk-font-text) !important; letter-spacing: 2px !important; text-transform: uppercase !important;
    color: var(--tkp-accent-hover) !important;
}

/* Cartuchos flotando suavemente */
@keyframes tkpFloatY {
    0%, 100% { transform: translateY(0) scale(1.08); filter: drop-shadow(0 20px 40px rgba(var(--tkp-accent-rgb), 0.10)); }
    50%      { transform: translateY(-14px) scale(1.08); filter: drop-shadow(0 30px 60px rgba(var(--tkp-accent-rgb), 0.28)); }
}
body .tkp-landing .tkp-spec-card__media img.tkp-float { animation: tkpFloatY 6s ease-in-out infinite; transform-origin: center; }
body .tkp-landing .tkp-spec-card:hover .tkp-spec-card__media img.tkp-float { transform: none !important; }

/* Ficha técnica agrupada por pieza de mano */
body .tkp-landing .tkp-specs-group { max-width: 1150px !important; margin: 0 auto 36px !important; }
body .tkp-landing .tkp-specs-group:last-of-type { margin-bottom: 0 !important; }
body .tkp-landing .tkp-specs-group > h3 {
    display: flex !important; align-items: center !important; gap: 12px !important;
    font: 700 18px/1.3 var(--tk-font-text) !important; color: #ffffff !important; margin: 0 0 16px !important;
}
body .tkp-landing .tkp-specs-group > h3::before { content: '' !important; width: 26px !important; height: 2px !important; background: var(--tkp-accent) !important; border-radius: 2px !important; }
body .tkp-landing .tkp-spec dd small { display: block !important; margin-top: 4px !important; font: 400 13px/1.4 var(--tk-font-text) !important; color: var(--tkp-muted) !important; }
body .tkp-landing .tkp-spec { transition: background 0.3s ease !important; }
body .tkp-landing .tkp-spec:hover { background: rgba(var(--tkp-accent-rgb), 0.06) !important; }
body .tkp-landing .tkp-spec:hover dt { color: var(--tkp-accent) !important; }
body .tkp-landing .tkp-spec dt { font: 700 11px/1.35 var(--tk-font-text) !important; letter-spacing: 1.5px !important; text-transform: uppercase !important; margin: 0 0 8px !important; }
body .tkp-landing .tkp-spec dd { font-size: 17px !important; font-weight: 500 !important; line-height: 1.4 !important; margin: 0 !important; color: #ffffff !important; }
body .tkp-landing .tkp-specs-cta { text-align: center !important; margin: 36px 0 0 !important; }

/* Video horizontal dentro de la tarjeta apilable: llena la columna */
body .tkp-landing .tkp-stack__media.is-video .tkp-stack__video iframe { min-height: 100% !important; }

@media (max-width: 768px) {
    body .tkp-landing .tkp-depth { font-size: 40px !important; }
    body .tkp-landing .tkp-spec dd { font-size: 15px !important; }
    body .tkp-landing .tkp-specs-group > h3 { font-size: 16px !important; }
    @keyframes tkpFloatY {
        0%, 100% { transform: translateY(0) scale(1); }
        50%      { transform: translateY(-8px) scale(1); }
    }
}
@media (prefers-reduced-motion: reduce) {
    body .tkp-landing .tkp-spec-card__media img.tkp-float { animation: none !important; }
}

/* La etiqueta de zona no se estira a todo el ancho de la tarjeta */
body .tkp-landing .tkp-tag { align-self: flex-start !important; width: auto !important; }


/* ==========================================================================
   18. LANDING FACEVIEW (ANALIZADOR DE PIEL CON IA) — tema teal #72c8c6
   Reutiliza la plantilla .tkp (secciones 12–17). Aquí solo va: el color,
   el video VERTICAL junto al formulario, la cuadrícula de beneficios,
   los 3 pasos del flujo y la galería con imágenes en su proporción real.

   POR QUÉ NO SE VEÍA EL VIDEO EN EL CÓDIGO ANTERIOR:
   usaba las clases .tmx-closing-wrapper + .tmx-video-wrapper con un iframe
   directo. La sección 11 (landing Tensamax) deja ese iframe en opacity:0
   hasta que tentrek.js le pone .is-video-ready, y eso solo ocurre si el
   video se declara con data-tk-vimeo. Además lo forzaba a 16:9.
   ========================================================================== */

.tkp-landing.tkp--faceview {
    --tkp-accent: #72c8c6;
    --tkp-accent-rgb: 114, 200, 198;
    --tkp-accent-hover: #a8e3e1;
    --tkp-on-accent: #062b2a;
}

/* --- 18.1 Video vertical junto al formulario --------------------------- */
body .tkp-landing .tkp-lead-media--vertical { display: flex !important; justify-content: center !important; }
body .tkp-landing .tkp-lead-video--vertical {
    aspect-ratio: 9 / 16 !important;
    width: 100% !important;
    max-width: 400px !important;
    max-height: 78vh !important;
    margin: 0 auto !important;
    border-radius: 32px !important;
}
body .tkp-landing .tkp-lead-video--vertical iframe {
    /* el reproductor de Vimeo cubre la caja sin franjas */
    width: 100% !important; height: 100% !important; inset: 0 !important;
}

/* --- 18.2 Beneficios ---------------------------------------------------- */
body .tkp-landing .tkp-features { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 18px !important; max-width: 1150px !important; margin: 0 auto !important; }
body .tkp-landing .tkp-feature-card {
    padding: 30px 26px !important; border-radius: 24px !important;
    background: var(--tkp-surface-2) !important; border: 1px solid var(--tkp-line) !important;
    transition: transform 0.4s var(--tk-ease), border-color 0.3s ease !important;
}
body .tkp-landing .tkp-feature-card:hover { transform: translateY(-5px) !important; border-color: rgba(var(--tkp-accent-rgb), 0.4) !important; }
body .tkp-landing .tkp-feature-card__ico {
    width: 52px !important; height: 52px !important; border-radius: 14px !important; margin: 0 0 18px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background: rgba(var(--tkp-accent-rgb), 0.12) !important; color: var(--tkp-accent) !important;
}
body .tkp-landing .tkp-feature-card__ico svg { width: 24px; height: 24px; }
body .tkp-landing .tkp-feature-card h3 { font: 700 17px/1.3 var(--tk-font-text) !important; color: #ffffff !important; margin: 0 0 8px !important; }
body .tkp-landing .tkp-feature-card p { font: 400 15px/1.55 var(--tk-font-text) !important; color: var(--tkp-muted) !important; margin: 0 !important; }

/* --- 18.3 Flujo de trabajo en 3 pasos ---------------------------------- */
body .tkp-landing .tkp-flow { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 0 !important; max-width: 1100px !important; margin: 0 auto !important; counter-reset: tkpflow; }
body .tkp-landing .tkp-flow__step { position: relative !important; padding: 0 28px !important; text-align: center !important; }
body .tkp-landing .tkp-flow__step + .tkp-flow__step::before {
    content: '' !important; position: absolute !important; top: 27px !important; left: -50% !important; width: 100% !important; height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(var(--tkp-accent-rgb), 0.5), transparent) !important; z-index: 0 !important;
}
body .tkp-landing .tkp-flow__num {
    position: relative !important; z-index: 1 !important;
    width: 56px !important; height: 56px !important; margin: 0 auto 18px !important; border-radius: 50% !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background: #0b0b0e !important; border: 1px solid rgba(var(--tkp-accent-rgb), 0.5) !important;
    color: var(--tkp-accent) !important; font: 500 20px/1 var(--tk-font-num) !important;
    box-shadow: 0 0 30px rgba(var(--tkp-accent-rgb), 0.15) !important;
}
body .tkp-landing .tkp-flow__step h3 { font: 700 18px/1.3 var(--tk-font-text) !important; color: #ffffff !important; margin: 0 0 8px !important; }
body .tkp-landing .tkp-flow__step p { font: 400 15px/1.55 var(--tk-font-text) !important; color: var(--tkp-muted) !important; margin: 0 auto !important; max-width: 300px !important; }

/* --- 18.4 Galería con imágenes en su proporción original ---------------- */
body .tkp-landing .tkp-cases-grid--natural .tkp-case__img { aspect-ratio: auto !important; }
body .tkp-landing .tkp-cases-grid--natural .tkp-case__img img { height: auto !important; object-fit: initial !important; }

/* --- 18.5 Responsive ---------------------------------------------------- */
@media (max-width: 1024px) {
    body .tkp-landing .tkp-features { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 768px) {
    body .tkp-landing .tkp-lead-video--vertical { max-width: 300px !important; max-height: none !important; border-radius: 26px !important; }
    body .tkp-landing .tkp-features { grid-template-columns: 1fr !important; gap: 12px !important; }
    body .tkp-landing .tkp-feature-card { padding: 22px 20px !important; display: grid !important; grid-template-columns: 48px 1fr !important; gap: 4px 16px !important; align-items: start !important; }
    body .tkp-landing .tkp-feature-card__ico { width: 48px !important; height: 48px !important; margin: 0 !important; grid-row: span 2 !important; }
    body .tkp-landing .tkp-feature-card h3 { font-size: 16px !important; margin: 2px 0 2px !important; }
    body .tkp-landing .tkp-feature-card p { font-size: 14px !important; }
    body .tkp-landing .tkp-flow { grid-template-columns: 1fr !important; gap: 28px !important; }
    body .tkp-landing .tkp-flow__step + .tkp-flow__step::before { display: none !important; }
    body .tkp-landing .tkp-flow__num { margin-bottom: 12px !important; }
}

/* === TENTREK FUNNEL · INICIO · 2026-10 · V2 === */
.tkf { --tf-cyan:#7dcef5; --tf-muted:#aeb7c1; --tf-line:#ffffff21; --tf-text:var(--font-text,'Inter',sans-serif); --tf-title:var(--font-display,'Raleway',sans-serif); background:#030405; color:#f5f7fa; font-family:var(--tf-text); width:100%; overflow:clip; isolation:isolate; -webkit-font-smoothing:antialiased; }
.tkf *, .tkf *::before, .tkf *::after { box-sizing:border-box; }
.tkf [hidden] { display:none!important; }
.tkf :is(h1,h2,h3,p,ul,blockquote) { margin:0; padding:0; color:inherit; background:transparent; }
.tkf :is(h1,h2,h3) { font-family:var(--tf-title); text-transform:none; }
.tkf h1 { font-size:clamp(27px,3vw,36px); font-weight:700; line-height:1.25; letter-spacing:-.7px; text-wrap:balance; }
.tkf h2 { font-size:clamp(24px,2.5vw,30px); font-weight:650; line-height:1.3; letter-spacing:-.5px; text-wrap:balance; }
.tkf :is(h1,h2) em { color:var(--tf-cyan); font-style:normal; font-weight:inherit; }
.tkf h3 { font-weight:650; font-size:18px; line-height:1.4; }
.tkf a { color:inherit; text-decoration:none; }
.tkf button { font-family:inherit; text-transform:none; cursor:pointer; }
.tkf :is(a,button,summary):focus-visible, .tkf [tabindex="0"]:focus-visible { outline:2px solid var(--tf-cyan); outline-offset:5px; }
.tkf .tkf-shell { width:min(1000px,90%); margin-inline:auto; }
.tkf .tkf-narrow { max-width:800px; }
.tkf .tkf-button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:52px; max-width:100%; padding:16px 27px; background:var(--tf-cyan); border:1px solid transparent; border-radius:8px; color:#071923; font-family:var(--font-ui,'Montserrat',sans-serif); font-size:13px; font-weight:750; line-height:1.5; text-align:center; transition:background .2s,transform .2s,box-shadow .2s; }
.tkf .tkf-button:hover { color:#071923; background:#bae8ff; transform:translateY(-2px); box-shadow:0 8px 26px #7dcef526; }
.tkf .tkf-eyebrow { color:var(--tf-cyan); font-family:var(--font-ui,'Montserrat',sans-serif); font-weight:650; font-size:11px; line-height:1.6; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:15px; }
.tkf .tkf-hero { text-align:center; padding-block:44px 48px; }
.tkf .tkf-badge { display:inline-block; border:1px solid #7dcef53d; background:#7dcef50d; color:var(--tf-cyan); padding:9px 18px; border-radius:40px; font-size:11px; line-height:1.6; letter-spacing:.8px; font-weight:650; margin-bottom:25px; }
.tkf .tkf-hero-sub { max-width:780px; margin:20px auto 0; font-size:16px; line-height:1.7; color:#e0e5eb; }
.tkf .tkf-hero-promise { max-width:780px; margin:8px auto 28px; font-size:15px; line-height:1.6; color:var(--tf-cyan); }
.tkf .tkf-vsl { width:min(100%,760px); aspect-ratio:16/9; margin-inline:auto; background:#111a20; border:1px solid #7dcef538; border-radius:12px; overflow:hidden; }
.tkf .tkf-vsl-poster { position:relative; display:block; width:100%; height:100%; padding:0; border:0; border-radius:0; background:#111a20; color:#fff; }
.tkf .tkf-vsl-poster img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 40%; margin:0; }
.tkf .tkf-vsl-shade { position:absolute; inset:0; background:linear-gradient(180deg,#0007,transparent 38%,#000c); }
.tkf .tkf-vsl-kicker { position:absolute; top:22px; left:25px; font-size:10px; font-weight:650; letter-spacing:1.6px; text-align:left; }
.tkf .tkf-vsl-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:76px; height:76px; padding-left:5px; border-radius:50%; color:#091721; background:var(--tf-cyan); font-size:26px; box-shadow:0 0 0 12px #7dcef526; }
.tkf .tkf-vsl-caption { position:absolute; left:25px; bottom:24px; text-align:left; right:25px; }
.tkf .tkf-vsl-caption strong { display:block; font-size:20px; line-height:1.4; }
.tkf .tkf-vsl-caption > span { display:block; font-size:12px; margin-top:6px; color:#d1e1eb; }
.tkf .tkf-vsl iframe { display:block; width:100%; height:100%; border:0; }
.tkf .tkf-hero-description { max-width:680px; margin:23px auto 22px; font-size:15px; line-height:1.7; color:#d4dce2; }
.tkf .tkf-demo-note { font-size:12px; color:#b9c5cf; line-height:1.7; margin-top:18px; }
.tkf .tkf-demo-note strong { color:#fff; font-weight:600; }
.tkf .tkf-demo-note > span { font-size:11px; color:#8999a7; }
.tkf .tkf-hero-facts { display:flex; justify-content:center; flex-wrap:wrap; gap:10px 22px; margin-top:24px; font-size:11px; color:#d1dbe3; }
.tkf .tkf-hero-facts span::before { content:'✓'; color:var(--tf-cyan); margin-right:7px; }
.tkf .tkf-proof { text-align:center; padding-block:35px 55px; }
.tkf .tkf-proof-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; margin-top:30px; }
.tkf .tkf-expert { position:relative; border:1px solid var(--tf-line); border-radius:12px; background:#0d1217; padding:24px 18px; display:flex; flex-direction:column; align-items:center; }
.tkf .tkf-expert img { width:76px; height:76px; object-fit:cover; object-position:top; border-radius:50%; margin-bottom:14px; }
.tkf .tkf-pill { display:inline-block; font-size:10px; line-height:1.5; color:var(--tf-cyan); letter-spacing:.2px; }
.tkf .tkf-expert blockquote { font-size:15px; line-height:1.7; color:#e1e7ec; padding-block:17px 22px; font-style:normal; flex:1; }
.tkf .tkf-expert h3 { font-family:var(--tf-text); font-size:12px; line-height:1.6; font-weight:650; margin-bottom:6px; }
.tkf .tkf-expert p { font-size:11px; color:#93a5b2; line-height:1.6; }
.tkf .tkf-source { color:#8496a4; font-size:10px; line-height:1.7; margin:17px 0 25px; }
.tkf .tkf-source a { text-decoration:underline; }
.tkf .tkf-band { background:#0b1117; border-block:1px solid #ffffff0e; text-align:center; padding-block:55px; }
.tkf .tkf-pains { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; text-align:left; margin-block:32px; }
.tkf .tkf-pains article > span { color:var(--tf-cyan); display:block; font-size:12px; font-weight:700; margin-bottom:15px; }
.tkf .tkf-pains h3 { font-size:17px; margin-bottom:10px; }
.tkf .tkf-pains p { color:var(--tf-muted); font-size:13px; line-height:1.8; }
.tkf .tkf-section-copy { font-size:15px; line-height:1.8; color:#b9c5cf; margin:22px auto; max-width:760px; }
.tkf .tkf-section-copy strong { color:#e3ebf1; font-weight:500; }
.tkf .tkf-solutions { text-align:center; padding-block:55px; }
.tkf .tkf-interests { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin:25px 0; }
.tkf .tkf-interests button { border:1px solid var(--tf-line); border-radius:6px; background:transparent; color:#b9c8d2; min-height:42px; padding:10px 15px; font-size:12px; letter-spacing:normal; }
.tkf .tkf-interests button:is(:hover,.is-selected) { color:#c5ebff; border-color:#7dcef57d; background:#7dcef50d; }
.tkf .tkf-products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; text-align:left; }
.tkf .tkf-product { border:1px solid var(--tf-line); border-radius:12px; overflow:hidden; background:#0c1116; display:grid; grid-template-columns:140px minmax(0,1fr); transition:border-color .2s,background .2s; }
.tkf .tkf-product > img { width:100%; height:100%; min-height:235px; display:block; object-fit:cover; object-position:center; }
.tkf .tkf-product--device > img { object-fit:contain; background:radial-gradient(#1d3341,#091017); padding:16px; }
.tkf .tkf-product > div { padding:20px 18px; display:flex; flex-direction:column; align-items:flex-start; }
.tkf .tkf-product h3 { font-size:17px; margin-top:9px; margin-bottom:11px; }
.tkf .tkf-product p { color:var(--tf-muted); font-size:12px; line-height:1.8; margin-bottom:16px; flex:1; }
.tkf .tkf-product a { display:inline-block; font-size:11px; line-height:1.6; color:var(--tf-cyan); font-weight:650; }
.tkf .tkf-product.is-relevant { border-color:var(--tf-cyan); background:#10232f; }
.tkf .tkf-selection-note { color:#9bb4c4; font-size:12px; line-height:1.7; margin-top:18px; min-height:22px; }
.tkf .tkf-included { text-align:left; list-style:none; margin:30px auto; max-width:650px; display:grid; gap:0; }
.tkf .tkf-included li { display:flex; align-items:flex-start; gap:17px; border-bottom:1px solid var(--tf-line); padding:19px 0; }
.tkf .tkf-included li:first-child { padding-top:0; }
.tkf .tkf-included li > span { display:grid; place-items:center; flex:0 0 25px; height:25px; background:#7dcef514; color:var(--tf-cyan); border:1px solid #7dcef54a; border-radius:50%; font-size:13px; }
.tkf .tkf-included h3 { font-size:16px; margin-bottom:6px; }
.tkf .tkf-included p { font-size:13px; line-height:1.8; color:var(--tf-muted); }
.tkf .tkf-small { font-size:11px; line-height:1.8; color:#8f9fae; margin-top:17px; }
.tkf .tkf-small a { color:var(--tf-cyan); text-decoration:underline; }
.tkf .tkf-conversion { padding-block:55px; text-align:center; scroll-margin-top:100px; }
.tkf .tkf-conversion-grid { display:grid; grid-template-columns:.8fr 1.2fr; align-items:start; gap:40px; margin-top:30px; text-align:left; }
.tkf .tkf-conversion-copy { padding-top:20px; }
.tkf .tkf-conversion-copy h3 { font-size:20px; margin-bottom:20px; }
.tkf .tkf-conversion-copy ul { list-style:none; display:grid; gap:16px; }
.tkf .tkf-conversion-copy li { position:relative; color:#c4cfd7; font-size:14px; line-height:1.8; padding-left:22px; }
.tkf .tkf-conversion-copy li::before { content:'✓'; position:absolute; left:0; color:var(--tf-cyan); }
.tkf .tkf-private-note { margin-top:25px; padding:20px; border:1px solid #7dcef52c; border-radius:10px; background:#7dcef509; }
.tkf .tkf-private-note strong { color:var(--tf-cyan); font-size:14px; }
.tkf .tkf-private-note p { color:var(--tf-muted); font-size:13px; line-height:1.8; margin-top:10px; }
.tkf .tkf-form-card { min-width:0; border:1px solid #7dcef549; border-radius:14px; background:#101820; padding:25px 20px; }
.tkf .tkf-form-kicker { color:var(--tf-cyan); font-size:10px; letter-spacing:1.4px; font-weight:650; margin-bottom:14px; }
.tkf .tkf-form-card > h3 { font-size:20px; line-height:1.4; }
.tkf .tkf-form-interest { padding:10px 12px; font-size:11px; line-height:1.6; background:#193345; color:#b6e2ff; border-radius:7px; margin:18px 0; }
.tkf .tkf-form-holder { min-height:420px; padding:12px 8px 0; background:#000; border-radius:12px; overflow:hidden; }
.tkf .tkf-form-holder iframe { display:block; width:100%!important; max-width:100%!important; border:0; margin:0 auto; background:transparent; }
.tkf .tkf-form-loading { padding:65px 10px; color:#b7d2e3; display:flex; align-items:center; flex-direction:column; gap:18px; font-size:13px; text-align:center; }
.tkf .tkf-spinner { width:28px; height:28px; border:2px solid #7dcef540; border-top-color:var(--tf-cyan); border-radius:50%; animation:tkf-spin .9s linear infinite; }
@keyframes tkf-spin { to { transform:rotate(360deg); } }
.tkf .tkf-form-holder.is-error iframe { display:none!important; }
.tkf .tkf-form-fallback { padding:35px 10px; text-align:center; font-size:13px; line-height:1.8; }
.tkf .tkf-form-fallback .tkf-button { margin-block:18px; }
.tkf .tkf-form-fallback > a { display:block; color:var(--tf-cyan); }
.tkf .tkf-submit-error { color:#ffb7bf; font-size:12px; padding:15px 10px; line-height:1.8; }
.tkf .tkf-success { text-align:center; padding:35px 10px; color:#c3f2d9; }
.tkf .tkf-success > span { display:grid; place-items:center; width:45px; height:45px; background:#204833; border-radius:50%; margin:0 auto 20px; font-size:23px; }
.tkf .tkf-success p { font-size:14px; line-height:1.8; margin-top:17px; }
.tkf .tkf-faq-list { display:grid; gap:10px; text-align:left; margin-top:30px; }
.tkf .tkf-faq details { background:#0b1117; border:1px solid var(--tf-line); border-radius:8px; }
.tkf .tkf-faq summary { cursor:pointer; list-style:none; padding:19px 21px; display:flex; justify-content:space-between; align-items:center; gap:20px; color:#e1e9ef; font-size:14px; line-height:1.6; }
.tkf .tkf-faq summary::-webkit-details-marker { display:none; }
.tkf .tkf-faq summary > span { color:var(--tf-cyan); font-size:22px; transition:transform .2s; }
.tkf .tkf-faq details[open] summary > span { transform:rotate(45deg); }
.tkf .tkf-faq details > div { padding:0 21px 22px; }
.tkf .tkf-faq details p { font-size:13px; color:var(--tf-muted); line-height:1.8; }
.tkf .tkf-faq details a { display:inline-block; color:var(--tf-cyan); font-size:12px; font-weight:600; margin-top:15px; }
.tkf .tkf-final { padding-top:45px; }
.tkf .tkf-final .tkf-button { margin-top:24px; }
.tkf .tkf-mobile-bar { display:none; }
.tkf .tkf-offer { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:15px; padding:12px 5%; background:#b4e7ff; color:#0a2a3b; font-size:12px; line-height:1.6; }
.tkf .tkf-offer a { font-weight:700; text-decoration:underline; }
.tkf [data-tkf-countdown] { font-variant-numeric:tabular-nums; font-weight:700; }
.tkf .tkf-skip { position:fixed; top:10px; left:10px; z-index:99999; background:#c2eaff; color:#071820; padding:15px; border-radius:8px; transform:translateY(-200%); }
.tkf .tkf-skip:focus { transform:translateY(0); }
.tkf .tkf-video-dialog { width:min(900px,92vw); max-width:92vw; margin:auto; padding:20px; border:1px solid #7dcef54d; border-radius:14px; background:#10171c; color:#fff; max-height:90svh; overflow:auto; }
.tkf .tkf-video-dialog::backdrop { background:#000d; }
.tkf .tkf-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:15px; }
.tkf .tkf-dialog-head h2 { font-size:19px; }
.tkf .tkf-dialog-head button { width:40px; height:40px; padding:0; border:1px solid #ffffff30; background:transparent; color:#fff; border-radius:50%; font-size:27px; line-height:1; }
.tkf .tkf-video-frame { aspect-ratio:16/9; }
.tkf .tkf-video-frame iframe { display:block; width:100%; height:100%; border:0; }
@media(max-width:900px) { .tkf .tkf-product { grid-template-columns:110px minmax(0,1fr); } .tkf .tkf-product > div { padding:17px 14px; } }
@media(max-width:767px) {
 .tkf .tkf-shell { width:90%; } .tkf .tkf-hero { padding-block:28px 35px; }
 .tkf .tkf-badge { font-size:9px; padding:8px 12px; margin-bottom:20px; letter-spacing:.3px; }
 .tkf h1 { font-size:28px; line-height:1.3; letter-spacing:-.6px; } .tkf h1 br { display:none; }
 .tkf .tkf-hero-sub { font-size:14px; margin-top:18px; } .tkf .tkf-hero-promise { font-size:13px; margin-bottom:22px; }
 .tkf .tkf-vsl { border-radius:8px; } .tkf .tkf-vsl-kicker { top:12px; left:12px; font-size:8px; letter-spacing:.7px; }
 .tkf .tkf-vsl-play { width:51px; height:51px; font-size:19px; box-shadow:0 0 0 7px #7dcef526; }
 .tkf .tkf-vsl-caption { left:12px; bottom:12px; right:12px; } .tkf .tkf-vsl-caption strong { font-size:13px; } .tkf .tkf-vsl-caption > span { font-size:9px; margin-top:3px; }
 .tkf .tkf-hero-description { font-size:13px; margin-block:20px; }
 .tkf .tkf-button { width:100%; font-size:11px; padding:15px 17px; gap:10px; }
 .tkf .tkf-hero-facts { gap:8px 13px; font-size:9px; } .tkf .tkf-demo-note { font-size:11px; }
 .tkf .tkf-proof { padding-block:25px 38px; } .tkf .tkf-proof-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--tf-cyan) #132331; gap:12px; padding-bottom:12px; }
 .tkf .tkf-expert { flex:0 0 89%; scroll-snap-align:start; } .tkf .tkf-expert blockquote { font-size:14px; }
 .tkf .tkf-band { padding-block:38px; } .tkf .tkf-eyebrow { font-size:10px; letter-spacing:1px; }
 .tkf .tkf-pains { grid-template-columns:minmax(0,1fr); gap:22px; margin-block:25px; }
 .tkf .tkf-pains article { padding-left:35px; position:relative; } .tkf .tkf-pains article > span { position:absolute; left:0; top:3px; }
 .tkf .tkf-pains h3 { font-size:16px; } .tkf .tkf-section-copy { font-size:13px; }
 .tkf .tkf-solutions { padding-block:38px; } .tkf .tkf-interests { gap:8px; margin-block:22px; } .tkf .tkf-interests button { font-size:10px; padding:9px 11px; }
 .tkf .tkf-products { grid-template-columns:minmax(0,1fr); gap:14px; } .tkf .tkf-product { grid-template-columns:105px minmax(0,1fr); }
 .tkf .tkf-product h3 { font-size:16px; } .tkf .tkf-product > img { min-height:235px; } .tkf .tkf-product p { font-size:12px; } .tkf .tkf-product a { font-size:11px; }
 .tkf .tkf-included { margin-block:25px; } .tkf .tkf-included h3 { font-size:15px; }
 .tkf .tkf-conversion { padding-block:38px; scroll-margin-top:90px; } .tkf .tkf-conversion-grid { grid-template-columns:minmax(0,1fr); gap:25px; }
 .tkf .tkf-conversion-copy { padding-top:0; } .tkf .tkf-conversion-copy h3 { font-size:18px; } .tkf .tkf-conversion-copy li { font-size:13px; }
 .tkf .tkf-form-card { padding:22px 16px; } .tkf .tkf-form-card > h3 { font-size:19px; }
 .tkf .tkf-faq summary { padding:17px; font-size:13px; } .tkf .tkf-faq details > div { padding:0 17px 20px; }
 .tkf .tkf-final { padding-top:32px; padding-bottom:60px; }
 .tkf .tkf-mobile-bar { display:flex; position:fixed; z-index:900; bottom:0; inset-inline:0; justify-content:space-between; align-items:center; gap:12px; padding:12px 5% max(12px,env(safe-area-inset-bottom)); background:#0b1721f5; border-top:1px solid #7dcef536; backdrop-filter:blur(12px); }
 .tkf .tkf-mobile-bar > span { color:#bdd0dc; font-size:10px; line-height:1.5; max-width:100px; } .tkf .tkf-mobile-bar .tkf-button { width:auto; min-height:42px; padding:11px 18px; font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { .tkf *, .tkf *::before, .tkf *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }


/* TENTREK · V3 PREMIUM · atmósfera, luz y microinteracciones */
.tkf.tkf--premium { --tf-violet:#ae9aff; --tf-gold:#e1bd8d; --tf-cyan:#87d9ff; background:radial-gradient(ellipse 900px 650px at 10% 2%,#06335240,transparent 75%),radial-gradient(ellipse 800px 850px at 95% 8%,#49236930,transparent 70%),#040609; }
.tkf--premium :is(h1,h2,h3,p,blockquote,li,summary) { text-wrap:pretty; overflow-wrap:normal; word-break:normal; hyphens:none; }
.tkf--premium :is(h1,h2,h3) { text-wrap:balance; }
.tkf--premium :is(h1,h2) em { color:#ace2ff; background:linear-gradient(110deg,#84d8ff 5%,#d4eeff 40%,#b49aff 75%,#89dfff); background-size:220% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:tkf-spectrum 16s ease-in-out infinite alternate; }
@keyframes tkf-spectrum { from { background-position:0 50%; } to { background-position:100% 50%; } }
.tkf--premium .tkf-hero { position:relative; isolation:isolate; }
.tkf--premium .tkf-hero::before,.tkf--premium .tkf-hero::after { content:''; position:absolute; z-index:-1; pointer-events:none; width:min(680px,100vw); height:650px; border-radius:50%; opacity:.65; }
.tkf--premium .tkf-hero::before { left:-200px; top:15px; background:radial-gradient(ellipse,#0587cb26,transparent 65%); animation:tkf-aurora-a 19s ease-in-out infinite alternate; }
.tkf--premium .tkf-hero::after { right:-220px; top:200px; background:radial-gradient(ellipse,#8350d92b,transparent 65%); animation:tkf-aurora-b 23s ease-in-out infinite alternate; }
@keyframes tkf-aurora-a { from { transform:translate3d(0,0,0); } to { transform:translate3d(45px,35px,0); } }
@keyframes tkf-aurora-b { from { transform:translate3d(0,0,0); } to { transform:translate3d(-30px,-35px,0); } }
.tkf--premium .tkf-badge { border-color:#a5bcff55; background:linear-gradient(115deg,#092130d9,#281b40ba); color:#c5eaff; box-shadow:0 0 30px #7dcef50c,inset 0 1px 0 #ffffff15; }
.tkf--premium .tkf-badge::before { content:''; display:inline-block; width:6px; height:6px; border-radius:50%; background:#aeeaff; box-shadow:0 0 11px #85d7ff; margin:0 8px 1px 0; }
.tkf--premium .tkf-eyebrow { color:#b8dfff; }
.tkf--premium .tkf-button { position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(115deg,#80d8ff,#a5d9ff 45%,#b3a6f6); border-color:#c9edff66; box-shadow:0 5px 24px #559fe51c,inset 0 1px 0 #ffffff73; transition:transform .25s,box-shadow .25s,filter .25s; }
.tkf--premium .tkf-button::before { content:''; position:absolute; pointer-events:none; inset:-40% auto -40% -80%; width:45%; transform:skewX(-22deg); background:linear-gradient(90deg,transparent,#fff8,transparent); transition:left .7s ease; }
.tkf--premium .tkf-button:hover::before { left:140%; }
.tkf--premium .tkf-button:hover { background:linear-gradient(115deg,#a3e3ff,#c3d7ff 55%,#c7b8ff); box-shadow:0 10px 35px #6fc9ff30,0 0 22px #ad94ff1a; filter:brightness(1.04); }
.tkf--premium .tkf-button > span { transition:transform .25s; }
.tkf--premium .tkf-button:hover > span { transform:translate(2px,-2px); }
.tkf--premium .tkf-hero > .tkf-button::before,.tkf--premium .tkf-final .tkf-button::before { animation:tkf-button-sheen 8s ease-in-out infinite; }
@keyframes tkf-button-sheen { 0%,68% { left:-80%; } 90%,100% { left:140%; } }
.tkf--premium .tkf-vsl { position:relative; overflow:visible; border-radius:15px; border-color:#9cc9ff66; box-shadow:0 24px 65px #0008,0 0 55px #6e8cff15; }
.tkf--premium .tkf-vsl::before { content:''; position:absolute; z-index:2; inset:-2px; border-radius:16px; padding:2px; pointer-events:none; background:conic-gradient(from var(--tkf-border-angle,0deg),#78d8ff66,#b19bff,#edcda1aa,#72d5ff,#78d8ff66); -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; animation:tkf-border-turn 15s linear infinite; }
@property --tkf-border-angle { syntax:'<angle>'; initial-value:0deg; inherits:false; }
@keyframes tkf-border-turn { to { --tkf-border-angle:360deg; } }
.tkf--premium .tkf-vsl > :is(button,iframe) { border-radius:13px; overflow:hidden; }
.tkf--premium .tkf-vsl-poster img { transition:transform 1s cubic-bezier(.16,1,.3,1),filter .6s; }
.tkf--premium .tkf-vsl-poster:hover img { transform:scale(1.025); filter:saturate(1.08); }
.tkf--premium .tkf-vsl-shade { background:linear-gradient(180deg,#10132970,transparent 35%,#080f20d9); }
.tkf--premium .tkf-vsl-play { background:linear-gradient(135deg,#91e5ff,#a6b0ff); color:#122137; animation:tkf-play-halo 3.5s ease-in-out infinite; }
@keyframes tkf-play-halo { 0%,100% { box-shadow:0 0 0 10px #9acfff20,0 0 34px #8cb6ff23; } 50% { box-shadow:0 0 0 16px #aa9fff0a,0 0 42px #ad97ff38; } }
.tkf--premium .tkf-hero-facts span::before { color:var(--tf-gold); }
.tkf--premium .tkf-proof { position:relative; }
.tkf--premium .tkf-proof::before { content:''; position:absolute; width:160px; height:1px; top:0; left:calc(50% - 80px); background:linear-gradient(90deg,transparent,#b89dff,transparent); }
.tkf--premium :is(.tkf-expert,.tkf-product,.tkf-form-card,.tkf-private-note) { --tkf-card-light:127,211,255; --tkf-mx:50%; --tkf-my:40%; position:relative; isolation:isolate; box-shadow:0 12px 35px #0003,inset 0 1px 0 #ffffff09; transition:border-color .3s,box-shadow .3s,background .3s,transform .35s cubic-bezier(.2,.8,.2,1); }
.tkf--premium :is(.tkf-expert,.tkf-product,.tkf-form-card,.tkf-private-note)::before { content:''; position:absolute; z-index:-1; inset:0; pointer-events:none; border-radius:inherit; background:radial-gradient(360px circle at var(--tkf-mx) var(--tkf-my),rgba(var(--tkf-card-light),.13),transparent 70%); opacity:.45; transition:opacity .3s; }
.tkf--premium :is(.tkf-expert,.tkf-product,.tkf-form-card,.tkf-private-note):hover::before { opacity:1; }
.tkf--premium :is(.tkf-expert,.tkf-product,.tkf-form-card,.tkf-private-note):hover { border-color:rgba(var(--tkf-card-light),.55); box-shadow:0 18px 45px #0006,0 0 24px rgba(var(--tkf-card-light),.07); }
.tkf--premium .tkf-expert { background:linear-gradient(150deg,#102333cc,#0c111bee); border-color:#a8d7ff2b; }
.tkf--premium .tkf-expert:nth-child(2) { --tkf-card-light:175,151,255; background:linear-gradient(150deg,#231d38cc,#0e111bee); }
.tkf--premium .tkf-expert:nth-child(3) { --tkf-card-light:226,190,140; background:linear-gradient(150deg,#2b251ecc,#10131bee); }
.tkf--premium .tkf-expert:nth-child(2) .tkf-pill { color:#c1b0ff; }
.tkf--premium .tkf-expert:nth-child(3) .tkf-pill { color:#e7c9a3; }
.tkf--premium .tkf-expert img { outline:1px solid rgba(var(--tkf-card-light),.5); outline-offset:5px; box-shadow:0 0 24px rgba(var(--tkf-card-light),.12); }
.tkf--premium .tkf-band { background:radial-gradient(ellipse at 0 0,#07508020,transparent 55%),radial-gradient(ellipse at 100% 100%,#6c3e9b22,transparent 60%),#0a1018; border-block-color:#abbaff1c; }
.tkf--premium .tkf-pains article { border-top:1px solid #97cfff26; padding-top:20px; }
.tkf--premium .tkf-pains article:nth-child(2) { border-color:#b19aff40; }
.tkf--premium .tkf-pains article:nth-child(3) { border-color:#e1bd8d40; }
.tkf--premium .tkf-pains article:nth-child(2) > span { color:var(--tf-violet); }
.tkf--premium .tkf-pains article:nth-child(3) > span { color:var(--tf-gold); }
.tkf--premium .tkf-product { background:linear-gradient(145deg,#101f2c,#0b1018); border-color:#8acfff2e; }
.tkf--premium .tkf-product:nth-child(2) { --tkf-card-light:172,151,255; }
.tkf--premium .tkf-product:nth-child(3) { --tkf-card-light:224,188,143; }
.tkf--premium .tkf-product:nth-child(2) .tkf-pill { color:#c2b1ff; }
.tkf--premium .tkf-product:nth-child(3) .tkf-pill { color:#e5c79e; }
.tkf--premium .tkf-product.is-relevant { background:linear-gradient(135deg,#173747,#1e1c35); box-shadow:0 0 28px #80cfff12; border-color:#a9dcffa8; }
.tkf--premium .tkf-interests button { background:linear-gradient(120deg,#0e1a27,#141321); transition:border-color .25s,background .25s,box-shadow .25s; }
.tkf--premium .tkf-interests button.is-selected { background:linear-gradient(110deg,#1d465d,#352852); box-shadow:0 0 15px #969bff1a; border-color:#b1d5ff8c; }
.tkf--premium .tkf-package { background:radial-gradient(ellipse at 50% 10%,#b3834420,transparent 60%),radial-gradient(ellipse at 0 100%,#7253ba1a,transparent 60%),#0d1016; }
.tkf--premium .tkf-package h2 em { background-image:linear-gradient(100deg,#f1d6b0,#d3b8ff 58%,#9adfff); }
.tkf--premium .tkf-included li > span { color:#efcfaa; border-color:#e1bd8d66; background:#e1bd8d0d; box-shadow:0 0 15px #e1bd8d0b; }
.tkf--premium .tkf-form-card { background:linear-gradient(150deg,#132b3b,#151627 65%,#111921); border-color:#afc7ff61; box-shadow:0 20px 65px #0007,0 0 40px #8f9bff0e; }
.tkf--premium .tkf-form-interest { background:linear-gradient(110deg,#1b4158,#31274a); border:1px solid #9bbdff23; color:#d5eaff; }
.tkf--premium .tkf-private-note { background:linear-gradient(135deg,#19314277,#2c243b66); border-color:#a9a3ff38; }
.tkf--premium .tkf-faq details { background:linear-gradient(120deg,#0e1d2a88,#17142299); transition:border-color .3s,box-shadow .3s; }
.tkf--premium .tkf-faq details[open] { border-color:#b1a1ff70; box-shadow:0 8px 25px #0002; }
.tkf--premium .tkf-faq summary:hover { color:#c0e8ff; }
@media(hover:hover) and (pointer:fine) {
 .tkf--premium .tkf-fx-card { transform:perspective(1000px) rotateX(var(--tkf-rx,0deg)) rotateY(var(--tkf-ry,0deg)) translateY(var(--tkf-lift,0px)); }
}
@media(max-width:767px) {
 .tkf--premium .tkf-product { grid-template-columns:90px minmax(0,1fr); }
 .tkf--premium .tkf-hero::before,.tkf--premium .tkf-hero::after { width:100%; height:450px; left:0; right:auto; opacity:.45; }
 .tkf--premium .tkf-pains article { padding-top:18px; } .tkf--premium .tkf-pains article > span { top:20px; }
 .tkf--premium .tkf-vsl { border-radius:11px; } .tkf--premium .tkf-vsl::before { border-radius:12px; }
 .tkf--premium .tkf-vsl > :is(button,iframe) { border-radius:9px; }
 .tkf--premium .tkf-mobile-bar { background:linear-gradient(110deg,#102539f5,#241d37f5); }
}
@media(prefers-reduced-motion:reduce) {
 .tkf.tkf--premium *,.tkf.tkf--premium *::before,.tkf.tkf--premium *::after { animation:none!important; transition:none!important; }
 .tkf--premium .tkf-fx-card { transform:none!important; }
}

/* TENTREK · V6 TENSAMAX PRO+ · embudo centrado, inspirado en la secuencia 30X */
.tkf.tkf--tensamax { --tf-cyan:#edce9e; --tf-gold:#edce9e; --tf-muted:#b9b9bd; --tf-line:#ffffff18; background:#000; color:#f6f6f7; }
.tkf.tkf--tensamax .tkf-shell { width:min(1080px,90%); }
.tkf.tkf--tensamax :is(h1,h2) { font-family:var(--tf-text); font-weight:600; letter-spacing:-1px; }
.tkf.tkf--tensamax h1 { font-size:clamp(28px,3vw,36px); line-height:1.25; }
.tkf.tkf--tensamax h2 { font-size:clamp(25px,2.5vw,32px); line-height:1.3; max-width:900px; margin-inline:auto; }
.tkf.tkf--tensamax :is(h1,h2) em { background:none; color:#edce9e; -webkit-text-fill-color:currentColor; animation:none; }
.tkf.tkf--tensamax h3 { font-family:var(--tf-text); font-weight:550; }
.tkf.tkf--tensamax .tkf-skip:not(:focus) { width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.tkf.tkf--tensamax .tkf-button { min-height:46px; width:auto; max-width:100%; padding:13px 23px; border-radius:6px; background:linear-gradient(110deg,#edce9e,#f5dfbd 55%,#dcb47b); color:#20160a; border:1px solid #fff1d02f; font:650 12px/1.6 var(--tf-text); box-shadow:0 0 25px #c5984d15; letter-spacing:0; }
.tkf.tkf--tensamax .tkf-button:hover { color:#21160b; background:linear-gradient(110deg,#f8dfb8,#fff0d8); box-shadow:0 6px 30px #deb46e30; }
.tkf.tkf--tensamax .tkf-button > span { font-size:13px; }
.tkf.tkf--tensamax .tk6-hero { padding:32px 0 48px; text-align:center; }
.tkf.tkf--tensamax .tkf-hero::before,.tkf.tkf--tensamax .tkf-hero::after { display:none; }
.tkf.tkf--tensamax .tkf-badge { background:#d3ab6a12; border-color:#e2c28c35; color:#efdab8; font-size:10px; line-height:1.6; padding:9px 17px; margin:0 0 32px; font-weight:600; letter-spacing:.8px; box-shadow:none; }
.tkf.tkf--tensamax .tkf-badge::before { background:#e2bd88; box-shadow:0 0 10px #c99b54; }
.tkf.tkf--tensamax .tk6-lead { font-size:16px; color:#eeeef0; line-height:1.6; margin:18px auto 32px; max-width:850px; }
.tkf.tkf--tensamax .tk6-lead strong { font-weight:500; color:#e4c89e; }
.tkf.tkf--tensamax .tk6-lead > :is(span,strong) { display:block; }
.tkf.tkf--tensamax .tkf-vsl { width:min(760px,100%); aspect-ratio:16/9; border-radius:8px; border-color:#d9bd923b; box-shadow:0 10px 55px #d8b36c08; margin:0 auto; }
.tkf.tkf--tensamax .tkf-vsl::before { inset:-1px; padding:1px; border-radius:9px; background:conic-gradient(from var(--tkf-border-angle,0deg),#94714622,#efd3a4,#ffffff66,#bb985e33,#94714622); opacity:.6; animation-duration:22s; }
.tkf.tkf--tensamax .tkf-vsl > :is(button,iframe) { border-radius:7px; }
.tkf.tkf--tensamax .tkf-vsl-poster img { object-fit:cover; object-position:center; }
.tkf.tkf--tensamax .tkf-vsl-shade { background:linear-gradient(0deg,#050607e8,transparent 55%); }
.tkf.tkf--tensamax .tkf-vsl-play { width:65px; height:65px; font-size:22px; color:#21170d; background:#f0d8b1; box-shadow:0 0 0 12px #edce9e15; animation:none; }
.tkf.tkf--tensamax .tkf-vsl-caption { left:23px; right:23px; bottom:21px; }
.tkf.tkf--tensamax .tkf-vsl-caption strong { font-size:17px; font-weight:550; }
.tkf.tkf--tensamax .tkf-vsl-caption > span { color:#c7c4bf; font-size:11px; }
.tkf.tkf--tensamax .tk6-video-copy { max-width:660px; margin:27px auto 24px; font-size:14px; line-height:1.75; color:#dedee1; }
.tkf.tkf--tensamax .tk6-video-copy strong { color:#e6c79a; font-weight:550; }
.tkf.tkf--tensamax .tk6-specs { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:15px 28px; margin:30px auto 18px; font-size:10px; color:#bbb9b6; }
.tkf.tkf--tensamax .tk6-specs > span { display:flex; gap:8px; align-items:center; }
.tkf.tkf--tensamax .tk6-specs b { font-size:12px; color:#eed3a9; font-weight:550; }
.tkf.tkf--tensamax .tk6-audience { color:#8b8b92; font-size:11px; line-height:1.7; }
.tkf.tkf--tensamax .tk6-section { padding-block:65px; text-align:center; }
.tkf.tkf--tensamax .tk6-intro { max-width:700px; margin:20px auto 33px; font-size:14px; line-height:1.8; color:#c7c7cd; }
.tkf.tkf--tensamax .tk6-section > .tkf-button { margin-top:34px; }
.tkf.tkf--tensamax .tk6-yoga { position:relative; width:min(660px,100%); margin:35px auto 0; border:1px solid #b79c6d3d; border-radius:10px; overflow:hidden; background:#17120d; }
.tkf.tkf--tensamax .tk6-yoga img { display:block; width:100%; height:auto; aspect-ratio:1.6; object-fit:cover; }
.tkf.tkf--tensamax .tk6-yoga figcaption { padding:15px; font-size:11px; letter-spacing:1px; color:#e0c8a2; background:#0c0b09; }
.tkf.tkf--tensamax .tk6-doctors { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:38px; }
.tkf.tkf--tensamax .tk6-doctor { position:relative; aspect-ratio:1; margin:0; overflow:hidden; background:#141312; border-radius:3px; isolation:isolate; text-align:left; }
.tkf.tkf--tensamax .tk6-doctor img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 30%; transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s; }
.tkf.tkf--tensamax .tk6-doctor::after { content:''; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(0deg,#000 0%,#000b 21%,#0000 65%); }
.tkf.tkf--tensamax .tk6-doctor figcaption { position:absolute; z-index:2; bottom:24px; left:23px; right:20px; }
.tkf.tkf--tensamax .tk6-doctor figcaption > span { font-size:8px; text-transform:uppercase; letter-spacing:1.5px; color:#ecd0a5; display:block; margin-bottom:11px; }
.tkf.tkf--tensamax .tk6-doctor h3 { font-size:17px; line-height:1.5; color:#fff; margin-bottom:7px; }
.tkf.tkf--tensamax .tk6-doctor p { color:#d1c9bd; font-size:11px; line-height:1.7; }
.tkf.tkf--tensamax .tk6-route-list { list-style:none; padding:0; margin:35px auto 0; max-width:820px; text-align:left; }
.tkf.tkf--tensamax .tk6-route-list li { display:flex; align-items:center; gap:25px; padding:27px; border:1px solid #ffffff18; background:linear-gradient(110deg,#12100b66,#000); }
.tkf.tkf--tensamax .tk6-route-list li + li { border-top:0; }
.tkf.tkf--tensamax .tk6-step-icon { display:grid; flex:0 0 58px; height:58px; place-items:center; border-radius:12px; background:#e1c08612; color:#edce9e; font-size:20px; border:1px solid #d4b06f26; }
.tkf.tkf--tensamax .tk6-route-list h3 { font-size:22px; line-height:1.4; margin-bottom:9px; }
.tkf.tkf--tensamax .tk6-route-list p { color:#c7c7cd; font-size:13px; line-height:1.8; }
.tkf.tkf--tensamax .tk6-platform-card { display:grid; grid-template-columns:1.05fr .95fr; background:#0b0b0c; border:1px solid #ffffff18; border-radius:30px; overflow:hidden; margin:40px 0 0; text-align:left; }
.tkf.tkf--tensamax .tk6-platform-copy { padding:48px 40px; }
.tkf.tkf--tensamax .tkf-eyebrow { font-size:10px; color:#e3c28c; letter-spacing:1.3px; }
.tkf.tkf--tensamax .tk6-platform-copy > h3 { font-size:27px; line-height:1.35; letter-spacing:-.6px; margin:20px 0; }
.tkf.tkf--tensamax .tk6-platform-copy > p { font-size:14px; color:#c7c7cd; line-height:1.8; }
.tkf.tkf--tensamax .tk6-platform-copy ul { list-style:none; display:grid; gap:18px; margin:27px 0; padding:0; }
.tkf.tkf--tensamax .tk6-platform-copy li { position:relative; font-size:13px; line-height:1.75; padding-left:25px; }
.tkf.tkf--tensamax .tk6-platform-copy li::before { content:'✓'; color:#edce9e; position:absolute; left:0; }
.tkf.tkf--tensamax .tk6-platform-copy .tk6-card-note { font-size:11px; color:#9c9ca4; }
.tkf.tkf--tensamax .tk6-platform-visual { position:relative; display:grid; place-items:center; min-height:480px; background:radial-gradient(ellipse at 50% 40%,#9d7b4540,transparent 70%),#11100f; perspective:1000px; overflow:hidden; }
.tkf.tkf--tensamax .tk6-platform-visual > img { position:relative; width:80%; height:440px; object-fit:contain; transform:perspective(1000px) rotateY(var(--tk6-turn,-8deg)); filter:drop-shadow(0 20px 30px #0008); }
.tkf.tkf--tensamax .tk6-handpieces { margin:30px auto 0; max-width:850px; border:1px solid #ffffff1f; border-radius:16px; background:#09090b; overflow:hidden; }
.tkf.tkf--tensamax .tk6-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid #ffffff18; }
.tkf.tkf--tensamax .tk6-tabs button { border:0; border-right:1px solid #ffffff15; border-radius:0; margin:0; color:#b0b0b7; background:transparent; min-height:55px; font-size:12px; font-weight:500; padding:10px; }
.tkf.tkf--tensamax .tk6-tabs button:last-child { border-right:0; }
.tkf.tkf--tensamax .tk6-tabs button[aria-selected="true"] { color:#f0d3a2; background:linear-gradient(#b5924f2b,#b5924f12); box-shadow:inset 0 -2px #e2bf82; }
.tkf.tkf--tensamax .tk6-handpiece { display:grid; grid-template-columns:.7fr 1.3fr; align-items:center; text-align:left; min-height:310px; padding:23px 35px; gap:40px; }
.tkf.tkf--tensamax .tk6-handpiece > img { display:block; width:100%; height:260px; object-fit:contain; }
.tkf.tkf--tensamax .tk6-handpiece h3 { font-size:20px; line-height:1.5; margin:12px 0; }
.tkf.tkf--tensamax .tk6-handpiece p { font-size:13px; color:#bfc0c6; line-height:1.85; }
.tkf.tkf--tensamax .tk6-handpiece a { display:inline-block; color:#ebcc9e; font-size:12px; line-height:1.8; margin-top:20px; }
.tkf.tkf--tensamax .tk6-academy-photo { position:relative; width:min(600px,100%); margin:35px auto 25px; overflow:hidden; border-radius:6px; }
.tkf.tkf--tensamax .tk6-academy-photo img { display:block; width:100%; height:360px; object-fit:cover; object-position:50% 38%; }
.tkf.tkf--tensamax .tk6-academy-photo > span { position:absolute; inset:auto 0 0; background:linear-gradient(transparent,#000d); padding:45px 18px 18px; font-size:11px; color:#eee0cd; }
.tkf.tkf--tensamax .tk6-story { max-width:650px; margin:auto; }
.tkf.tkf--tensamax .tk6-story p { font-size:14px; line-height:1.8; margin-top:17px; color:#cfcfd3; }
.tkf.tkf--tensamax .tk6-story strong { color:#eacb9b; font-weight:550; }
.tkf.tkf--tensamax .tk6-numbers { max-width:850px; margin:35px auto 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid #ffffff1f; }
.tkf.tkf--tensamax .tk6-numbers > div { padding:25px 15px; display:grid; gap:10px; }
.tkf.tkf--tensamax .tk6-numbers > div + div { border-left:1px solid #ffffff1f; }
.tkf.tkf--tensamax .tk6-numbers b { font-size:32px; line-height:1.4; font-weight:600; color:#f1d6ae; }
.tkf.tkf--tensamax .tk6-numbers span { font-size:12px; color:#bbbcc5; line-height:1.7; }
.tkf.tkf--tensamax .tk6-summary-card { background:#0a0a0b; border:1px solid #ffffff24; border-radius:14px; padding:32px; margin:35px auto 0; max-width:620px; }
.tkf.tkf--tensamax .tk6-summary-brand { font:400 30px/1.5 var(--tf-title); color:#e1c18e; margin:0 auto 24px; }
.tkf.tkf--tensamax .tk6-summary-brand strong { font-size:17px; }
.tkf.tkf--tensamax .tk6-summary-card ul { list-style:none; padding:20px 0; margin:0 0 23px; border-block:1px solid #e2d4bb5e; display:grid; gap:20px; text-align:left; }
.tkf.tkf--tensamax .tk6-summary-card li { display:flex; justify-content:space-between; gap:20px; align-items:center; font-size:13px; line-height:1.8; color:#e0e0e4; }
.tkf.tkf--tensamax .tk6-summary-card li > span:last-child { color:#f1d3a5; }
.tkf.tkf--tensamax .tk6-summary-card > p:not(.tk6-summary-brand) { font-size:13px; line-height:1.8; color:#ddd4c6; }
.tkf.tkf--tensamax .tk6-summary-card small { display:block; font-size:10px; line-height:1.8; color:#96949a; margin-top:8px; }
.tkf.tkf--tensamax .tk6-summary-card > .tkf-button { width:100%; margin-top:25px; }
.tkf.tkf--tensamax .tk6-quotes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:35px; text-align:left; }
.tkf.tkf--tensamax .tk6-quotes > figure { margin:0; padding:30px; border:1px solid #ffffff15; border-radius:14px; background:#0a0a0b; display:flex; flex-direction:column; }
.tkf.tkf--tensamax .tk6-quotes blockquote { font-size:17px; line-height:1.7; color:#e4e4e8; padding:0 0 28px; flex:1; }
.tkf.tkf--tensamax .tk6-quotes figcaption { display:flex; align-items:center; gap:14px; }
.tkf.tkf--tensamax .tk6-quotes img { width:50px; height:50px; object-fit:cover; object-position:top; border-radius:50%; border:1px solid #b9986147; }
.tkf.tkf--tensamax .tk6-quotes h3 { font-size:12px; line-height:1.7; margin-bottom:4px; }
.tkf.tkf--tensamax .tk6-quotes p { font-size:11px; line-height:1.7; color:#9c9ca5; }
.tkf.tkf--tensamax .tkf-source { font-size:10px; line-height:1.9; color:#878790; margin:20px auto 0; max-width:650px; }
.tkf.tkf--tensamax .tkf-conversion { scroll-margin-top:90px; }
.tkf.tkf--tensamax .tkf-conversion-grid { max-width:1020px; margin:36px auto 0; gap:55px; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
.tkf.tkf--tensamax .tkf-conversion-copy h3 { font-size:21px; font-weight:500; }
.tkf.tkf--tensamax .tkf-conversion-copy .tkf-interests { justify-content:flex-start; margin:20px 0; }
.tkf.tkf--tensamax .tkf-interests button { color:#c9c4bd; border-color:#ffffff29; background:#0d0c0b; font-size:11px; }
.tkf.tkf--tensamax .tkf-interests button.is-selected { color:#f4dbb1; border-color:#d4b77d90; background:#d6ad6626; box-shadow:none; }
.tkf.tkf--tensamax .tkf-conversion-copy li { font-size:13px; color:#bfc0c7; }
.tkf.tkf--tensamax .tkf-form-card { background:radial-gradient(ellipse at 0 0,#a3804b25,transparent 65%),#0d0d10; border-color:#d9bc895e; padding:27px 22px; box-shadow:0 12px 45px #0008; }
.tkf.tkf--tensamax .tkf-form-kicker { color:#e5c998; }
.tkf.tkf--tensamax .tkf-form-interest { background:#b18b4f1f; border-color:#bea06d26; color:#e6d1b3; }
.tkf.tkf--tensamax .tkf-form-card::before { background:radial-gradient(350px circle at var(--tkf-mx) var(--tkf-my),#e5c28516,transparent 75%); }
.tkf.tkf--tensamax .tkf-form-card > h3 { font-size:21px; font-weight:500; }
.tkf.tkf--tensamax .tk6-help-box { position:relative; padding:65px 30px; border-radius:20px; border:1px solid #bfa26f37; background:radial-gradient(ellipse at 100% 0,#c1a26a2a,transparent 60%),repeating-conic-gradient(from -10deg at 50% 180%,#caaa6200 0deg 4deg,#caaa620b 4.1deg 4.4deg),#080907; overflow:hidden; }
.tkf.tkf--tensamax .tk6-help-box p { margin:25px auto; font-size:14px; line-height:1.8; color:#c9c9ca; max-width:600px; }
.tkf.tkf--tensamax .tkf-faq-list { max-width:950px; margin:35px auto 0; gap:10px; }
.tkf.tkf--tensamax .tkf-faq details { border-color:#ffffff1f; background:#090909; border-radius:5px; }
.tkf.tkf--tensamax .tkf-faq details[open] { border-color:#d8b87b66; box-shadow:none; }
.tkf.tkf--tensamax .tkf-faq summary { padding:16px 20px; font-size:13px; }
.tkf.tkf--tensamax .tkf-faq summary:hover { color:#f0d2a2; }
.tkf.tkf--tensamax .tkf-faq details > div { padding-inline:20px; }
.tkf.tkf--tensamax .tkf-final { padding-top:35px; }
.tkf.tkf--tensamax .tkf-mobile-bar { background:#12100cf5; border-color:#c2a16c3d; }
.tkf.tkf--tensamax .tkf-mobile-bar > span { color:#e4cdaa; }
@media(hover:hover) and (pointer:fine) {
 .tkf.tkf--tensamax .tk6-doctor:hover img { transform:scale(1.045); filter:brightness(1.08); }
}
@media(max-width:767px) {
 .tkf.tkf--tensamax .tk6-hero { padding-top:28px; }
 .tkf.tkf--tensamax h1 { font-size:28px; }
 .tkf.tkf--tensamax h2 { font-size:25px; letter-spacing:-.7px; }
 .tkf.tkf--tensamax .tkf-badge { font-size:8px; letter-spacing:.1px; padding:8px 11px; margin-bottom:23px; }
 .tkf.tkf--tensamax .tk6-lead { font-size:14px; line-height:1.8; margin:18px auto 25px; }
 .tkf.tkf--tensamax .tk6-lead br { display:none; }
 .tkf.tkf--tensamax .tkf-vsl-caption { left:14px; right:14px; bottom:13px; }
 .tkf.tkf--tensamax .tkf-vsl-caption strong { font-size:12px; }
 .tkf.tkf--tensamax .tkf-vsl-caption > span { font-size:9px; margin-top:4px; }
 .tkf.tkf--tensamax .tkf-vsl-play { width:48px; height:48px; font-size:16px; }
 .tkf.tkf--tensamax .tk6-video-copy { font-size:13px; margin-block:24px; }
 .tkf.tkf--tensamax .tkf-button { font-size:11px; padding:13px 18px; }
 .tkf.tkf--tensamax .tk6-specs { gap:14px; font-size:9px; }
 .tkf.tkf--tensamax .tk6-specs > span { gap:5px; }
 .tkf.tkf--tensamax .tk6-specs b { font-size:10px; }
 .tkf.tkf--tensamax .tk6-section { padding-block:48px; }
 .tkf.tkf--tensamax .tk6-intro { font-size:13px; margin:19px auto 28px; }
 .tkf.tkf--tensamax .tk6-doctors { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:28px; }
 .tkf.tkf--tensamax .tk6-doctor { aspect-ratio:.63; }
 .tkf.tkf--tensamax .tk6-doctor figcaption { left:13px; right:11px; bottom:17px; }
 .tkf.tkf--tensamax .tk6-doctor figcaption > span { font-size:7px; letter-spacing:.5px; margin-bottom:8px; }
 .tkf.tkf--tensamax .tk6-doctor h3 { font-size:13px; line-height:1.6; margin-bottom:5px; }
 .tkf.tkf--tensamax .tk6-doctor p { font-size:10px; }
 .tkf.tkf--tensamax .tk6-route-list li { align-items:flex-start; padding:23px 18px; gap:16px; }
 .tkf.tkf--tensamax .tk6-step-icon { flex-basis:38px; height:42px; font-size:15px; border-radius:8px; }
 .tkf.tkf--tensamax .tk6-route-list h3 { font-size:18px; line-height:1.5; }
 .tkf.tkf--tensamax .tk6-route-list p { font-size:12px; }
 .tkf.tkf--tensamax .tk6-platform-card { grid-template-columns:minmax(0,1fr); border-radius:20px; }
 .tkf.tkf--tensamax .tk6-platform-copy { padding:30px 25px; }
 .tkf.tkf--tensamax .tk6-platform-copy > h3 { font-size:23px; }
 .tkf.tkf--tensamax .tk6-platform-copy > p { font-size:13px; }
 .tkf.tkf--tensamax .tk6-platform-copy li { font-size:12px; }
 .tkf.tkf--tensamax .tk6-platform-visual { min-height:330px; }
 .tkf.tkf--tensamax .tk6-platform-visual > img { height:310px; }
 .tkf.tkf--tensamax .tk6-tabs button { font-size:10px; padding:10px 4px; min-height:48px; }
 .tkf.tkf--tensamax .tk6-handpiece { grid-template-columns:minmax(0,1fr); gap:15px; padding:20px 24px 30px; }
 .tkf.tkf--tensamax .tk6-handpiece > img { height:210px; }
 .tkf.tkf--tensamax .tk6-handpiece h3 { font-size:19px; }
 .tkf.tkf--tensamax .tk6-handpiece p { font-size:12px; }
 .tkf.tkf--tensamax .tk6-academy-photo img { height:300px; }
 .tkf.tkf--tensamax .tk6-story p { font-size:13px; }
 .tkf.tkf--tensamax .tk6-numbers > div { padding:22px 10px; }
 .tkf.tkf--tensamax .tk6-numbers b { font-size:27px; }
 .tkf.tkf--tensamax .tk6-numbers span { font-size:10px; }
 .tkf.tkf--tensamax .tk6-summary-card { padding:25px 22px; }
 .tkf.tkf--tensamax .tk6-summary-card li { font-size:12px; }
 .tkf.tkf--tensamax .tk6-quotes { grid-template-columns:minmax(0,1fr); }
 .tkf.tkf--tensamax .tk6-quotes > figure { padding:25px; }
 .tkf.tkf--tensamax .tk6-quotes blockquote { font-size:15px; }
 .tkf.tkf--tensamax .tkf-conversion-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
 .tkf.tkf--tensamax .tkf-form-card { padding:25px 17px; }
 .tkf.tkf--tensamax .tk6-help-box { padding:45px 22px; }
 .tkf.tkf--tensamax .tk6-help-box p { font-size:13px; }
 .tkf.tkf--tensamax .tkf-faq summary { padding:16px; font-size:12px; }
 .tkf.tkf--tensamax .tkf-mobile-bar .tkf-button { font-size:10px; padding:11px 14px; }
}
/* Las cuatro piezas siguen accesibles si JS está desactivado. */
.tkf.tkf--tensamax:not([data-tk6-ready]) .tk6-handpiece[hidden] { display:grid!important; }
@media(prefers-reduced-motion:reduce) {
 .tkf.tkf--tensamax .tk6-platform-visual > img { transform:none; }
 .tkf.tkf--tensamax .tk6-doctor img { transform:none!important; }
}

/* TENTREK · V7 · más escala, referentes protagonistas y luz sobre el producto */
.tkf.tkf--tensamax-v7 .tkf-shell { width:min(1360px,92%); }
.tkf.tkf--tensamax-v7 .tk6-section { padding-block:95px; }
.tkf.tkf--tensamax-v7 .tk6-hero { padding-block:42px 65px; }
.tkf.tkf--tensamax-v7 .tkf-vsl { width:min(920px,100%); }
.tkf.tkf--tensamax-v7 .tk6-video-copy { max-width:770px; font-size:16px; margin:32px auto 28px; }
.tkf.tkf--tensamax-v7 .tk6-lead { font-size:17px; margin-bottom:38px; }
.tkf.tkf--tensamax-v7 .tk6-intro { max-width:820px; font-size:16px; margin-top:25px; margin-bottom:42px; }
.tkf.tkf--tensamax-v7 .tkf-button { min-height:52px; padding:15px 28px; font-size:13px; }
.tkf.tkf--tensamax-v7 .tk6-section > .tkf-button { margin-top:45px; }
.tkf.tkf--tensamax-v7 .tk6-yoga { width:min(920px,100%); }
.tkf.tkf--tensamax-v7 .tk6-doctors { gap:28px; margin-top:46px; }
.tkf.tkf--tensamax-v7 .tk6-doctor { aspect-ratio:.94; border:1px solid #ffffff17; border-radius:8px; }
.tkf.tkf--tensamax-v7 .tk6-doctor:last-child { background:radial-gradient(ellipse at 50% 20%,#6b533237,transparent 75%),#0e1012; }
.tkf.tkf--tensamax-v7 .tk6-doctor:last-child img { object-fit:contain; padding:12px 8px 25px; }
.tkf.tkf--tensamax-v7 .tk6-doctor figcaption { bottom:30px; left:28px; right:25px; }
.tkf.tkf--tensamax-v7 .tk6-doctor h3 { font-size:18px; }
.tkf.tkf--tensamax-v7 .tk6-doctor p { font-size:13px; }
.tkf.tkf--tensamax-v7 .tk6-doctor figcaption > span { font-size:9px; }
.tkf.tkf--tensamax-v7 .tk6-route-list { max-width:1060px; }
.tkf.tkf--tensamax-v7 .tk6-route-list li { padding:36px; gap:30px; }
.tkf.tkf--tensamax-v7 .tk6-route-list h3 { font-size:24px; }
.tkf.tkf--tensamax-v7 .tk6-route-list p { font-size:15px; }
.tkf.tkf--tensamax-v7 .tk6-platform-card { position:relative; isolation:isolate; min-height:700px; grid-template-columns:1fr 1.15fr; border-radius:24px; margin-top:52px; border-color:#d7c8b32e; background:linear-gradient(130deg,#141619,#080a0d); }
.tkf.tkf--tensamax-v7 .tk6-platform-copy { position:relative; z-index:2; padding:65px 50px; align-self:center; }
.tkf.tkf--tensamax-v7 .tk6-platform-copy > h3 { font-size:29px; line-height:1.4; margin-block:24px; }
.tkf.tkf--tensamax-v7 .tk6-platform-copy > p { font-size:16px; }
.tkf.tkf--tensamax-v7 .tk6-platform-copy li { font-size:15px; }
.tkf.tkf--tensamax-v7 .tk6-platform-copy ul { gap:23px; margin-block:34px; }
.tkf.tkf--tensamax-v7 .tk6-platform-copy .tk6-card-note { font-size:12px; color:#aaaeb6; }
.tkf.tkf--tensamax-v7 .tk6-platform-visual { --tk7-pan:0px; --tk7-scale:1; --tk7-scroll:0; position:relative; min-height:700px; display:block; background:linear-gradient(140deg,#14202b55,#0d1117 35%,#17130e); perspective:1300px; border-left:1px solid #cedbff14; }
.tkf.tkf--tensamax-v7 .tk7-product-lights { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.tkf.tkf--tensamax-v7 .tk7-product-lights::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at var(--tk7-light-x,60%) 45%,#b6cfe52b,transparent 60%),linear-gradient(110deg,#82b8dd00 50%,#d2ac7229 80%,transparent); }
.tkf.tkf--tensamax-v7 .tk7-product-lights i { position:absolute; top:0; bottom:0; width:1px; left:15%; background:linear-gradient(transparent,#bddcff55,transparent); transform:skewX(-16deg); }
.tkf.tkf--tensamax-v7 .tk7-product-lights i + i { left:87%; background:linear-gradient(transparent,#e8c28b55,transparent); }
.tkf.tkf--tensamax-v7 .tk6-platform-visual > img { position:absolute; inset:16px 0 0; width:100%; height:calc(100% - 75px); object-fit:cover; object-position:50% 45%; transform:translate3d(0,var(--tk7-pan),0) perspective(1300px) rotateY(var(--tk6-turn,0deg)) scale(var(--tk7-scale)); filter:drop-shadow(0 30px 35px #0007); }
.tkf.tkf--tensamax-v7 .tk7-product-label { position:absolute; z-index:2; left:32px; top:28px; font-size:10px; letter-spacing:3px; color:#b7c9dc; }
.tkf.tkf--tensamax-v7 .tk7-product-label b { color:#ecc996; font-weight:500; }
.tkf.tkf--tensamax-v7 .tk7-product-sheen { position:absolute; z-index:2; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 35%,#cee7ff0e 49%,transparent 60%); transform:translateX(-120%); opacity:0; }
.tkf.tkf--tensamax-v7 .is-product-visible .tk7-product-sheen { animation:tk7-product-sheen 9s ease-in-out infinite; }
@keyframes tk7-product-sheen { 0%,65% { transform:translateX(-120%); opacity:0; } 70% { opacity:1; } 96%,100% { transform:translateX(120%); opacity:0; } }
.tkf.tkf--tensamax-v7 .tk7-product-views { position:absolute; z-index:3; display:flex; justify-content:center; gap:8px; inset:auto 20px 25px; padding:8px; }
.tkf.tkf--tensamax-v7 .tk7-product-views button { color:#bec8d3; background:#10161de0; border:1px solid #bbcadb30; font-size:11px; padding:10px 15px; min-height:40px; line-height:1.6; border-radius:5px; }
.tkf.tkf--tensamax-v7 .tk7-product-views button[aria-pressed="true"] { color:#f4dbb1; background:#3e3325; border-color:#ddbc838c; }
.tkf.tkf--tensamax-v7 .tk7-view-status { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.tkf.tkf--tensamax-v7 .tk6-handpieces { max-width:1120px; margin-top:40px; }
.tkf.tkf--tensamax-v7 .tk6-handpiece { min-height:400px; padding:38px 50px; gap:60px; }
.tkf.tkf--tensamax-v7 .tk6-handpiece > img { height:330px; }
.tkf.tkf--tensamax-v7 .tk6-handpiece h3 { font-size:24px; }
.tkf.tkf--tensamax-v7 .tk6-handpiece p { font-size:15px; }
.tkf.tkf--tensamax-v7 .tk6-handpiece a { font-size:14px; }
.tkf.tkf--tensamax-v7 .tk6-tabs button { font-size:14px; min-height:62px; }
.tkf.tkf--tensamax-v7 .tk6-academy-photo { width:min(820px,100%); }
.tkf.tkf--tensamax-v7 .tk6-academy-photo img { height:440px; }
.tkf.tkf--tensamax-v7 .tk6-story { max-width:780px; }
.tkf.tkf--tensamax-v7 .tk6-story p { font-size:16px; }
.tkf.tkf--tensamax-v7 .tk6-numbers { max-width:1060px; }
.tkf.tkf--tensamax-v7 .tk6-numbers > div { padding:35px 20px; }
.tkf.tkf--tensamax-v7 .tk6-numbers span { font-size:14px; }
.tkf.tkf--tensamax-v7 .tk6-summary-card { max-width:800px; padding:45px; }
.tkf.tkf--tensamax-v7 .tk6-summary-card li { font-size:16px; }
.tkf.tkf--tensamax-v7 .tk6-summary-card > p:not(.tk6-summary-brand) { font-size:16px; }
.tkf.tkf--tensamax-v7 .tk6-proof { position:relative; }
.tkf.tkf--tensamax-v7 .tk6-quotes { gap:28px; margin-top:48px; }
.tkf.tkf--tensamax-v7 .tk6-quotes > figure { --tk7-x:50%; --tk7-y:30%; position:relative; isolation:isolate; min-height:310px; padding:40px 42px; border-color:#c7d6ed30; background:linear-gradient(140deg,#111821,#090d13 70%); border-radius:18px; overflow:hidden; transition:border-color .3s,box-shadow .3s; }
.tkf.tkf--tensamax-v7 .tk6-quotes > figure:nth-child(even) { background:linear-gradient(140deg,#211b13,#100e0c 70%); border-color:#e5c28d38; }
.tkf.tkf--tensamax-v7 .tk6-quotes > figure::before { content:''; position:absolute; z-index:-1; inset:0; pointer-events:none; background:radial-gradient(400px circle at var(--tk7-x) var(--tk7-y),#a3d8ff1a,transparent 70%); opacity:.7; }
.tkf.tkf--tensamax-v7 .tk6-quotes > figure:nth-child(even)::before { background:radial-gradient(400px circle at var(--tk7-x) var(--tk7-y),#efc58c20,transparent 70%); }
.tkf.tkf--tensamax-v7 .tk6-quotes > figure::after { content:''; position:absolute; z-index:-1; inset:0 25%; pointer-events:none; background:linear-gradient(110deg,transparent,#ffffff06,transparent); transform:translateX(-180%) skewX(-15deg); transition:transform 1s ease; }
.tkf.tkf--tensamax-v7 .tk6-quotes > figure:hover::after { transform:translateX(180%) skewX(-15deg); }
.tkf.tkf--tensamax-v7 .tk6-quotes > figure:hover { border-color:#d5bb8d88; box-shadow:0 12px 40px #0008; }
.tkf.tkf--tensamax-v7 .tk6-quotes blockquote { font-size:23px; line-height:1.6; font-weight:400; padding:0 0 36px; }
.tkf.tkf--tensamax-v7 .tk6-quotes figcaption { gap:20px; }
.tkf.tkf--tensamax-v7 .tk6-quotes img { width:84px; height:84px; flex-shrink:0; border-color:#d2b98b73; }
.tkf.tkf--tensamax-v7 .tk6-quotes h3 { font-size:15px; }
.tkf.tkf--tensamax-v7 .tk6-quotes p { font-size:13px; }
.tkf.tkf--tensamax-v7 .tkf-conversion-grid { max-width:1200px; gap:70px; }
.tkf.tkf--tensamax-v7 .tk6-help-box { padding:85px 45px; }
.tkf.tkf--tensamax-v7 .tkf-faq-list { max-width:1180px; }
.tkf.tkf--tensamax-v7 .tkf-faq summary { font-size:15px; padding:21px 25px; }
.tkf.tkf--tensamax-v7 .tkf-faq details p { font-size:14px; }
@media(min-width:768px) and (max-width:1100px) {
 .tkf.tkf--tensamax-v7 .tk6-doctors { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tkf.tkf--tensamax-v7 .tk6-platform-card { grid-template-columns:1fr 1fr; min-height:620px; }
 .tkf.tkf--tensamax-v7 .tk6-platform-copy { padding:40px 30px; }
 .tkf.tkf--tensamax-v7 .tk6-platform-copy > h3 { font-size:25px; }
 .tkf.tkf--tensamax-v7 .tk6-platform-visual { min-height:620px; }
 .tkf.tkf--tensamax-v7 .tk6-quotes > figure { padding:30px; }
 .tkf.tkf--tensamax-v7 .tk6-quotes blockquote { font-size:20px; }
 .tkf.tkf--tensamax-v7 .tk6-quotes img { width:65px; height:65px; }
 .tkf.tkf--tensamax-v7 .tk6-quotes figcaption { gap:15px; }
 .tkf.tkf--tensamax-v7 .tk6-quotes h3 { font-size:13px; }
 .tkf.tkf--tensamax-v7 .tk6-quotes p { font-size:12px; }
 .tkf.tkf--tensamax-v7 .tk6-handpiece { padding:30px; gap:30px; }
}
@media(max-width:767px) {
 .tkf.tkf--tensamax-v7 .tkf-shell { width:92%; }
 .tkf.tkf--tensamax-v7 .tk6-section { padding-block:60px; }
 .tkf.tkf--tensamax-v7 .tk6-hero { padding-top:30px; }
 .tkf.tkf--tensamax-v7 .tk6-lead { font-size:14px; }
 .tkf.tkf--tensamax-v7 .tk6-video-copy,.tkf.tkf--tensamax-v7 .tk6-intro { font-size:14px; }
 .tkf.tkf--tensamax-v7 .tk6-section > .tkf-button { margin-top:32px; }
 .tkf.tkf--tensamax-v7 .tkf-button { font-size:11px; padding:14px 20px; }
 .tkf.tkf--tensamax-v7 .tk6-doctors { gap:12px; margin-top:30px; }
 .tkf.tkf--tensamax-v7 .tk6-doctor { aspect-ratio:.6; }
 .tkf.tkf--tensamax-v7 .tk6-doctor figcaption { left:12px; right:10px; bottom:18px; }
 .tkf.tkf--tensamax-v7 .tk6-doctor h3 { font-size:13px; }
 .tkf.tkf--tensamax-v7 .tk6-doctor p { font-size:10px; }
 .tkf.tkf--tensamax-v7 .tk6-doctor figcaption > span { font-size:7px; }
 .tkf.tkf--tensamax-v7 .tk6-route-list li { padding:25px 18px; gap:16px; }
 .tkf.tkf--tensamax-v7 .tk6-route-list h3 { font-size:18px; }
 .tkf.tkf--tensamax-v7 .tk6-route-list p { font-size:12px; }
 .tkf.tkf--tensamax-v7 .tk6-platform-card { grid-template-columns:minmax(0,1fr); min-height:0; margin-top:35px; border-radius:18px; }
 .tkf.tkf--tensamax-v7 .tk6-platform-copy { padding:34px 26px; }
 .tkf.tkf--tensamax-v7 .tk6-platform-copy > h3 { font-size:23px; }
 .tkf.tkf--tensamax-v7 .tk6-platform-copy > p { font-size:14px; }
 .tkf.tkf--tensamax-v7 .tk6-platform-copy li { font-size:13px; }
 .tkf.tkf--tensamax-v7 .tk6-platform-copy ul { margin-block:28px; }
 .tkf.tkf--tensamax-v7 .tk6-platform-visual { min-height:500px; border-left:0; border-top:1px solid #cedbff14; }
 .tkf.tkf--tensamax-v7 .tk6-platform-visual > img { height:calc(100% - 70px); }
 .tkf.tkf--tensamax-v7 .tk7-product-label { left:22px; top:24px; font-size:9px; }
 .tkf.tkf--tensamax-v7 .tk7-product-views { inset:auto 8px 18px; gap:6px; padding:6px; }
 .tkf.tkf--tensamax-v7 .tk7-product-views button { font-size:10px; padding:9px 12px; }
 .tkf.tkf--tensamax-v7 .tk6-handpiece { padding:25px; gap:20px; min-height:0; }
 .tkf.tkf--tensamax-v7 .tk6-handpiece > img { height:260px; }
 .tkf.tkf--tensamax-v7 .tk6-handpiece h3 { font-size:20px; }
 .tkf.tkf--tensamax-v7 .tk6-handpiece p { font-size:13px; }
 .tkf.tkf--tensamax-v7 .tk6-handpiece a { font-size:12px; }
 .tkf.tkf--tensamax-v7 .tk6-tabs button { font-size:10px; min-height:50px; }
 .tkf.tkf--tensamax-v7 .tk6-academy-photo img { height:340px; }
 .tkf.tkf--tensamax-v7 .tk6-story p { font-size:14px; }
 .tkf.tkf--tensamax-v7 .tk6-numbers > div { padding:25px 10px; }
 .tkf.tkf--tensamax-v7 .tk6-numbers span { font-size:11px; }
 .tkf.tkf--tensamax-v7 .tk6-summary-card { padding:28px 24px; }
 .tkf.tkf--tensamax-v7 .tk6-summary-card li { font-size:13px; }
 .tkf.tkf--tensamax-v7 .tk6-summary-card > p:not(.tk6-summary-brand) { font-size:14px; }
 .tkf.tkf--tensamax-v7 .tk6-quotes { gap:20px; margin-top:32px; }
 .tkf.tkf--tensamax-v7 .tk6-quotes > figure { padding:30px 25px; min-height:265px; }
 .tkf.tkf--tensamax-v7 .tk6-quotes blockquote { font-size:19px; padding-bottom:30px; }
 .tkf.tkf--tensamax-v7 .tk6-quotes img { width:65px; height:65px; }
 .tkf.tkf--tensamax-v7 .tk6-quotes figcaption { gap:15px; }
 .tkf.tkf--tensamax-v7 .tk6-quotes h3 { font-size:12px; }
 .tkf.tkf--tensamax-v7 .tk6-quotes p { font-size:11px; }
 .tkf.tkf--tensamax-v7 .tkf-conversion-grid { gap:35px; }
 .tkf.tkf--tensamax-v7 .tk6-help-box { padding:55px 24px; }
 .tkf.tkf--tensamax-v7 .tkf-faq summary { font-size:13px; padding:18px; }
 .tkf.tkf--tensamax-v7 .tkf-faq details p { font-size:13px; }
}
@media(max-width:599px) {
 .tkf.tkf--tensamax-v7 .tk6-doctors { grid-template-columns:minmax(0,1fr); gap:24px; }
 .tkf.tkf--tensamax-v7 .tk6-doctor { aspect-ratio:.94; }
 .tkf.tkf--tensamax-v7 .tk6-doctor figcaption { left:24px; right:24px; bottom:25px; }
 .tkf.tkf--tensamax-v7 .tk6-doctor h3 { font-size:17px; }
 .tkf.tkf--tensamax-v7 .tk6-doctor p { font-size:12px; }
 .tkf.tkf--tensamax-v7 .tk6-doctor figcaption > span { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
 .tkf.tkf--tensamax-v7 .tk6-platform-visual > img { transform:none; }
 .tkf.tkf--tensamax-v7 .tk7-product-sheen { animation:none; }
}

/* === TENTREK FUNNEL · FIN === */
